/* Each sequence is a quiet, full-screen shot; motion values come from cinema.js. */
/* Alternating cast entrances: the portrait arrives first, then the name.
   Default values also leave the cast readable before JavaScript initializes. */
[data-cast-direction]{--cast-backword-opacity:.25;--cast-portrait-x:0px;--cast-copy-x:0px;--cast-portrait-opacity:1;--cast-copy-opacity:1;--cast-background-opacity:1;--cast-background-spread:1}
[data-cinematic]{--scene-progress:0;--scene-opacity:1;--scene-y:0px;--scene-scale:1;--scene-blur:0px;--scene-exit:0;--scene-energy:0;--scene-pointer-x:0px;--scene-pointer-y:0px;position:relative;background:var(--color-bg,var(--ink));isolation:isolate}
.artist-sequence,.crew-sequence{height:auto}.social-sequence{height:190svh}.credits-sequence{height:245svh}
.cinema-sticky{position:sticky;top:0;height:100svh;min-height:540px;overflow:hidden;background:var(--ink)}
.cinema-visual{position:absolute;inset:0;z-index:0;overflow:hidden;opacity:var(--scene-opacity);transform:translate3d(var(--scene-pointer-x),var(--scene-pointer-y),0) scale(var(--scene-scale));transform-origin:50% 53%;will-change:opacity,transform}

