.immersive-story { background:#0101D5; color:#fff; padding:82px 0 88px; }
.story-heading { margin-bottom:44px; }
.story-heading .eyebrow { color:#02D3F1; }
.story-heading h2 { font-size:clamp(34px,4.2vw,62px); letter-spacing:-2px; margin-top:20px; line-height:1.14; }
.story-grid { display:grid; grid-template-columns:1.12fr 1fr; gap:clamp(44px,7vw,112px); align-items:start; }
.story-visual { margin:0; min-width:0; }
.story-image { border-radius:26px; overflow:hidden; background:#fff; }
.story-image img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; object-position:58% 42%; display:block; }
.story-visual figcaption { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-top:20px; }
.story-visual figcaption>span:first-child { font-size:8px; letter-spacing:1.1px; line-height:1.8; max-width:280px; }
.story-count { white-space:nowrap; font-size:12px; font-variant-numeric:tabular-nums; }
.story-count b { font-weight:500; color:#02D3F1; }
.story-progress { display:none; gap:16px; margin-top:25px; }
.story-progress button { flex:1; min-width:0; padding:12px 0; background:transparent; color:#fff; display:flex; align-items:center; gap:12px; font-size:11px; text-align:left; }
.story-progress-line { height:2px; flex:1; background:rgb(255 255 255 / 30%); position:relative; overflow:hidden; }
.story-progress-line::after { content:''; position:absolute; inset:0; background:#02D3F1; transform:scaleX(0); transform-origin:left; transition:transform .6s cubic-bezier(.16,1,.3,1); }
.story-progress button[aria-current] { color:#02D3F1; }
.story-progress button[aria-current] .story-progress-line::after { transform:scaleX(1); }
.story-step { padding:34px 0; scroll-margin-block:130px 40px; }
.story-step+.story-step { border-top:1px solid rgb(255 255 255 / 25%); }
.story-step-copy { max-width:430px; }
.story-step-number { color:#02D3F1; display:block; font-size:13px; margin-bottom:23px; }
.story-step h3 { font-size:clamp(27px,2.7vw,40px); line-height:1.2; letter-spacing:-1.2px; }
.story-step p { color:#fff; font-size:14px; line-height:1.95; margin:24px 0 28px; }
.story-link,.story-secondary-link { display:flex; align-items:center; justify-content:space-between; gap:20px; width:fit-content; font-size:12px; color:#fff; padding-bottom:8px; border-bottom:1px solid #02D3F1; }
.story-link .icon,.story-secondary-link .icon { width:18px; transition:translate .3s; }
.story-link:hover .icon,.story-secondary-link:hover .icon { translate:4px 0; }
.story-secondary-link { margin-top:18px; font-size:11px; border-bottom:0; }
.immersive-story a:focus-visible,.story-progress button:focus-visible { outline:3px solid #02D3F1; outline-offset:5px; }
@media(min-width:960px) and (min-height:660px) and (prefers-reduced-motion:no-preference) {
  .story-enhanced .story-visual { position:sticky; top:126px; }
  .story-enhanced .story-image img { height:clamp(300px,calc(100svh - 284px),610px); aspect-ratio:auto; }
  .story-enhanced .story-progress { display:flex; }
  .story-enhanced .story-step { min-height:68svh; display:flex; align-items:center; padding:56px 0; }
  .story-enhanced .story-step:first-child { padding-top:20px; }
  .story-enhanced .story-step:last-child { padding-bottom:20px; }
}
@media(max-width:959px) {
  .immersive-story { padding:54px 0 60px; }
  .story-grid { grid-template-columns:1fr; gap:22px; }
  .story-heading { margin-bottom:32px; }
  .story-heading h2 { font-size:clamp(34px,6vw,48px); letter-spacing:-1.4px; }
  .story-image img { aspect-ratio:16/10; max-height:460px; }
  .story-count { display:none; }
  .story-step { padding:30px 0; }
  .story-step-copy { max-width:650px; }
  .story-step-number { margin-bottom:15px; }
  .story-step p { margin:18px 0 22px; font-size:13px; }
}
@media(max-width:550px) {
  .immersive-story { padding:42px 0; }
  .story-image { border-radius:18px; }
  .story-visual figcaption>span:first-child { font-size:7px; }
  .story-step h3 { font-size:29px; }
}
@media(prefers-reduced-motion:reduce) {
  .story-progress-line::after,.story-link .icon,.story-secondary-link .icon { transition:none; }
  .story-count { display:none; }
}
