/* One visible cause and effect per chapter; no forced scroll runway. */
.case{height:auto;scroll-margin-top:76px}
.case__sticky{position:relative;top:auto;min-height:660px;height:auto;grid-template-columns:55% 45%;overflow:visible}
.case__visual{background:transparent;border-right:0;min-height:560px;overflow:hidden}
.case__visual:before{display:none}
.case__story{background:transparent;padding:66px 5vw 50px;min-width:0}
.case__story .eyebrow{font-size:9px;letter-spacing:.1em;margin-bottom:20px}
.case__story h2{font-size:clamp(32px,3vw,49px);line-height:1.3;margin-bottom:17px}
.case__question{font-size:17px;line-height:1.85;margin-bottom:13px;font-weight:500}
.case__lead{font-size:12px;line-height:1.95;max-width:480px}
.case__visual-caption{display:none}
.case__beats{flex:none;min-height:145px;margin-top:18px}
.beat b{font-size:9px;margin-bottom:8px}.beat h3{font-size:19px;line-height:1.6;margin-bottom:8px}.beat p{font-size:12px;line-height:1.85}
.case__tech{margin-top:auto;align-self:flex-start}.case__next{margin-top:24px;font-size:10px;padding-top:16px}
.case__visual .scene-canvas,.service-concept .scene-canvas{position:absolute;top:90px;left:0;right:0;bottom:122px;width:100%;height:calc(100% - 212px)}
.case__visual .visual__top,.service-concept .visual__top{top:42px;left:8%;right:8%;font-size:12px;letter-spacing:0}
.visual__badge{border:0;border-radius:0;padding:0;color:#8290a2;font-size:9px;font-weight:400}
.concept-controls{position:absolute;left:8%;right:8%;bottom:33px;z-index:2}
.concept-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;border-top:1px solid #414956;padding-top:10px}
.concept-step{border:0;background:transparent;padding:7px 0;color:#8290a2;text-align:left;font:inherit;font-size:11px;line-height:1.6;cursor:pointer}
.concept-step:before{content:attr(data-number);display:block;font-size:8px;color:#8290a2;margin-bottom:4px}
.concept-step[aria-pressed=true],.concept-step[aria-pressed=true]:before{color:#ffcc66}
.concept-step:hover{color:#e6e1cf}
.concept-playback{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px;min-height:31px}
.concept-progress{height:1px;background:#414956;width:80px;overflow:hidden;margin-right:auto}.concept-progress span{height:100%;display:block;width:0;background:#ffcc66;transform-origin:left}
.concept-pause,.concept-playback .scene-replay{font:inherit;font-size:10px;color:#b4bac3;border:0;border-radius:0;background:none;padding:5px 0;min-height:30px;cursor:pointer}
.concept-pause:disabled,.concept-playback .scene-replay:disabled{opacity:.45;cursor:default}
.concept-pause:hover,.concept-playback .scene-replay:hover{color:#ffcc66}
.concept-controls button:focus-visible{outline:2px solid #ffcc66;outline-offset:4px}
.concept-static{padding:160px 8% 110px;color:#b4bac3;font-size:16px;line-height:2}
html.js .concept-static{display:none}html:not(.js) .concept-controls{display:none}
.contact{background:#242a3670}
.service-concept{--line:#414956;--gold:#ffcc66;--muted:#b4bac3;--muted2:#8290a2;position:relative;display:grid;grid-template-columns:1.1fr 1fr;width:min(1320px,90%);margin:0 auto 90px;border-block:1px solid #414956;color:#e6e1cf}
.service-concept .case__visual{position:relative;min-height:560px}
.service-concept__story{padding:70px 30px 50px 5vw;display:flex;flex-direction:column;min-width:0}
.service-concept__story h2{font-size:clamp(28px,3vw,43px);line-height:1.5;font-weight:500;letter-spacing:-.04em;margin:17px 0 22px}
.service-concept__story>p{color:#b4bac3;font-size:13px;line-height:2;max-width:460px;margin:0}
.service-concept .case__beats{margin-top:20px;min-height:145px}
.service-concept .beat{position:absolute;top:50%;left:0;right:0;opacity:0;transform:translateY(-40%);pointer-events:none;transition:opacity .3s,transform .3s}
.service-concept .beat.active{opacity:1;transform:translateY(-50%)}
.service-concept .beat b{color:#ffcc66;display:block}.service-concept .beat h3{color:#e6e1cf;font-size:19px;font-weight:500;letter-spacing:0;margin:0 0 10px}.service-concept .beat p{color:#b4bac3;margin:0}
.service-concept .case__beats{position:relative}.service-concept .eyebrow{color:#ffcc66;font-size:10px}
html:not(.js) .case__sticky{position:relative;min-height:0}html:not(.js) .case__visual{min-height:260px}
html:not(.js) .case__beats{height:auto;min-height:0}html:not(.js) .beat,html:not(.js) .service-concept .beat{position:relative;opacity:1;transform:none;margin-block:24px;pointer-events:auto}
@media(max-width:1100px) and (min-width:761px){.case__sticky{grid-template-columns:53% 47%;min-height:640px}.case__story{padding:56px 32px 43px}.case__question{font-size:15px}.case__story h2{font-size:34px}.case__visual .visual__top{font-size:11px;left:6%;right:6%}.concept-controls{left:6%;right:6%}.concept-step{font-size:10px}.service-concept__story{padding:60px 22px 45px 24px}}
@media(max-width:760px){
 .case{height:auto;scroll-margin-top:64px}.case__sticky{display:flex;flex-direction:column;position:relative;top:auto;height:auto;min-height:0;overflow:visible}
 .case__visual{height:390px;min-height:390px;flex:none;border:0}.case__visual .scene-canvas,.service-concept .scene-canvas{top:49px;bottom:111px;height:calc(100% - 160px)}
 .case__visual .visual__top,.service-concept .visual__top{top:20px;left:6%;right:6%;font-size:11px}.visual__badge{font-size:8px}
 .concept-controls{left:6%;right:6%;bottom:16px}.concept-steps{gap:12px;padding-top:6px}.concept-step{font-size:11px;padding-top:5px}.concept-step:before{font-size:8px;margin-bottom:1px}.concept-playback{margin-top:5px}.concept-pause,.concept-playback .scene-replay{font-size:10px}.concept-progress{width:45px}
 .case__story{height:auto;min-height:0;padding:20px 6% 45px}.case__story .eyebrow{font-size:9px;margin-bottom:14px}.case__question{font-size:16px;margin-bottom:12px}.case__story h2{font-size:34px;margin-bottom:16px}.case__lead{font-size:12px;line-height:1.9}.case__beats{flex:none;min-height:139px;margin-top:10px}.beat h3{font-size:18px;line-height:1.6}.beat p{font-size:12px;line-height:1.85}.beat b{font-size:9px}.case__next{margin-top:20px;font-size:10px;padding-top:14px}.case__tech{font-size:11px}
 .service-concept{width:88%;display:block;margin-bottom:60px}.service-concept .case__visual{height:380px;min-height:380px}.service-concept__story{padding:18px 0 40px}.service-concept__story h2{font-size:29px;margin:10px 0 18px}.service-concept__story>p{font-size:12px}.service-concept .case__beats{min-height:145px;margin-top:10px}.concept-static{font-size:13px;padding:80px 6% 30px}
}
@media(prefers-reduced-motion:reduce){.beat,.service-concept .beat{transition:none}}