.cinema-backword{position:absolute;left:3%;bottom:12%;white-space:nowrap;font:var(--weight-heavy) clamp(150px,24vw,430px)/.8 var(--font-heading,var(--sans));letter-spacing:-.07em;color:transparent;-webkit-text-stroke:1px var(--color-studio-outline);opacity:.25;user-select:none}
.cinema-portrait{position:absolute;height:91%;aspect-ratio:2/3;right:8%;bottom:-2%;overflow:hidden;transform:translateY(calc(var(--scene-y) * .4));transform-origin:50% 60%;filter:drop-shadow(0 20px 50px var(--color-shadow-portrait))}
.cinema-portrait img{width:100%;height:100%;max-width:none;object-fit:contain;object-position:center bottom}
.cinema-portrait.is-sheet{aspect-ratio:3/8;height:89%;right:13%;bottom:0;filter:none}
.cinema-portrait img[data-sheet="4"]{width:400%;height:100%;object-fit:fill;object-position:left top}
.cinema-grain{position:absolute;inset:0;opacity:.025;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='c'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.5' filter='url(%23c)'/%3E%3C/svg%3E")}
.cinema-frame-top,.cinema-frame-bottom{position:absolute;z-index:4;left:6vw;right:6vw;display:flex;align-items:center;justify-content:space-between;gap:20px;pointer-events:none}
.cinema-frame-top{top:38px;border-top:1px solid var(--line);padding-top:18px}.cinema-frame-top .eyebrow{font:var(--weight-regular) var(--size-micro,10px)/1.5 var(--font-body,var(--sans));letter-spacing:var(--tracking-label,.13em);margin:0;color:var(--muted)}.cinema-frame-top>span{font-size:var(--size-micro,10px);letter-spacing:var(--tracking-label);color:var(--color-frame-top-text)}
.cinema-frame-bottom{bottom:78px;padding-right:0;font-size:var(--size-micro,10px);letter-spacing:.12em;color:var(--color-frame-bottom-text)}.cinema-frame-bottom a{pointer-events:auto;display:inline-flex;align-items:center;min-height:44px;gap:20px;font-size:11px;color:var(--color-frame-link)}.cinema-frame-bottom a span{font-size:18px}
.cinema-copy{position:absolute;z-index:3;left:8vw;top:31%;max-width:49%;opacity:var(--scene-opacity);transform:translate3d(0,var(--scene-y),0);filter:blur(var(--scene-blur));will-change:opacity,transform,filter}
.cinema-kicker{display:flex;align-items:center;gap:15px;font-size:var(--size-micro,10px);letter-spacing:.14em;line-height:1.5;color:var(--muted);margin:0 0 23px}.cinema-kicker i{width:4px;height:4px;border-radius:50%;background:var(--red)}.cinema-kicker span{color:var(--brass);white-space:nowrap}
.cinema-title{font:var(--weight-strong) clamp(55px,8.4vw,138px)/.97 var(--font-heading,var(--sans));letter-spacing:var(--tracking-title,-.045em);margin:0 0 20px;color:var(--cream)}.cinema-meta{font-size:var(--size-label,11px);font-weight:var(--weight-medium);letter-spacing:.19em;color:var(--brass);margin:0 0 29px;line-height:1.5}.cinema-description{font:var(--weight-regular) var(--size-body,16px)/var(--leading-body,1.9) var(--font-body,var(--sans));letter-spacing:.06em;color:var(--color-cinema-description);margin:0 0 26px}.cinema-link{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:46px;padding:8px 0;border-bottom:1px solid var(--color-cinema-link-rule);font:var(--weight-medium) var(--size-control,12px)/1.5 var(--font-body,var(--sans));letter-spacing:.1em;color:var(--cream);transition:color .3s,border-color .3s}.cinema-link span{font-size:24px;line-height:1;transition:transform .3s}.cinema-link:hover{color:var(--brass);border-color:var(--brass)}.cinema-link:hover span{transform:translate(3px,-3px)}
.not-enough-sequence .cinema-portrait{left:5%;right:auto;height:89%}.not-enough-sequence .cinema-portrait.is-sheet{left:12%;height:84%;bottom:3%;-webkit-mask-image:linear-gradient(0deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(0deg,transparent,#000 7%,#000 93%,transparent)}.not-enough-sequence .cinema-backword{left:-3%;font-size:19vw;bottom:21%;-webkit-text-stroke-color:var(--color-artist-cool-outline)}.not-enough-sequence .cinema-copy{left:52%;right:7vw;top:24%;max-width:none}.not-enough-sequence .cinema-title{font-size:clamp(54px,7.8vw,122px)}
.artist-logo-panel{display:inline-flex;align-items:center;justify-content:center;background:var(--color-artist-logo-mat);padding:19px 24px;margin:0 0 25px;max-width:min(34vw,520px)}.artist-logo-panel img{width:100%;height:auto;max-height:145px;object-fit:contain}.not-enough-sequence .cinema-title.logo-title{font-size:0;line-height:0;margin:0}.logo-title .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.studio-transition{position:absolute;inset:0;z-index:11;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 55%,var(--color-ink-153),var(--color-bg));opacity:var(--transition-opacity,0);pointer-events:none;transform:scale(var(--transition-scale,1));will-change:opacity,transform}.studio-transition span{font:var(--weight-medium) clamp(20px,3.8vw,58px)/1.15 var(--font-heading,var(--sans));text-align:center;letter-spacing:.04em;color:var(--color-transition-text)}
/* The dancers share one stage, while every name remains a separate interaction. */
.crew-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,var(--color-ink-69),transparent 23%,transparent 45%,var(--color-ink-201) 83%,var(--color-bg))}.crew-image{width:100%;height:100%;object-fit:cover;object-position:50% 35%;filter:saturate(.84)}.crew-sequence .cinema-copy{left:8vw;right:8vw;top:auto;bottom:116px;max-width:none;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:7vw}.crew-sequence .cinema-title{font-size:clamp(50px,6.6vw,108px);margin-bottom:13px}.crew-sequence .cinema-meta{margin:0;font-size:14px;color:var(--color-crew-caption);letter-spacing:.05em}.crew-sequence .cinema-kicker{margin-bottom:16px}.dancer-names{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-self:end}.dancer-names button{min-height:44px;text-align:left;padding:10px 0;font-size:var(--size-control,12px);border-bottom:1px solid var(--color-crew-rule);color:var(--color-crew-name);transition:color .3s,border-color .3s}.dancer-names button:hover{color:var(--brass);border-color:var(--brass)}.dancer-names button span{display:block;font-size:10px;color:var(--color-crew-role);margin-top:5px;letter-spacing:.1em}.dancers-invitation{grid-column:1/-1;font-size:11px;color:var(--color-crew-invitation);margin:5px 0 0;letter-spacing:.04em}
.social-visual{background:var(--color-social-surface)}.social-disc{position:absolute;width:min(76vw,1100px);aspect-ratio:1;right:-26%;top:-31%;border-radius:50%;background:repeating-radial-gradient(circle,var(--color-record-groove-light) 0 2px,var(--color-record-groove-ridge) 3px,var(--color-record-groove-dark) 4px 6px);opacity:.32;box-shadow:0 0 100px var(--color-shadow-record);transform:rotate(calc(var(--scene-progress) * 18deg))}.social-disc:after{content:'';position:absolute;inset:0;border-radius:50%;background:conic-gradient(transparent,var(--color-record-sheen-warm),transparent 28%,var(--color-record-sheen-white),transparent 60%,var(--color-record-sheen-amber),transparent)}.social-disc i{position:absolute;inset:35%;border:1px solid var(--color-record-label-edge);background:var(--color-record-label);border-radius:50%}.social-disc b{position:absolute;inset:0;display:grid;place-items:center;font:var(--weight-heavy) 7vw var(--font-logo,var(--display));letter-spacing:var(--tracking-logo);color:var(--color-record-label-ink)}.social-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 14% 60%,var(--color-social-glow),transparent 45%)}
.social-content.cinema-copy{top:25%;left:8vw;right:8vw;max-width:none;display:grid;grid-template-columns:1.25fr 1fr;gap:9vw;align-items:center}.social-content .cinema-title{font-size:clamp(49px,6.8vw,112px);line-height:1}.social-content .cinema-description{margin:27px 0 0}.social-channel{width:100%;display:flex;align-items:center;gap:23px;min-height:94px;padding:17px 0;border-top:1px solid var(--color-social-rule);text-align:left}.social-channel:last-of-type{border-bottom:1px solid var(--color-social-rule)}.social-channel-number{align-self:flex-start;font-size:10px;letter-spacing:.1em;padding-top:6px;color:var(--color-social-index)}.social-channel-label{font:var(--weight-medium) clamp(22px,2.1vw,34px)/1.1 var(--font-heading,var(--sans));letter-spacing:-.035em}.social-state{display:block;font:var(--weight-regular) 10px/1.5 var(--font-body,var(--sans));letter-spacing:.16em;color:var(--color-social-state);margin-top:10px}.social-arrow{margin-left:auto;font-size:28px;color:var(--color-social-arrow);transition:transform .3s}.social-channel:hover .social-arrow{transform:translate(4px,-4px)}.social-channel:hover .social-channel-label{color:var(--brass)}.social-note{font-size:12px;line-height:1.8;color:var(--color-social-note);margin:18px 0 0}
.credits-sequence .cinema-sticky{background:var(--color-credits-surface)}.credits-visual{opacity:1;background:var(--color-credits-depth)}.credits-halo{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 10%,var(--color-credits-halo),transparent 65%)}.credits-sequence .cinema-frame-top{z-index:6}.credits-roll{position:absolute;z-index:2;left:50%;top:100px;width:min(78vw,1000px);padding:20px 0 32px;text-align:center;transform:translate3d(-50%,var(--credits-y,0px),0);will-change:transform}.credits-opening{padding:30px 0 68px}.credits-opening .cinema-kicker{justify-content:center;font-size:11px;margin-bottom:28px}.credits-opening .cinema-title{font-size:clamp(46px,6.2vw,94px);line-height:1.02;margin-bottom:36px}.credits-opening .label-description{font-size:var(--size-body,16px);line-height:2;letter-spacing:.05em;max-width:670px;margin:0 auto;color:var(--color-credits-description)}.credit-group{margin:0 auto;padding:50px 0;border-top:1px solid var(--color-credits-rule);max-width:760px}.credit-heading{font-size:11px;letter-spacing:.23em;color:var(--brass);margin:0 0 35px}.credit-line{display:flex;flex-direction:column;align-items:center;gap:10px;padding:10px 0 27px}.credit-line>span{font:var(--weight-strong) clamp(27px,3.2vw,46px)/1.1 var(--font-heading,var(--sans));letter-spacing:-.03em}.credit-line>small{font-size:10px;letter-spacing:.17em;color:var(--color-credits-role)}.credits-roll .cast-block{width:100%;max-width:650px}.credits-roll .cast-title{justify-content:space-between;margin:0 0 20px}.credits-roll .cast-title .eyebrow,.credits-roll .cast-title>span{font-size:10px;letter-spacing:.12em;margin:0}.credits-roll .cast-images{grid-template-columns:repeat(3,1fr);gap:14px}.credits-roll .cast-images img{aspect-ratio:.82;filter:saturate(.55);opacity:.9}.credits-roll .cast-block>p{font-size:14px;line-height:1.8;color:var(--color-credits-cast-copy);margin:24px 0 0}.credits-roll .cast-block>p span{font-size:10px;letter-spacing:.14em;color:var(--color-credits-cast-caption);margin-top:10px}.credits-genres .genres{justify-content:center;margin:0 auto;max-width:660px;gap:17px 26px}.credits-genres .genres span{font-size:12px;padding-bottom:9px}.credits-roll .release-strip{display:flex;flex-direction:column;gap:23px;text-align:center;border-top:1px solid var(--color-credits-rule);max-width:760px;margin:0 auto;padding:52px 0}.credits-roll .release-strip p{font-size:16px;letter-spacing:.08em;order:0}.credits-roll .release-strip .eyebrow,.credits-roll .release-strip>span:last-child{font-size:11px}.credits-roll #wp-releases{max-width:760px;margin:auto}.credits-vignette{position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(180deg,var(--color-credits-surface) 0,transparent 15%,transparent 80%,var(--color-credits-surface) 99%)}
@media(min-width:1700px){.cinema-copy{top:33%}.cinema-title{font-size:138px}.not-enough-sequence .cinema-copy{top:29%}.cinema-portrait{right:12%}.social-content.cinema-copy{top:28%}}
@media(max-width:1100px) and (min-width:761px){.cinema-frame-top>span,.cinema-frame-bottom>span{font-size:9px;max-width:43%;line-height:1.7}.cinema-copy{left:7vw;top:31%;max-width:53%}.cinema-title{font-size:9vw}.cinema-kicker{font-size:9px;gap:10px;letter-spacing:.1em}.cinema-portrait{height:81%;right:0;bottom:0}.not-enough-sequence .cinema-copy{left:48%;top:26%;right:5vw}.not-enough-sequence .cinema-title{font-size:8vw}.not-enough-sequence .cinema-portrait{left:0;height:80%}.social-content.cinema-copy{left:7vw;right:7vw;gap:5vw}.social-content .cinema-title{font-size:6.6vw}.social-channel{gap:16px;min-height:90px}.crew-sequence .cinema-copy{left:7vw;right:7vw;gap:5vw;grid-template-columns:.9fr 1.1fr}.crew-sequence .cinema-title{font-size:7vw}.dancer-names{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){
 .artist-sequence,.crew-sequence{height:auto}.social-sequence{height:195svh}.credits-sequence{height:280svh}.cinema-sticky{min-height:540px}.cinema-frame-top{top:28px;left:7vw;right:7vw;padding-top:14px}.cinema-frame-top .eyebrow{font-size:10px;letter-spacing:.08em}.cinema-frame-top>span{font-size:9px;letter-spacing:.06em;max-width:46%;text-align:right;line-height:1.5}.cinema-frame-bottom{bottom:78px;left:7vw;right:7vw;padding-right:0;gap:14px;font-size:9px;letter-spacing:.06em}.cinema-frame-bottom>span{max-width:50%;font-size:9px;line-height:1.5}.cinema-frame-bottom a{gap:9px;font-size:10px;min-height:44px}.cinema-frame-bottom a span{font-size:17px}
 .artist-sequence .cinema-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,var(--color-bg) 0,var(--color-ink-205) 19%,var(--color-ink-149) 34%,transparent 61%)}.cinema-portrait{height:78%;right:-13%;bottom:9%}.cinema-backword{bottom:33%;font-size:43vw;left:-9%;opacity:.15}.cinema-copy{left:7vw;right:7vw;top:auto;bottom:153px;max-width:none}.cinema-kicker{font-size:9px;letter-spacing:.1em;gap:11px;margin-bottom:17px}.cinema-kicker>span{font-size:9px}.cinema-title{font-size:clamp(43px,14vw,76px);letter-spacing:var(--tracking-title);margin-bottom:12px}.cinema-meta{font-size:10px;letter-spacing:.16em;margin-bottom:19px}.cinema-description{font-size:14px;line-height:1.8;letter-spacing:.04em;margin-bottom:17px}.cinema-link{font-size:11px;gap:29px;min-height:46px}.cinema-link span{font-size:22px}
 .not-enough-sequence .cinema-copy{left:7vw;right:7vw;top:auto;bottom:153px;max-width:none}.not-enough-sequence .cinema-title{font-size:clamp(42px,13vw,70px)}.not-enough-sequence .cinema-portrait{left:auto;right:-11%;height:77%;bottom:11%}.not-enough-sequence .cinema-portrait.is-sheet{left:auto;right:10%;height:72%;bottom:13%}.not-enough-sequence .cinema-backword{font-size:35vw;bottom:38%}.artist-logo-panel{max-width:65vw;width:245px;padding:15px 18px;margin-bottom:17px}.artist-logo-panel img{max-height:74px}.studio-transition span{font-size:clamp(20px,5vw,34px)}
 .crew-image{object-position:50% 32%;object-fit:cover}.crew-visual:after{background:linear-gradient(180deg,var(--color-ink-80),transparent 22%,var(--color-ink-37) 41%,var(--color-ink-230) 65%,var(--color-bg))}.crew-sequence .cinema-copy{left:7vw;right:7vw;bottom:149px;grid-template-columns:1fr;gap:21px}.crew-sequence .cinema-title{font-size:clamp(41px,12vw,66px);margin-bottom:10px}.crew-sequence .cinema-kicker{font-size:9px;margin-bottom:13px}.crew-sequence .cinema-meta{font-size:13px;letter-spacing:.04em;line-height:1.7}.dancer-names{gap:0 12px}.dancer-names button{font-size:12px;padding:9px 0;min-height:47px}.dancer-names button span{font-size:9px;margin-top:4px;letter-spacing:.04em}.dancers-invitation{font-size:10px;margin-top:11px}
 .social-disc{width:120vw;right:-59%;top:0;opacity:.23}.social-disc b{font-size:14vw}.social-content.cinema-copy{top:15%;left:7vw;right:7vw;bottom:auto;display:block;max-width:none}.social-content .cinema-kicker{font-size:9px;margin-bottom:16px}.social-content .cinema-title{font-size:clamp(42px,11.8vw,65px);margin-bottom:19px}.social-content .cinema-description{font-size:14px;line-height:1.8;margin:0 0 25px}.social-channel{min-height:74px;padding:13px 0;gap:18px}.social-channel-number{font-size:10px}.social-channel-label{font-size:25px}.social-state{font-size:9px;letter-spacing:.11em;margin-top:7px}.social-arrow{font-size:25px}.social-note{font-size:11px;line-height:1.7;margin-top:14px}.social-sequence .cinema-frame-bottom>span{max-width:55%}
 .credits-roll{top:84px;width:86vw;padding-top:12px;padding-bottom:24px}.credits-opening{padding:20px 0 44px}.credits-opening .cinema-kicker{font-size:9px;letter-spacing:var(--tracking-label);margin-bottom:22px}.credits-opening .cinema-title{font-size:clamp(38px,10vw,58px);line-height:1.06;margin-bottom:27px}.credits-opening .label-description{font-size:14px;line-height:2;text-wrap:pretty}.credit-group{padding:38px 0}.credit-heading{font-size:10px;letter-spacing:.18em;margin-bottom:24px}.credit-line{padding:9px 0 23px;gap:10px}.credit-line>span{font-size:29px}.credit-line>small{font-size:9px;letter-spacing:.14em}.credits-roll .cast-title{gap:16px;margin-bottom:16px}.credits-roll .cast-title .eyebrow,.credits-roll .cast-title>span{font-size:9px;letter-spacing:.07em}.credits-roll .cast-images{gap:8px}.credits-roll .cast-images img{aspect-ratio:.7}.credits-roll .cast-block>p{font-size:13px;margin-top:20px}.credits-roll .cast-block>p span{font-size:9px;letter-spacing:.09em}.credits-genres .genres{gap:15px 20px}.credits-genres .genres span{font-size:10px}.credits-roll .release-strip{padding:39px 0;gap:19px}.credits-roll .release-strip .eyebrow,.credits-roll .release-strip>span:last-child{font-size:10px}.credits-roll .release-strip p{font-size:14px;letter-spacing:.05em;flex-basis:auto;order:0}.credits-vignette{background:linear-gradient(180deg,var(--color-credits-surface),transparent 13%,transparent 79%,var(--color-credits-surface))}
}
@media(max-width:760px) and (max-height:740px){.cinema-copy,.not-enough-sequence .cinema-copy{bottom:143px}.cinema-kicker{margin-bottom:12px;font-size:9px}.cinema-title{font-size:46px;margin-bottom:10px}.cinema-meta{margin-bottom:13px}.cinema-description{line-height:1.65;margin-bottom:12px}.cinema-portrait{height:77%;right:-9%;bottom:12%}.not-enough-sequence .cinema-portrait{height:76%;right:-9%;bottom:12%}.artist-logo-panel{width:210px;padding:12px 16px;margin-bottom:14px}.artist-logo-panel img{max-height:61px}.crew-sequence .cinema-copy{bottom:137px;gap:15px}.crew-sequence .cinema-title{font-size:43px}.crew-sequence .cinema-kicker{margin-bottom:10px}.dancer-names button{min-height:43px;padding:7px 0}.dancers-invitation{font-size:10px;margin-top:8px}.social-content.cinema-copy{top:14%}.social-content .cinema-kicker{margin-bottom:12px}.social-content .cinema-title{font-size:38px;margin-bottom:14px}.social-content .cinema-description{font-size:13px;line-height:1.7;margin-bottom:21px}.social-channel{min-height:65px;padding:10px 0}.social-channel-label{font-size:22px}.social-state{margin-top:5px}.social-note{font-size:10px;margin-top:12px}}
@media(max-width:760px) and (max-height:640px){.cinema-sticky{min-height:520px}.cinema-frame-top{top:22px}.cinema-frame-top>span{font-size:8px}.cinema-copy,.not-enough-sequence .cinema-copy{bottom:130px}.cinema-title{font-size:41px}.cinema-kicker{font-size:8px;gap:8px}.cinema-meta{font-size:9px;margin-bottom:11px}.cinema-description{font-size:13px;line-height:1.6;margin-bottom:9px}.cinema-link{min-height:44px;font-size:10px}.cinema-frame-bottom{bottom:72px}.cinema-frame-bottom>span{font-size:8px}.cinema-frame-bottom a{font-size:9px}.crew-sequence .cinema-copy{bottom:125px;gap:12px}.crew-sequence .cinema-title{font-size:37px}.crew-sequence .cinema-meta{font-size:12px}.dancer-names button{font-size:11px;min-height:40px;padding:6px 0}.dancers-invitation{font-size:9px}.social-content.cinema-copy{top:15%}.social-content .cinema-kicker{font-size:8px;margin-bottom:10px}.social-content .cinema-title{font-size:32px;margin-bottom:11px}.social-content .cinema-description{font-size:12px;line-height:1.6;margin-bottom:17px}.social-channel{min-height:58px;padding:8px 0}.social-channel-label{font-size:21px}.social-state{font-size:8px;margin-top:4px}.social-note{font-size:10px;margin-top:10px}}
@media(max-height:540px) and (min-width:600px){.cinema-sticky{height:100svh;min-height:340px}.cinema-frame-top{top:18px;padding-top:12px;left:6vw;right:6vw}.cinema-frame-top .eyebrow,.cinema-frame-top>span{font-size:9px}.cinema-frame-bottom{bottom:17px;left:6vw;right:6vw;padding-right:0;font-size:9px}.cinema-frame-bottom>span{display:none}.cinema-frame-bottom a{font-size:10px}.cinema-copy,.not-enough-sequence .cinema-copy{left:7vw;right:auto;top:24%;bottom:auto;max-width:46%}.cinema-copy .cinema-kicker{display:none}.cinema-title,.not-enough-sequence .cinema-title{font-size:46px;margin-bottom:10px}.cinema-meta{font-size:10px;margin-bottom:12px}.cinema-description{font-size:12px;line-height:1.6;margin-bottom:12px}.cinema-link{font-size:10px;min-height:44px}.cinema-portrait{height:96%;right:5%;bottom:-3%}.not-enough-sequence .cinema-portrait{left:auto;right:5%;height:94%;bottom:-2%}.not-enough-sequence .cinema-portrait.is-sheet{left:auto;right:15%;height:84%;bottom:0}.artist-logo-panel{width:235px;max-width:32vw;padding:12px 17px;margin-bottom:10px}.artist-logo-panel img{max-height:64px}.crew-sequence .cinema-copy{left:7vw;right:7vw;bottom:79px;top:auto;max-width:none;grid-template-columns:.9fr 1.2fr;gap:5vw}.crew-sequence .cinema-title{font-size:45px}.crew-sequence .cinema-meta{font-size:12px}.dancer-names{gap:0 11px}.dancer-names button{min-height:44px;padding:6px 0;font-size:11px}.dancers-invitation{display:none}.social-content.cinema-copy{top:22%;left:7vw;right:7vw;bottom:auto;max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:7vw}.social-content .cinema-title{font-size:42px;line-height:1.02;margin-bottom:15px}.social-content .cinema-description{font-size:12px;line-height:1.7;margin:0}.social-channel{min-height:58px;padding:8px 0;gap:15px}.social-channel-label{font-size:21px}.social-state{font-size:8px;margin-top:4px}.social-channel-number{font-size:9px}.social-note{font-size:10px;line-height:1.5;margin-top:8px}.credits-roll{top:76px;width:80vw}.credits-opening .cinema-title{font-size:54px}.credits-opening .label-description{font-size:14px}.credits-vignette{background:linear-gradient(180deg,var(--color-credits-surface),transparent 18%,transparent 73%,var(--color-credits-surface))}}
/* Reduced motion follows the same story at the reader's pace, including all credits. */
body.motion-reduced [data-cinematic]{height:auto}body.motion-reduced .cinema-sticky{position:relative}body.motion-reduced .cinema-copy,body.motion-reduced .cinema-visual{opacity:1;transform:none;filter:none;will-change:auto}body.motion-reduced .credits-sequence .cinema-sticky{height:auto;min-height:100svh;overflow:visible}body.motion-reduced .credits-roll{position:relative;left:auto;top:auto;transform:none;margin:0 auto;padding-top:125px;will-change:auto}body.motion-reduced .credits-vignette{display:none}body.motion-reduced .studio-transition{display:none}
@media(prefers-reduced-motion:reduce){body:not(.motion-full) [data-cinematic]{height:auto}body:not(.motion-full) .cinema-sticky{position:relative}body:not(.motion-full) .cinema-copy,body:not(.motion-full) .cinema-visual{opacity:1;transform:none;filter:none;will-change:auto}body:not(.motion-full) .credits-sequence .cinema-sticky{height:auto;min-height:100svh;overflow:visible}body:not(.motion-full) .credits-roll{position:relative;left:auto;top:auto;transform:none;margin:0 auto;padding-top:125px;will-change:auto}body:not(.motion-full) .credits-vignette,body:not(.motion-full) .studio-transition{display:none}}
@media(max-width:760px){.crew-visual{background:radial-gradient(ellipse at 50% 27%,var(--color-spotlight-glow),transparent 56%),var(--color-spotlight-surface)}.crew-image{position:absolute;top:17%;left:0;width:100%;height:auto;object-fit:contain;object-position:center;max-width:none}.crew-visual:after{background:linear-gradient(180deg,var(--color-ink-80),transparent 22%,transparent 42%,var(--color-ink-156) 61%,var(--color-bg) 78%)}}
@media(max-height:540px) and (min-width:600px){.crew-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 32%}.crew-visual:after{background:linear-gradient(180deg,var(--color-ink-85),transparent 25%,var(--color-ink-48) 42%,var(--color-ink-156) 76%,var(--color-bg))}}
/* The latest studio plate and the supplied official character sheet. */
.scene-fallback{background-image:url('./assets/studio-v3.webp')}
.not-enough-sequence .cinema-portrait.is-sheet{aspect-ratio:380/1086}
.not-enough-sequence .cinema-portrait img[data-sheet="4"]{position:relative;left:-10.526%;width:381.053%;height:100%;object-fit:fill}
/* Profiles and channel selection remain readable when content grows. */
dialog{width:min(680px,92vw);max-width:92vw;max-height:calc(100svh - 44px);overflow-y:auto;overscroll-behavior:contain;scrollbar-color:var(--color-dialog-scrollbar) var(--color-dialog-surface);padding:58px 48px 44px}
dialog .dialog-close{position:sticky;display:block;margin:-43px -31px 14px auto;right:auto;top:-42px;width:44px;height:44px;min-height:44px;background:var(--color-dialog-close-surface);z-index:3}
dialog #dialog-description{font-size:var(--size-body,16px);line-height:1.95;white-space:pre-line;overflow-wrap:anywhere}
dialog .profile-reference{display:block;width:100%;height:auto;max-height:none;object-fit:contain;background:var(--color-dialog-image-mat);margin:28px 0 18px;border:1px solid var(--color-dialog-image-rule)}
dialog .profile-official{display:inline-flex;align-items:center;min-height:44px;padding:9px 0;font-size:var(--size-control,12px);line-height:1.7;border-bottom:1px solid var(--color-border-warm,var(--color-dialog-link-rule));color:var(--brass);overflow-wrap:anywhere}
dialog.dancer-dialog{width:min(1020px,94vw);max-width:94vw}
.social-accounts{display:grid;gap:0;margin:25px 0 0}.social-accounts>a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:54px;padding:12px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.7;color:var(--cream)}.social-accounts>a:last-child{border-bottom:1px solid var(--line)}.social-accounts>a:hover{color:var(--brass)}
@media(max-width:760px){dialog{width:92vw;padding:49px 24px 32px;max-height:calc(100svh - 28px)}dialog .dialog-close{margin:-39px -13px 12px auto;top:-37px}dialog #dialog-description{font-size:14px;line-height:1.9}dialog .profile-reference{margin-top:23px}dialog.dancer-dialog{width:96vw;max-width:96vw;padding-left:16px;padding-right:16px}.social-accounts>a{font-size:13px;min-height:54px}}

/* Controls keep a readable size even in the compact cinematic layouts. */
.cinema-frame-bottom a,.cinema-link,.dancer-names button{font-size:var(--size-control);min-height:44px;line-height:var(--leading-label)}
.dancer-names button{font-family:var(--font-label);font-weight:var(--weight-medium)}
.dancer-names button span{font-size:var(--size-micro);line-height:var(--leading-label)}
.cinema-frame-bottom a{flex-shrink:0;margin-left:auto;justify-content:flex-end;text-align:right;white-space:nowrap}
@media(max-height:540px) and (min-width:600px){.cinema-frame-bottom{bottom:10px}.cinema-link{padding:6px 0}.dancer-names button{padding:5px 0}.crew-sequence .cinema-copy{bottom:76px}}
/* Cast portraits cross the frame; the background remains a stable stage. */
[data-cast-direction] .cinema-portrait{transform:translate3d(var(--cast-portrait-x),0,0);opacity:var(--cast-portrait-opacity);will-change:transform,opacity}
[data-cast-direction] .cinema-copy{transform:translate3d(var(--cast-copy-x),0,0);opacity:var(--cast-copy-opacity);filter:none;will-change:transform,opacity}
[data-cast-direction] .cinema-backword{transform:translate3d(calc(var(--cast-copy-x) * -.28),0,0);opacity:calc(var(--cast-background-opacity) * var(--cast-backword-opacity));will-change:transform,opacity}
[data-cast-direction] .crew-image{transform:translate3d(var(--cast-portrait-x),0,0);opacity:var(--cast-portrait-opacity);will-change:transform,opacity}
body.motion-reduced [data-cast-direction] .cinema-portrait,body.motion-reduced [data-cast-direction] .cinema-copy,body.motion-reduced [data-cast-direction] .crew-image{transform:none;opacity:1;will-change:auto}
body.motion-reduced [data-cast-direction] .cinema-backword{transform:none;opacity:var(--cast-backword-opacity);will-change:auto}
@media(prefers-reduced-motion:reduce){body:not(.motion-full) [data-cast-direction] .cinema-portrait,body:not(.motion-full) [data-cast-direction] .cinema-copy,body:not(.motion-full) [data-cast-direction] .crew-image{transform:none;opacity:1;will-change:auto}body:not(.motion-full) [data-cast-direction] .cinema-backword{transform:none;opacity:var(--cast-backword-opacity);will-change:auto}}

@media(max-width:760px){[data-cast-direction]{--cast-backword-opacity:.15}}

/* v4 — fixed-size portraits, a transparent wordmark, and an individual cast. */
[data-cast-direction],[data-ensemble]{--cast-copy-blur:0px;--cast-copy-dissolve:0;--cast-copy-opacity:1}
[data-cast-direction] .cinema-visual,[data-ensemble] .cinema-visual{transform:none;opacity:1;will-change:auto}
[data-cast-direction] .cinema-copy{filter:blur(var(--cast-copy-blur));-webkit-mask-image:linear-gradient(to right,transparent calc(var(--cast-copy-dissolve) * 140% - 40%),#000 calc(var(--cast-copy-dissolve) * 140%));mask-image:linear-gradient(to right,transparent calc(var(--cast-copy-dissolve) * 140% - 40%),#000 calc(var(--cast-copy-dissolve) * 140%));will-change:transform,opacity,filter}
[data-cast-direction="right"] .cinema-copy{-webkit-mask-image:linear-gradient(to left,transparent calc(var(--cast-copy-dissolve) * 140% - 40%),#000 calc(var(--cast-copy-dissolve) * 140%));mask-image:linear-gradient(to left,transparent calc(var(--cast-copy-dissolve) * 140% - 40%),#000 calc(var(--cast-copy-dissolve) * 140%))}
.artist-logo-panel{background:transparent;padding:0;display:block;width:min(34vw,480px);max-width:100%;margin:0 0 28px}
.artist-logo-panel img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;filter:brightness(0) invert(1);opacity:.91}

.ensemble-sequence{height:auto}
.ensemble-stage{background:radial-gradient(ellipse at 50% 43%,var(--color-studio-glow),transparent 57%),linear-gradient(180deg,var(--color-bg),var(--color-surface) 68%,var(--color-bg))}
.ensemble-light-line{position:absolute;left:6%;right:6%;top:68%;height:1px;background:linear-gradient(90deg,transparent,var(--color-border-warm) 30%,var(--brass) 50%,var(--color-border-warm) 70%,transparent);opacity:.45;box-shadow:0 0 25px var(--color-studio-glow)}
.ensemble-floor{position:absolute;inset:65% 0 0;background:radial-gradient(ellipse at 50% 5%,var(--color-record-sheen-warm),transparent 63%),linear-gradient(180deg,var(--color-ink-37),var(--color-bg) 87%)}
.ensemble-floor:after{content:'';position:absolute;left:12%;right:12%;top:14%;height:20%;border-radius:50%;background:var(--color-studio-glow);filter:blur(25px);opacity:.32}
.crew-sequence .ensemble-heading{display:block;left:7vw;right:7vw;top:13%;bottom:auto;max-width:none;text-align:center;transform:none;opacity:var(--cast-copy-opacity);filter:none;will-change:opacity}
.ensemble-heading .cinema-kicker{justify-content:center;margin-bottom:13px}
.crew-sequence .ensemble-heading .cinema-title{font-size:clamp(30px,3.9vw,62px);line-height:1.04;margin:0 0 13px}
.crew-sequence .ensemble-heading .cinema-meta{font-size:14px;line-height:1.6;letter-spacing:var(--tracking-body)}
.ensemble-lineup{position:absolute;z-index:2;left:5vw;right:5vw;top:30%;bottom:128px;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));grid-template-rows:minmax(0,1fr);align-items:end;gap:0 8px}
.ensemble-member{--member-x:0px;--member-opacity:1;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;grid-row:1;height:100%;min-height:44px;min-width:0;padding:0;transform:translate3d(var(--member-x),0,0);opacity:var(--member-opacity);will-change:transform,opacity;text-align:center;border-radius:3px}
.ensemble-member img{display:block;width:180%;height:calc(100% - 48px);min-height:0;max-width:none;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 9px 18px var(--color-shadow-portrait));pointer-events:none}
.ensemble-lead img{width:110%}
.member-caption{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:48px;padding:7px 0 0;width:100%;line-height:var(--leading-label)}
.member-name{display:block;font-family:var(--font-label);font-weight:var(--weight-strong);font-size:var(--size-control);color:var(--cream);letter-spacing:var(--tracking-body);white-space:nowrap}
.member-role{display:block;font-family:var(--font-label);font-size:var(--size-micro);color:var(--muted);letter-spacing:.06em;line-height:1.5;margin-top:3px}
.ensemble-member:hover .member-name,.ensemble-member:focus-visible .member-name{color:var(--brass)}
.ensemble-member:focus-visible{outline-offset:5px;outline-color:var(--brass)}
.ensemble-member[data-member-index="0"]{grid-column:5 / span 2;z-index:3}
.ensemble-member[data-member-index="1"]{grid-column:1}
.ensemble-member[data-member-index="2"]{grid-column:2}
.ensemble-member[data-member-index="3"]{grid-column:3}
.ensemble-member[data-member-index="4"]{grid-column:4}
.ensemble-member[data-member-index="5"]{grid-column:7}
.ensemble-member[data-member-index="6"]{grid-column:8}
.ensemble-member[data-member-index="7"]{grid-column:9}
.ensemble-lead .member-name{font-size:16px;letter-spacing:.06em}
.credits-roll .cast-images.credit-cast-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:24px 14px;width:100%;max-width:650px;margin:auto}
/* Two tracks preserve each portrait's width. The lower three sit exactly
   halfway between the four portraits above, forming a centered cast. */
