/* Native scrolling directs the story. Base layout is the complete readable fallback. */
.hero-drama{background:#0a0e14;color:#f1f5f9;position:relative;scroll-margin-top:80px}.drama-stage{position:relative;isolation:isolate;overflow:clip;padding-block:65px}.drama-world{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;opacity:.5}.drama-horizon{position:absolute;inset:0;background:radial-gradient(ellipse at 75% 65%,#8c173438,transparent 65%),linear-gradient(#0a0e14,#142137)}.drama-story{position:relative;z-index:3}.drama-kicker{font:600 11px 'Inter Tight',sans-serif;letter-spacing:.17em;color:#ff6b3d}.drama-title{font-size:clamp(24px,3vw,45px);margin-bottom:50px}.drama-beats{display:grid;grid-template-columns:1fr 1fr;gap:35px}.drama-beat{border-top:1px solid #ffffff35;padding-top:20px}.beat-number{font:600 10px 'Inter Tight',sans-serif;letter-spacing:.15em;color:#ff6b3d}.beat-head{font-family:'Hiragino Mincho ProN','Yu Mincho',Georgia,serif;font-size:clamp(24px,3vw,44px);line-height:1.65;letter-spacing:.02em;margin-bottom:20px}.beat-head strong{font-weight:600}.beat-caption{font-size:14px;color:#ccd4df;line-height:1.8}.drama-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #ffffff30;padding-top:25px;margin-top:40px;font-size:11px;letter-spacing:.08em}.drama-bottom a{text-decoration:none;color:#f1f5f9;padding:12px 16px;border:1px solid #ffffff70}.drama-bottom a:hover{background:#e11d48}.drama-bottom>span{color:#a9b6c8}.drama-scroll-arrow{display:inline-block;margin-left:20px}.drama-timeline,.drama-crack,.drama-wall,.drama-route,.drama-speed,.drama-dawn{display:none}.drama-motion-control{position:fixed;bottom:20px;right:22px;z-index:40;background:#0a0e14ef;color:#f1f5f9;border:1px solid #ff6b3d;padding:9px 14px;font-size:12px;box-shadow:0 4px 24px #0005}
/* Progressive enhancement activates only after the director script is ready. */
.drama-enhanced{height:390svh}.drama-enhanced .drama-stage{position:sticky;top:80px;height:calc(100svh - 80px);min-height:540px;padding:0;display:flex;align-items:center}.drama-enhanced .drama-world{opacity:1}.drama-enhanced .drama-story{width:100%;padding-top:45px;padding-bottom:35px;height:100%;display:flex;flex-direction:column;justify-content:center}.drama-enhanced .drama-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%)}.drama-enhanced .drama-kicker{position:absolute;top:35px;left:clamp(24px,4vw,64px)}.drama-enhanced .drama-beats{display:block;position:relative;height:320px;width:100%}.drama-enhanced .drama-beat{position:absolute;inset:0;border:0;padding:0;opacity:var(--beat-opacity,0);transform:translate3d(0,var(--beat-y,0px),0) scale(var(--beat-scale,1));will-change:transform,opacity;pointer-events:none}.drama-enhanced .drama-beat:first-child{--beat-opacity:1}.drama-enhanced .beat-head{font-size:clamp(35px,5.2vw,78px);line-height:1.55;max-width:18ch;text-shadow:0 3px 35px #0009}.drama-enhanced .beat-head strong{color:var(--beat-color,#f1f5f9)}.drama-enhanced .beat-caption{font-size:16px;max-width:40ch}.drama-enhanced .beat-number{margin-bottom:24px}.drama-enhanced .drama-bottom{position:absolute;left:clamp(24px,4vw,64px);right:clamp(24px,4vw,64px);bottom:55px;margin:0;border:0;padding:0}.drama-enhanced .drama-timeline{position:absolute;bottom:18px;left:clamp(24px,4vw,64px);right:clamp(24px,4vw,64px);display:flex;gap:15px;align-items:center;font:500 9px 'Inter Tight',sans-serif;letter-spacing:.1em;color:#8491a5}.drama-timeline i{height:2px;flex:1;background:linear-gradient(90deg,#e11d48 calc(var(--drama-p,0)*100%),#ffffff28 0)}
.drama-enhanced .drama-wall{display:block;position:absolute;inset:-3%;perspective:900px;opacity:calc(1 - var(--after-wall,0))}.wall-piece{display:block;position:absolute;inset:0;background:linear-gradient(125deg,#344050ee,#0c111be8 50%,#29313de8),repeating-linear-gradient(0deg,transparent 0 79px,#8b98aa 80px);border:1px solid #8190a855;transform:translate3d(calc(var(--dx)*var(--burst,0)*1vw),calc(var(--dy)*var(--burst,0)*1vh),calc(var(--burst,0)*130px)) rotate(calc(var(--rot)*var(--burst,0)*1deg));opacity:calc(1 - var(--burst,0)*.8);will-change:transform,opacity}.wall-piece:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 16%,#8591a215 16% 16.2%),repeating-linear-gradient(90deg,transparent 0 25%,#8591a215 25% 25.15%)}
.wall-piece-0{clip-path:polygon(0 0,56% 0,50% 24%,47% 44%,0 29%);--dx:-65;--dy:-48;--rot:-22}.wall-piece-1{clip-path:polygon(56% 0,100% 0,100% 29%,47% 44%,50% 24%);--dx:65;--dy:-42;--rot:17}.wall-piece-2{clip-path:polygon(0 29%,47% 44%,50% 60%,0 70%);--dx:-80;--dy:0;--rot:-35}.wall-piece-3{clip-path:polygon(47% 44%,100% 29%,100% 70%,50% 60%);--dx:80;--dy:3;--rot:28}.wall-piece-4{clip-path:polygon(0 70%,50% 60%,43% 100%,0 100%);--dx:-50;--dy:60;--rot:-23}.wall-piece-5{clip-path:polygon(50% 60%,100% 70%,100% 100%,43% 100%);--dx:55;--dy:58;--rot:28}.wall-word{position:absolute;font:700 clamp(18px,4vw,55px) 'Yu Gothic',sans-serif;letter-spacing:.2em;color:#c2cad528;transform:translateX(calc(var(--burst,0)*-40vw));opacity:calc(1 - var(--burst,0))}.wall-word-1{right:7%;top:18%;writing-mode:vertical-rl}.wall-word-2{left:15%;bottom:12%}.wall-word-3{right:14%;bottom:15%}
.drama-enhanced .drama-crack{display:block;position:absolute;inset:0;width:100%;height:100%;opacity:var(--crack,0)}.drama-crack path{fill:none;stroke:#ff6b3d;stroke-width:2;stroke-linejoin:round;stroke-dasharray:1800;stroke-dashoffset:calc(1800 - var(--crack,0)*1800);filter:drop-shadow(0 0 7px #e11d48)}.drama-enhanced .drama-speed{display:block;position:absolute;inset:-50%;background:repeating-conic-gradient(from 10deg at 62% 48%,transparent 0deg 10deg,#a9c1e820 10.1deg 10.25deg,transparent 10.35deg 17deg);opacity:var(--rush,0);transform:scale(calc(1 + var(--rush,0)*.2))}.drama-enhanced .drama-dawn{display:block;position:absolute;inset:0;background:radial-gradient(ellipse at 75% 35%,#e11d484d,transparent 60%);opacity:var(--dawn,0)}.drama-enhanced .drama-route{display:block;position:absolute;width:75%;height:100%;right:-6%;bottom:-10%;opacity:var(--dawn,0)}.drama-route path{fill:none;stroke-linejoin:round}.mountain-outline{stroke:#8b9ebc45;stroke-width:2}.team-route{stroke:#ff6b3d;stroke-width:3;stroke-dasharray:1300;stroke-dashoffset:calc(1300 - var(--climb,0)*1300)}.drama-route circle{fill:#e11d48;stroke:#ffb4a0;stroke-width:2;opacity:var(--climb,0)}.summit-flag{stroke:#e11d48;stroke-width:3}
.motion-enabled .drama-reveal-ready{transition:opacity .8s ease,transform .9s cubic-bezier(.16,1,.3,1);transition-delay:var(--shot-delay,0ms)}.motion-enabled .drama-reveal-ready:not(.drama-seen){opacity:.2;transform:translate3d(0,36px,0)}.motion-enabled .drama-seen{opacity:1;transform:none}.motion-enabled .cycle span.drama-seen{box-shadow:inset 0 -3px #e11d48}
/* Pause shows the whole message in the pinned scene; the skip link always remains usable. */
.drama-paused .drama-wall,.drama-paused .drama-crack,.drama-paused .drama-speed,.drama-paused .drama-route{display:none}.drama-paused .drama-beats{display:grid;grid-template-columns:1fr 1fr;height:auto;gap:25px}.drama-paused .drama-beat{position:static;opacity:1!important;transform:none!important}.drama-paused .beat-head{font-size:clamp(22px,2.4vw,35px);margin-bottom:10px}.drama-paused .beat-number{margin-bottom:10px}.drama-paused .beat-caption{font-size:12px}.motion-off .drama-reveal-ready{opacity:1!important;transform:none!important}
@media(max-width:760px){.hero-drama{scroll-margin-top:69px}.drama-stage{padding-block:50px}.drama-beats{grid-template-columns:1fr}.beat-head{font-size:27px}.drama-enhanced{height:350svh}.drama-enhanced .drama-stage{top:69px;height:calc(100svh - 69px);min-height:480px}.drama-enhanced .drama-story{padding-top:55px;padding-bottom:65px}.drama-enhanced .drama-kicker{top:25px;font-size:9px;left:22px}.drama-enhanced .drama-beats{height:270px}.drama-enhanced .beat-head{font-size:clamp(27px,6.7vw,43px);max-width:none;line-height:1.7}.drama-enhanced .beat-caption{font-size:12px;max-width:30ch}.drama-enhanced .drama-bottom{left:22px;right:22px;bottom:60px;font-size:8px;letter-spacing:0}.drama-bottom>span{max-width:17ch}.drama-bottom a{font-size:10px;padding:10px}.drama-enhanced .drama-timeline{left:22px;right:22px;bottom:28px}.drama-route{width:120%!important;right:-30%!important}.wall-word-1{top:12%;font-size:28px}.wall-word-2,.wall-word-3{font-size:22px}.drama-motion-control{bottom:12px;right:12px;font-size:10px;padding:8px 10px}.drama-paused .drama-beats{height:auto;gap:15px}.drama-paused .beat-head{font-size:18px;line-height:1.6}.drama-paused .beat-number{font-size:8px;margin-bottom:6px}.drama-paused .beat-caption{font-size:10px}.drama-paused .drama-bottom>span{display:none}.drama-paused .drama-bottom{bottom:55px}.drama-paused .drama-story{padding-top:65px}}
@media(max-height:650px) and (min-width:761px){.drama-enhanced .beat-head{font-size:42px}.drama-enhanced .drama-beats{height:260px}.drama-enhanced .drama-stage{min-height:480px}.drama-paused .beat-head{font-size:24px}}
@media(prefers-reduced-motion:reduce){.hero-drama.drama-enhanced{height:auto}.drama-enhanced .drama-stage{position:relative;height:auto;min-height:0;padding-block:50px}.drama-enhanced .drama-story{padding-block:0}.drama-enhanced .drama-title{position:static;width:auto;height:auto;margin:0 0 30px;clip-path:none}.drama-enhanced .drama-kicker{position:static}.drama-enhanced .drama-beats{display:grid;height:auto;grid-template-columns:1fr 1fr;gap:25px}.drama-enhanced .drama-beat{position:static;opacity:1!important;transform:none!important}.drama-enhanced .beat-head{font-size:24px}.drama-enhanced .drama-bottom{position:static;margin-top:30px}.drama-wall,.drama-crack,.drama-speed,.drama-route,.drama-timeline,.drama-motion-control{display:none!important}.drama-reveal-ready{opacity:1!important;transform:none!important;transition:none!important}}
@media print{.hero-drama.drama-enhanced{height:auto}.drama-enhanced .drama-stage{position:static;height:auto;min-height:0;padding:20px 0}.drama-enhanced .drama-beats{display:grid;height:auto}.drama-enhanced .drama-beat{position:static;opacity:1!important;transform:none!important}.drama-enhanced .beat-head{font-size:24px}.drama-world,.drama-bottom,.drama-timeline,.drama-motion-control{display:none!important}.drama-enhanced .drama-kicker{position:static}.drama-enhanced .drama-story{padding:0}.drama-reveal-ready{opacity:1!important;transform:none!important}}
.drama-enhanced .drama-beats{height:400px;overflow:clip}.drama-enhanced .drama-beat{height:100%}.drama-paused .drama-beats{height:auto;overflow:visible}
@media(max-width:760px){.drama-enhanced .drama-beats{height:290px}.drama-paused .drama-beats{height:auto}}
@media(prefers-reduced-motion:reduce){.drama-enhanced .drama-beats{height:auto;overflow:visible}}
@media print{.drama-enhanced .drama-beats{height:auto;overflow:visible}}
.drama-enhanced .beat-head{max-width:none}.drama-enhanced .beat-head strong{white-space:nowrap}
@media(max-width:760px){.drama-paused .beat-head strong{white-space:normal}}
@media(max-width:760px){.drama-paused .drama-beats{grid-template-columns:1fr;gap:15px}.drama-paused .beat-head{font-size:18px;margin-bottom:5px}.drama-paused .beat-head br{display:none}.drama-paused .beat-head strong{white-space:nowrap}.drama-paused .beat-caption{max-width:none;font-size:10px}.drama-paused .drama-story{padding-top:50px}}
/* HERO arrival: a trail arrives first, the message follows, then rests for reading. */
.hero-arrival{position:relative;isolation:isolate}.arrival-line{display:block;position:relative}
.motion-enabled .hero-arrival.drama-reveal-ready{transition:none;transform:none;filter:none;opacity:1}
.motion-enabled .hero-arrival:not(.drama-seen) .arrival-line{opacity:.16;transform:translate3d(-90px,12px,0) skewX(-7deg)}
.motion-enabled .hero-arrival.drama-seen .arrival-line{animation:hero-message-arrive .85s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--line-delay,0ms)}
.hero-arrival:before,.hero-arrival:after{content:'';position:absolute;z-index:-1;pointer-events:none;opacity:0;transform-origin:left center}
.hero-arrival:before{width:min(90%,460px);height:3px;left:-55px;top:48%;background:linear-gradient(90deg,transparent,#e11d48 55%,#ff6b3d);box-shadow:0 -10px 0 #e11d4820,0 12px 0 #ff6b3d20}
.hero-arrival:after{left:-45px;top:10%;height:80%;width:90px;background:repeating-linear-gradient(-12deg,transparent 0 14px,#e11d4845 15px 16px,transparent 17px 29px);clip-path:polygon(0 0,100% 24%,100% 100%,0 76%)}
.motion-enabled .hero-arrival.drama-seen:before{animation:hero-trail .75s cubic-bezier(.16,1,.3,1) both}.motion-enabled .hero-arrival.drama-seen:after{animation:hero-wake .7s ease-out both}
@keyframes hero-message-arrive{0%{opacity:.1;transform:translate3d(-120px,12px,0) skewX(-9deg);filter:blur(2px)}55%{opacity:1;transform:translate3d(5px,0,0) skewX(1deg);filter:blur(0)}100%{opacity:1;transform:translate3d(0,0,0) skewX(0);filter:none}}
@keyframes hero-trail{0%{opacity:0;transform:translateX(-100px) scaleX(.1)}25%{opacity:.85}65%{opacity:.35;transform:translateX(30px) scaleX(1)}100%{opacity:0;transform:translateX(100px) scaleX(.35)}}
@keyframes hero-wake{0%{opacity:0;transform:translateX(-70px) skewX(-12deg)}30%{opacity:.7}100%{opacity:0;transform:translateX(40px) skewX(0)}}
.motion-off .arrival-line{opacity:1!important;transform:none!important;filter:none!important;animation:none!important}.motion-off .hero-arrival:before,.motion-off .hero-arrival:after{display:none}
@media(max-width:760px){.motion-enabled .hero-arrival:not(.drama-seen) .arrival-line{transform:translate3d(-35px,8px,0) skewX(-5deg)}.hero-arrival:before{left:-22px;width:90%}.hero-arrival:after{left:-20px;width:55px}.motion-enabled .hero-arrival.drama-seen .arrival-line{animation-name:hero-message-arrive-mobile}.drama-enhanced .beat-head{font-size:clamp(23px,6.4vw,43px)}.drama-paused .beat-head{font-size:18px}}
@keyframes hero-message-arrive-mobile{0%{opacity:.1;transform:translate3d(-45px,8px,0) skewX(-6deg);filter:blur(1px)}60%{opacity:1;transform:translate3d(3px,0,0);filter:none}100%{opacity:1;transform:none;filter:none}}
@media(prefers-reduced-motion:reduce){.arrival-line{opacity:1!important;transform:none!important;filter:none!important;animation:none!important}.hero-arrival:before,.hero-arrival:after{display:none!important}}
@media print{.arrival-line{opacity:1!important;transform:none!important;filter:none!important;animation:none!important}.hero-arrival:before,.hero-arrival:after{display:none!important}}
.motion-enabled .arrival-support{transition:opacity .65s ease,transform .75s cubic-bezier(.16,1,.3,1);transition-delay:var(--support-delay,160ms)}.motion-enabled .arrival-support:not(.drama-seen){opacity:.18;transform:translate3d(-28px,0,0)}.motion-enabled .arrival-support.drama-seen{opacity:1;transform:none}.motion-off .arrival-support{opacity:1!important;transform:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.arrival-support{opacity:1!important;transform:none!important;transition:none!important}}
@media print{.arrival-support{opacity:1!important;transform:none!important;transition:none!important}}
/* Navigation jumps directly to its chapter; motion belongs to the message itself. */
html{scroll-behavior:auto}
.drama-enhanced:not(.drama-in-view) .wall-piece,.drama-enhanced:not(.drama-in-view) .drama-beat{will-change:auto}
.hero-arrival{scroll-margin-top:110px}
