.approach-story{padding:0}.approach-stage{padding:80px 7%;overflow:hidden}.approach-scene{margin:60px 0}
.approach-scene h2,.approach-scene h3{font-size:clamp(34px,5.2vw,78px);font-weight:400;line-height:1.13;letter-spacing:-.04em;margin:0;max-width:1150px}
.approach-number{display:block;color:var(--accent);font-size:12px;letter-spacing:.13em;margin-bottom:28px}
.approach-scene p{font-size:clamp(16px,1.5vw,22px);line-height:1.6;max-width:720px;margin:28px 0 0;color:#ddd}
.approach-track,.approach-hint{display:none}.approach-story.is-animated{height:480svh}
.is-animated .approach-stage{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;justify-content:center;padding:10svh 7%}
.is-animated .approach-scenes{display:grid;align-items:center;flex:1;min-height:0}.is-animated .approach-scene{grid-area:1/1;margin:0;will-change:transform,opacity;pointer-events:none}
.is-animated .approach-track{display:block;height:1px;background:#ffffff30;margin-top:30px}.approach-track span{display:block;width:100%;height:2px;background:var(--accent);transform:scaleX(var(--approach-progress,0));transform-origin:left}
.is-animated .approach-hint{display:block;font-size:10px;letter-spacing:.15em;margin:18px 0 0;color:#bbb}
@media(max-width:700px){.approach-story.is-animated{height:440svh}.is-animated .approach-stage{padding:9svh 6%}.approach-scene h2,.approach-scene h3{font-size:clamp(29px,8vw,48px)}.approach-number{font-size:10px;line-height:1.6}}