.credits-roll .credit-cast-grid .credit-cast[data-dancer="yun"]{grid-column:1 / span 2;grid-row:1}
.credits-roll .credit-cast-grid .credit-cast[data-dancer="kaede"]{grid-column:3 / span 2;grid-row:1}
.credits-roll .credit-cast-grid .credit-cast[data-dancer="nico"]{grid-column:5 / span 2;grid-row:1}
.credits-roll .credit-cast-grid .credit-cast[data-dancer="rena"]{grid-column:7 / span 2;grid-row:1}
.credits-roll .credit-cast-grid .credit-cast[data-dancer="shota"]{grid-column:2 / span 2;grid-row:2}
.credits-roll .credit-cast-grid .credit-cast[data-dancer="j"]{grid-column:4 / span 2;grid-row:2}
.credits-roll .credit-cast-grid .credit-cast[data-dancer="luke"]{grid-column:6 / span 2;grid-row:2}
.credit-cast{display:flex;min-width:0;min-height:44px;flex-direction:column;justify-content:flex-end;align-items:center;padding:0;text-align:center;gap:12px}
.credits-roll .credit-cast img{width:100%;height:210px;aspect-ratio:auto;object-fit:contain;object-position:center bottom;filter:none;opacity:1}
.credit-cast-name{font-family:var(--font-label);font-size:var(--size-control);line-height:var(--leading-label);color:var(--muted);letter-spacing:var(--tracking-body)}
.credit-cast:hover .credit-cast-name,.credit-cast:focus-visible .credit-cast-name{color:var(--brass)}

