.heat-story{background:#091e2b;color:#edf8ff;position:relative}.heat-stage{position:relative;min-height:720px;overflow:hidden;background:radial-gradient(ellipse at 78% 60%,#12485980,transparent 60%),linear-gradient(120deg,#0b2334,#081b29)}.heat-story.is-scroll{height:340vh}.heat-story.is-scroll .heat-stage{position:sticky;top:0;height:100vh;min-height:560px}.heat-top{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px max(24px,calc((100vw - 1240px)/2));border-bottom:1px solid #71abb52c;font-size:11px;letter-spacing:.09em;z-index:2;background:#0a2235d9}.heat-top>div{display:flex;gap:25px}.heat-top a{color:#c6e8ec;letter-spacing:0;text-decoration:underline;text-underline-offset:4px}.heat-dot{color:#52cccf;margin:0 12px}.heat-copy{position:absolute;top:105px;left:max(24px,calc((100vw - 1240px)/2));z-index:1;max-width:650px;pointer-events:none}.heat-kicker{color:#6dd1d0;font-size:10px;font-weight:700;letter-spacing:.18em;margin-bottom:16px}.heat-copy h1{font-size:clamp(34px,4.3vw,62px);line-height:1.05;letter-spacing:-.04em;margin:0 0 15px;max-width:650px}.heat-description{color:#adcad8;font-size:16px;max-width:500px;line-height:1.6}.heat-visual{position:absolute;left:0;right:0;bottom:80px;height:65%;pointer-events:none}.heat-svg{height:100%;width:100%;display:block}.heat-bottom{position:absolute;bottom:26px;left:max(24px,calc((100vw - 1240px)/2));right:max(24px,calc((100vw - 1240px)/2));display:flex;justify-content:space-between;gap:20px;align-items:center}.heat-steps{display:flex;gap:30px;color:#91b1c2;font-size:12px}.heat-steps .is-current{color:#ffd39d}.heat-hint{margin:0;color:#a9cbd3;font-size:12px}.heat-track{position:absolute;bottom:0;left:0;width:100%;height:3px;background:#ffffff15}.heat-track>div{height:100%;width:0;background:linear-gradient(90deg,#189de2,#50cccb,#ffbd65)}.heat-noscript{position:absolute;bottom:70px;padding:20px;font-size:14px}.heat-story.is-static .heat-stage{min-height:680px}.heat-story .heat-world{will-change:transform}#heat-information{scroll-margin-top:20px}.high-contrast .heat-stage{background:#000}.high-contrast .heat-top{background:#000;border-color:#fff}.high-contrast .heat-copy p,.high-contrast .heat-top a,.high-contrast .heat-steps,.high-contrast .heat-hint{color:white}.high-contrast .heat-steps .is-current{color:#ffe45c}
@media(min-width:1000px) and (max-height:760px){.heat-copy{top:84px}.heat-copy h1{font-size:43px}.heat-visual{height:62%;bottom:53px}.heat-bottom{bottom:16px}}
@media(max-width:760px){.heat-story.is-scroll{height:245vh}.heat-story.is-scroll .heat-stage{height:100svh;min-height:570px}.heat-top{padding:17px 18px;font-size:9px;letter-spacing:.02em;align-items:flex-start}.heat-top>span{max-width:120px}.heat-dot{margin:0 4px}.heat-top>div{flex-direction:column;gap:7px;text-align:right}.heat-copy{top:110px;left:22px;right:22px;max-width:none}.heat-kicker{font-size:9px;letter-spacing:.1em}.heat-copy h1{font-size:38px;max-width:380px}.heat-description{font-size:14px;max-width:330px}.heat-visual{height:48%;bottom:100px;left:-12%;right:-12%}.heat-steps{gap:10px;justify-content:space-between;width:100%;font-size:10px}.heat-bottom{left:20px;right:20px;bottom:22px;flex-direction:column;gap:13px}.heat-hint{font-size:11px}.heat-story.is-static .heat-stage{min-height:650px}}
@media(prefers-reduced-motion:reduce){.heat-story.is-scroll{height:auto}.heat-story.is-scroll .heat-stage{position:relative}.heat-world{will-change:auto}}
@media print{.heat-story{display:none}}

/* Real-time 3D layer. Existing SVG stays as an immediate and resilient fallback. */
.heat-three{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0}.heat-three canvas{display:block;width:100%;height:100%}.heat-story.has-webgl .heat-three{opacity:1}.heat-story.has-webgl .heat-visual{visibility:hidden}.heat-story.has-webgl .heat-stage:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#06172499,transparent 54%),linear-gradient(0deg,#061724dd,transparent 17%,transparent 78%,#06172455);z-index:1}.heat-story.has-webgl .heat-copy{z-index:2;max-width:550px}.heat-story.has-webgl .heat-copy h1{max-width:520px;font-size:clamp(36px,4vw,57px);text-shadow:0 2px 15px #051421bb}.heat-story.has-webgl .heat-description{max-width:410px;text-shadow:0 2px 7px #061827}.heat-bottom,.heat-track{z-index:2}.heat-top{z-index:3}.heat-mode{font:inherit;color:#b4dde4;letter-spacing:0;background:#21445580;border:1px solid #4d7985;border-radius:4px;padding:4px 9px;cursor:pointer}.heat-mode:hover{color:#fff;background:#245367}.heat-mode:focus-visible{outline:2px solid #7ad6ee;outline-offset:3px}.heat-top>div{align-items:center}.heat-story.has-webgl .heat-stage{background:#091e2d}
@media(max-width:760px){.heat-story.has-webgl .heat-three{top:225px;bottom:90px}.heat-story.has-webgl .heat-stage:after{background:linear-gradient(0deg,#091e2d,transparent 22%,transparent 55%,#091e2d 73%)}.heat-story.has-webgl .heat-copy{top:96px}.heat-story.has-webgl .heat-copy h1{font-size:34px;max-width:350px}.heat-story.has-webgl .heat-description{font-size:13px;max-width:330px}.heat-top>div{align-items:flex-end;gap:5px}.heat-mode{font-size:9px;padding:3px 6px}.heat-top{padding-block:12px}.heat-kicker{margin-bottom:12px}.heat-story.is-scroll .heat-stage{min-height:640px}}
@media(min-width:761px) and (max-height:700px){.heat-story.has-webgl .heat-copy{top:86px}.heat-story.has-webgl .heat-copy h1{font-size:38px;max-width:430px}.heat-story.has-webgl .heat-description{font-size:14px;max-width:350px}}
.high-contrast .heat-mode{color:#fff;background:#000;border-color:#fff}
