/* Enhanced styles are scoped; original galleries remain the no-JS fallback. */
#hero-rotation .hero-rotation-toggle{opacity:0;pointer-events:none;transition:opacity .2s}
#hero-rotation:hover .hero-rotation-toggle,#hero-rotation:focus-within .hero-rotation-toggle{opacity:1;pointer-events:auto}
.gallery-experience .carousel-track .carousel-slide::before{z-index:0!important}
.gallery-experience .carousel-track .carousel-slide>a,.gallery-experience .carousel-track .carousel-slide>img{position:relative;z-index:1}
.gallery-experience{scroll-margin-top:100px}
.gallery-experience{--gallery-accent:#d1a5ff;--gallery-glow:#7e41ac55;position:relative}
.gallery-stage{position:relative;max-width:1180px;margin:auto}
.gallery-experience .carousel-track{display:block;position:relative;isolation:isolate;height:clamp(390px,48vw,620px);overflow:hidden;padding:0;scroll-snap-type:none;border:1px solid #ffffff26;border-radius:20px;background:#08090e;box-shadow:0 25px 65px #0007;touch-action:pan-y}
.gallery-experience .carousel-track .carousel-slide{position:absolute;inset:0;width:100%;height:100%;margin:0;border:0;background:#090a10;opacity:0;visibility:hidden;transform:scale(1.025);transition:opacity .85s,transform 1.1s,visibility .85s;overflow:hidden;pointer-events:none}
.gallery-experience .carousel-track .carousel-slide::before{content:"";position:absolute;inset:-6%;background:linear-gradient(#0006,#0009),var(--gallery-photo) center/cover;filter:blur(22px);opacity:.6;z-index:-1}
.gallery-experience .carousel-track .is-active{opacity:1;visibility:visible;transform:scale(1);z-index:3;pointer-events:auto}
.gallery-experience .carousel-track .carousel-slide a{height:100%;display:block}
.gallery-experience .carousel-track .carousel-slide img{width:100%;height:100%;object-fit:contain;background:transparent;padding:20px 20px 76px;box-sizing:border-box}
.gallery-experience .carousel-track .carousel-slide figcaption{position:absolute;bottom:0;left:0;right:0;padding:25px 30px;background:linear-gradient(transparent,#090a10ee 24%);color:#fff;font-size:clamp(.8rem,1.3vw,1rem);letter-spacing:.045em;z-index:4}
.gallery-experience .gallery-progress{max-width:1180px;margin:0 auto;height:3px;background:#ffffff12;overflow:hidden}
.gallery-progress span{display:block;height:100%;background:var(--gallery-accent);box-shadow:0 0 12px var(--gallery-accent);transition:width .1s linear}
.gallery-experience .gallery-thumbnails{display:flex;gap:10px;max-width:1180px;margin:18px auto 0;padding:5px 3px 10px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--gallery-accent) transparent}
.gallery-thumbnails button{position:relative;flex:0 0 92px;height:66px;padding:0;border:1px solid #ffffff30;border-radius:8px;overflow:hidden;background:#14131b;cursor:pointer;opacity:.55;transition:opacity .25s,transform .25s,border-color .25s}
.gallery-thumbnails button img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-thumbnails button span{position:absolute;bottom:3px;right:4px;background:#090a10c9;padding:1px 5px;color:#fff;font:700 10px monospace}
.gallery-thumbnails button[aria-current=true]{opacity:1;border:2px solid var(--gallery-accent);transform:translateY(-3px);box-shadow:0 0 16px var(--gallery-glow)}
.gallery-thumbnails button:hover{opacity:1}.gallery-thumbnails button:focus-visible{outline:3px solid white;outline-offset:2px}
.gallery-experience .gallery-stage .carousel-controls{position:absolute;left:14px;right:14px;top:14px;z-index:10;display:flex;flex-wrap:wrap;gap:8px;padding:10px;border-radius:14px;background:#08080bd9;backdrop-filter:blur(10px);opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .2s,transform .2s}
.gallery-experience:hover .gallery-stage .carousel-controls,.gallery-experience:focus-within .gallery-stage .carousel-controls,.gallery-experience.touch-controls .gallery-stage .carousel-controls{opacity:1;pointer-events:auto;transform:translateY(0)}
.gallery-experience .carousel-controls button{border-radius:30px;border-color:#ffffff45;background:#ffffff08;min-height:44px;color:#fff;padding:10px 14px}
.gallery-experience .carousel-controls button:hover{background:var(--gallery-accent);color:#100d16}
.gallery-experience .carousel-position{font:600 1rem monospace;letter-spacing:.14em;color:var(--gallery-accent)}
.gallery-experience .carousel-note{opacity:.8;font-size:.75rem}
.gallery-experience[data-experience=cinema]{--gallery-accent:#ffc65a;--gallery-glow:#ff652c55}
.gallery-experience[data-experience=cinema] .carousel-track{border-radius:3px;border:5px solid #302822;outline:1px solid #967650;box-shadow:12px 12px 0 #08090a80,0 25px 60px #0009}
.gallery-experience[data-experience=cinema] .is-active::before{animation:gallery-drift 9s linear both;filter:blur(10px)}
.gallery-experience[data-experience=cinema] .is-active img{animation:gallery-zoom 9s linear both}
.gallery-experience[data-experience=cinema] figcaption{border-left:5px solid #e65733;font-weight:900;text-transform:uppercase}
.gallery-experience[data-experience=coverflow]{--gallery-accent:#ff6acb;--gallery-glow:#ff21ac60}
.gallery-experience[data-experience=coverflow] .carousel-track{perspective:1100px;border:0;background:radial-gradient(ellipse at 50% 95%,#ef39ab33,transparent 65%),#0b0810;box-shadow:inset 0 -1px #fc54b150}
.gallery-experience[data-experience=coverflow] .carousel-track .carousel-slide{inset:6% 16%;width:68%;height:88%;border:1px solid #e44ba474;border-radius:12px;box-shadow:0 20px 45px #0009;transform:scale(.75);transition:transform .7s,opacity .7s,visibility .7s}
.gallery-experience[data-experience=coverflow] .carousel-track .is-before{visibility:visible;opacity:.45;transform:translateX(-58%) rotateY(32deg) scale(.78);z-index:1}
.gallery-experience[data-experience=coverflow] .carousel-track .is-after{visibility:visible;opacity:.45;transform:translateX(58%) rotateY(-32deg) scale(.78);z-index:2}
.gallery-experience[data-experience=coverflow] .carousel-track .is-active{visibility:visible;opacity:1;transform:translateX(0) rotateY(0) scale(1);z-index:3;box-shadow:0 20px 55px #000a,0 0 24px #ee39b322}
.gallery-experience[data-experience=coverflow] .carousel-track .carousel-slide img{padding:12px 8px 76px}
.gallery-experience[data-experience=spotlight]{--gallery-accent:#b4ff51;--gallery-glow:#80ff3b44;background:radial-gradient(ellipse at 50% 55%,#24492355,transparent 68%),#07120d}
.gallery-experience[data-experience=spotlight] .carousel-track{border-color:#a6ff584a;border-radius:28px;box-shadow:0 0 65px #70ff2515,inset 0 0 40px #76ff3515}
.gallery-experience[data-experience=spotlight] .carousel-slide::before{background:radial-gradient(ellipse at center,#76ff3938,transparent 68%),var(--gallery-photo) center/cover;opacity:.35}
.gallery-experience[data-experience=spotlight] .carousel-slide{transform:translateY(20px) scale(.96)}
.gallery-experience[data-experience=spotlight] .carousel-slide.is-active{transform:translateY(0) scale(1)}
.gallery-experience[data-experience=story]{background:radial-gradient(ellipse at 10% 20%,#6b36713b,transparent 65%),#100d18}
.gallery-experience[data-experience=story] .carousel-track{border-radius:4px 28px 4px 28px;border-color:#ba8ed74d}
.gallery-experience[data-experience=story] .carousel-slide img{padding:26px 26px 85px}
.gallery-experience[data-experience=story] figcaption{font-family:Georgia,serif;font-weight:400;font-style:italic;font-size:clamp(1rem,1.7vw,1.35rem);text-align:center}
.gallery-experience.is-paused .is-active img,.gallery-experience.is-paused .is-active::before{animation-play-state:paused}
@keyframes gallery-zoom{from{transform:scale(1)}to{transform:scale(1.035)}}
@keyframes gallery-drift{from{transform:scale(1)}to{transform:scale(1.12)}}
@media(max-width:650px){.gallery-experience .carousel-track{height:430px}.gallery-experience .gallery-thumbnails button{flex-basis:68px;height:52px}.gallery-experience .carousel-track .carousel-slide figcaption{padding:22px 16px}.gallery-experience[data-experience=coverflow] .carousel-track .carousel-slide{inset:6% 12%;width:76%}.gallery-experience .carousel-controls button{padding:8px 10px;font-size:.75rem}.gallery-experience .carousel-position{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.gallery-experience *,.gallery-experience *::before{animation:none!important;transition:none!important}}