@media(max-width:1100px) and (min-width:761px){.ensemble-lineup{left:3vw;right:3vw;gap:0 4px}.member-name{font-size:12px}.ensemble-lead .member-name{font-size:14px}.ensemble-heading .cinema-kicker{font-size:10px}}
@media(max-width:760px){
 .artist-logo-panel{width:min(68vw,320px);max-width:100%;padding:0;margin-bottom:22px}.artist-logo-panel img{max-height:none}
 .ensemble-sequence{height:auto}.crew-sequence .ensemble-heading{left:6vw;right:6vw;top:12%;bottom:auto;text-align:center}.ensemble-heading .cinema-kicker{font-size:9px;margin-bottom:10px}.crew-sequence .ensemble-heading .cinema-title{font-size:clamp(24px,6.5vw,40px);margin-bottom:9px}.crew-sequence .ensemble-heading .cinema-meta{font-size:12px}
 .ensemble-lineup{left:6vw;right:6vw;top:27%;bottom:139px;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:14px 9px}
 .ensemble-member[data-member-index="0"]{grid-column:2;grid-row:1}.ensemble-member[data-member-index="1"]{grid-column:1;grid-row:1}.ensemble-member[data-member-index="2"]{grid-column:3;grid-row:1}.ensemble-member[data-member-index="3"]{grid-column:4;grid-row:1}.ensemble-member[data-member-index="4"]{grid-column:1;grid-row:2}.ensemble-member[data-member-index="5"]{grid-column:2;grid-row:2}.ensemble-member[data-member-index="6"]{grid-column:3;grid-row:2}.ensemble-member[data-member-index="7"]{grid-column:4;grid-row:2}
 .ensemble-member img{width:150%;height:calc(100% - 43px)}.ensemble-lead img{width:150%}.member-caption{min-height:43px;padding-top:5px}.member-name,.ensemble-lead .member-name{font-size:12px}.member-role{font-size:9px;letter-spacing:.025em;margin-top:2px}.ensemble-lead .member-role{font-size:8px;line-height:1.3;max-width:76px}
 .ensemble-light-line{top:68%;left:4%;right:4%}.ensemble-floor{top:63%}.ensemble-sequence .cinema-frame-bottom{bottom:76px}.ensemble-sequence .cinema-frame-bottom>span{font-size:10px;letter-spacing:var(--tracking-body);max-width:45%}.ensemble-sequence .cinema-frame-bottom a{font-size:12px;gap:8px}
 .credits-roll .cast-images.credit-cast-grid{gap:20px 10px}.credits-roll .credit-cast img{height:160px}.credit-cast-name{font-size:12px}
}
@media(max-width:760px) and (max-height:740px){.crew-sequence .ensemble-heading{top:12%;bottom:auto}.crew-sequence .ensemble-heading .cinema-title{font-size:26px}.ensemble-heading .cinema-kicker{margin-bottom:8px}.ensemble-lineup{top:28%;bottom:128px;gap:10px 8px}.artist-logo-panel{width:min(66vw,270px);padding:0;margin-bottom:18px}.artist-logo-panel img{max-height:none}}
@media(max-width:760px) and (max-height:640px){.crew-sequence .ensemble-heading{top:12%;bottom:auto}.ensemble-heading .cinema-kicker{display:none}.crew-sequence .ensemble-heading .cinema-title{font-size:24px;margin-bottom:7px}.ensemble-lineup{top:25%;bottom:125px;gap:8px}.member-caption{min-height:39px}.ensemble-member img{height:calc(100% - 39px)}.member-role{font-size:8px}.artist-logo-panel{width:min(62vw,250px);padding:0;margin-bottom:14px}}
@media(max-height:540px) and (min-width:600px){
 .crew-sequence .ensemble-heading{left:6vw;right:6vw;top:20%;bottom:auto;display:block}.crew-sequence .ensemble-heading .cinema-title{font-size:26px;margin-bottom:7px}.crew-sequence .ensemble-heading .cinema-meta{font-size:12px}.ensemble-heading .cinema-kicker{display:none}
 .ensemble-lineup{left:4vw;right:4vw;top:40%;bottom:73px;grid-template-columns:repeat(9,minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:0 7px}.ensemble-member{grid-row:1!important}.ensemble-member[data-member-index="0"]{grid-column:5 / span 2}.ensemble-member[data-member-index="1"]{grid-column:1}.ensemble-member[data-member-index="2"]{grid-column:2}.ensemble-member[data-member-index="3"]{grid-column:3}.ensemble-member[data-member-index="4"]{grid-column:4}.ensemble-member[data-member-index="5"]{grid-column:7}.ensemble-member[data-member-index="6"]{grid-column:8}.ensemble-member[data-member-index="7"]{grid-column:9}
 .ensemble-member img{width:180%;height:calc(100% - 35px)}.ensemble-lead img{width:110%}.member-caption{min-height:35px;padding-top:4px}.member-name,.ensemble-lead .member-name{font-size:12px}.member-role{font-size:8px;line-height:1.2;margin-top:2px}.ensemble-lead .member-role{max-width:none;font-size:8px}.ensemble-sequence .cinema-frame-bottom{bottom:10px}.ensemble-sequence .cinema-frame-bottom>span{display:none}.artist-logo-panel{width:min(32vw,300px);padding:0;margin-bottom:16px}.artist-logo-panel img{max-height:none}
}
body.motion-reduced [data-cast-direction] .cinema-copy,body.motion-reduced [data-ensemble] .cinema-copy{filter:none;-webkit-mask-image:none;mask-image:none;transform:none;opacity:1;will-change:auto}
body.motion-reduced [data-ensemble-member]{transform:none;opacity:1;will-change:auto}
@media(prefers-reduced-motion:reduce){body:not(.motion-full) [data-cast-direction] .cinema-copy,body:not(.motion-full) [data-ensemble] .cinema-copy{filter:none;-webkit-mask-image:none;mask-image:none;transform:none;opacity:1;will-change:auto}body:not(.motion-full) [data-ensemble-member]{transform:none;opacity:1;will-change:auto}}

/* Soft light follows the cast; neither the stage nor the portrait is scaled.
   The broad halo is already full width, so revealing it never forms a panel. */
.artist-sequence[data-cast-direction]{--cast-light-x:68%;--cast-light-y:43%;--cast-light-core:var(--color-studio-glow-mobile);--cast-light-halo:var(--color-credits-halo)}
.not-enough-sequence[data-cast-direction]{--cast-light-x:32%;--cast-light-y:42%;--cast-light-core:var(--color-artist-cool-glow-mobile);--cast-light-halo:var(--color-artist-cool-glow)}
.artist-sequence[data-cast-direction] .cinema-sticky,.artist-sequence[data-cast-direction] .cinema-visual{background:var(--color-bg)}
.artist-sequence[data-cast-direction] .cinema-light{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 86% 84% at var(--cast-light-x,50%) var(--cast-light-y,44%),var(--cast-light-core,var(--color-studio-glow)) 0%,transparent 78%);opacity:var(--cast-background-opacity,1);will-change:opacity}
.artist-sequence[data-cast-direction] .cinema-light:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 118% 100% at 50% 44%,var(--cast-light-halo,var(--color-credits-halo)) 0%,transparent 80%);opacity:var(--cast-background-spread,1);will-change:opacity}
@media(max-width:760px){.artist-sequence[data-cast-direction]{--cast-light-x:62%;--cast-light-y:36%}.not-enough-sequence[data-cast-direction]{--cast-light-x:61%;--cast-light-y:37%}}
body.motion-reduced .artist-sequence[data-cast-direction] .cinema-light,body.motion-reduced .artist-sequence[data-cast-direction] .cinema-light:before{opacity:1;will-change:auto}
@media(prefers-reduced-motion:reduce){body:not(.motion-full) .artist-sequence[data-cast-direction] .cinema-light,body:not(.motion-full) .artist-sequence[data-cast-direction] .cinema-light:before{opacity:1;will-change:auto}}

