/* One physical robe spans the portrait and every chapter. */
.performer-world{position:relative;isolation:isolate}
.performer-world>.wardrobe-backdrop{width:min(100%,var(--stage-width));margin-inline:auto}
.hero,.wardrobe-story{background:transparent}
.wardrobe-story{isolation:auto}
.opening-sequence{z-index:1}
.hero{height:100svh;min-height:0;max-height:none}
.js .opening-sequence{height:calc(100svh + 580px);min-height:0}
.portrait{width:min(780px,80svh);height:min(780px,80svh);top:20px;mask-image:linear-gradient(#000 95%,transparent 100%);-webkit-mask-image:linear-gradient(#000 95%,transparent 100%);clip-path:polygon(0 0,100% 0,100% 64%,84% 64%,84% 98%,70% 98%,69% 73%,68% 68%,65% 77%,50% 84%,35% 77%,32% 68%,31% 73%,30% 98%,16% 98%,16% 64%,0 64%)}
.hero-copy{bottom:70px}
.hero-copy h1{font-size:48px}
.js .red-curtain{position:fixed;inset:0;width:100%;height:100dvh;z-index:20}
.js .curtain-copy{position:fixed;left:0;right:0;bottom:12dvh;z-index:22;pointer-events:none}
.curtain-copy .scroll-instruction{font:14px/1.6 Arial,sans-serif;margin:0}
.scroll-instruction span{display:block;font-size:23px;margin-top:12px}
.robe-depth{background:radial-gradient(ellipse at 50% 50%,#080605,#030303 70%)}
.wardrobe-shade{background:linear-gradient(transparent 85%,#030303 100%)}
@media(max-height:820px) and (min-width:761px){
 .portrait{width:610px;height:610px;top:8px}
 .hero-copy{bottom:52px}.hero-copy h1{font-size:39px}.hero-description{font-size:16px}.interaction{margin-top:13px}
}
@media(max-width:760px){
 .js .opening-sequence{height:calc(100svh + 440px);min-height:0}
 .portrait{width:min(620px,74svh);height:min(620px,74svh);top:35px}
 .hero-copy{bottom:65px}.hero-copy h1{font-size:44px}.hero-description{font-size:16px}.interaction{margin-top:18px}
}
@media(max-width:760px) and (max-height:700px){
 .portrait{width:430px;height:430px;top:10px}.hero-copy{bottom:50px}.hero-copy h1{font-size:32px}.hero-description{font-size:14px}.interaction{margin-top:10px}.gesture-instruction{margin-bottom:8px;font-size:12px}.mode-controls{gap:10px}.camera-button{padding:9px 14px;font-size:13px}.interaction-meta{gap:8px}
}
/* Reduced motion retains the scroll trigger, without the growing cutout. */
@media(prefers-reduced-motion:reduce){
 .js .opening-sequence{height:calc(100svh + 200px);min-height:0}
 .js .hero{position:sticky;top:0}
 .js .red-curtain,.js .curtain-copy{display:block}
 .js .hero-copy,.js .scroll-link{opacity:0!important}
 .hero[data-unveiled="true"] .hero-copy,.hero[data-unveiled="true"] .scroll-link{opacity:1!important}
}
/* A folded prop opens into the next costume layer. */
.fan-scene{height:78svh;min-height:540px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:30px 0 0;overflow:hidden}
.fan-scene h3{font-size:29px;font-weight:400;text-align:center;margin:0 0 35px;position:relative;z-index:2}
.folding-fan{width:min(680px,92%);height:auto;overflow:visible;filter:drop-shadow(0 20px 16px #0009)}
.fan-leaf{transform-origin:0 0;will-change:transform}
.wardrobe-content .video-shell{width:82%;max-width:980px;min-height:200px}
.wardrobe-content .film-details,.film-controls{width:82%;max-width:980px;margin-inline:auto}
.film-controls{display:flex;gap:25px;align-items:center;padding:17px 0 0}
.film-controls button{background:none;border:0;color:#d1c3ad;font:13px Arial,sans-serif;min-height:44px;padding:0;text-decoration:underline;text-underline-offset:5px}
#film-fullscreen{margin-left:auto}
#film-player{position:absolute;inset:0;z-index:1}
#video-shell>.load-film{z-index:2}
#video-shell:fullscreen{width:100%;max-width:none;height:100%;aspect-ratio:auto;background:#000}
#video-shell:fullscreen iframe{object-fit:contain}
@media(max-width:760px){
 .fan-scene{height:65svh;min-height:410px;margin-top:0}.fan-scene h3{font-size:25px;margin-bottom:25px}.folding-fan{width:95%}
 .wardrobe-content .video-shell,.wardrobe-content .film-details,.film-controls{width:92%}.film-controls{gap:20px}.film-controls button{font-size:12px}
}
@media(prefers-reduced-motion:reduce),(scripting:none){.fan-leaf{will-change:auto}}
.wardrobe-content .performance-film:fullscreen{width:100%;height:100dvh;padding:16px;background:#030303;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0;overflow:hidden}
.performance-film:fullscreen .film-heading,.performance-film:fullscreen .film-details,.performance-film:fullscreen .back-to-mask{display:none}
.wardrobe-content .performance-film:fullscreen .video-shell{width:min(96vw,calc((100dvh - 100px) * 16 / 9));max-width:none;min-height:200px}
.performance-film:fullscreen .film-controls{width:min(96vw,calc((100dvh - 100px) * 16 / 9));max-width:none;padding-top:8px;flex-shrink:0}
