.gallery-page{isolation:isolate;min-height:100dvh;color:var(--paper);background:#080607;position:relative;overflow:clip}.gallery-page:before{z-index:-2;content:"";background:radial-gradient(circle at 12% 12%,#8c1c1f3d,#0000 36rem),linear-gradient(#14050847,#050405e6);position:fixed;inset:0}.gallery-page__atmosphere{z-index:-3;opacity:.48;pointer-events:none;position:fixed;inset:0;overflow:hidden}.gallery-page__topbar,.gallery-page__hero,.gallery-page__content,.gallery-page__footer{width:min(100% - (2 * var(--gutter)), 1440px);margin-inline:auto}.gallery-page__topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:8.5rem;display:flex}.gallery-page__brand{--brand-mark-size:clamp(2.9rem, 4vw, 4.1rem);--brand-city-size:clamp(2.8rem, 4.8vw, 4.25rem)}.gallery-page__nav{align-items:center;gap:.45rem;display:flex}.gallery-page__nav a,.gallery-summary a,.gallery-state button,.gallery-more button{min-height:var(--control-height);border:1px solid var(--line-top);border-radius:var(--control-radius);color:var(--paper);letter-spacing:.04em;text-transform:uppercase;transition:border-color .18s var(--ease-ui), background-color .18s var(--ease-ui), transform .12s var(--ease-ui);background:#0f090aad;justify-content:center;align-items:center;gap:.55rem;padding:.78rem 1rem;font-size:.78rem;font-weight:780;display:inline-flex}.gallery-page__nav a:hover,.gallery-summary a:hover,.gallery-state button:hover,.gallery-more button:hover{background:#241012d6;border-color:#ffffff47}.gallery-page__nav a:active,.gallery-summary a:active,.gallery-state button:active,.gallery-more button:active{transform:scale(.98)}.gallery-page__hero{grid-template-columns:minmax(0,1fr) minmax(17rem,29rem);align-items:end;gap:clamp(2rem,7vw,8rem);padding:clamp(5rem,10vw,8.5rem) 0 clamp(3.5rem,7vw,6rem);display:grid}.gallery-page__hero>div>p{color:var(--accent-bright);letter-spacing:.18em;text-transform:uppercase;margin:0 0 1.15rem;font-size:.8rem;font-weight:800}.gallery-page__hero h1{max-width:10ch;font-family:var(--font-display);letter-spacing:-.055em;text-transform:uppercase;margin:0;font-size:clamp(5rem,12vw,10rem);font-weight:850;font-stretch:75%;line-height:.74}.gallery-page__hero>p{max-width:34ch;color:var(--muted);margin:0 0 .4rem;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.5}.gallery-page__content{padding-bottom:clamp(5rem,9vw,9rem)}.gallery-dates{border-block:1px solid var(--line);grid-template-columns:minmax(8rem,.18fr) minmax(0,1fr);align-items:center;gap:1rem;padding:1rem 0;display:grid}.gallery-dates>p{color:var(--muted-dark);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.gallery-dates__rail{overscroll-behavior-inline:contain;scrollbar-width:none;gap:.55rem;display:flex;overflow-x:auto}.gallery-dates__rail::-webkit-scrollbar{display:none}.gallery-dates button{border:1px solid var(--line);min-width:8rem;color:var(--muted);text-align:left;transition:border-color .18s var(--ease-ui), background-color .18s var(--ease-ui), color .18s var(--ease-ui);background:#0e090a8f;border-radius:.45rem;grid-template-columns:auto auto;align-items:baseline;gap:.05rem .42rem;padding:.74rem .88rem;display:grid}.gallery-dates button strong{color:inherit;font-family:var(--font-display);grid-row:1/span 2;font-size:2rem;font-weight:800;line-height:.9}.gallery-dates button span,.gallery-dates button small{letter-spacing:.1em;font-size:.66rem;font-weight:800}.gallery-dates button small{opacity:.58}.gallery-dates button:hover,.gallery-dates button.is-active{color:var(--paper);background:#50141894;border-color:#ff4f3c8c}.gallery-summary{justify-content:space-between;align-items:center;min-height:6.5rem;display:flex}.gallery-summary>div{gap:.2rem;display:grid}.gallery-summary>div>span{color:var(--paper);font-family:var(--font-display);letter-spacing:-.02em;text-transform:uppercase;font-size:clamp(1.9rem,3vw,2.8rem);font-weight:760;line-height:1}.gallery-summary small{color:var(--muted-dark);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.45rem,.8vw,.75rem);display:grid}.gallery-photo{aspect-ratio:4/5;background:#160f10;border:0;border-radius:clamp(.4rem,.7vw,.7rem);padding:0;position:relative;overflow:hidden}.gallery-photo img{object-fit:cover;width:100%;height:100%;transition:filter .26s var(--ease-ui), transform .6s var(--ease-out)}.gallery-photo>span{opacity:0;width:2.2rem;height:2.2rem;transition:opacity .18s var(--ease-ui);background:#080607b8;border:1px solid #fff3;border-radius:999px;place-items:center;display:grid;position:absolute;bottom:.7rem;right:.7rem}.gallery-photo:hover img{filter:contrast(1.035);transform:scale(1.018)}.gallery-photo:hover>span,.gallery-photo:focus-visible>span{opacity:1}.gallery-grid--loading span{aspect-ratio:4/5;background:linear-gradient(105deg,#ffffff0b 35%,#ffffff18 48%,#ffffff0b 61%) 0 0/220% 100%;border-radius:clamp(.4rem,.7vw,.7rem);animation:1.35s linear infinite gallery-shimmer}.gallery-state{border-block:1px solid var(--line);text-align:center;align-content:center;place-items:center;min-height:24rem;padding:2rem;display:grid}.gallery-state h2{font-family:var(--font-display);text-transform:uppercase;margin:1rem 0 .35rem;font-size:clamp(2rem,4vw,3rem)}.gallery-state p{color:var(--muted);margin:0 0 1.5rem}.gallery-more{justify-content:center;padding-top:2.5rem;display:flex}.gallery-more button{min-width:12rem}.gallery-more button:disabled{cursor:wait;opacity:.62}.gallery-lightbox{z-index:300;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));touch-action:pan-y;background:#040304f9;grid-template-rows:auto minmax(0,1fr);grid-template-columns:5rem minmax(0,1fr) 5rem;gap:.5rem;display:grid;position:fixed;inset:0}.gallery-lightbox__bar{min-height:3.2rem;color:var(--muted);letter-spacing:.12em;grid-column:1/-1;justify-content:space-between;align-items:center;font-size:.72rem;font-weight:800;display:flex}.gallery-lightbox__bar>div{gap:.45rem;display:flex}.gallery-lightbox__bar a,.gallery-lightbox__bar button,.gallery-lightbox__nav{border:1px solid var(--line-top);width:3rem;height:3rem;color:var(--paper);background:#ffffff0a;border-radius:999px;place-items:center;padding:0;display:grid}.gallery-lightbox figure{place-items:center;min-width:0;min-height:0;margin:0;display:grid}.gallery-lightbox figure img{object-fit:contain;border-radius:.3rem;max-width:100%;max-height:100%}.gallery-lightbox__nav{place-self:center}.gallery-page__footer{border-top:1px solid var(--line);min-height:7rem;color:var(--muted-dark);justify-content:space-between;align-items:center;font-size:.76rem;font-weight:700;display:flex}.gallery-page__footer nav{gap:1.5rem;display:flex}.is-spinning{animation:.8s linear infinite gallery-spin}@keyframes gallery-shimmer{to{background-position:-220% 0}}@keyframes gallery-spin{to{transform:rotate(1turn)}}@media (width<=900px){.gallery-page__hero{grid-template-columns:1fr;gap:2rem}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.gallery-page__topbar{min-height:6.7rem}.gallery-page__brand{--brand-mark-size-mobile:2.8rem;--brand-city-size-mobile:2.55rem}.gallery-page__nav{gap:.3rem}.gallery-page__nav a{width:2.8rem;min-height:2.8rem;padding:0}.gallery-page__nav a span{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.gallery-page__hero{padding:4rem 0 3.25rem}.gallery-page__hero h1{font-size:clamp(4.6rem,25vw,7rem)}.gallery-dates{grid-template-columns:1fr;gap:.7rem}.gallery-dates button{min-width:7.5rem}.gallery-summary{min-height:6rem}.gallery-summary a{width:3rem;padding-inline:0}.gallery-summary a span{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.gallery-photo>span{display:none}.gallery-lightbox{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:1fr}.gallery-lightbox figure{grid-row:2}.gallery-lightbox__nav{bottom:max(1.2rem, env(safe-area-inset-bottom));position:fixed}.gallery-lightbox__nav.is-prev{left:1rem}.gallery-lightbox__nav.is-next{right:1rem}.gallery-page__footer{flex-direction:column;justify-content:center;align-items:flex-start;gap:1rem;min-height:8rem}}@media (prefers-reduced-motion:reduce){.gallery-photo img,.gallery-page__nav a,.gallery-summary a,.gallery-state button,.gallery-more button,.gallery-dates button{transition:none}.gallery-grid--loading span,.is-spinning{animation:none}}
