/* Piece-by-piece assembly, driven by native scroll distance. */
.story-intro{padding:65px 0 50px;border-top:1px solid #ffffff18}
.story-intro h3{font:600 clamp(2.7rem,6.8vw,6.8rem)/.98 Rajdhani,Inter,sans-serif;max-width:1050px;letter-spacing:-.055em;margin:18px 0 24px;text-transform:uppercase}
.story-intro h3 em{color:#ff7a18;font-style:normal}.story-intro>p{color:#b7b7bf;max-width:620px;line-height:1.7}.story-skip,.story-next{display:inline-flex;align-items:center;padding:15px 0;color:#ff922f;min-height:48px}.story-jumps{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.story-jumps a{padding:12px 18px;border:1px solid #ffffff30;border-radius:24px;font-size:14px;min-height:44px}.story-jumps a:hover{border-color:#ff922f;color:#ff922f}
#featuredProjects{display:block}.story-chapter{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(24px,5vw,85px);border-top:1px solid #ffffff20;padding:48px 0 20px;scroll-margin-top:110px}
.story-scene{position:sticky;top:110px;align-self:start;height:min(690px,calc(100svh - 145px));min-height:390px;display:flex;flex-direction:column;overflow:hidden;border:1px solid #ffffff20;border-radius:24px;background:radial-gradient(ellipse at 50% 60%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 70%),#090b0f;transition:border-color .3s}
.is-assembled .story-scene{border-color:color-mix(in srgb,var(--accent) 65%,transparent)}.story-scene-top{display:flex;justify-content:space-between;padding:21px 23px;font:600 11px Rajdhani,Inter,sans-serif;letter-spacing:.14em;color:#b5b7bf}.story-scene-top b{color:var(--accent)}.story-scene h3{font:600 clamp(30px,4.2vw,60px)/1 Rajdhani,Inter,sans-serif;letter-spacing:-.03em;margin:0 23px 10px}.assembly-status{font:500 10px Inter,sans-serif;letter-spacing:.08em;color:var(--accent);margin:0 23px;line-height:1.5;min-height:15px}
.story-art{position:relative;flex:1;min-height:0;display:grid;place-items:center;overflow:hidden;padding:8px}.assembly-svg{position:absolute;inset:0;width:100%;height:100%;min-height:0;overflow:visible;color:var(--accent)}.assembly-piece{transform-box:fill-box;transform-origin:center}.assembly-ready .assembly-piece{--part:0;opacity:var(--part);transform:translate(calc(var(--dx)*(1 - var(--part))),calc(var(--dy)*(1 - var(--part)))) rotate(calc(var(--angle)*(1 - var(--part)))) scale(calc(.92 + var(--part)*.08))}
.story-stages{display:flex;gap:6px;padding:8px 23px;list-style:none;margin:0}.story-stages li{flex:1;height:3px;background:#ffffff25;transition:background .2s}.story-stages li.is-current{background:var(--accent)}.story-scene-caption{display:flex;justify-content:space-between;gap:12px;padding:8px 23px 19px;color:#9ea3af;font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.story-narrative{min-width:0}.story-beat{min-height:70svh;display:flex;flex-direction:column;justify-content:center;padding:45px 0;opacity:.4;transition:opacity .25s}.story-beat.is-current,.story-beat:first-child{opacity:1}.story-beat small{font:600 12px Rajdhani,Inter,sans-serif;color:var(--accent);letter-spacing:.15em}.story-beat h4{font:600 clamp(27px,3.2vw,43px)/1.1 Rajdhani,Inter,sans-serif;margin:16px 0 20px;letter-spacing:-.025em}.story-beat p{font-size:16px;color:#c1c4cd;line-height:1.8;margin:0 0 20px;max-width:540px}.story-beat .featured-open{margin-top:16px;align-self:flex-start;min-height:48px}.story-next{font-size:13px;color:var(--accent);align-self:flex-start}.story-chapter.compact .story-beat{min-height:55svh}.story-outro{padding:85px 0;text-align:center;scroll-margin-top:110px}.story-outro h3{font:600 clamp(32px,5vw,64px)/1.05 Rajdhani,Inter,sans-serif}.story-outro a{display:inline-flex;padding:18px 28px;background:#ff7a18;color:#080808;border-radius:8px;font-weight:700;margin-top:24px;min-height:48px}
@media(max-width:980px){.story-chapter{gap:25px}.story-scene{top:100px;min-height:350px}.story-scene h3{font-size:37px}.story-beat p{font-size:15px}}
@media(max-width:640px){.story-intro{padding:35px 0}.story-intro h3{font-size:43px}.story-chapter{display:block;padding:24px 0 12px;scroll-margin-top:82px}.story-scene{position:sticky;top:78px;z-index:3;height:clamp(275px,43svh,370px);min-height:0;border-radius:16px;background:#090b0f;box-shadow:0 -18px 0 #050506,0 12px 24px #0008}.story-scene-top{padding:12px 15px;font-size:9px}.story-scene h3{font-size:29px;margin:0 15px 5px}.assembly-status{font-size:8px;margin:0 15px}.story-art{padding:3px}.story-stages{padding:4px 15px}.story-scene-caption{padding:5px 15px 12px;font-size:7px}.story-beat,.story-chapter.compact .story-beat{min-height:72svh;padding:28px 5px 60px;justify-content:center;opacity:1}.story-beat h4{font-size:29px;margin:12px 0}.story-beat p{font-size:16px;line-height:1.65}.story-beat .featured-open{align-self:stretch}.story-outro{padding:45px 0}.story-jumps a{font-size:13px}}
@media(max-height:550px){.story-scene{position:relative;top:auto;min-height:300px}.assembly-ready .assembly-piece{opacity:1;transform:none}.story-beat,.story-chapter.compact .story-beat{min-height:0;padding:25px 0;opacity:1}}
@media(prefers-reduced-motion:reduce){.story-scene{position:relative;top:auto;box-shadow:none}.assembly-ready .assembly-piece{opacity:1;transform:none}.story-beat,.story-chapter.compact .story-beat{opacity:1;transition:none;min-height:0;padding:28px 0}.story-scene,.story-stages li{transition:none}}

/* clip preserves viewport scrolling and sticky scenes; modal locking stays intact. */
body:not(.case-open){overflow-x:clip}

.assembly-mobile-copy{display:none}
@media(max-width:640px) and (min-height:551px) and (prefers-reduced-motion:no-preference){
 .assembly-ready .story-scene{height:calc(100svh - 180px);min-height:430px;max-height:720px;isolation:isolate}
 .assembly-ready .assembly-mobile-copy{display:block;padding:8px 17px 12px;flex-shrink:0}
 .assembly-mobile-copy small{color:var(--accent);font-size:10px;letter-spacing:.12em}
 .assembly-mobile-copy h4{font:600 25px/1.05 Rajdhani,Inter,sans-serif;margin:9px 0}
 .assembly-mobile-copy p{color:#c1c4cd;font-size:14px;line-height:1.5;margin:0;min-height:105px}
 .assembly-mobile-copy .featured-open{font-size:11px;margin-top:8px;min-height:44px;width:100%;display:none}
 .is-assembled .assembly-mobile-copy .featured-open{display:flex}
 .assembly-ready .story-narrative{margin-top:calc(-100svh + 180px)}
 .assembly-ready .story-beat{min-height:70svh;opacity:0;pointer-events:none}
 .assembly-ready .story-beat .featured-open,.assembly-ready .story-beat .story-next{visibility:hidden}
 .assembly-ready .story-art{min-height:130px}
}

@media(max-width:640px) and (min-height:551px) and (max-height:650px) and (prefers-reduced-motion:no-preference){
 .assembly-ready .story-scene{height:calc(100svh - 160px);min-height:0}
 .assembly-ready .story-art{min-height:90px}
 .story-scene-top{padding:8px 15px}.story-scene h3{font-size:24px}
 .assembly-mobile-copy h4{font-size:20px;margin:6px 0}
 .assembly-mobile-copy p{font-size:12px;line-height:1.35;min-height:0}
 .assembly-mobile-copy .featured-open{min-height:36px;margin-top:4px}
 .story-scene-caption{padding-bottom:8px}
}
