@charset "UTF-8";
:root{--ink:#080b14;--paper:#f8f5ef;--muted:#b7bfd1;--blue:#438cff;--gold:#e5b86b;--line:rgba(255,255,255,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}::selection{background:#d9a768;color:#10111a}
.scroll-progress{position:fixed;z-index:90;top:0;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--blue),var(--gold));box-shadow:0 0 14px var(--blue);pointer-events:none}
.site-header{position:fixed;z-index:80;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:25px clamp(24px,5vw,90px);background:linear-gradient(180deg,rgba(3,6,13,.75),transparent);transition:background .3s,padding .3s}.site-header.scrolled{padding-top:14px;padding-bottom:14px;background:rgba(5,8,17,.85);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}.mini-logo{display:inline-flex;align-items:baseline;gap:6px;font:600 12px/1 Georgia,serif;letter-spacing:.22em;white-space:nowrap}.mini-logo span{font-size:18px;letter-spacing:.1em}.mini-logo i{font:normal 14px/1 Georgia;color:var(--gold);margin-left:3px}.site-header nav{display:flex;gap:clamp(18px,2.5vw,44px)}.site-header nav a{font:600 10px/1 Arial,sans-serif;letter-spacing:.22em;opacity:.78;transition:opacity .2s,color .2s}.site-header nav a:hover,.site-header nav a:focus-visible{opacity:1;color:var(--gold)}
.hero{position:relative;min-height:760px;height:100svh;overflow:hidden;background:#090e1b}.hero-art{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 47%;filter:saturate(1.07)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,6,14,.04) 0%,rgba(3,6,14,.05) 38%,rgba(4,6,13,.34) 58%,rgba(4,6,13,.7) 100%),linear-gradient(0deg,rgba(3,5,11,.78),transparent 28%,transparent 76%,rgba(3,5,11,.25))}.hero-content{position:absolute;right:clamp(30px,7.4vw,128px);top:50%;width:min(45vw,700px);transform:translateY(-36%);text-align:right;text-shadow:0 3px 24px rgba(0,0,0,.5)}.hero-kicker,.hero-sub,.hero-cta,.section-number,.track-label,.member-count,.member-role,.finale-kicker,.back-to-top{letter-spacing:.25em}.hero-kicker{font-size:clamp(10px,.9vw,14px);font-weight:700;color:#e7c188;margin:0 0 26px}.hero h1,.finale-logo{font-family:Didot,"Bodoni 72","Times New Roman",serif;letter-spacing:-.045em;font-weight:400}.hero h1{font-size:clamp(80px,9.2vw,166px);line-height:.68;margin:0;display:flex;flex-direction:column;align-items:flex-end}.hero h1 span{font-size:.45em;letter-spacing:.2em;font-weight:400;margin:0 .09em .21em 0}.hero h1 strong,.finale-logo strong{font-weight:400}.hero-sub{font-size:clamp(13px,1.1vw,17px);margin:36px 0 34px;font-weight:700;letter-spacing:.23em}.hero-cta{display:inline-flex;gap:32px;align-items:center;border:1px solid rgba(255,255,255,.62);padding:16px 19px 15px 24px;font:700 10px/1 Arial,sans-serif;transition:background .25s,color .25s,transform .25s}.hero-cta:hover{background:#fff;color:#13151e;transform:translateY(-3px)}.hero-cta span{font-size:19px;line-height:0}.hero-credit{position:absolute;right:clamp(24px,4vw,65px);bottom:37px;display:flex;gap:17px;font:700 9px/1 Arial,sans-serif;letter-spacing:.12em;color:rgba(255,255,255,.68)}.hero-credit span+span:before{content:"/";margin-right:17px;color:var(--gold)}.scroll-cue{position:absolute;left:clamp(24px,5vw,90px);bottom:38px;display:flex;align-items:center;gap:16px;font:700 9px/1 Arial,sans-serif;letter-spacing:.24em}.scroll-cue i{width:36px;height:1px;background:var(--gold);display:block;position:relative}.scroll-cue i:after{content:"";position:absolute;right:0;top:-3px;width:6px;height:6px;border-right:1px solid var(--gold);border-bottom:1px solid var(--gold);transform:rotate(-45deg)}
.music-section{position:relative;overflow:hidden;min-height:100svh;padding:clamp(110px,12vw,190px) 0 140px;background:radial-gradient(ellipse at 10% 42%,rgba(45,84,151,.21),transparent 45%),radial-gradient(ellipse at 95% 80%,rgba(177,106,38,.12),transparent 35%),#090d17}.music-atmosphere{pointer-events:none;position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),rgba(255,255,255,.025) calc(25% - 1px),rgba(255,255,255,.025) 25%)}.section-shell{width:min(1370px,86vw);margin:auto;position:relative}.section-heading{display:grid;grid-template-columns:1fr 1.1fr;align-items:end;column-gap:50px;margin-bottom:70px}.section-number{grid-column:1/-1;font:700 11px/1 Arial,sans-serif;color:var(--gold);margin-bottom:35px}.section-heading h2{font:400 clamp(86px,11vw,190px)/.8 Didot,"Bodoni 72",Georgia,serif;letter-spacing:-.06em;margin:0}.period{color:var(--gold)}.section-heading p{font-size:clamp(14px,1.2vw,18px);line-height:2.2;color:#d2d9e8;margin:0 0 5px}.tracks{border-top:1px solid var(--line)}.track{position:relative;display:grid;grid-template-columns:65px minmax(200px,1fr) 160px 70px 64px;align-items:center;gap:20px;min-height:143px;padding:24px 12px;border-bottom:1px solid var(--line);transition:background .25s}.track:hover,.track.playing{background:rgba(255,255,255,.045)}.track-index{font:400 27px/1 Didot,Georgia,serif;color:var(--gold)}.track-label{font:700 9px/1 Arial,sans-serif;color:#aeb6c9}.track-copy h3{font-size:clamp(21px,2.1vw,31px);letter-spacing:.04em;margin:9px 0 6px;font-weight:600}.track-copy p{color:#8f9aaf;font:12px/1.4 Arial,sans-serif;letter-spacing:.09em;margin:0}.track-wave{height:38px;display:flex;align-items:center;justify-content:center;gap:4px;opacity:.5}.track-wave i{width:2px;height:var(--h,10px);background:linear-gradient(var(--blue),var(--gold));border-radius:4px;transform-origin:center}.track-wave i:nth-child(4n+1){--h:9px}.track-wave i:nth-child(4n+2){--h:25px}.track-wave i:nth-child(4n+3){--h:16px}.track-wave i:nth-child(4n){--h:34px}.track.playing .track-wave i{animation:pulse .55s ease-in-out infinite alternate;animation-delay:calc(var(--i,0)*-70ms)}.track-wave i:nth-child(3n){animation-delay:-.17s!important}.track-wave i:nth-child(5n){animation-delay:-.31s!important}@keyframes pulse{to{transform:scaleY(.28)}}.track-time{font:12px/1 Arial,sans-serif;color:#a9b1c3;text-align:right}.track-play{width:52px;height:52px;border:1px solid rgba(255,255,255,.58);border-radius:50%;background:rgba(255,255,255,.04);color:#fff;display:grid;place-items:center;transition:background .2s,color .2s,transform .2s}.track-play:hover,.track-play:focus-visible{background:#fff;color:#0c1018;transform:scale(1.08)}.play-icon{width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:11px solid currentColor;margin-left:3px}.track.playing .play-icon{width:11px;height:14px;border:0;border-left:3px solid currentColor;border-right:3px solid currentColor;margin:0}.track-seek{grid-column:2/6;align-self:end;margin-top:-6px}.track-seek input{display:block;width:100%;height:2px;appearance:none;background:linear-gradient(90deg,var(--gold) var(--progress,0%),rgba(255,255,255,.16) var(--progress,0%));outline:0;cursor:pointer}.track-seek input::-webkit-slider-thumb{appearance:none;width:9px;height:9px;border-radius:50%;background:var(--gold);opacity:0;transition:opacity .2s}.track:hover .track-seek input::-webkit-slider-thumb,.track:focus-within .track-seek input::-webkit-slider-thumb{opacity:1}.track-seek input::-moz-range-thumb{width:9px;height:9px;border:0;border-radius:50%;background:var(--gold)}.preview-note{font-size:12px;color:#8994ab;line-height:1.7;margin:22px 0 0}
.members-intro{min-height:58vh;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:#060911;padding:90px 24px}.members-intro span{font:700 11px/1 Arial,sans-serif;letter-spacing:.25em;color:var(--gold)}.members-intro p{font:400 clamp(55px,8vw,135px)/.94 Didot,Georgia,serif;letter-spacing:-.04em;margin:26px 0 0}
.member{--accent:#7d78f2;position:relative;isolation:isolate;overflow:hidden;min-height:900px;min-height:100svh;display:flex;align-items:stretch;background:radial-gradient(circle at 30% 60%,rgba(56,48,116,.25),transparent 42%),#090b16;border-top:1px solid rgba(255,255,255,.08)}.member-ohzeki{--accent:#d39a52;background:radial-gradient(circle at 78% 58%,rgba(116,76,34,.25),transparent 40%),#080b13}.member-snow{--accent:#508df1;background:radial-gradient(circle at 24% 65%,rgba(42,90,145,.22),transparent 42%),#080b14}.member-soma{--accent:#d3b58d;background:radial-gradient(circle at 75% 55%,rgba(121,86,66,.2),transparent 40%),#0a0a12}.member-light{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 15% 10%,rgba(52,116,241,.13),transparent 40%),radial-gradient(ellipse at 82% 8%,rgba(246,180,93,.1),transparent 45%)}.member-giant{position:absolute;top:15%;left:3%;font:400 clamp(100px,15vw,280px)/1 Didot,Georgia,serif;letter-spacing:-.07em;white-space:nowrap;color:rgba(255,255,255,.035);pointer-events:none;z-index:-1}.member.reverse .member-giant{left:auto;right:2%}.member-layout{width:min(1500px,94vw);min-height:inherit;margin:auto;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);align-items:center;gap:clamp(30px,5vw,90px)}.member.reverse .member-visual{order:2}.member.reverse .member-copy{order:1}.member-visual{align-self:stretch;display:flex;align-items:flex-end;justify-content:center;min-width:0;position:relative}.member-visual:before{content:"";position:absolute;left:10%;right:10%;bottom:0;height:80%;border-radius:50%;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--accent) 27%,transparent),transparent 70%);filter:blur(32px);z-index:-1}.member-visual img{display:block;max-width:100%;width:auto;height:auto;max-height:min(95svh,1000px);object-fit:contain;object-position:bottom center;filter:drop-shadow(0 28px 35px rgba(0,0,0,.5))}.member-ohzeki .member-visual img{max-height:min(90svh,960px)}.member-snow .member-visual img{max-height:min(85svh,840px);margin-bottom:25px}.member-soma .member-visual img{max-height:min(88svh,900px)}.member-copy{padding:120px 0;color:#faf9f7;text-shadow:0 3px 22px rgba(0,0,0,.75);max-width:570px}.member-count{font:700 10px/1 Arial,sans-serif;color:var(--accent)}.member-role{font:700 12px/1.5 Arial,sans-serif;color:#d7dcec;margin:30px 0 12px}.member-copy h2{font-size:clamp(50px,4.9vw,82px);line-height:1.12;letter-spacing:.04em;margin:0;font-weight:700}.member-copy h2 span{display:block;font:400 clamp(19px,2vw,30px)/1.2 Didot,Georgia,serif;letter-spacing:.16em;color:#b9c2d1;margin-top:8px}.member-line{font-size:clamp(20px,2.1vw,33px);line-height:1.5;font-weight:700;letter-spacing:.08em;margin:45px 0 25px;color:#fff}.member-bio{font-size:clamp(14px,1.1vw,16px);line-height:2.25;letter-spacing:.04em;color:#e2e5ed;max-width:550px}.member-copy dl{margin:38px 0 0;border-top:1px solid var(--line)}.member-copy dl div{display:grid;grid-template-columns:130px 1fr;gap:16px;border-bottom:1px solid var(--line);padding:16px 0;line-height:1.7;font-size:13px}.member-copy dt{color:#a7b4ca}.member-copy dd{margin:0;color:#fff}
.finale{min-height:100svh;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:120px 20px;background:radial-gradient(ellipse at 50% 58%,rgba(46,67,111,.2),transparent 36%),radial-gradient(ellipse at 58% 50%,rgba(180,114,50,.09),transparent 34%),#03060d}.finale:before{content:"";position:absolute;width:1px;height:22vh;top:0;background:linear-gradient(transparent,var(--gold));opacity:.6}.finale-star{font-size:24px;color:var(--gold);margin-bottom:25px}.finale-orbit{position:absolute;width:min(60vw,720px);aspect-ratio:1;border:1px solid rgba(160,189,234,.09);border-radius:50%;transform:rotate(-25deg) scaleY(.35);pointer-events:none}.orbit-two{width:min(85vw,1050px);transform:rotate(27deg) scaleY(.29);border-color:rgba(229,184,107,.08)}.finale-kicker{font:700 11px/1 Arial,sans-serif;color:var(--gold);margin:0 0 40px}.finale-logo{position:relative;display:flex;flex-direction:column;align-items:center;font-size:clamp(90px,13vw,235px);line-height:.72;margin:0;text-shadow:0 0 50px rgba(134,157,215,.14)}.finale-logo span{font-size:.33em;letter-spacing:.25em;margin-bottom:.26em}.finale-copy{font-size:clamp(14px,1.2vw,18px);letter-spacing:.2em;margin:54px 0 0;color:#c6cedb}.back-to-top{position:absolute;bottom:56px;font:700 10px/1 Arial,sans-serif;color:#c8b187}.back-to-top:hover{color:#fff}.site-footer{display:flex;justify-content:space-between;padding:22px clamp(25px,5vw,90px);background:#03050b;border-top:1px solid rgba(255,255,255,.08);font:700 9px/1 Arial,sans-serif;letter-spacing:.18em;color:#78849b}
.reveal{opacity:0;transform:translateY(36px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.15,1)}.reveal.visible{opacity:1;transform:none}.track.reveal:nth-child(2){transition-delay:.1s}.track.reveal:nth-child(3){transition-delay:.2s}
@media(max-width:900px){.site-header{padding:18px 24px}.site-header nav{gap:18px}.hero{min-height:650px}.hero-art{object-position:46% center}.hero-content{width:60vw;right:5vw;transform:translateY(-15%)}.hero h1{font-size:clamp(65px,10.5vw,120px)}.hero-credit{display:none}.member{min-height:auto}.member-layout{width:min(720px,90vw);display:flex;flex-direction:column;gap:0}.member.reverse .member-visual,.member.reverse .member-copy{order:initial}.member-visual{width:100%;height:clamp(470px,80vw,760px);align-items:flex-end}.member-visual img,.member-ohzeki .member-visual img,.member-snow .member-visual img,.member-soma .member-visual img{max-height:100%;margin-bottom:0}.member-copy{padding:15px 10px 100px;max-width:720px}.member-giant{top:9%;font-size:clamp(88px,18vw,170px)}.member-copy h2{font-size:clamp(48px,8vw,68px)}}
@media(max-width:650px){.mini-logo{font-size:9px}.mini-logo span{font-size:13px}.site-header nav a{font-size:9px}.site-header nav a:last-child{display:none}.hero{height:100svh;min-height:590px}.hero-art{object-position:41% center}.hero-shade{background:linear-gradient(0deg,rgba(3,6,14,.9),rgba(3,6,14,.14) 72%),linear-gradient(90deg,transparent,rgba(3,6,14,.16))}.hero-content{right:7vw;left:7vw;top:auto;bottom:17%;width:auto;transform:none;text-align:left}.hero h1{align-items:flex-start;font-size:clamp(64px,15vw,105px)}.hero h1 span{margin-left:.08em}.hero-kicker{margin-bottom:20px}.hero-sub{margin:29px 0}.scroll-cue{bottom:25px;left:7vw}.music-section{padding:105px 0 110px}.section-shell{width:88vw}.section-heading{display:block;margin-bottom:45px}.section-number{display:block;margin-bottom:20px}.section-heading h2{font-size:clamp(80px,17vw,130px)}.section-heading p{margin-top:30px;font-size:14px}.track{grid-template-columns:37px 1fr 48px;gap:8px;min-height:138px;padding:22px 0}.track-index{font-size:22px;align-self:start;margin-top:11px}.track-copy h3{font-size:20px}.track-copy p{font-size:11px}.track-wave,.track-time{display:none}.track-play{width:44px;height:44px}.track-seek{grid-column:2/4;margin-top:0}.preview-note{font-size:11px}.members-intro{min-height:45vh}.members-intro p{font-size:clamp(50px,11vw,80px)}.member-layout{width:92vw}.member-visual{height:clamp(370px,105vw,630px)}.member-copy{padding:25px 4vw 95px}.member-copy h2{font-size:48px}.member-line{font-size:23px;margin-top:32px}.member-bio{font-size:14px}.member-copy dl div{grid-template-columns:95px 1fr;font-size:12px}.member-giant{top:11%;font-size:18vw}.finale-logo{font-size:clamp(69px,16vw,128px)}.finale-copy{font-size:13px}.site-footer{font-size:8px;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.track.playing .track-wave i{animation:none}*,*:before,*:after{scroll-behavior:auto!important}}

/* Let the title leave first, then lift a separate audience layer over the fixed artwork. */
.site-header{transform:translateY(-110%);opacity:0;pointer-events:none;transition:transform .35s ease,opacity .35s ease,background .3s,padding .3s}
.site-header.show-header{transform:none;opacity:1;pointer-events:auto}
.hero-sequence{position:relative;height:165svh;background:#060911}
.hero-sequence .hero{position:sticky;top:0;height:100svh;min-height:0;will-change:transform}
.hero-art{transform:none;filter:saturate(1.07) blur(var(--hero-art-blur,0px));opacity:var(--hero-art-opacity,1);will-change:filter,opacity}
.hero-crowd-rise{position:absolute;z-index:4;left:0;right:0;top:0;height:200svh;transform:translate3d(0,var(--hero-crowd-y,100svh),0);pointer-events:none;will-change:transform}
.hero-crowd-rise img{display:block;width:100%;height:100svh;object-fit:cover;object-position:center bottom;filter:blur(var(--hero-crowd-blur,0px));will-change:filter}
.hero-crowd-fill{height:100svh;background:#03050b}
.hero-overlay{position:absolute;inset:0;z-index:3;transform:translateY(var(--hero-copy-y,0px));will-change:transform}
.hero-news{position:absolute;left:50%;bottom:106px;transform:translateX(-50%);width:min(680px,58vw);display:flex;align-items:center;gap:24px;padding:20px 24px;border-top:1px solid rgba(255,255,255,.6);border-bottom:1px solid rgba(255,255,255,.3);background:rgba(4,8,17,.42);backdrop-filter:blur(10px);text-shadow:0 2px 12px #000}
.hero-news-label{font:700 10px/1 Arial,sans-serif;letter-spacing:.24em;white-space:nowrap;color:var(--gold)}
.hero-news p{font-size:13px;line-height:1.4;letter-spacing:.08em;margin:0;flex:1}
.hero-news-arrow{font:22px/1 Arial,sans-serif;color:var(--gold)}
.hero-news:hover,.hero-news:focus-visible{background:rgba(8,15,30,.78);border-top-color:var(--gold);border-bottom-color:var(--gold)}
.hero-news:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.hero-dive-note{position:absolute;z-index:2;bottom:8%;left:50%;transform:translateX(-50%);opacity:var(--hero-dive-note-opacity,0);font:700 10px/1 Arial,sans-serif;letter-spacing:.35em;white-space:nowrap;text-shadow:0 2px 12px #000;pointer-events:none}
.hero-sequence .hero-shade{z-index:1}

/* A separate stage plate lets the cutouts remain in front while the light cycles. */
.member-stage{position:absolute;inset:0;z-index:0;background-image:url('./assets/stage-crowd.png');background-size:cover;background-position:center bottom;opacity:var(--stage-opacity,.08);transform:scale(var(--stage-scale,1.04));will-change:opacity,transform;pointer-events:none}
.member-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,5,12,.08) 0%,rgba(3,5,12,.12) 40%,rgba(3,5,12,.7) 75%,rgba(3,5,12,.85) 100%),linear-gradient(0deg,rgba(3,5,12,.8),transparent 32%,rgba(3,5,12,.26) 90%)}
.member.reverse .member-stage:after{background:linear-gradient(270deg,rgba(3,5,12,.08) 0%,rgba(3,5,12,.12) 40%,rgba(3,5,12,.72) 75%,rgba(3,5,12,.86) 100%),linear-gradient(0deg,rgba(3,5,12,.8),transparent 32%,rgba(3,5,12,.26) 90%)}
.member-light{z-index:1;opacity:var(--member-light-opacity,.35)}
.member-giant{z-index:2;color:rgba(255,255,255,.065)}
.member-layout{position:relative;z-index:3}
.member-visual img{filter:brightness(var(--member-brightness,.72)) drop-shadow(0 28px 35px rgba(0,0,0,.58))}
.member-copy{text-shadow:0 2px 16px rgba(0,0,0,.98),0 0 36px rgba(0,0,0,.87)}

@media(max-width:900px){.hero-news{width:min(620px,82vw);bottom:92px}}
@media(max-width:650px){.hero-sequence{height:135svh}.hero-sequence .hero{height:100svh;min-height:0}.hero-news{width:86vw;left:7vw;bottom:77px;transform:none;gap:12px;padding:13px 14px}.hero-news-label{font-size:9px}.hero-news p{font-size:11px}.hero-news-arrow{font-size:16px}.hero-dive-note{bottom:7%}.member-stage{background-position:center bottom}.member-stage:after,.member.reverse .member-stage:after{background:linear-gradient(0deg,rgba(3,5,12,.94),rgba(3,5,12,.15) 65%,rgba(3,5,12,.3))}.member-giant{z-index:1}}
@media(prefers-reduced-motion:reduce){.hero-art,.hero-overlay,.hero-dive-note,.member-stage,.member-light,.member-visual img{will-change:auto}.hero-sequence{height:100svh}.hero-overlay{transform:none}.hero-art{transform:none}.hero-dive-note{display:none}.site-header{transform:none;opacity:1;pointer-events:auto}}
@media(max-width:650px){
  .hero-art{left:50%;top:50%;width:100%;height:auto;aspect-ratio:1672 / 941;max-width:none;object-fit:contain;object-position:center;transform:translate3d(-50%,-50%,0) scale(var(--hero-mobile-scale,3.2));transform-origin:center center;will-change:transform,filter,opacity}
}
@media(max-width:650px) and (prefers-reduced-motion:reduce){.hero-art{transform:translate3d(-50%,-50%,0) scale(1)}}

/* A short dark interlude carries the crowd fade into the listening room. */
.band-origin{position:relative;display:flex;align-items:center;min-height:100svh;padding:90px 0 110px;background:radial-gradient(ellipse at 18% 80%,rgba(32,60,112,.13),transparent 45%),radial-gradient(ellipse at 82% 12%,rgba(137,87,43,.1),transparent 40%),#03050b;overflow:hidden}
.band-origin:before{content:"";position:absolute;top:0;left:50%;width:min(1200px,84vw);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(211,174,113,.35),transparent)}
.band-origin-image{position:absolute;inset:0;opacity:var(--origin-image-opacity,0);overflow:hidden;pointer-events:none}
.band-origin-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 43%;transform:scale(var(--origin-image-scale,.97));will-change:transform}
.band-origin-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,5,11,.87),rgba(3,5,11,.62) 43%,rgba(3,5,11,.24)),linear-gradient(0deg,rgba(3,5,11,.72),transparent 28%,rgba(3,5,11,.22) 88%)}
.band-origin-shell{position:relative;z-index:1;width:min(1380px,92vw);margin:auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:clamp(70px,9vw,150px)}
.band-origin-kicker{margin:0 0 24px;color:var(--gold);font:700 11px/1 Arial,sans-serif;letter-spacing:.3em}
.band-origin-heading h2{margin:0;color:#f6f2eb;font:400 clamp(88px,9.2vw,148px)/.85 Didot,"Bodoni 72",Georgia,serif;letter-spacing:-.065em;text-shadow:0 4px 30px #000}
.band-origin-heading h2 span{color:var(--gold)}
.band-origin-line{margin:33px 0 0;color:#d8e0ee;font-size:clamp(16px,1.4vw,21px);font-weight:600;letter-spacing:.18em}
.band-origin-copy{padding-left:clamp(24px,3vw,44px);border-left:1px solid rgba(226,189,131,.38);text-shadow:0 2px 16px #000}
.band-origin-copy p{margin:0;color:#d8ddea;font-size:clamp(14px,1.12vw,17px);line-height:2.05;letter-spacing:.055em}
.band-origin-copy p+p{margin-top:22px}
.band-origin-copy strong{color:#f3dcba;font-weight:600}
.band-origin-copy a{display:inline-flex;align-items:center;gap:20px;margin-top:30px;padding-bottom:9px;border-bottom:1px solid rgba(235,193,125,.7);color:#f0d0a1;font:700 10px/1 Arial,sans-serif;letter-spacing:.22em;transition:color .2s,border-color .2s}
.band-origin-copy a:hover,.band-origin-copy a:focus-visible{color:#fff;border-color:#fff}
.band-origin-copy a span{font-size:17px;line-height:0}
@media(max-width:900px){.band-origin-shell{width:min(760px,86vw);grid-template-columns:1fr;gap:36px}.band-origin-heading h2{font-size:clamp(78px,13vw,126px)}.band-origin-line{margin-top:22px}.band-origin-copy{padding-left:24px}}
@media(max-width:650px){.band-origin{min-height:100svh;padding:82px 0 115px}.band-origin-image img{object-position:58% center}.band-origin-image:after{background:linear-gradient(0deg,rgba(3,5,11,.89),rgba(3,5,11,.65) 58%,rgba(3,5,11,.45))}.band-origin-shell{width:86vw;gap:32px}.band-origin-kicker{font-size:10px;margin-bottom:16px}.band-origin-heading h2{font-size:clamp(76px,18vw,110px)}.band-origin-line{font-size:16px}.band-origin-copy{padding-left:18px}.band-origin-copy p{font-size:14px;line-height:1.95}.band-origin-copy p+p{margin-top:18px}.band-origin-copy a{margin-top:25px}}
@media(prefers-reduced-motion:reduce){.band-origin-image img{transform:none;will-change:auto}}

/* A four-member huddle fades in and out before the member title. */
.members-intro{min-height:100svh;padding:clamp(86px,10vh,120px) 24px 44px;background:radial-gradient(ellipse at 25% 55%,rgba(44,76,146,.18),transparent 44%),radial-gradient(ellipse at 78% 55%,rgba(188,111,56,.15),transparent 40%),#060911}
.members-intro-content{display:flex;align-items:center;justify-content:center;flex-direction:column;width:100%;opacity:var(--members-intro-opacity,0);transform:scale(var(--members-intro-scale,.94));will-change:opacity,transform}
.members-intro p{margin:18px 0 0}
.members-intro-image{display:block;width:min(88vw,1180px);height:min(48svh,540px);margin-top:clamp(10px,2vh,24px);object-fit:contain;filter:drop-shadow(0 28px 60px rgba(0,0,0,.62))}
@media(max-width:650px){.members-intro{min-height:100svh;padding:90px 12px 36px}.members-intro p{font-size:clamp(48px,11vw,78px);margin-top:17px}.members-intro-image{width:98vw;height:min(48svh,450px);margin-top:18px}}
@media(prefers-reduced-motion:reduce){.members-intro-content{opacity:1;transform:none;will-change:auto}}

/* Four distinct parts of the same concert stage. */
.member-saki .member-stage{background-image:url('./assets/stage-saki-catwalk.png');background-position:center bottom}
.member-ohzeki .member-stage{background-image:url('./assets/stage-crowd.png');background-position:center bottom}
.member-snow .member-stage{background-image:url('./assets/stage-yuki-drums.png');background-position:38% bottom}
.member-soma .member-stage{background-image:url('./assets/stage-nana-keys.png');background-position:65% bottom}
.member-saki .member-visual{transform:translateX(5%)}
.member{scroll-margin-top:60px}
.hero-credit a{display:inline-block;white-space:nowrap;padding:8px 0;transition:color .2s,opacity .2s;cursor:pointer}
.hero-credit a+a:before{content:"/";margin-right:17px;color:var(--gold)}
.hero-credit a:hover,.hero-credit a:focus-visible{color:#fff;opacity:1;text-decoration:underline;text-underline-offset:5px}
.hero-credit span+span:before{content:none}
.music-section .section-shell{width:100%}
.music-section .section-heading{width:min(1370px,86vw);margin-left:auto;margin-right:auto}
.music-embed{position:relative;width:100%;height:100svh;min-height:0;border:0;background:#050811;overflow:hidden}
.music-embed:before{content:none}
.music-embed iframe{display:block;width:100%;height:100%;border:0;background:#050811}
.music-open{display:inline-flex;align-items:center;gap:16px;margin:27px 7vw 0;padding-bottom:9px;border-bottom:1px solid var(--gold);font-size:12px;letter-spacing:.14em;color:#ecdfc8}
.music-open:hover{color:#fff;border-color:#fff}
.music-open span{font-size:18px}
@media(max-width:900px){.member-saki .member-visual{transform:none}.hero-credit{display:flex;flex-wrap:wrap;justify-content:flex-end;max-width:78vw;gap:8px 15px}.hero-credit a+a:before{margin-right:8px}.music-embed{height:100svh;min-height:0}}
@media(max-width:650px){.hero-credit{display:grid;grid-template-columns:1fr 1fr;gap:0 10px;right:5vw;bottom:12px;max-width:none;width:90vw;font-size:8px;line-height:1.2;text-align:center}.hero-credit a{padding:5px 0}.hero-credit a+a:before{content:none}.music-section .section-heading{width:88vw}.music-embed{height:100svh;min-height:0}.music-open{font-size:11px}}

/* Give the drummer's full kit and the keyboard rig the same visual presence as the other members. */
@media(min-width:901px){
  .member-ohzeki .member-visual img.member-primary{max-height:min(98svh,1050px);transform:scale(1.1);transform-origin:center bottom}
  .member-snow .member-visual img{max-height:min(96svh,1050px);margin-bottom:0;transform:scale(1.12);transform-origin:center bottom}
  .member-soma .member-visual img.member-primary{max-height:min(98svh,1080px);transform:scale(1.23);transform-origin:center bottom}
}
@media(max-width:900px){
  .member-snow .member-visual,.member-soma .member-visual{height:clamp(520px,90vw,820px)}
}
@media(max-width:650px){
  .member-snow .member-visual,.member-soma .member-visual{height:clamp(470px,120vw,720px)}
}

/* Hold each member on stage long enough to reveal four performance cuts. */
@media(min-width:901px){
  .member{display:block;min-height:340svh;overflow:clip}
  .member-layout{position:sticky;top:0;height:100svh;min-height:0}
  .member-copy{padding:clamp(48px,7vh,100px) 0}
}
.member-visual img.member-primary{opacity:var(--primary-opacity,1)}
.member-visual img.member-alt,.member-visual img.member-third,.member-visual img.member-fourth{
  position:absolute;
  left:50%;
  bottom:0;
  max-width:100%;
  max-height:min(98svh,1080px);
  opacity:var(--second-opacity,0);
  transform:translateX(-50%) scale(1.03);
  transform-origin:center bottom;
  pointer-events:none;
}
.member-visual img.member-third{opacity:var(--third-opacity,0)}
.member-visual img.member-fourth{opacity:var(--fourth-opacity,0)}
.member-snow .member-visual img.member-alt,.member-snow .member-visual img.member-third,.member-snow .member-visual img.member-fourth{transform:translateX(-50%) scale(1.12)}
.member-ohzeki .member-visual img.member-alt,.member-ohzeki .member-visual img.member-third,.member-ohzeki .member-visual img.member-fourth{transform:translateX(-50%) scale(1.12)}
.member-soma .member-visual img.member-alt,.member-soma .member-visual img.member-third{
  width:min(170%,1300px);
  max-width:none;
  max-height:none;
  height:auto;
  transform:translateX(-50%) scale(1.08);
}
.member-soma .member-copy{position:relative;z-index:2}
@media(max-width:900px){
  .member-visual img.member-alt,.member-visual img.member-third,.member-visual img.member-fourth{max-height:100%}
  .member-ohzeki .member-visual img.member-primary{transform:scale(1.09);transform-origin:center bottom}
  .member-soma .member-visual img.member-primary{transform:scale(1.2);transform-origin:center bottom}
  .member-soma .member-visual img.member-alt,.member-soma .member-visual img.member-third{width:min(132%,900px);max-width:none;max-height:none}
}
@media(max-width:650px){
  .member-soma .member-visual img.member-alt,.member-soma .member-visual img.member-third{width:135vw;max-width:none}
}
/* On narrow screens, hold each member in view while the performance cuts change.
   The biography then scrolls over the held scene without cropping the artwork. */
@media(max-width:900px){
  .member{display:block;min-height:0;overflow:clip}
  .member-layout{display:block;width:100%;min-height:0}
  .member .member-visual{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;height:100svh;min-height:0;overflow:hidden}
  .member .member-visual img{display:block;width:auto;height:auto;max-width:96vw;max-height:calc(100svh - 84px);margin:0;object-fit:contain;object-position:center}
  .member .member-visual img.member-primary{transform:none}
  .member .member-visual img.member-alt,.member .member-visual img.member-third,.member .member-visual img.member-fourth{left:50%;bottom:50%;width:auto;max-width:96vw;max-height:calc(100svh - 84px);transform:translate(-50%,50%)}
  .member .member-copy{position:relative;z-index:2;width:min(680px,100%);max-width:none;margin:65svh auto 0;padding:48px 6vw 100px;background:linear-gradient(180deg,rgba(6,9,18,.78),rgba(6,9,18,.96) 24%,#070a14);border-top:1px solid rgba(255,255,255,.12)}
}
@media(prefers-reduced-motion:reduce){
  .member-visual img.member-primary,.member-visual img.member-alt,.member-visual img.member-third,.member-visual img.member-fourth{transition:none}
}

/* The closing logo holds before the four members emerge in the same stage as Saki. */
.finale{display:block;min-height:230svh;padding:0;overflow:clip;background:#03060d}
.finale:before{content:none}
.finale-scene{position:sticky;top:0;width:100%;height:100svh;overflow:hidden;isolation:isolate;background:#03060d}
.finale-stage{position:absolute;inset:0;z-index:0;background:url('./assets/stage-saki-catwalk.png') center bottom/cover no-repeat;opacity:calc(.13 + var(--finale-reveal,0) * .87);transform:scale(calc(1.08 - var(--finale-reveal,0) * .08));pointer-events:none}
.finale-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,4,10,.56),rgba(2,4,10,.1) 50%,rgba(2,4,10,.42));opacity:calc(.9 - var(--finale-reveal,0) * .72)}
.finale-scene:after{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at 50% 45%,transparent 25%,rgba(2,4,10,.64) 100%);opacity:calc(.8 - var(--finale-reveal,0) * .62);pointer-events:none}
.finale-group{position:absolute;z-index:2;left:50%;bottom:10svh;width:min(96vw,1600px);height:90svh;object-fit:contain;object-position:center bottom;opacity:var(--finale-reveal,0);filter:brightness(calc(.48 + var(--finale-reveal,0) * .67)) drop-shadow(0 18px 45px rgba(0,0,0,.65));transform:translateX(-50%) translateY(calc((1 - var(--finale-reveal,0)) * 7vh)) scale(calc(.96 + var(--finale-reveal,0) * .04));transform-origin:center bottom;pointer-events:none}
.finale-title{position:absolute;z-index:3;left:50%;top:50%;width:min(96vw,1500px);display:flex;align-items:center;flex-direction:column;transform:translate(-50%,-50%) translateY(var(--finale-title-y,0px));opacity:var(--finale-title-opacity,1);pointer-events:none;text-shadow:0 5px 36px #000,0 0 64px rgba(0,0,0,.9)}
.finale-logo{z-index:1}
.finale-orbit{z-index:1;left:50%;top:50%;opacity:var(--finale-title-opacity,1)}
.finale-orbit.orbit-one{transform:translate(-50%,-50%) rotate(-25deg) scaleY(.35)}
.finale-orbit.orbit-two{transform:translate(-50%,-50%) rotate(27deg) scaleY(.29)}
.finale-star{margin-bottom:25px}
.back-to-top{z-index:4;left:50%;transform:translateX(-50%);text-shadow:0 2px 12px #000}
@media(max-width:650px){
  .finale{min-height:205svh}
  .finale-group{width:100vw;height:72svh;bottom:16svh}
  .finale-title{width:100vw}
  .finale-logo{font-size:clamp(66px,16vw,110px)}
  .finale-copy{font-size:12px;margin-top:40px}
  .back-to-top{bottom:35px;white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){.finale{min-height:100svh}.finale-stage,.finale-group,.finale-title{transition:none}.finale-title{top:24%;transform:translate(-50%,-50%) scale(.62)}}

/* A final fan gathering extends the concert into everyday conversation. */
.fan-community{position:relative;overflow:hidden;min-height:100svh;padding:clamp(105px,10vw,155px) 0 clamp(110px,10vw,150px);border-top:1px solid rgba(255,255,255,.12);background:radial-gradient(ellipse at 50% 38%,rgba(43,80,143,.29),transparent 48%),radial-gradient(ellipse at 80% 62%,rgba(185,111,52,.15),transparent 38%),#060913}
.fan-community:before{content:"";position:absolute;left:8%;right:8%;top:48%;height:1px;background:linear-gradient(90deg,transparent,rgba(230,187,117,.37),transparent);filter:blur(2px)}
.fan-community-shell{position:relative;width:min(1440px,90vw);margin:auto}
.fan-community-heading{position:relative;z-index:2;text-align:center;text-shadow:0 4px 30px #000}
.fan-community-kicker{margin:0 0 30px;color:var(--gold);font:700 11px/1 Arial,sans-serif;letter-spacing:.3em}
.fan-community-heading h2{margin:0;font:400 clamp(74px,10vw,158px)/.78 Didot,"Bodoni 72",Georgia,serif;letter-spacing:-.065em}
.fan-community-heading h2 em{font-style:normal;color:#f0d0a1}
.fan-community-heading>p:last-child{margin:27px 0 0;color:#e4e8f0;font-size:clamp(13px,1.2vw,17px);letter-spacing:.15em}
.fan-community-art{display:block;position:relative;width:min(100%,1420px);height:auto;margin:-3vw auto -1vw;filter:drop-shadow(0 35px 60px rgba(0,0,0,.65));mask-image:radial-gradient(ellipse farthest-side at center,#000 68%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse farthest-side at center,#000 68%,transparent 100%)}
.fan-community-content{position:relative;z-index:2;display:flex;align-items:end;justify-content:space-between;gap:35px;width:min(900px,100%);margin:0 auto;padding:28px 0 0;border-top:1px solid rgba(255,255,255,.26)}
.fan-community-copy{max-width:610px;text-shadow:0 2px 18px #000}
.fan-community-copy>span{color:#d6b37a;font:700 10px/1 Arial,sans-serif;letter-spacing:.24em}
.fan-community-copy h3{margin:13px 0 12px;font:400 clamp(28px,2.5vw,40px)/1.1 Didot,"Bodoni 72",Georgia,serif}
.fan-community-copy p{margin:0;color:#d9dfec;font-size:clamp(13px,1.1vw,15px);line-height:2;letter-spacing:.04em}
.fan-community-link{display:inline-flex;flex:none;align-items:center;justify-content:space-between;gap:25px;min-width:205px;padding:16px 18px;border:1px solid rgba(255,255,255,.55);font-size:12px;font-weight:700;letter-spacing:.1em;background:rgba(16,23,39,.65);transition:background .25s,color .25s,transform .25s}
.fan-community-link span{color:var(--gold);font-size:20px;line-height:1}
.fan-community-link:hover,.fan-community-link:focus-visible{background:#fff;color:#10131c;transform:translateY(-4px)}
.fan-community-link:hover span,.fan-community-link:focus-visible span{color:#805521}
.fan-community-link:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.fan-community-heading,.fan-community-art,.fan-community-content{opacity:var(--scroll-image-opacity,0);transform:scale(var(--scroll-image-scale,.94));will-change:opacity,transform}
@media(max-width:650px){.fan-community{padding:100px 0 110px}.fan-community-shell{width:90vw}.fan-community-kicker{font-size:9px;letter-spacing:.23em;margin-bottom:25px}.fan-community-heading h2{font-size:clamp(57px,15vw,90px)}.fan-community-heading>p:last-child{font-size:12px;margin-top:24px}.fan-community-art{width:118%;max-width:none;margin:15px -9% 20px}.fan-community-content{display:block;padding-top:24px}.fan-community-copy h3{font-size:32px}.fan-community-copy p{font-size:13px}.fan-community-link{margin-top:25px;width:100%;max-width:350px}}
@media(prefers-reduced-motion:reduce){.fan-community-heading,.fan-community-art,.fan-community-content{opacity:1;transform:none;will-change:auto}}
.member-song-list{margin:0;padding:0;list-style:none;display:grid;gap:3px}
.member-ohzeki .member-song-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;font-size:12px;line-height:1.5}
@media(min-width:901px) and (max-height:850px){.member-ohzeki .member-copy{padding:20px 0}.member-ohzeki .member-role{margin-top:16px}.member-ohzeki .member-line{margin:20px 0 12px}.member-ohzeki .member-copy dl{margin-top:18px}.member-ohzeki .member-copy dl div{padding:9px 0}.member-ohzeki .member-bio{line-height:1.7}}
@media(max-width:650px){.member-ohzeki .member-song-list{grid-template-columns:1fr;font-size:12px}}

/* The studio image bridges the member stories and the listening destinations. */
.stream-section{position:relative;overflow:hidden;min-height:100svh;padding:clamp(100px,10vw,160px) 0 clamp(110px,10vw,160px);background:radial-gradient(ellipse at 18% 25%,rgba(42,92,160,.2),transparent 38%),radial-gradient(ellipse at 78% 52%,rgba(179,104,47,.2),transparent 42%),#060911;border-top:1px solid rgba(255,255,255,.09)}
.stream-section:before{content:"";position:absolute;left:5%;right:5%;top:42%;height:1px;background:linear-gradient(90deg,transparent,rgba(239,183,104,.42),transparent);filter:blur(2px)}
.stream-shell{position:relative;width:min(1440px,90vw);margin:auto}
.stream-heading{position:relative;z-index:2;display:flex;align-items:end;justify-content:space-between;gap:30px}
.stream-kicker{position:absolute;top:-34px;left:0;margin:0;color:var(--gold);font:700 11px/1 Arial,sans-serif;letter-spacing:.3em}
.stream-heading h2{margin:0;font:400 clamp(70px,10vw,170px)/.76 Didot,"Bodoni 72",Georgia,serif;letter-spacing:-.065em;text-shadow:0 4px 28px rgba(0,0,0,.85)}
.stream-heading h2 em{font-style:normal;color:#f0d0a1}
.stream-heading>p:last-child{margin:0 0 10px;white-space:nowrap;color:#d7dce7;font-size:clamp(13px,1.2vw,17px);letter-spacing:.13em;text-shadow:0 3px 18px #000}
.stream-art{display:block;position:relative;width:min(100%,1536px);height:auto;margin:-1.5vw auto -1.8vw;filter:drop-shadow(0 35px 65px rgba(0,0,0,.65))}
.stream-art,.lab-visit-card{opacity:var(--scroll-image-opacity,0);transform:scale(var(--scroll-image-scale,.94));will-change:opacity,transform}
.stream-links{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(700px,100%);margin:0 auto}
.stream-link{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:86px;padding:16px 20px;border:1px solid rgba(231,235,244,.25);background:linear-gradient(130deg,rgba(25,37,61,.74),rgba(7,10,21,.74));backdrop-filter:blur(14px);transition:background .25s,border-color .25s,transform .25s;overflow:hidden}
.stream-link:hover,.stream-link:focus-visible{background:linear-gradient(130deg,rgba(45,72,116,.85),rgba(45,30,26,.85));border-color:rgba(240,208,161,.8);transform:translateY(-5px)}
.stream-link span{color:#c6ad8d;font:700 8px/1 Arial,sans-serif;letter-spacing:.18em}
.stream-link strong{font:400 clamp(22px,2vw,28px)/1.1 Didot,Georgia,serif;letter-spacing:.02em}
.stream-link i{position:absolute;right:18px;bottom:14px;color:var(--gold);font:normal 20px/1 Arial,sans-serif}
@media(max-width:900px){.stream-heading{display:block}.stream-heading>p:last-child{margin:25px 0 0}.stream-art{margin:10px auto 8px}}
@media(max-width:650px){.stream-section{padding:105px 0 95px}.stream-shell{width:90vw}.stream-heading h2{font-size:clamp(59px,15vw,105px)}.stream-heading>p:last-child{font-size:12px}.stream-art{width:112%;max-width:none;margin:22px -6% 18px}.stream-links{grid-template-columns:1fr;gap:8px;width:min(340px,100%)}.stream-link{min-height:78px;padding:14px 18px}.stream-link strong{font-size:23px}.stream-link i{right:14px;bottom:12px;font-size:18px}}

/* The after-show photograph leads from the music to the real laboratory. */
.lab-visit{position:relative;padding:clamp(90px,10vw,150px) 0;background:radial-gradient(ellipse at 68% 35%,rgba(173,107,57,.18),transparent 45%),radial-gradient(ellipse at 18% 72%,rgba(57,94,157,.14),transparent 44%),#080a12;border-top:1px solid rgba(255,255,255,.08)}
.lab-visit-shell{width:min(1440px,90vw);margin:auto}
.lab-visit-heading{position:relative;z-index:2;display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}
.lab-visit-kicker{position:absolute;top:-34px;left:0;margin:0;color:var(--gold);font:700 11px/1 Arial,sans-serif;letter-spacing:.3em}
.lab-visit-heading h2{margin:0;font:400 clamp(70px,10vw,170px)/.76 Didot,"Bodoni 72",Georgia,serif;letter-spacing:-.065em;text-shadow:0 4px 28px rgba(0,0,0,.85)}
.lab-visit-heading h2 em{font-style:normal;color:#f0d0a1}
.lab-visit-sub{margin:0 0 10px;white-space:nowrap;color:#d7dce7;font-size:clamp(13px,1.2vw,17px);letter-spacing:.13em;text-shadow:0 3px 18px #000}
.lab-visit-card{position:relative;display:block;background:transparent}
.lab-visit-card img{display:block;width:100%;height:auto;mask-image:radial-gradient(ellipse farthest-side at center,#000 58%,rgba(0,0,0,.88) 70%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse farthest-side at center,#000 58%,rgba(0,0,0,.88) 70%,transparent 100%);transition:transform .7s ease,filter .7s ease}
.lab-visit-card:hover img,.lab-visit-card:focus-visible img{transform:scale(1.025);filter:brightness(1.1)}
.lab-visit-card:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.lab-visit-cta{position:absolute;right:clamp(16px,3vw,44px);bottom:clamp(16px,3vw,44px);display:inline-flex;align-items:center;gap:25px;padding:16px 21px;background:rgba(5,8,17,.83);border:1px solid rgba(255,255,255,.7);backdrop-filter:blur(12px);font-size:clamp(12px,1.15vw,17px);font-weight:700;letter-spacing:.13em;text-shadow:0 2px 12px #000;transition:background .25s,color .25s}
.lab-visit-card:hover .lab-visit-cta,.lab-visit-card:focus-visible .lab-visit-cta{background:#fff;color:#10131c;text-shadow:none}
.lab-visit-cta span{color:var(--gold);font-size:22px;line-height:1}
.lab-visit-card:hover .lab-visit-cta span,.lab-visit-card:focus-visible .lab-visit-cta span{color:#805521}
@media(max-width:900px){.lab-visit-heading{display:block}.lab-visit-sub{margin:25px 0 0}}
@media(max-width:650px){.lab-visit{padding:105px 0 95px}.lab-visit-shell{width:90vw}.lab-visit-heading{margin-bottom:20px}.lab-visit-kicker{top:-27px;font-size:9px}.lab-visit-heading h2{font-size:clamp(59px,15vw,105px)}.lab-visit-sub{margin-top:24px;font-size:12px;white-space:normal}.lab-visit-cta{position:relative;right:auto;bottom:auto;display:flex;justify-content:space-between;width:100%;border:0;border-top:1px solid rgba(255,255,255,.25);padding:18px;background:#121522;font-size:13px}.lab-visit-card:hover img,.lab-visit-card:focus-visible img{transform:none}}

/* Reveal each word in discrete keystrokes while keeping the title's layout fixed. */
.hero h1 span,.hero h1 strong{white-space:nowrap;animation:hero-type-in .52s steps(3,end) .22s both}
.hero h1 strong{animation-duration:1.1s;animation-timing-function:steps(8,end);animation-delay:.82s}
@keyframes hero-type-in{from{clip-path:inset(-1em 100% -1em 0)}to{clip-path:inset(-1em 0 -1em 0)}}
@media(prefers-reduced-motion:reduce){.hero h1 span,.hero h1 strong{animation:none}}
@media(prefers-reduced-motion:reduce){.stream-art,.lab-visit-card{opacity:1;transform:none;will-change:auto}}

/* The dressing-room entrance occupies one viewport; the player takes the next. */
.music-section{padding:0;overflow:visible}
.music-entry{position:relative;height:100dvh;min-height:620px;overflow:hidden;background:radial-gradient(ellipse at 54% 55%,rgba(115,68,45,.35),transparent 54%),#090b13}
.music-entry:before{content:"";position:absolute;inset:-5%;background:url('./assets/band-dressing-room.png') center/cover no-repeat;filter:blur(26px) brightness(.28);opacity:.65;pointer-events:none}
.music-backstage{position:absolute;z-index:1;inset:0;width:100%;height:100%;border:0;padding:0;background:transparent;color:#fff;text-align:center;cursor:pointer}
.music-backstage img{position:absolute;left:50%;bottom:0;width:min(100vw,1640px);height:90svh;object-fit:contain;object-position:center bottom;transform:translateX(-50%);filter:drop-shadow(0 22px 34px rgba(0,0,0,.45));transition:filter .3s ease}
.music-entry .music-backstage img{opacity:var(--scroll-image-opacity,0);transform:translateX(-50%) scale(var(--scroll-image-scale,.94));transform-origin:center bottom;will-change:opacity,transform}
.music-backstage:hover img,.music-backstage:focus-visible img{filter:brightness(1.12) drop-shadow(0 22px 34px rgba(0,0,0,.5))}
.music-backstage:focus-visible{outline:3px solid var(--gold);outline-offset:-7px}
.music-entry .section-heading{position:absolute;z-index:2;left:7vw;top:clamp(90px,11vh,150px);display:block;width:min(800px,86vw);margin:0;pointer-events:none;text-shadow:0 4px 28px #000,0 0 45px rgba(0,0,0,.95)}
.music-entry .section-heading{opacity:var(--scroll-image-opacity,0);transform:scale(var(--scroll-image-scale,.94));transform-origin:left top;will-change:opacity,transform}
.music-entry .section-number{display:block;margin-bottom:26px}
.music-entry .section-heading h2{font-size:clamp(86px,11vw,175px)}
.music-entry .section-heading p{margin-top:28px;color:#fff}
.music-enter{position:absolute;z-index:3;left:50%;bottom:clamp(35px,7vh,80px);display:inline-flex;align-items:center;gap:24px;padding:15px 20px;border:1px solid rgba(255,255,255,.8);background:rgba(4,7,14,.58);backdrop-filter:blur(12px);transform:translateX(-50%);white-space:nowrap;font-size:clamp(12px,1.1vw,16px);letter-spacing:.15em;text-shadow:0 2px 8px #000}
.music-enter{opacity:var(--scroll-image-opacity,0);transform:translateX(-50%) scale(var(--scroll-image-scale,.94));will-change:opacity,transform}
.music-enter span{font-size:22px;color:var(--gold)}
.music-embed{height:100dvh;scroll-margin-top:0}
.music-open{display:flex;justify-content:center;align-items:center;width:100%;margin:0;padding:18px 7vw;border:0;background:#050811}
.site-header.is-player-focused{transform:translateY(-110%);opacity:0;pointer-events:none}
@media(prefers-reduced-motion:reduce){.music-entry .music-backstage img,.music-entry .section-heading,.music-enter{opacity:1;will-change:auto}.music-entry .music-backstage img,.music-enter{transform:translateX(-50%)}.music-entry .section-heading{transform:none}}
@media(max-width:650px){
  .music-entry{min-height:0}
  .music-entry .section-heading{top:11svh;left:6vw;width:88vw}
  .music-entry .section-heading h2{font-size:clamp(78px,17vw,120px)}
  .music-entry .section-heading p{font-size:13px;line-height:1.8;margin-top:18px}
  .music-backstage img{width:100vw;height:auto;max-height:56svh;bottom:18svh}
  .music-enter{bottom:7svh;font-size:12px;padding:12px 14px;gap:10px}
}

/* Four Minds backdrop only; reuse existing scroll variables. */
.members-intro{position:relative;isolation:isolate;overflow:clip;background:#060911}
.members-intro::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('./assets/band-huddle-backstage-v1.png') center/cover no-repeat;opacity:calc(var(--members-intro-opacity,1) * .4);mask-image:linear-gradient(180deg,transparent,#000 18%,#000 78%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 18%,#000 78%,transparent)}
.members-intro .members-intro-content{opacity:1;transform:none;will-change:auto}
.members-intro .members-intro-image{width:min(86vw,1180px);max-width:100%;opacity:var(--members-intro-opacity,1);transform:scale(clamp(.98,var(--members-intro-scale,1),1.04));transform-origin:center;will-change:auto}
.members-intro p,.members-intro-content>span{position:relative;z-index:1;text-shadow:0 2px 20px #060911}
@media(max-width:650px){.members-intro .members-intro-image{width:92vw;max-width:100%;transform:scale(clamp(.99,var(--members-intro-scale,1),1.025))}.members-intro::before{opacity:calc(var(--members-intro-opacity,1) * .35)}}
@media(prefers-reduced-motion:reduce){.members-intro .members-intro-image{opacity:1;transform:none;will-change:auto}.members-intro::before{opacity:.35}}

.members-intro-content>span{background:#060911d9;padding:7px 10px;border-radius:3px}

/* Four Minds: reveal backstage equipment on phones without changing the foreground. */
@media(max-width:650px){
  .members-intro::before{opacity:calc(var(--members-intro-opacity,1) * .55);background-position:12% center}
  .members-intro-content>p{background:#06091147;box-shadow:0 0 18px 12px #06091147}
}
@media(max-width:650px) and (prefers-reduced-motion:reduce){
  .members-intro::before{opacity:.55}
}
