/* Layered VHANS composition. Static layout is the default fallback. */
:root{--ease-out:cubic-bezier(.22,1,.36,1)}
html{scroll-padding-top:110px}body{isolation:isolate}main,footer{position:relative;z-index:1}
.scene-backdrop{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:#03040a}
.scene-backdrop>img{height:100%;width:100%;object-fit:cover;object-position:center 38%;transform-origin:75% 45%}
.scene-veil{position:absolute;inset:0;background:linear-gradient(90deg,#03040a55,transparent 65%),linear-gradient(0deg,#03040a,transparent 60%)}
.hero{height:100svh;max-height:1100px;min-height:680px;border-bottom:0}.hero-shade{background:linear-gradient(0deg,#03040a,transparent 38%)}
.platforms{background:#050713e8;position:relative}.identity{background:linear-gradient(115deg,#070b16f7,#0b0b18f2)}
.music{background:#060813f5}.sets,.sets-carousel{background:#070910}.gallery{background:linear-gradient(135deg,#080d19,#080811)}.contact,footer{background:#060811}
header{position:fixed;top:20px;left:50%;width:min(850px,94%);height:64px;padding:0 24px;transform:translateX(-50%);border:1px solid #ffffff20;border-radius:40px;background:#080b13dd;backdrop-filter:blur(20px);box-shadow:0 10px 35px #0003;z-index:20;gap:25px;transition:width .5s var(--ease-out),padding .5s var(--ease-out),background .3s}
header .brand{width:110px;transform:scale(.83);transform-origin:left}nav{gap:25px;align-items:center;margin-left:auto}nav a:last-child{margin-left:0}nav span{margin-left:5px}nav a{font-size:11px;position:relative;white-space:nowrap}
.menu-toggle{display:none;border:0;background:transparent;padding:10px;align-items:center;justify-content:center;gap:12px;min-width:44px;min-height:44px}.menu-symbol{display:flex;gap:4px;height:20px;align-items:center}.menu-symbol i{display:block;width:3px;height:5px;border-radius:4px;background:var(--accent);transition:height .3s}.menu-symbol i:nth-child(2){height:15px}.menu-label{font-size:11px}
.enhanced header.is-compact{width:64px;padding:0;justify-content:center}.enhanced header.is-compact .brand,.enhanced header.is-compact nav{display:none}.enhanced header.is-compact .menu-toggle{display:flex}.enhanced header.is-compact .menu-label{display:none}
header:focus-within{border-color:var(--accent)}nav a::after{content:'';position:absolute;left:0;bottom:2px;width:100%;height:1px;transform:scaleX(0);transform-origin:left;background:var(--accent);transition:transform .3s}nav a:hover::after,nav a:focus-visible::after{transform:scaleX(1)}
.motion-pending{opacity:0}.word-mask{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}.motion-word{display:inline-block}
.identity-photo{overflow:hidden;border-radius:22px}.identity-photo img{transition:transform 1s var(--ease-out)}.identity-copy h2{overflow:visible}
.music-links>a{position:relative;transition:padding .4s var(--ease-out),background .4s}.music-links>a::before{content:'';position:absolute;top:-1px;left:0;height:1px;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--accent),transparent);transition:transform .6s var(--ease-out)}.music-links>a:hover::before{transform:scaleX(1)}
.button{border-radius:999px}.button,.text-link{transition:background .25s,color .25s,transform .3s var(--ease-out),border-color .25s}.button>span,.text-link>span,.arrow{display:inline-block;transition:transform .35s var(--ease-out)}
.live-image{overflow:hidden;border-radius:0 24px 24px 0}.set-card{padding:10px;border:1px solid #ffffff14;border-radius:20px;background:linear-gradient(145deg,#ffffff06,#ffffff01);transition:background .3s,border-color .3s}.set-cover{border-radius:13px}.set-caption{padding:18px 8px 8px}.set-play{border:1px solid #b4acff88;background:#1c183bc9;backdrop-filter:blur(8px);transition:transform .3s var(--ease-out),background .3s}.set-cover img{transition:transform .8s var(--ease-out)}
.carousel-controls button{border-radius:50%}.gallery-instruction{display:flex;justify-content:space-between;gap:20px;margin:0 0 35px;font-size:12px;color:var(--muted)}.gallery-instruction span{font-size:10px;letter-spacing:1px}
.gallery-grid{display:flex;flex-direction:column;gap:28px;position:relative}.gallery-item,.gallery-item.wide,.gallery-item.fabrika{height:min(70svh,700px);width:100%;flex-shrink:0;border-radius:22px;border:1px solid #ffffff25;box-shadow:0 18px 70px #0005;isolation:isolate;background:#0b0c13;transform-origin:center top}
.gallery-item img{display:block;transition:transform .9s var(--ease-out);object-position:center 30%}.gallery-item.wide img{object-position:center}.gallery-item[data-photo="assets/san-juan.jpg"] img{object-position:center 25%}.gallery-item>span{padding:90px 32px 30px;font-size:12px;letter-spacing:2px}.gallery-item b{display:grid;place-items:center;border:1px solid #fff6;border-radius:50%;width:42px;height:42px;background:#080b1366}
@media(min-width:901px) and (prefers-reduced-motion:no-preference){.enhanced:not(.motion-off) .gallery-grid{gap:14vh;padding-bottom:45px}.enhanced:not(.motion-off) .gallery-item{position:sticky;top:calc(105px + var(--card-index,0)*12px);height:min(65svh,640px)}}
.contact-actions{max-width:450px}.contact-actions .button{gap:25px}.contact h2>span{color:var(--accent)}.motion-switch{background:none;border:0;border-bottom:1px solid #9890ff60;padding:7px 0;font-size:10px;color:var(--muted)}
dialog{border-radius:22px;z-index:30}dialog[open]{animation:photo-open .4s var(--ease-out)}dialog[open]::backdrop{animation:fade-in .3s ease}body.photo-open{overflow:hidden}
@keyframes photo-open{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}@keyframes fade-in{from{opacity:0}to{opacity:1}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){html:not(.motion-off) .identity-photo:hover img{transform:scale(1.025)}html:not(.motion-off) .gallery-item:hover img{transform:scale(1.035)}html:not(.motion-off) .button:hover{transform:translateY(-3px)}html:not(.motion-off) .button:hover>span,html:not(.motion-off) .text-link:hover>span{transform:translate(3px,-3px)}.music-links>a:hover{padding-left:14px;padding-right:14px;background:#9890ff08}.set-card:hover{border-color:#9890ff80;background:#9890ff09}.set-card:hover .set-play{background:var(--button);transform:translate(-50%,-50%) scale(1.1)}}
@media(max-width:900px){header{gap:12px;padding:0 16px;width:94%}nav{gap:17px}header .brand{width:95px}.gallery-item,.gallery-item.wide,.gallery-item.fabrika{height:520px}.gallery-heading h2{font-size:clamp(44px,8vw,72px)}}
@media(max-width:760px){
 html{scroll-padding-top:100px}header{height:58px;top:14px;width:92%;padding:0 18px;justify-content:space-between;transition:background .3s}.enhanced header.is-compact{width:92%;padding:0 18px;justify-content:space-between}.enhanced header.is-compact .brand{display:block}.enhanced header.is-compact .menu-label{display:block}.menu-toggle{display:flex}.enhanced header nav{display:none}
 .enhanced header.menu-open{background:#090b15;border-radius:28px 28px 0 0}.enhanced header.menu-open nav{display:flex;position:absolute;left:-1px;right:-1px;top:56px;margin:0;padding:26px 28px 50px;border:1px solid #ffffff20;border-top:0;border-radius:0 0 32px 32px;background:radial-gradient(ellipse at 50% 115%,#8170ef99,transparent 58%),#090b15;flex-direction:column;align-items:flex-start;gap:12px;max-height:calc(100svh - 100px);overflow-y:auto;box-shadow:0 35px 55px #0008;animation:photo-open .4s var(--ease-out)}
 header.menu-open nav a{font-family:'Barlow Condensed',Impact,sans-serif;font-size:36px;line-height:1.1;padding:8px 0;letter-spacing:.3px}header.menu-open .menu-symbol i:first-child{height:18px;transform:translateX(7px) rotate(45deg)}header.menu-open .menu-symbol i:nth-child(2){opacity:0}header.menu-open .menu-symbol i:last-child{height:18px;transform:translateX(-7px) rotate(-45deg)}body.menu-locked{overflow:hidden}
 .scene-backdrop{position:absolute;height:92svh;min-height:660px}.scene-backdrop>img{object-position:57% center}.hero{height:92svh;min-height:660px}.identity{background:#070b15}.hero-top{top:100px}.hero-content{bottom:110px}.identity-photo{border-radius:16px}.live-image{border-radius:0}.set-card{border-radius:16px}.gallery-instruction{display:block;line-height:1.7}.gallery-instruction span{display:block;margin-top:8px}.gallery-item,.gallery-item.wide,.gallery-item.fabrika{height:440px;position:relative;top:auto;border-radius:16px}.gallery-item.wide{height:300px}.gallery-item>span{padding:65px 20px 22px;font-size:10px}.gallery-grid{gap:22px}.gallery-item b{height:34px;width:34px;font-size:22px}.contact-actions .button{gap:12px}footer .motion-switch{flex-basis:auto}
 html:not(.enhanced) header{position:absolute;height:auto;align-items:flex-start;border-radius:20px;padding:18px}html:not(.enhanced) header nav{display:flex;position:static;padding:0;flex-wrap:wrap;flex-direction:row;background:transparent;gap:8px 16px}html:not(.enhanced) .menu-toggle{display:none}
}
.motion-off .motion-pending{opacity:1}.motion-off .gallery-item{transform:none!important}.motion-off *, .motion-off *::before,.motion-off *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){.motion-pending{opacity:1!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.gallery-item{transform:none!important}}
@media print{.scene-backdrop,header,.motion-switch{display:none}.motion-pending{opacity:1!important}.gallery-item{position:relative!important;transform:none!important}main,footer{color:black;background:white}}

.contact h2>.word-mask{color:var(--paper)}
@media(min-width:761px) and (max-width:1000px){.contact-bottom{flex-direction:column;align-items:flex-start}.contact-actions{width:100%;max-width:450px}}
