@font-face{font-family:Switzer;src:url('assets/fonts/Switzer-Regular.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:Switzer;src:url('assets/fonts/Switzer-Medium.otf') format('opentype');font-weight:500;font-display:swap}
@font-face{font-family:Switzer;src:url('assets/fonts/Switzer-Bold.otf') format('opentype');font-weight:700;font-display:swap}
:root{--blue:#009ee2;--ink:#111214;--gray:#686c70;--rule:#e2e5e7;--gutter:clamp(24px,4.6vw,88px);--ease:cubic-bezier(.22,1,.36,1)}
/* Shared, script-free HTML illustrations retain their supplied aspect ratio. */
.knowledge-illustration{margin:0;min-width:0}
.illustration-frame{display:block;width:100%;height:auto;border:0;background:#fff;overflow:hidden}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:#fff;color:var(--ink);font-family:Switzer,Arial,sans-serif;-webkit-font-smoothing:antialiased}body.story-locked{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:6px}em{font-style:normal;color:var(--blue)}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}button[hidden],[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0)}
.site-header{height:96px;padding:0 var(--gutter);position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;transition:background .4s,box-shadow .4s}.site-header.scrolled{background:#ffffffdf;backdrop-filter:blur(18px);box-shadow:0 1px 0 #00000008}.brand{display:inline-flex;align-items:center}.brand img{width:169px;height:auto}.site-header nav{display:flex;align-items:center;gap:36px;font-size:14px}.site-header nav a{position:relative;padding:12px 0}.site-header nav a:not(.nav-contact):after{content:'';position:absolute;bottom:4px;left:0;right:0;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .3s}.site-header nav a:hover:after,.site-header nav a.active:after{transform:scaleX(1)}.site-header nav .nav-contact{margin-left:14px;padding:11px 20px;border:1px solid #d4d8da;border-radius:40px}.nav-contact span{margin-left:20px}.menu-toggle{display:none}.skip-link{position:fixed;top:-80px;left:20px;z-index:99;padding:14px;background:white}.skip-link:focus{top:10px}
.story{height:100svh;min-height:660px;position:relative;overflow:hidden;background:white;isolation:isolate;touch-action:pan-x pinch-zoom}.scene{position:absolute;inset:0;z-index:-2}.scene canvas{display:block;width:100%;height:100%}.scene-wash{position:absolute;inset:0;background:linear-gradient(90deg,white 0%,#fffffffa 17%,#ffffffd9 26%,#ffffff00 45%);opacity:0;transition:opacity .9s}.story[data-stage='2'] .scene-wash,.story[data-stage='3'] .scene-wash{opacity:1}.story-copy{position:absolute;left:var(--gutter);top:26%;width:32%;max-width:560px;transition:opacity .38s,transform .7s var(--ease)}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.16em;line-height:1.5}.story-copy .eyebrow{margin-bottom:28px;color:#676b70}.story-copy h1,.story-copy h2{font-size:clamp(34px,3.05vw,58px);line-height:1.08;letter-spacing:-0.042em;text-wrap:balance}.story[data-stage='0'] .story-copy{top:24%;width:75%;max-width:1100px}.story[data-stage='0'] h1{font-size:clamp(46px,5.8vw,106px);line-height:1.035;letter-spacing:-0.049em}.line{display:block}.story-copy .subline{font-size:clamp(16px,1.2vw,20px);line-height:1.5;color:#5c6267;max-width:450px;margin-top:26px;letter-spacing:-0.004em}.story-copy .count{font-size:clamp(80px,10vw,175px);letter-spacing:-0.072em;line-height:1.04;display:block;color:var(--blue);font-variant-numeric:tabular-nums}.story[data-stage='1'] .story-copy{top:25%;width:40%;max-width:640px}.story[data-stage='1'] h1{font-size:clamp(35px,3.6vw,66px)}.story[data-stage='3'] h2{font-size:clamp(31px,2.9vw,54px)}.story[data-stage='4'] .story-copy,.story[data-stage='5'] .story-copy{top:20%;width:31%}.story[data-stage='5'] h2{font-size:clamp(28px,2.55vw,46px)}.story[data-stage='5'] .subline{font-size:16px;line-height:1.45;margin-top:18px}.story[data-stage='6'] .story-copy{top:25%;width:30%}.story[data-stage='7'] .story-copy{top:14%;left:50%;transform:translateX(-50%);width:80%;max-width:1050px;text-align:center}.story[data-stage='7'] h2{font-size:clamp(30px,3.35vw,60px)}.story[data-stage='7'] .eyebrow{margin-bottom:14px}.story[data-stage='7'] .subline{max-width:760px;margin:18px auto 0;font-size:17px;line-height:1.4}.story-copy.leaving{opacity:0;translate:0 -10px}.reveal-part{animation:reveal .85s var(--ease) both;animation-delay:calc(var(--i,0)*85ms)}@keyframes reveal{from{opacity:0;transform:translateY(18px);clip-path:inset(100% 0 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0)}}
.story-bottom{position:absolute;left:var(--gutter);right:var(--gutter);bottom:48px;display:flex;align-items:center;justify-content:space-between;gap:24px}.step-info{display:flex;align-items:center;gap:15px;font-size:13px;min-width:230px}.step-info>span:first-child{color:var(--blue);font-variant-numeric:tabular-nums}.step-divider{height:22px;width:1px;background:#ccd1d4}.story-controls{display:flex;align-items:center;gap:12px}.next-button{border:0;background:var(--ink);color:#fff;border-radius:50px;padding:7px 7px 7px 26px;display:flex;align-items:center;gap:36px;font-size:12px;font-weight:500;letter-spacing:.1em;min-height:52px;transition:background .3s,opacity .3s}.next-button:hover{background:#30363a}.button-arrow{display:grid;place-items:center;background:#fff;color:var(--ink);border-radius:50%;height:38px;width:38px;font-size:21px;font-weight:400;letter-spacing:0}.back-button{background:white;border:1px solid #dce0e2;width:44px;height:44px;border-radius:50%;font-size:21px}.back-button:disabled{opacity:0;pointer-events:none}.next-button:disabled{opacity:.55}.gesture-hint{font-size:12px;color:#656b70;text-align:right;min-width:230px}.chapter-track{position:absolute;inset:auto var(--gutter) 24px;height:1px;background:#e6e8ea}.chapter-track span{display:block;height:2px;width:0;background:var(--blue);transition:width .8s var(--ease)}.loading-status{position:absolute;bottom:110px;left:50%;transform:translateX(-50%);font-size:12px;color:#666;background:#ffffffe8;border-radius:20px;padding:7px 15px;white-space:nowrap}.loading-status:empty{display:none}.skip-story{position:absolute;right:var(--gutter);top:116px;font-size:12px;color:#656b70;border:0;background:#ffffffb3;border-radius:20px;padding:7px 10px}.skip-story:hover{color:var(--ink)}
.segment-list{position:absolute;top:43%;left:var(--gutter);width:29%;max-width:450px}.segment-row{border-bottom:1px solid var(--rule);padding:12px 0;opacity:0;transform:translateY(12px);transition:opacity .55s,transform .65s var(--ease)}.segment-row.visible{opacity:1;transform:none}.segment-label{display:flex;gap:18px;align-items:baseline;font-size:16px}.segment-number{font-size:43px;font-weight:500;letter-spacing:-0.047em;width:87px;color:var(--blue);line-height:1.15}.segment-number small{font-size:23px;font-weight:400}.story[data-stage='5'] .segment-list{top:53%}.story[data-stage='5'] .segment-row{padding:7px 0}.story[data-stage='5'] .segment-number{font-size:27px}.segment-detail{padding:8px 0 4px 14px;margin:9px 0 0;border-left:2px solid var(--blue)}.segment-toggle{display:flex;align-items:center;justify-content:space-between;background:none;border:0;padding:0;width:100%;text-align:left;font-size:14px;font-weight:500}.tasks{margin-top:12px;display:grid;gap:7px}.tasks>div{display:grid;grid-template-columns:7px 91px 1fr;align-items:center;gap:9px;font-size:12px}.tasks b{font-weight:500}.tasks>div>span:last-child{color:#686c70}.trade-dot{width:5px;height:5px;border-radius:50%;background:var(--blue)}.issue-note{position:absolute;left:var(--gutter);top:68%;width:30%;display:flex;align-items:center;gap:13px;animation:reveal 1s var(--ease) both}.verification-mark{border:1px solid #9ddcf7;color:var(--blue);border-radius:50%;display:grid;place-items:center;width:33px;height:33px;flex-shrink:0}.issue-note b{font-size:14px;font-weight:500}.issue-note small{display:block;margin-top:5px;font-size:12px;line-height:1.5;color:#777}
.content-section{padding:140px var(--gutter);scroll-margin-top:40px}.content-section>.eyebrow{color:#6b7175;margin-bottom:33px}.content-section h2{font-size:clamp(40px,4.7vw,86px);line-height:1.07;letter-spacing:-0.042em}.audience{padding-top:170px}.audience h2>span{color:#82878a}.audience-list{margin-top:85px}.audience-list article{display:grid;grid-template-columns:10% 38% 1fr;gap:25px;padding:40px 0;border-top:1px solid var(--rule)}.index{font-size:12px;color:#757c80;letter-spacing:.08em}.audience-list h3{font-size:clamp(24px,2.2vw,36px);line-height:1.16;letter-spacing:-0.022em}.audience-list p{font-size:18px;line-height:1.6;max-width:550px;color:#61666b}.contact{background:#f4f6f7;padding-top:110px;padding-bottom:110px}.contact h2{font-size:clamp(58px,7.2vw,132px);max-width:1200px}.contact-bottom{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-top:65px}.contact-bottom p{font-size:20px;line-height:1.5;color:#62686c;max-width:460px}.demo-button{border:0;background:var(--ink);color:white;padding:20px 26px;border-radius:50px;font-size:16px;display:flex;gap:38px;align-items:center;transition:background .3s}.demo-button:hover{background:#333b3f}.demo-button span{font-size:23px}.contact-note{margin-top:22px;color:#62686c;font-size:15px;text-align:right}.knowledge h2{font-size:clamp(39px,4.3vw,78px)}.knowledge-list{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:70px}.knowledge-list article{padding-top:26px;border-top:1px solid #bfc6ca}.knowledge-list .index{font-size:11px}.knowledge-list h3{font-size:clamp(25px,2.15vw,38px);line-height:1.15;letter-spacing:-0.027em;margin:32px 0 25px}.knowledge-list p{color:#62696e;font-size:17px;line-height:1.55;max-width:370px}footer{border-top:1px solid var(--rule);padding:43px var(--gutter);display:flex;align-items:center;gap:36px;font-size:12px;color:#707579}footer .brand{margin-right:auto}footer .brand img{width:145px}.noscript-note{padding:20px var(--gutter)}
body.story-locked{position:fixed;inset:0;width:100%;height:100svh}
.segment-list{transition:top .8s var(--ease)}.segment-number{transition:font-size .65s var(--ease)}
@media(min-width:1600px){.story-copy{top:28%}.story[data-stage='4'] .segment-list{top:44%}.story[data-stage='5'] .segment-list{top:49%}}
@media(max-width:1000px){.site-header nav{gap:23px}.story-copy h2{font-size:34px}.story[data-stage='3'] h2{font-size:31px}.story-copy .subline{font-size:16px}.gesture-hint{min-width:180px}.story[data-stage='5'] .segment-list{top:58%}.story[data-stage='5'] .subline{font-size:14px}.tasks>div{grid-template-columns:6px 76px 1fr;gap:6px;font-size:11px}.audience-list article{grid-template-columns:6% 38% 1fr}.audience-list p{font-size:16px}.knowledge-list{gap:28px}}
@media(max-width:760px){:root{--gutter:24px}.site-header{height:76px}.brand img{width:145px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:42px;height:42px;border:0;background:white;border-radius:50%}.menu-toggle span{width:21px;height:1px;background:var(--ink);margin:auto;flex-shrink:0}.menu-toggle span:first-child{margin-bottom:0}.menu-toggle span:last-child{margin-top:0}.site-header nav{display:none;position:absolute;top:70px;left:16px;right:16px;padding:24px;background:#fffffff5;backdrop-filter:blur(24px);border:1px solid var(--rule);border-radius:16px;box-shadow:0 20px 60px #0000000a;flex-direction:column;align-items:stretch;gap:9px;font-size:18px}.site-header nav.open{display:flex}.site-header nav .nav-contact{margin:10px 0 0;align-self:flex-start}.story{min-height:720px;height:100svh}.skip-story{top:84px;right:18px;font-size:11px}.story-copy,.story[data-stage='1'] .story-copy,.story[data-stage='4'] .story-copy,.story[data-stage='5'] .story-copy,.story[data-stage='6'] .story-copy{top:140px;left:var(--gutter);width:calc(100% - 48px);max-width:540px}.story[data-stage='0'] .story-copy{top:24%;width:calc(100% - 48px)}.story[data-stage='0'] h1{font-size:clamp(42px,10vw,72px)}.story-copy .eyebrow{font-size:10px;margin-bottom:17px}.story-copy h2,.story[data-stage='3'] h2{font-size:clamp(30px,7.7vw,43px);max-width:500px;line-height:1.06}.story[data-stage='1'] h1{font-size:32px}.story-copy .count{font-size:90px;line-height:1.06;display:inline-block;margin-right:12px}.story[data-stage='1'] .story-copy .line{display:inline}.story[data-stage='1'] .story-copy .line:last-child{display:block}.story-copy .subline{font-size:15px;line-height:1.45;margin-top:17px;max-width:490px}.story[data-stage='3'] .story-copy{top:131px;width:calc(100% - 48px)}.story[data-stage='5'] h2{font-size:28px;max-width:390px}.story[data-stage='5'] .subline{font-size:14px;max-width:500px;line-height:1.4}.story[data-stage='7'] .story-copy{top:128px;left:var(--gutter);width:calc(100% - 48px);transform:none;text-align:left}.story[data-stage='7'] h2{font-size:32px}.story[data-stage='7'] .subline{font-size:15px;margin-top:17px}.story-bottom{bottom:41px;gap:12px;flex-wrap:wrap}.step-info{font-size:11px;min-width:0;max-width:47%;gap:10px}.gesture-hint{display:none}.next-button{gap:21px;min-height:48px;padding-left:21px;font-size:11px}.button-arrow{width:34px;height:34px}.back-button{height:38px;width:38px}.chapter-track{bottom:22px}.loading-status{bottom:100px;font-size:11px}.scene-wash{display:none}.segment-list,.story[data-stage='5'] .segment-list{top:300px;width:calc(100% - 48px);max-width:450px;display:flex;gap:20px}.segment-row{flex:1;min-width:0;padding:10px 0}.segment-label{display:flex;flex-direction:column;gap:5px;font-size:12px}.segment-number{font-size:32px;width:auto}.segment-number small{font-size:18px}.story[data-stage='5'] .segment-list{top:370px;gap:18px}.story[data-stage='5'] .segment-row:first-child{flex:2.5}.story[data-stage='5'] .segment-row:not(:first-child){flex:.7}.story[data-stage='5'] .segment-label{font-size:11px}.segment-detail{padding-left:8px}.segment-toggle{font-size:12px}.tasks{gap:5px}.tasks>div{font-size:10px;grid-template-columns:4px 60px 1fr;gap:5px}.issue-note{display:none}.content-section{padding:90px var(--gutter)}.content-section>.eyebrow{font-size:10px;margin-bottom:24px}.content-section h2{font-size:43px}.audience-list{margin-top:55px}.audience-list article{grid-template-columns:28px 1fr;gap:18px;padding:28px 0}.audience-list h3{font-size:28px}.audience-list p{grid-column:2;font-size:16px;line-height:1.55}.contact h2{font-size:clamp(54px,11vw,78px)}.contact-bottom{display:block;margin-top:35px}.contact-bottom p{font-size:17px}.demo-button{margin-top:32px;font-size:14px;padding:17px 21px;gap:20px;max-width:100%}.contact-note{text-align:left}.knowledge-list{grid-template-columns:1fr;gap:42px;margin-top:45px}.knowledge-list h3{font-size:30px;margin:23px 0 17px}.knowledge-list h3 br{display:none}.knowledge-list p{font-size:16px;max-width:100%}footer{flex-wrap:wrap;gap:24px;font-size:11px}footer .brand{width:100%}footer>a:last-child{margin-left:auto}}
@media(max-height:760px) and (min-width:761px){.story{min-height:610px}.story-copy{top:23%}.story-copy h2{font-size:36px}.story[data-stage='3'] h2{font-size:32px}.story[data-stage='5'] .story-copy{top:18%}.story[data-stage='5'] h2{font-size:30px}.story[data-stage='5'] .subline{font-size:14px;line-height:1.35}.story[data-stage='5'] .segment-list{top:51%}.story[data-stage='5'] .segment-row{padding:5px 0}.story[data-stage='4'] .segment-list{top:43%}.segment-number{font-size:34px}.segment-row{padding:9px 0}.story-copy .subline{font-size:15px}.story-bottom{bottom:38px}.chapter-track{bottom:19px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(max-width:760px){.story{min-height:0}.tasks>div{font-size:12px;grid-template-columns:4px 72px 1fr}.story[data-stage='5'] .segment-label{font-size:12px}.segment-toggle{font-size:13px}.tasks>div>span:last-child{line-height:1.25}.story-bottom{flex-wrap:nowrap}.step-info{min-width:0;max-width:none;flex:1;gap:8px}.story-controls{flex-shrink:0}.next-button{gap:12px}.step-info>span:last-child{min-width:0;overflow-wrap:anywhere}}
@media(max-width:760px) and (max-height:759px){
  .story-copy,.story[data-stage='1'] .story-copy,.story[data-stage='3'] .story-copy,.story[data-stage='4'] .story-copy,.story[data-stage='5'] .story-copy,.story[data-stage='6'] .story-copy,.story[data-stage='7'] .story-copy{top:115px}
  .story-copy .eyebrow{margin-bottom:12px}.story-copy h2,.story[data-stage='3'] h2,.story[data-stage='5'] h2,.story[data-stage='7'] h2{font-size:24px;line-height:1.08}
  .story-copy .subline,.story[data-stage='7'] .subline{font-size:14px;line-height:1.35;margin-top:14px}
  .story[data-stage='1'] h1{font-size:27px}.story-copy .count{font-size:72px}
  .segment-list{top:240px}.story[data-stage='5'] .segment-list{top:330px}.story[data-stage='5'] .segment-row{padding-top:0}.tasks{margin-top:8px;gap:4px}
  .story-bottom{bottom:32px}.chapter-track{bottom:14px}
}
@media(max-width:340px){.step-info>span:last-child,.step-divider{display:none}.tasks>div{font-size:11px;grid-template-columns:3px 61px 1fr}}

/* Later chapters change layout beneath their outgoing fade. */
.story-copy{transition:opacity .65s cubic-bezier(.25,.1,.25,1)}
.story-copy.leaving{opacity:0;translate:none;transition-duration:.18s}
.reveal-part{animation:chapter-reveal .7s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--i,0)*75ms)}
@keyframes chapter-reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.scene-controls-wash{position:absolute;inset:auto 0 0;height:clamp(215px,25vh,280px);pointer-events:none;opacity:var(--bottom-wash,0);background:linear-gradient(to top,#fff 0,#fff 145px,rgba(255,255,255,.86) 170px,rgba(255,255,255,0) 100%)}
.story[data-stage='0'] .story-copy{top:35%;width:90%;max-width:none}
.story[data-stage='1'] .story-copy{top:23%}
.story[data-stage='1'] h1{font-size:clamp(34px,3.25vw,60px);line-height:1.12}
.hero-result{display:flex;align-items:baseline;gap:.3em;white-space:nowrap}
.hero-result .count{display:inline-flex;align-items:baseline;gap:.015em;font-size:clamp(76px,9.8vw,160px);line-height:1.1;letter-spacing:-0.047em;margin:0}
.hero-result .count small{font-size:.66em}
#counter{display:inline-block;inline-size:2ch;font-variant-numeric:tabular-nums;text-align:right}
.story[data-stage='1'] .hero-question .line{display:block}
/* The opening question keeps its lead in the same DOM node throughout. */
.story .hero-copy h1{font-size:clamp(34px,3.25vw,60px);line-height:1.12;letter-spacing:-0.042em;text-wrap:initial}
.hero-lead{display:block;font-size:inherit;line-height:1.12;white-space:nowrap}
.story[data-stage='0'] .hero-lead{font-size:clamp(46px,5.3vw,96px);letter-spacing:-0.049em}
.hero-morph .hero-copy{transition:top .85s var(--ease),opacity .65s ease}
.hero-morph .hero-lead{transition:font-size .85s var(--ease),letter-spacing .85s var(--ease)}
.story-copy .hero-tag{position:absolute;left:0;top:-42px;margin:0;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s}
.hero-ellipsis{display:inline-block;max-width:1em;overflow:hidden;vertical-align:bottom;opacity:1}
.hero-morph .hero-ellipsis{transition:max-width .65s var(--ease),opacity .25s}
.story[data-stage='1'] .hero-ellipsis{max-width:0;opacity:0}
.hero-continuation{display:block;visibility:hidden;transition:visibility 0s .2s}
.intro-line{opacity:0;clip-path:inset(0 100% 0 0);transform:translateY(8px);transition:opacity .18s,clip-path .18s,transform .18s}
.story[data-stage='1'] .hero-continuation{visibility:visible;transition-delay:0s}
.story[data-stage='1'] .intro-line{opacity:1;clip-path:inset(0);transform:none;transition:opacity .7s ease,clip-path .9s var(--ease),transform .9s var(--ease);transition-delay:calc(550ms + var(--i,0)*170ms)}
.story[data-stage='1'] .hero-tag{opacity:1;transform:none;transition:opacity .65s ease .5s,transform .65s var(--ease) .5s}
.chapter-switching.hero-morph .story-copy{opacity:1!important}
.story.hero-jump .hero-copy,.story.hero-jump .hero-lead,.story.hero-jump .hero-ellipsis{transition-duration:.38s}
.story.hero-jump .hero-tag,.story.hero-jump .intro-line{transition-duration:.28s;transition-delay:calc(var(--i,0)*50ms)}
@media(max-width:760px){
  .story[data-stage='0'] .story-copy{top:33%;width:calc(100% - 48px)}
  .story[data-stage='1'] .story-copy{top:140px}
  .story[data-stage='1'] h1{font-size:29px;line-height:1.12}
  .hero-result .count{font-size:82px}
  .story .hero-copy h1{font-size:29px}
  .story[data-stage='0'] .hero-lead{font-size:clamp(38px,10.7vw,64px)}
  .story-copy .hero-tag{top:-32px}
  .scene-controls-wash{height:190px;background:linear-gradient(to top,#fff 0,#fff 130px,rgba(255,255,255,.75) 150px,rgba(255,255,255,0) 100%)}
}
@media(max-width:760px) and (max-height:759px){
  .story[data-stage='1'] .story-copy{top:115px}
  .story[data-stage='1'] h1{font-size:24px}
  .hero-result .count{font-size:62px}
  .story .hero-copy h1{font-size:24px}
}

/* Direct chapter navigation remains separate from camera playback. */
.story-bottom{bottom:82px}
.loading-status{bottom:143px}
.chapter-nav{position:absolute;left:var(--gutter);right:var(--gutter);bottom:16px;display:grid;grid-template-columns:repeat(8,1fr);gap:14px}
.chapter-nav button{position:relative;text-align:left;border:0;border-top:2px solid #dfe3e5;background:transparent;padding:12px 0 5px;min-height:44px;display:flex;align-items:baseline;gap:10px;color:#666d72;transition:color .2s,border-color .2s}
.chapter-nav button b{font-size:13px;font-weight:400}
.chapter-nav button>span{font-size:12px;font-variant-numeric:tabular-nums}
.chapter-nav button:hover,.chapter-nav button[aria-current]{color:var(--blue);border-color:var(--blue)}
.chapter-nav button:disabled{cursor:wait}
.scene,.segment-list,.issue-note{transition:opacity .28s ease}
.chapter-switching .scene,.chapter-switching .story-copy,.chapter-switching .segment-list,.chapter-switching .issue-note{opacity:0!important;transition-duration:.16s}
@media(max-width:1000px){.chapter-nav{gap:8px}.chapter-nav button{gap:6px}.chapter-nav button b{font-size:12px}}
@media(max-width:760px){.story-bottom{bottom:75px}.loading-status{bottom:130px}.chapter-nav{bottom:10px;gap:3px;left:16px;right:16px}.chapter-nav button{justify-content:center;min-height:44px;padding:10px 0}.chapter-nav button b{display:none}.chapter-nav button>span{font-size:13px}.story-controls{gap:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-delay:0s!important;transition-delay:0s!important}}

/* An airy blue atmosphere introduces the story, then gives way to the scene. */
.story{--intro-top:35%;--intro-size:clamp(46px,5.3vw,96px)}
.story[data-stage='0'] .story-copy{top:var(--intro-top)}
.story[data-stage='0'] .hero-lead{font-size:var(--intro-size)}
.intro-atmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;opacity:0;visibility:hidden;transition:opacity 1.1s ease,visibility 0s 1.1s}
.intro-atmosphere:before,.intro-atmosphere:after{content:'';position:absolute;inset:-18%;background:radial-gradient(ellipse at 65% 52%,rgba(0,158,226,.22),rgba(0,158,226,.085) 25%,rgba(0,158,226,0) 57%);animation:intro-drift 17s ease-in-out infinite alternate;animation-play-state:paused}
.intro-atmosphere:after{background:radial-gradient(ellipse at 32% 60%,rgba(0,158,226,.1),rgba(0,158,226,.035) 23%,rgba(0,158,226,0) 48%);animation-name:intro-drift-secondary;animation-duration:21s}
.story[data-stage='0'] .intro-atmosphere{opacity:1;visibility:visible;transition-delay:0s}
.story[data-stage='0'] .intro-atmosphere:before,.story[data-stage='0'] .intro-atmosphere:after{animation-play-state:running}
@keyframes intro-drift{from{transform:translate(-4%,3%) scale(.97)}to{transform:translate(5%,-4%) scale(1.08)}}
@keyframes intro-drift-secondary{from{transform:translate(4%,-3%) scale(1.05)}to{transform:translate(-5%,4%) scale(.96)}}
.intro-action{position:absolute;left:var(--gutter);top:calc(var(--intro-top) + var(--intro-size)*1.12 + 36px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility 0s .22s}
.story[data-stage='0'] .intro-action{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .45s ease .4s,visibility 0s}
.story[data-stage='0'] .story-controls{visibility:hidden;pointer-events:none}
.next-button{min-height:48px;padding:0 18px 0 22px;gap:32px;background:rgba(255,255,255,.7);color:var(--ink);border:1px solid #bac5cb;border-radius:999px;font-size:11px;font-weight:400;letter-spacing:.14em;transition:border-color .3s,color .3s,background .3s,opacity .3s}
.next-button .button-arrow{width:22px;height:22px;border-radius:0;background:none;color:inherit;transition:transform .35s var(--ease)}
.next-button svg,.back-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.start-button{min-height:50px;gap:48px;padding-left:24px;background:#ffffff40;border-color:#7799aa}
.back-button{width:44px;height:44px;display:grid;place-items:center;border-color:#cbd3d7;background:#ffffffb3;transition:border-color .3s,color .3s}
.next-button:disabled{opacity:.4}
@media(hover:hover){.next-button:hover{background:#ffffffd9;border-color:var(--blue);color:var(--blue)}.next-button:hover .button-arrow{transform:translateY(2px)}.start-button:hover .button-arrow{transform:translateX(3px)}.back-button:hover{color:var(--blue);border-color:var(--blue)}}
@media(max-width:760px){.story{--intro-top:33%;--intro-size:clamp(38px,10.7vw,64px)}.intro-action{top:calc(var(--intro-top) + var(--intro-size)*1.12 + 30px)}.next-button{min-height:44px;gap:22px;padding:0 15px 0 19px;font-size:10px}.start-button{min-height:48px;gap:42px;padding-left:22px}.back-button{width:44px;height:44px}.intro-atmosphere:before{background:radial-gradient(ellipse at 65% 54%,rgba(0,158,226,.19),rgba(0,158,226,.065) 33%,rgba(0,158,226,0) 65%)}}
@media(prefers-reduced-motion:reduce){.intro-atmosphere:before,.intro-atmosphere:after{animation:none!important}}

/* One mobile navigation surface across the entire site. */
html.menu-open,body.menu-open{overflow:hidden;overscroll-behavior:none}
@media(max-width:760px){
  .site-header,.site-header.scrolled{height:64px;background:#fff;backdrop-filter:none}
  .site-header .brand{position:relative;z-index:2}
  .site-header .brand img{width:132px}
  .site-header .menu-toggle{position:relative;z-index:2;width:44px;height:44px;gap:5px;border-radius:0;background:transparent}
  .site-header .menu-toggle span,.site-header .menu-toggle span:first-child,.site-header .menu-toggle span:last-child{display:block;width:22px;height:2px;margin:0;flex:0 0 2px;background:var(--ink);transition:transform .3s var(--ease),opacity .2s ease}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .site-header #main-nav{display:flex;position:fixed;inset:0;z-index:1;box-sizing:border-box;height:100dvh;padding:clamp(100px,15dvh,150px) var(--gutter) max(40px,env(safe-area-inset-bottom));background:#fff;backdrop-filter:none;border:0;border-radius:0;box-shadow:none;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:clamp(15px,3dvh,28px);overflow-y:auto;overscroll-behavior:contain;font-size:clamp(36px,10.6vw,60px);font-weight:500;line-height:1.14;letter-spacing:-.032em;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility 0s .3s}
  .site-header #main-nav.open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
  .site-header #main-nav a,.site-header #main-nav .nav-contact{padding:0;margin:0;border:0;border-radius:0;line-height:inherit;background:none;transform:translateY(10px);transition:transform .45s var(--ease),color .2s}
  .site-header #main-nav.open a{transform:none}
  .site-header #main-nav a.active{color:var(--blue)}
  .site-header #main-nav a::after,.site-header #main-nav .nav-contact span{display:none}
  .site-header #main-nav a:focus-visible{outline-offset:8px}
}
@media(prefers-reduced-motion:reduce){.site-header #main-nav,.site-header #main-nav a,.site-header .menu-toggle span{transition:none!important}}

footer{flex-wrap:wrap}
footer>a:not(.brand){transition:color .2s ease}
footer>a:not(.brand):hover,footer>a[aria-current="page"]{color:var(--blue)}
