/* Spatial gallery: a quiet caption system around the architectural view. */
.gallery-stage.has-webgl{isolation:isolate;background:#101c1c}
.gallery-stage.has-webgl .gallery-canvas{z-index:0;pointer-events:none}
.gallery-stage.has-webgl .gallery-artworks{z-index:4;pointer-events:none}
.gallery-stage.has-webgl .gallery-artwork{bottom:8.5svh;width:min(82vw,660px);max-width:calc(100% - 48px);transition:none;will-change:opacity}
.gallery-stage.has-webgl .gallery-caption{width:100%;min-width:0;max-width:none;margin:0;padding:18px 28px 14px;border:1px solid #dbc49d29;border-top-color:#dbc49d66;background:linear-gradient(135deg,#10201eea,#0b1715e8);box-shadow:0 14px 60px #02090742;backdrop-filter:blur(10px);text-align:center}
.gallery-stage.has-webgl .gallery-caption>span{font-size:.55rem;letter-spacing:.3em;color:#d1b17d}
.gallery-stage.has-webgl .gallery-caption h2{margin:8px auto 10px;font-size:clamp(1.8rem,3.1vw,3.5rem);line-height:.98;letter-spacing:-.04em;text-wrap:balance;overflow-wrap:anywhere}
.gallery-stage.has-webgl .gallery-caption p{display:block;max-width:48ch;margin-inline:auto;font:400 .84rem/1.6 'Aether Manrope',sans-serif;color:#d9dcd3}
.gallery-stage.has-webgl .gallery-caption h2,.gallery-stage.has-webgl .gallery-caption p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
.gallery-stage.has-webgl .has-long-title .gallery-caption h2{font-size:clamp(1.55rem,2.5vw,2.8rem)}
.gallery-stage.has-webgl .gallery-inspect{margin-top:11px;padding:6px 0;font-size:.55rem;letter-spacing:.2em;border-color:#d0b38370;color:#e7d5b6}
.gallery-stage.has-webgl .gallery-inspect:focus-visible{outline:2px solid #edd5a5;outline-offset:5px}
.gallery-stage.has-webgl .gallery-hud{z-index:7;top:max(102px,12svh)}
.gallery-stage.has-webgl .gallery-hud-center{font-size:clamp(.85rem,1.2vw,1.15rem);color:#e2d3b8}
.gallery-stage.has-webgl .gallery-beat{bottom:9.5svh;left:5vw;z-index:7;font-size:.5rem;letter-spacing:.2em}
.gallery-stage.has-webgl .gallery-rail{bottom:9svh;right:5vw;z-index:7;gap:8px;max-width:min(24vw,300px);padding:5px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#a58d66 transparent;scroll-behavior:auto}
.gallery-stage.has-webgl .gallery-rail button{flex-shrink:0;width:38px;height:38px;border-color:#d7bc8970;background:#10201ee6;color:#d7c7a7}
.gallery-stage.has-webgl .gallery-rail button[aria-current="true"]{background:#dcc5a0;color:#16241d;border-color:#dcc5a0}
.gallery-stage.has-webgl .gallery-progress{z-index:7;height:1px;left:5vw;bottom:4svh;width:90vw;background:#e2c79c30}
.gallery-stage.has-webgl .gallery-progress span{background:#d2b584}
@media(max-width:1100px){.gallery-stage.has-webgl .gallery-beat{left:5vw;bottom:26svh}.gallery-stage.has-webgl .gallery-rail{bottom:26svh}.gallery-stage.has-webgl .gallery-artwork{width:min(82vw,580px)}}
@media(max-width:700px){.gallery-stage.has-webgl .gallery-artwork{bottom:9svh;width:calc(100% - 52px)}.gallery-stage.has-webgl .gallery-caption{min-width:0;max-width:none;padding:14px 18px 12px}.gallery-stage.has-webgl .gallery-caption h2{font-size:clamp(1.7rem,6vw,2.65rem);margin:7px 0}.gallery-stage.has-webgl .gallery-caption p{font-size:.74rem;line-height:1.45}.gallery-stage.has-webgl .gallery-hud{top:92px;left:26px;right:26px}.gallery-stage.has-webgl .gallery-hud .eyebrow{font-size:.51rem}.gallery-stage.has-webgl .gallery-beat{display:none}.gallery-stage.has-webgl .gallery-rail{right:26px;bottom:auto;top:136px;flex-direction:row;gap:7px}.gallery-stage.has-webgl .gallery-rail button{width:32px;height:32px;font-size:.85rem}.gallery-stage.has-webgl .gallery-side-number{display:none}.gallery-stage.has-webgl .gallery-progress{left:26px;width:calc(100% - 52px)}}
@media(max-height:650px){.gallery-stage.has-webgl .gallery-artwork{bottom:7svh}.gallery-stage.has-webgl .gallery-caption{padding:10px 20px}.gallery-stage.has-webgl .gallery-caption h2{font-size:clamp(1.6rem,3vw,2.4rem);margin:5px 0}.gallery-stage.has-webgl .gallery-caption p{display:none}.gallery-stage.has-webgl .gallery-inspect{margin-top:4px}.gallery-stage.has-webgl .gallery-hud{top:90px}.gallery-stage.has-webgl .gallery-beat{display:none}.gallery-stage.has-webgl .gallery-progress{bottom:3svh}}
@media(prefers-reduced-motion:reduce){.gallery-canvas{display:none!important}}
@media(max-width:700px){.gallery-stage.has-webgl .gallery-artwork{bottom:12svh}.gallery-stage.has-webgl .gallery-rail{top:auto;bottom:4.5svh;left:50%;right:auto;width:max-content;max-width:calc(100% - 52px);transform:translateX(-50%)}.gallery-stage.has-webgl .gallery-progress{bottom:2.7svh}.gallery-stage.has-webgl .has-long-title .gallery-caption h2{font-size:1.55rem}}
@media(max-height:650px) and (min-width:701px){.gallery-stage.has-webgl .gallery-hud-center{display:none}.gallery-stage.has-webgl .gallery-rail{top:45%;bottom:auto}}
@media(max-height:650px){.gallery-stage.has-webgl .gallery-caption h2{-webkit-line-clamp:1;line-clamp:1}}
@media(min-width:1101px){.gallery-stage.has-webgl .gallery-rail{max-width:min(300px,calc(45vw - 350px))}}
@media(min-width:701px) and (max-width:1100px) and (min-height:651px){.gallery-stage.has-webgl .gallery-artwork{bottom:13svh}.gallery-stage.has-webgl .gallery-rail{top:auto;bottom:5svh;left:50%;right:auto;width:max-content;max-width:calc(100% - 52px);transform:translateX(-50%)}.gallery-stage.has-webgl .gallery-progress{bottom:2.7svh}.gallery-stage.has-webgl .gallery-beat{display:none}}