/* v5 — scroll chooses the chapter, time brings the cast into the frame.
   The controller enables proximity snapping only around the cast chapters. */
html.cinema-snap-enabled{scroll-snap-type:y proximity;scroll-padding-block:0}
.artist-sequence[data-cast-direction],.ensemble-sequence[data-ensemble]{--chapter-min-height:640px;--chapter-height:max(100svh,var(--chapter-min-height));height:auto;min-height:0;scroll-snap-align:start;scroll-snap-stop:normal;scroll-margin-block:0}
.artist-sequence[data-cast-direction]>.cinema-sticky,.ensemble-sequence[data-ensemble]>.cinema-sticky{position:relative;top:auto;height:var(--chapter-height);min-height:0}

/* WACCO's confirmed 177 cm is the visual reference. Dancer values below are
   art-direction estimates, separate from profile facts: Yun 176, Kaede 164,
   Nico 160, Rena 166, Shota 178, J 181 and Luke 174 cm equivalents.
   Alpha-bound corrections retain a shared floor; both axes scale together.
   The tallest cast member reserves headroom inside every responsive row. */
.ensemble-lineup{--ensemble-columns:8;--ensemble-column-gap:8px;--ensemble-side:5vw;--ensemble-top:calc(var(--chapter-height) * .30);--ensemble-bottom:128px;--ensemble-rows:1;--ensemble-row-gap:0px;--member-caption-height:48px;--ensemble-tallest-ratio:1.02259887;--ensemble-cell-width:calc((100vw - var(--ensemble-side) * 2 - (var(--ensemble-columns) - 1) * var(--ensemble-column-gap)) / var(--ensemble-columns));--ensemble-row-height:calc((var(--chapter-height) - var(--ensemble-top) - var(--ensemble-bottom) - (var(--ensemble-rows) - 1) * var(--ensemble-row-gap)) / var(--ensemble-rows));--ensemble-person-height:min(calc((var(--ensemble-row-height) - var(--member-caption-height) - 10px) / var(--ensemble-tallest-ratio)),calc(var(--ensemble-cell-width) * 2.35 / var(--ensemble-tallest-ratio)));left:var(--ensemble-side);right:var(--ensemble-side);top:var(--ensemble-top);bottom:var(--ensemble-bottom);grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:var(--ensemble-row-gap) var(--ensemble-column-gap)}
.ensemble-member{--member-stature:1;--member-person-height:calc(var(--ensemble-person-height) * var(--member-stature));height:100%;justify-content:flex-end;overflow:visible}
.ensemble-member[data-artist="WACCO"]{--member-stature:1}
.ensemble-member[data-dancer="yun"]{--member-stature:0.994350282}
.ensemble-member[data-dancer="kaede"]{--member-stature:0.926553672}
.ensemble-member[data-dancer="nico"]{--member-stature:0.903954802}
.ensemble-member[data-dancer="rena"]{--member-stature:0.937853107}
.ensemble-member[data-dancer="shota"]{--member-stature:1.005649718}
.ensemble-member[data-dancer="j"]{--member-stature:1.02259887}
.ensemble-member[data-dancer="luke"]{--member-stature:0.983050847}
.ensemble-member img{position:absolute;display:block;flex:none;height:calc(var(--member-person-height) * var(--member-image-height));width:calc(var(--member-person-height) * var(--member-image-width));left:calc(50% - var(--member-person-height) * var(--member-image-center));bottom:calc(var(--member-caption-height) - var(--member-person-height) * var(--member-image-bottom));max-width:none;max-height:none;object-fit:contain;transform:none}
.ensemble-member .member-caption{height:var(--member-caption-height);min-height:var(--member-caption-height);flex:none;margin-top:auto}
.ensemble-member[data-member-index="0"]{--member-image-height:1.041355932;--member-image-width:0.694237288;--member-image-center:0.338644068;--member-image-bottom:0.029830508}
.ensemble-member[data-member-index="1"]{--member-image-height:1.123628383;--member-image-width:0.749085589;--member-image-center:0.370153621;--member-image-bottom:0.095830285}
.ensemble-member[data-member-index="2"]{--member-image-height:1.059310345;--member-image-width:0.706206897;--member-image-center:0.349655172;--member-image-bottom:0.044137931}
.ensemble-member[data-member-index="3"]{--member-image-height:1.067407922;--member-image-width:0.711605281;--member-image-center:0.349548297;--member-image-bottom:0.043780403}
.ensemble-member[data-member-index="4"]{--member-image-height:1.060773481;--member-image-width:0.70718232;--member-image-center:0.35808011;--member-image-bottom:0.050414365}
.ensemble-member[data-member-index="5"]{--member-image-height:1.050615595;--member-image-width:0.700410397;--member-image-center:0.340971272;--member-image-bottom:0.041723666}
.ensemble-member[data-member-index="6"]{--member-image-height:1.071877181;--member-image-width:0.714584787;--member-image-center:0.342986741;--member-image-bottom:0.049546406}
.ensemble-member[data-member-index="7"]{--member-image-height:1.105831533;--member-image-width:0.737221022;--member-image-center:0.347732181;--member-image-bottom:0.086393089}
.ensemble-member[data-member-index="0"]{grid-column:5;grid-row:1}
.ensemble-member[data-member-index="1"]{grid-column:1;grid-row:1}
.ensemble-member[data-member-index="2"]{grid-column:2;grid-row:1}
.ensemble-member[data-member-index="3"]{grid-column:3;grid-row:1}
.ensemble-member[data-member-index="4"]{grid-column:4;grid-row:1}
.ensemble-member[data-member-index="5"]{grid-column:6;grid-row:1}
.ensemble-member[data-member-index="6"]{grid-column:7;grid-row:1}
.ensemble-member[data-member-index="7"]{grid-column:8;grid-row:1}
@media(max-width:1100px) and (min-width:761px){.ensemble-lineup{--ensemble-side:3vw;--ensemble-column-gap:4px}}
@media(max-width:760px){
 .ensemble-lineup{--ensemble-columns:4;--ensemble-column-gap:9px;--ensemble-side:6vw;--ensemble-top:calc(var(--chapter-height) * .27);--ensemble-bottom:139px;--ensemble-rows:2;--ensemble-row-gap:14px;--member-caption-height:43px;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
 .ensemble-member[data-member-index="0"]{grid-column:2;grid-row:1}.ensemble-member[data-member-index="1"]{grid-column:1;grid-row:1}.ensemble-member[data-member-index="2"]{grid-column:3;grid-row:1}.ensemble-member[data-member-index="3"]{grid-column:4;grid-row:1}.ensemble-member[data-member-index="4"]{grid-column:1;grid-row:2}.ensemble-member[data-member-index="5"]{grid-column:2;grid-row:2}.ensemble-member[data-member-index="6"]{grid-column:3;grid-row:2}.ensemble-member[data-member-index="7"]{grid-column:4;grid-row:2}
}
@media(max-width:760px) and (max-height:740px){.ensemble-lineup{--ensemble-top:calc(var(--chapter-height) * .28);--ensemble-bottom:128px;--ensemble-column-gap:8px;--ensemble-row-gap:10px}}
@media(max-width:760px) and (max-height:640px){.artist-sequence[data-cast-direction]{--chapter-min-height:560px}.ensemble-lineup{--ensemble-top:calc(var(--chapter-height) * .25);--ensemble-bottom:125px;--ensemble-row-gap:8px;--member-caption-height:39px}}
@media(max-height:540px) and (min-width:600px){
 .artist-sequence[data-cast-direction],.ensemble-sequence[data-ensemble]{--chapter-min-height:420px}
 .ensemble-lineup{--ensemble-columns:8;--ensemble-column-gap:7px;--ensemble-side:4vw;--ensemble-top:calc(var(--chapter-height) * .40);--ensemble-bottom:73px;--ensemble-rows:1;--ensemble-row-gap:0px;--member-caption-height:35px;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:minmax(0,1fr)}
 .ensemble-member[data-member-index="0"]{grid-column:5;grid-row:1}.ensemble-member[data-member-index="1"]{grid-column:1;grid-row:1}.ensemble-member[data-member-index="2"]{grid-column:2;grid-row:1}.ensemble-member[data-member-index="3"]{grid-column:3;grid-row:1}.ensemble-member[data-member-index="4"]{grid-column:4;grid-row:1}.ensemble-member[data-member-index="5"]{grid-column:6;grid-row:1}.ensemble-member[data-member-index="6"]{grid-column:7;grid-row:1}.ensemble-member[data-member-index="7"]{grid-column:8;grid-row:1}
}
html.cinema-snap-enabled:has(body.motion-reduced){scroll-snap-type:none}
body.motion-reduced .artist-sequence[data-cast-direction],body.motion-reduced .ensemble-sequence[data-ensemble]{scroll-snap-align:none}
@media(prefers-reduced-motion:reduce){html.cinema-snap-enabled:not(:has(body.motion-full)){scroll-snap-type:none}body:not(.motion-full) .artist-sequence[data-cast-direction],body:not(.motion-full) .ensemble-sequence[data-ensemble]{scroll-snap-align:none}}

/* Compact landscape keeps the next chapter on the right and music on the left. */
@media(max-height:540px) and (min-width:600px){.listening-dock{left:14px;right:auto;max-width:min(390px,calc(100vw - 28px))}}

/* The label details lead straight into Contact, without a separate end card. */
.credits-roll .credits-genres{padding-bottom:24px}
