.gallery-page{background:radial-gradient(circle at 82% 8%,rgba(255,66,170,.28),transparent 30rem),linear-gradient(145deg,#270019,#0b0309 65%)}
.gallery-inner{max-width:1500px}
.gallery-page h1{color:#fff0f8;text-shadow:0 0 38px rgba(255,20,147,.35)}
.gallery-jump{display:flex;flex-wrap:wrap;gap:.75rem;margin:2rem 0 4.5rem}
.gallery-jump a{padding:.75rem 1.1rem;border:1px solid rgba(255,145,210,.44);color:#ffd5eb;text-decoration:none;text-transform:uppercase;letter-spacing:.09em;font-size:.78rem;background:rgba(255,105,189,.06)}
.gallery-jump a:hover{background:rgba(255,105,189,.15);border-color:#ff69bd}
.gallery-collection{scroll-margin-top:7rem;margin:0 0 6rem}
.collection-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.5rem;border-bottom:1px solid rgba(255,145,210,.24);padding-bottom:1.25rem}
.collection-heading h2{margin:.2rem 0 0;color:#fff0f8;font-family:Italiana,serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:400}
.collection-heading>p{max-width:34rem;margin:0;color:#cdb9c5;text-align:right}
.photo-grid{columns:4 250px;column-gap:1rem}
.photo-card{display:block;width:100%;margin:0 0 1rem;padding:0;border:1px solid rgba(255,145,210,.4);background:#17000f;cursor:zoom-in;break-inside:avoid;box-shadow:0 16px 34px rgba(0,0,0,.3);overflow:hidden}
.photo-card img{display:block;width:100%;height:auto;transition:transform .45s ease,filter .45s ease}
.photo-card:hover img,.photo-card:focus-visible img{transform:scale(1.025);filter:saturate(1.08)}
.photo-card:focus-visible{outline:2px solid #ff69bd;outline-offset:3px}
.gallery-note{margin:1rem 0 0;padding:1rem 1.2rem;border-left:2px solid #ff69bd;background:rgba(255,105,189,.08);color:#cdb9c5}
.event-jump{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 3rem}
.event-jump a{padding:.6rem .85rem;border:1px solid rgba(255,145,210,.3);color:#ffd5eb;text-decoration:none;font-size:.82rem;background:rgba(255,105,189,.05)}
.event-jump a:hover{border-color:#ff69bd;background:rgba(255,105,189,.14)}
.event-subcollection{scroll-margin-top:7rem;margin:0 0 4rem}
.event-subcollection h3{margin:0 0 1.25rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,145,210,.2);color:#ffd5eb;font-family:Italiana,serif;font-size:clamp(1.7rem,3vw,2.5rem);font-weight:400}
.photo-lightbox{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:3.5rem;border:0;background:rgba(7,0,5,.96);overflow:hidden}
.photo-lightbox[open]{display:grid;grid-template-columns:4rem minmax(0,1fr) 4rem;place-items:center}
.photo-lightbox::backdrop{background:rgba(0,0,0,.92)}
.photo-lightbox img{max-width:100%;max-height:calc(100vh - 7rem);object-fit:contain}
.lightbox-close,.lightbox-nav{border:0;background:transparent;color:#fff;cursor:pointer;font:inherit}
.lightbox-close{position:fixed;right:1.3rem;top:.8rem;font-size:2.5rem;line-height:1}
.lightbox-nav{font-size:3.5rem;opacity:.72}
.lightbox-nav:hover,.lightbox-close:hover{color:#ff69bd;opacity:1}
body.lightbox-open{overflow:hidden}
@media(max-width:760px){.gallery-jump{margin-bottom:3rem}.collection-heading{display:block}.collection-heading>p{text-align:left;margin-top:.75rem}.event-jump{margin-bottom:2rem}.photo-grid{columns:2 140px;column-gap:.65rem}.photo-card{margin-bottom:.65rem}.photo-lightbox{padding:3rem .5rem 1rem}.photo-lightbox[open]{grid-template-columns:2.2rem minmax(0,1fr) 2.2rem}.lightbox-nav{font-size:2.5rem}}
