@font-face{font-family:Aileron;src:url("../fonts/Aileron-SemiBold.otf");font-weight:600;font-display:swap}
.gallery-main{padding:clamp(38px,5vw,72px) clamp(20px,3vw,44px) 70px;text-align:center}
.gallery-main h1{margin:0 0 clamp(26px,4vw,48px);font-size:clamp(1.5rem,3vw,2.1rem);font-weight:600;letter-spacing:.025em;text-transform:uppercase}
.gallery-peek{position:relative;max-width:1120px;margin:0 auto;padding:clamp(30px,5vw,62px) clamp(16px,4vw,48px) clamp(28px,4vw,44px);overflow:hidden;background:var(--yellow,#f5df4d)}
.gallery-peek::before,.gallery-peek::after{position:absolute;content:"";border:1px solid rgba(27,29,31,.2);border-radius:50%;pointer-events:none}
.gallery-peek::before{width:clamp(130px,22vw,280px);height:clamp(130px,22vw,280px);left:clamp(-150px,-10vw,-70px);bottom:clamp(-160px,-11vw,-80px)}
.gallery-peek::after{width:clamp(90px,13vw,180px);height:clamp(90px,13vw,180px);right:clamp(-80px,-5vw,-34px);top:clamp(-80px,-5vw,-34px)}
.gallery-peek__eyebrow{margin:0 0 clamp(20px,3vw,32px);font:600 clamp(.78rem,1.1vw,.95rem)/1 Aileron,Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase}
.gallery-peek__controls{position:relative;z-index:1;display:grid;grid-template-columns:clamp(48px,7vw,76px) minmax(220px,560px) clamp(48px,7vw,76px);align-items:center;justify-content:center;gap:clamp(14px,3vw,38px)}
.gallery-peephole{position:relative;width:100%;aspect-ratio:1;overflow:hidden;border:clamp(10px,1.7vw,22px) solid var(--ink,#1b1d1f);border-radius:50%;background:var(--ink,#1b1d1f);box-shadow:inset 0 0 0 2px rgba(255,255,255,.28),0 14px 38px rgba(27,29,31,.18);isolation:isolate}
.gallery-peephole::after{position:absolute;inset:0;z-index:2;content:"";border-radius:50%;box-shadow:inset 0 0 46px 12px rgba(0,0,0,.36);pointer-events:none}
.gallery-peephole:focus-visible{outline:3px solid var(--ink,#1b1d1f);outline-offset:6px}
.gallery-photo{position:absolute;inset:0;display:block;opacity:0;visibility:hidden;transition:opacity .42s ease,visibility .42s}
.gallery-photo.is-active{z-index:1;opacity:1;visibility:visible}
.gallery-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.gallery-photo.is-active:hover img{transform:scale(1.025)}
.gallery-peek button{display:grid;width:clamp(48px,7vw,76px);height:clamp(48px,7vw,76px);padding:0;border:1.5px solid var(--ink,#1b1d1f);border-radius:50%;place-items:center;color:var(--ink,#1b1d1f);background:transparent;font:400 clamp(25px,3vw,38px)/1 Arial,sans-serif;cursor:pointer;transition:color .2s,background .2s,transform .2s}
.gallery-peek button:hover{color:var(--yellow,#f5df4d);background:var(--ink,#1b1d1f);transform:scale(1.06)}
.gallery-peek button:focus-visible{outline:3px solid var(--ink,#1b1d1f);outline-offset:4px}
.gallery-peek__status{position:relative;z-index:1;margin:clamp(18px,3vw,28px) 0 0;font:600 clamp(.95rem,1.5vw,1.15rem)/1 Aileron,Arial,sans-serif;letter-spacing:.14em}
.gallery-peek__hint{position:relative;z-index:1;margin:10px 0 0;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}
.gallery-video{max-width:960px;margin:clamp(64px,8vw,110px) auto 0}
.gallery-video video{display:block;width:100%;height:auto;max-height:75vh;object-fit:contain;background:var(--paper);border-radius:6px}
.gallery-video p{margin:18px 0 0;font-size:.8rem;letter-spacing:.04em}
.lightbox{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:70px 64px 35px;border:0;background:rgba(0,0,0,.94);color:#f5f1ed}
.lightbox[open]{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px}
.lightbox::backdrop{background:rgba(0,0,0,.7)}
.lightbox figure{min-width:0;margin:0;text-align:center}
.lightbox figure img{width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 160px);margin:auto;object-fit:contain}
.lightbox figcaption{margin-top:18px;font-size:.85rem;letter-spacing:.06em}
.lightbox button{width:44px;height:44px;padding:0;border:1px solid #ffffff60;border-radius:50%;color:inherit;background:#ffffff10;font:32px/1 Arial,sans-serif;cursor:pointer}
.lightbox button:focus-visible{outline-color:white}.lightbox button:hover{background:#ffffff30}
.lightbox-close{position:absolute;right:22px;top:18px}
body:has(.lightbox[open]){overflow:hidden}
@media(max-width:620px){.gallery-main{padding:36px 14px 54px}.gallery-peek{padding-left:12px;padding-right:12px}.gallery-peek__controls{grid-template-columns:44px minmax(0,1fr) 44px;gap:7px}.gallery-peek button{width:44px;height:44px}.gallery-peephole{border-width:9px}.gallery-video{margin-top:58px}.lightbox{padding:70px 12px 30px}.lightbox[open]{grid-template-columns:44px 1fr 44px;gap:0}.lightbox figure{grid-column:1/-1;grid-row:1}.lightbox-prev,.lightbox-next{z-index:1;grid-row:2;margin-top:20px}.lightbox-prev{grid-column:1}.lightbox-next{grid-column:3}.lightbox figure img{max-height:calc(100dvh - 220px)}}
@media(prefers-reduced-motion:reduce){.gallery-photo,.gallery-photo img,.gallery-peek button{transition:none}}
