:root{--ink:#102b36;--paper:#f4f1e8;--muted:#46545b;--lime:#d7ff3f;--orange:#e56c46}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:6px}::selection{background:var(--lime)}.skip{position:fixed;top:-100px;left:15px;z-index:99;background:var(--ink);color:white;padding:15px}.skip:focus{top:10px}.nav{height:86px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #102b3620;background:#f4f1e8ee;backdrop-filter:blur(16px);position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:9px;font-size:28px;letter-spacing:-1.6px;font-weight:800}.brand span{font-weight:400;margin-left:-9px}.brand img{margin-right:4px}.nav nav{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:600}.nav-cta{border:1px solid #102b3660;border-radius:30px;padding:12px 20px}.nav-cta span{padding-left:25px}.eyebrow{font-size:11px;letter-spacing:2px;line-height:1.8;font-weight:700;display:flex;align-items:center;gap:10px}.dot,.mini-dot{width:7px;height:7px;background:var(--orange);border-radius:50%;display:inline-block}.hero{min-height:850px;height:calc(100svh - 86px);max-height:1100px;position:relative;padding:50px 5% 34px;overflow:hidden}.hero h1{font-size:clamp(72px,8.4vw,142px);line-height:.94;letter-spacing:-.075em;font-weight:600;position:relative;z-index:2;margin:38px 0 38px;max-width:780px}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.065em}.hero em{color:var(--ink)}.ride-word{position:relative}.ride-word svg{position:absolute;width:100%;bottom:-13px;left:0;fill:none;stroke:var(--orange);stroke-width:4}.hero-art{position:absolute;inset:0 0 0 45%;z-index:0;clip-path:polygon(20% 0,100% 0,100% 100%,0 100%,0 60%)}.landscape{width:100%;height:100%;object-fit:cover}.hero-bottom{position:relative;z-index:2;width:44%;max-width:510px}.hero p{font-size:17px;line-height:1.65;max-width:365px}.round-link{display:inline-flex;align-items:center;gap:28px;font-size:13px;font-weight:700;margin-top:12px}.round-link b{display:grid;place-items:center;width:45px;height:45px;border:1px solid #102b3650;border-radius:50%;font-size:22px;font-weight:400;transition:background .2s,transform .2s}.round-link:hover b{background:var(--lime);transform:translateY(3px)}.hero-index{position:absolute;bottom:28px;font-size:10px;letter-spacing:1.6px;z-index:2}.floating-note{position:absolute;display:flex;gap:14px;align-items:center;background:#fbfaf3;box-shadow:0 15px 40px #102b3618;padding:18px 22px;border-radius:12px;white-space:nowrap;transform:rotate(-5deg)}.floating-note small{display:block;font-size:9px;letter-spacing:1.3px;margin-bottom:7px}.floating-note strong{font-size:15px}.note-turn{right:8%;top:24%}.note-community{left:17%;bottom:24%;transform:rotate(4deg)}.note-icon{font-size:35px}.coral{color:var(--orange)}.mini-dot{margin-left:15px;background:#789660}.art-caption{position:absolute;right:8%;bottom:28px;font-size:9px;letter-spacing:1.5px}.route-trace{stroke-dasharray:1800;stroke-dashoffset:1800;animation:route 2.5s .2s forwards ease-out}@keyframes route{to{stroke-dashoffset:0}}.section-pad{padding:120px 8%}.manifesto{display:grid;grid-template-columns:1.35fr 1fr;column-gap:12%;position:relative;background:var(--ink);color:var(--paper)}.manifesto>.eyebrow{grid-column:1/-1;margin-bottom:42px;color:#bdc9ac}.manifesto h2{font-size:clamp(50px,5.9vw,95px);letter-spacing:-.06em;line-height:1.06;font-weight:500;margin:0}.manifesto h2 span{color:#c4d594}.manifesto-side{align-self:end}.manifesto-side p{font-size:20px;line-height:1.6;max-width:375px;color:#dae0d1}.small-label{font-size:9px;letter-spacing:1.4px;line-height:1.8;display:block;opacity:.7}.orbit{display:grid;place-items:center;border:1px solid #d7ff3f4d;width:110px;height:110px;border-radius:50%;font-size:70px;font-weight:200;margin-bottom:48px;color:var(--lime)}.ride-story{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:6%;padding:130px 8%;background:#eaece0;min-height:1100px}.story-sticky{position:sticky;top:135px;z-index:2}.story-sticky h2{font-size:clamp(60px,7.5vw,108px);font-weight:500;line-height:1;letter-spacing:-.065em;margin:30px 0}.story-sticky>p{font-size:18px;line-height:1.65}.story-tabs{display:flex;flex-direction:column;margin:40px 0 22px;border-top:1px solid #102b3630;max-width:410px}.story-tabs button{text-align:left;padding:19px 0;border:0;border-bottom:1px solid #102b3630;background:none;color:#6a7469;cursor:pointer;font-size:15px;transition:padding .25s,color .25s}.story-tabs button:after{content:'↗';float:right}.story-tabs button.active{color:var(--ink);font-weight:bold;padding-left:12px;border-bottom-color:var(--ink)}.mode-copy{min-height:90px;max-width:400px}.phone-stage{position:relative;padding:55px 0 100px;display:flex;justify-content:center}.phone{width:340px;height:685px;border:8px solid #102b36;border-radius:52px;overflow:hidden;position:relative;box-shadow:20px 35px 70px #102b362a;transform:rotate(7deg);background:#e9e8d9;z-index:1;transition:transform .7s}.phone:hover{transform:rotate(0)}.phone-top{position:absolute;top:13px;left:23px;right:23px;display:flex;align-items:center;justify-content:space-between;z-index:2;font-size:12px}.island{height:24px;width:100px;background:#102b36;border-radius:20px}.phone-map{width:100%;height:100%;position:absolute}.phone-tools{position:absolute;top:67px;left:15px;right:15px;display:flex;justify-content:space-between}.phone-tools>span{font-size:10px;background:#fffef7;padding:13px;border-radius:50px;font-weight:bold}.phone-tools i{display:inline-block;background:#809758;border-radius:10px;width:5px;height:5px;margin-left:4px}.phone-guidance{position:absolute;top:118px;left:13px;right:13px;display:flex;align-items:center;gap:12px;padding:15px;background:#fffef7;border-radius:14px;box-shadow:0 5px 20px #102b3610;opacity:0;transform:translateY(-8px);transition:.4s}.phone-guidance>b{font-size:30px}.phone small{display:block;font-size:8px;letter-spacing:.5px}.phone-guidance strong{font-size:11px;display:block;margin-top:5px}.phone-hazard{position:absolute;bottom:227px;left:15px;right:15px;background:#fff7e8;border-radius:16px;padding:16px;display:flex;align-items:center;gap:12px;opacity:0;transform:translateY(10px);transition:.4s}.phone-hazard>span{font-size:28px;color:#b24725}.phone-hazard strong{font-size:12px}.phone-hazard>b{margin-left:auto}.phone-stage[data-mode=turn] .phone-guidance,.phone-stage[data-mode=report] .phone-hazard{opacity:1;transform:none}.phone-metrics{position:absolute;bottom:88px;left:19px;right:19px;display:flex;justify-content:space-between;align-items:center}.speed-dial{width:135px;height:135px;background:#fffef7;border-radius:50%;border:5px solid #769868;outline:4px solid #fffef7;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 5px 15px #102b3610}.speed-dial strong{font-size:39px;letter-spacing:-2px}.speed-dial small{font-size:10px}.speed-dial span{font-size:10px;margin-top:9px}.metric-stack{display:flex;flex-direction:column;gap:12px}.metric-stack>span{background:#fffef7;padding:13px 20px;border-radius:25px}.metric-stack b{font-size:22px;font-weight:500}.metric-stack i{font-size:10px;font-style:normal}.phone-actions{position:absolute;bottom:23px;left:25px;right:25px;display:flex;justify-content:space-around}.phone-actions span{width:44px;height:44px;background:#fffef7;display:grid;place-items:center;border-radius:50%;font-size:22px}.phone-actions span:first-child{background:#e46e45;color:white}.stage-word{position:absolute;bottom:0;font-size:220px;letter-spacing:-20px;color:#d0d8be;font-weight:bold;line-height:1}.community{background:var(--lime)}.community-top{display:grid;grid-template-columns:1.3fr 1fr;gap:15%;align-items:end}.community h2,.details h2,.roadmap h2{font-size:clamp(46px,5.5vw,82px);line-height:1.05;letter-spacing:-.065em;font-weight:500;margin:32px 0 0}.community-top>p,.details-head>p,.roadmap>div>p{font-size:18px;line-height:1.7;max-width:380px}.report-flow{display:flex;align-items:center;justify-content:space-between;margin-top:90px;padding:45px 0;border-top:1px solid #102b3630;border-bottom:1px solid #102b3630}.report-step{position:relative}.step-number{font-size:10px;position:absolute;top:0;left:0}.report-symbol{display:grid;place-items:center;width:95px;height:95px;border:1px solid #102b3660;border-radius:50%;font-size:48px;margin-bottom:32px}.report-step h3{font-size:22px;letter-spacing:-.6px}.report-step p{font-size:14px;line-height:1.7}.flow-arrow{font-size:35px;opacity:.5;margin:0 20px}.community-foot{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-top:28px;font-size:9px;letter-spacing:1px}.community-foot p{max-width:360px;font-size:11px;line-height:1.6;letter-spacing:0}.details-head{display:flex;justify-content:space-between;gap:8%;align-items:end;margin-bottom:65px}.ride-ticket{display:flex;align-items:center;gap:5%;padding:40px 0;border-block:1px solid #102b3640;position:relative}.ticket-title{min-width:30%}.ticket-title>span,.ticket-stat>span{font-size:9px;letter-spacing:1.2px}.ticket-title h3{font-size:28px;letter-spacing:-1px;margin:18px 0 8px}.ticket-title p{font-family:Georgia,serif;font-style:italic;color:var(--muted)}.ticket-stat strong{display:block;font-size:44px;letter-spacing:-2px;font-weight:400;margin-bottom:12px}.elevation{width:24%;height:100px;margin-left:auto}.feature-line{display:flex;justify-content:space-between;gap:20px;font-size:12px;margin-top:30px}.feature-line span:before{content:'↗';margin-right:8px;color:#80935d}.roadmap{background:#e6e5dc;display:grid;grid-template-columns:1fr 1fr;gap:12%}.roadmap h2{margin-bottom:30px}.roadmap-list article{padding:0 0 38px;border-bottom:1px solid #102b3640;margin-bottom:38px}.roadmap-list article:last-child{border:0;margin:0;padding-bottom:0}.status{font-size:9px;letter-spacing:1.5px;background:var(--ink);color:var(--paper);padding:8px 12px;border-radius:30px;display:inline-block}.status.future{background:transparent;border:1px solid #102b3660;color:var(--ink)}.roadmap-list h3{font-size:25px;letter-spacing:-.8px;margin:22px 0 12px}.roadmap-list p{font-size:15px;line-height:1.8;color:#46545b}.roadmap-list small{font-size:11px;color:#46545b}details{margin-top:22px}summary{font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}details p{font-size:13px!important}.closing{background:var(--ink);color:var(--paper);padding:100px 8% 75px;position:relative;overflow:hidden}.closing>.eyebrow{color:#becbaf}.closing h2{font-size:clamp(56px,8vw,120px);letter-spacing:-.065em;line-height:1.05;font-weight:500;position:relative;z-index:1}.closing h2 em{color:var(--lime)}.closing-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px;position:relative;z-index:1}.closing-bottom p{font-size:17px;line-height:1.8}.closing-bottom p span{font-size:12px;color:#c0cebc}.light b{border-color:#e6ead260}.light:hover b{color:var(--ink)}.closing-line{width:450px;height:450px;border:1px solid #d7ff3f2b;border-radius:50%;position:absolute;right:-180px;top:30px;box-shadow:0 0 0 45px #102b36,0 0 0 46px #d7ff3f2b,0 0 0 90px #102b36,0 0 0 91px #d7ff3f2b}footer{padding:38px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px}footer .brand{font-size:25px}.reveal{opacity:1;transform:translateY(24px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}@media(min-width:1500px){.hero-art{left:50%}.hero-bottom{margin-top:45px}}@media(max-width:1000px){.hero{min-height:760px}.hero h1{font-size:90px}.hero-art{left:38%;opacity:.85}.hero-bottom{width:45%}.floating-note{padding:13px}.note-turn{right:4%;top:30%}.note-community{left:25%;bottom:20%}.section-pad{padding:90px 6%}.ride-story{padding:90px 6%;gap:4%}.phone{width:300px;height:620px}.speed-dial{width:117px;height:117px}.metric-stack>span{padding:10px 14px}.story-sticky h2{font-size:70px}.report-flow{gap:10px}.flow-arrow{margin:0;font-size:25px}.report-step p{font-size:12px}.ticket-stat strong{font-size:34px}.ticket-title h3{font-size:22px}.roadmap{gap:8%}.community-top{gap:8%}}
@media(max-width:700px){.nav{height:70px;padding:0 6%}.brand{font-size:24px}.brand img{width:27px;height:27px}.nav nav>a:not(.nav-cta){display:none}.nav-cta{padding:10px 13px;font-size:11px}.nav-cta span{padding-left:8px}.hero{height:auto;max-height:none;min-height:0;padding:38px 6% 380px}.hero h1{font-size:clamp(65px,13vw,93px);margin:27px 0 28px;max-width:500px}.hero>.eyebrow{font-size:9px;letter-spacing:1.3px}.hero-art{inset:auto 0 0 0;height:360px;clip-path:none;opacity:1}.landscape{object-position:center 58%}.hero-bottom{width:100%;max-width:410px}.hero p{font-size:16px;max-width:310px}.hero-index{display:none}.note-turn{top:15%;right:7%;transform:rotate(-4deg)}.note-community{bottom:20%;left:auto;right:7%}.art-caption{bottom:10px;font-size:7px}.floating-note strong{font-size:12px}.floating-note small{font-size:8px}.note-icon{font-size:25px}.section-pad{padding:75px 7%}.manifesto{display:block}.manifesto>.eyebrow{margin-bottom:28px;font-size:9px}.manifesto h2{font-size:56px}.manifesto-side{margin-top:38px}.manifesto-side p{font-size:17px}.orbit{display:none}.ride-story{display:flex;flex-direction:column;padding:75px 7%;min-height:0}.story-sticky{position:static;width:100%}.story-sticky h2{font-size:72px}.story-sticky>.eyebrow{font-size:9px}.story-tabs{margin-top:25px;max-width:none}.mode-copy{min-height:85px}.phone-stage{width:100%;padding:35px 0 70px}.phone{width:300px;height:620px;transform:rotate(3deg)}.stage-word{font-size:190px}.community-top{display:block}.community h2,.details h2,.roadmap h2{font-size:52px}.community-top>p{margin-top:30px;font-size:16px}.report-flow{display:block;margin-top:42px;padding:12px 0}.report-step{padding:24px 0 24px 84px;min-height:120px}.step-number{display:none}.report-symbol{position:absolute;left:0;top:30px;width:60px;height:60px;font-size:30px}.report-step h3{margin:5px 0;font-size:21px}.report-step p{font-size:13px;margin:8px 0}.flow-arrow{display:none}.community-foot{display:block;margin-top:25px}.community-foot p{margin-top:18px}.details-head{display:block;margin-bottom:30px}.details-head>p{font-size:16px;margin-top:25px}.ride-ticket{flex-wrap:wrap;gap:25px;padding:25px 0}.ticket-title{width:100%}.ticket-stat strong{font-size:40px}.elevation{width:100%;height:90px}.feature-line{display:grid;grid-template-columns:1fr 1fr;font-size:11px;gap:18px}.roadmap{display:block}.roadmap>div>p{font-size:16px}.roadmap-list{margin-top:45px}.closing{padding:70px 7%}.closing>.eyebrow{font-size:9px}.closing h2{font-size:56px;margin:35px 0}.closing-bottom{display:block}.closing-bottom p span{font-size:11px}.closing-line{opacity:.4}footer{padding:30px 7%;display:grid;grid-template-columns:1fr 1fr;font-size:9px}footer>span:nth-child(3){grid-column:1/-1;order:4}.reveal{transform:translateY(15px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.route-trace{stroke-dashoffset:0}.reveal{opacity:1;transform:none}}

.launch-actions{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:65px;padding-top:36px;border-top:1px solid #f4f1e840;scroll-margin-top:100px}.launch-actions h3{font-size:25px;font-weight:500;letter-spacing:-.6px;margin:0 0 14px}.launch-actions p{font-size:14px;line-height:1.7;max-width:390px;color:#d4dfd2}.launch-button{margin-top:12px;text-align:left;display:flex;flex-direction:column;gap:5px;min-height:68px;min-width:215px;padding:14px 22px;border:1px solid var(--paper);border-radius:12px;background:var(--paper);color:var(--ink);opacity:1;cursor:default}.launch-button span{font-size:19px;font-weight:700}.launch-button small{font-size:11px;letter-spacing:.4px}.launch-button.secondary{background:transparent;color:var(--paper);border-color:#f4f1e860}@media(max-width:700px){.launch-actions{grid-template-columns:1fr;gap:35px;margin-top:38px}.launch-actions h3{font-size:23px}}

/* Approved circular riders mark. */
.brand img{border-radius:22%;object-fit:contain;flex-shrink:0}

/* One continuous ride: quiet roadside thread, scroll-led chapters. */
main{position:relative;isolation:isolate}.journey-road{position:absolute;inset:0 auto 0 0;width:70px;z-index:5;pointer-events:none;overflow:hidden}.journey-road svg{display:block;width:100%;height:100%;overflow:visible}.journey-road path{fill:none;stroke-linecap:round;stroke-linejoin:round}.road-bed{stroke:#aeb79d;stroke-width:13;opacity:.45}.road-center{stroke:var(--paper);stroke-width:1;stroke-dasharray:3 7;opacity:.8}.road-progress{stroke:var(--orange);stroke-width:3}.road-stops circle{fill:var(--paper);stroke:var(--ink);stroke-width:2}.road-stops circle.passed{fill:var(--orange);stroke:var(--paper)}
.scroll-cycle{position:absolute;right:13%;top:45%;width:180px;transform:rotate(-8deg);color:var(--ink);background:#f4f1e8ed;border:1px solid #102b3620;border-radius:18px;padding:14px 16px;box-shadow:0 12px 36px #102b3615}.scroll-cycle svg{display:block;width:100%}.scroll-cycle span{display:block;text-align:center;font-size:7px;letter-spacing:1.5px;margin-top:10px}.cycle-wheel{transform-box:fill-box;transform-origin:center;transform:rotate(var(--wheel-turn,0deg))}.cycle-frame{stroke:var(--ink);stroke-width:5}.hero>.eyebrow,.hero h1,.hero-bottom,.hero-index{margin-left:18px}
.ride-story{align-items:start;min-height:1800px}.story-sticky{position:relative;top:auto}.story-chapters{margin-top:65px}.story-chapters article{min-height:340px;padding:32px 0 80px;border-top:1px solid #102b3630;max-width:410px}.chapter-kicker{font-size:10px;letter-spacing:1.8px;color:var(--muted)}.story-chapters h3{font-size:clamp(32px,3vw,46px);line-height:1.12;font-weight:500;letter-spacing:-1.8px;margin:20px 0}.story-chapters p{font-size:17px;line-height:1.7;color:var(--muted);max-width:350px}.story-chapters article.is-current .chapter-kicker{color:#9a3c20}.story-chapters article.is-current{border-top-color:var(--orange)}.phone-stage{position:sticky;top:105px;padding-top:30px}.phone{transform:rotate(3deg)}.guidance-note{margin-top:24px;border-left:2px solid #102b3650;padding-left:18px}.guidance-note h4{font-size:12px;margin:0 0 8px}.guidance-note p{font-size:13px}
@media(min-width:701px) and (max-height:820px){.phone-stage{top:100px}.phone{width:280px;height:565px;border-radius:42px}.phone-metrics{left:12px;right:12px}.speed-dial{width:108px;height:108px}.speed-dial strong{font-size:32px}.metric-stack>span{padding:10px 12px}.phone-hazard{bottom:210px}.stage-word{font-size:170px}}
@media(max-width:1000px){.journey-road{width:40px}.scroll-cycle{right:8%;width:150px}.hero>.eyebrow,.hero h1,.hero-bottom,.hero-index{margin-left:10px}}
@media(max-width:700px){.journey-road{width:18px}.hero>.eyebrow,.hero h1,.hero-bottom,.hero-index{margin-left:0}.scroll-cycle{right:6%;top:39%;width:115px;padding:7px}.scroll-cycle span{font-size:5px;letter-spacing:.6px}.ride-story{min-height:0}.story-chapters{margin-top:35px}.story-chapters article{min-height:0;padding:24px 0 35px;max-width:none}.story-chapters h3{font-size:34px}.story-chapters p{font-size:16px}.phone-stage{position:relative;top:auto}.phone-stage .phone{transform:none}}
@media(prefers-reduced-motion:reduce){.cycle-wheel{transform:none!important}.road-progress{display:none}.phone-guidance,.phone-hazard{opacity:1;transform:none}.phone{transform:none}}

@media(min-width:701px){.story-chapters article:last-child{min-height:720px}}

/* Stronger route and a contemporary performance-wheel identity. */
.journey-road{width:86px}.road-bed{stroke:#102b36;stroke-width:23;opacity:.8}.road-center{stroke:#f4f1e8;stroke-width:2;stroke-dasharray:9 13;opacity:1}.road-progress{stroke:#d7ff3f;stroke-width:5;filter:drop-shadow(0 0 3px #102b36)}.road-stops circle{stroke-width:3}.road-stops circle.passed{fill:#d7ff3f;stroke:#102b36}
.kinetic-wheel{position:absolute;top:40%;right:10%;width:clamp(180px,19vw,290px);color:#102b36;transform:rotate(-12deg)}.kinetic-wheel svg{display:block;width:100%;filter:drop-shadow(12px 18px 12px #102b3626)}.kinetic-wheel>span{display:block;text-align:center;font-size:9px;font-weight:700;letter-spacing:2px;margin-top:18px}.wheel-scroll,.wheel-rotor{transform-origin:120px 120px}.wheel-scroll{transform:rotate(var(--wheel-turn,0deg))}.wheel-rotor{animation:wheel-spin 12s linear infinite}@keyframes wheel-spin{to{transform:rotate(360deg)}}
.motion-toggle{border:0;border-bottom:1px solid currentColor;padding:8px 0;background:none;color:var(--ink);font-size:11px;cursor:pointer;min-height:44px}.motion-paused .wheel-rotor{animation-play-state:paused}.motion-paused .wheel-scroll{transform:none}.motion-paused .signal-track span{transition:none}
.report-flow{position:relative;isolation:isolate;gap:30px;align-items:stretch;padding:55px 0}.report-step{flex:1;padding:28px 22px;border:1px solid #102b3630;border-radius:22px;background:#e8efc9;transition:background .5s,transform .5s,box-shadow .5s;z-index:1}.report-step .step-number{top:20px;right:20px;left:auto}.report-symbol{background:var(--paper);border:0;width:90px;height:90px;position:relative;transition:background .5s,color .5s}.report-symbol svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.report-step.is-active{background:#102b36;color:#f4f1e8;transform:translateY(-8px);box-shadow:0 18px 30px #102b3626}.report-step.is-active .report-symbol{background:#d7ff3f;color:#102b36}.report-flow .flow-arrow{display:none}.signal-track{position:absolute;left:10%;right:10%;top:125px;height:3px;background:#102b3650;z-index:0}.signal-track span{position:absolute;top:-5px;left:0;width:13px;height:13px;border-radius:50%;background:#102b36;box-shadow:0 0 0 6px #d7ff3f;transition:left 1.4s ease-in-out}.report-flow[data-phase="1"] .signal-track span{left:50%}.report-flow[data-phase="2"] .signal-track span{left:100%}
@media(max-width:1000px){.journey-road{width:42px}.road-bed{stroke-width:17px}.kinetic-wheel{right:5%;width:210px}.report-step{padding:24px 14px}.report-flow{gap:18px}.nav nav{gap:18px}}
@media(max-width:700px){.journey-road{width:20px}.road-bed{stroke-width:11px}.road-center{stroke-width:1;stroke-dasharray:5 8}.road-progress{stroke-width:3}.kinetic-wheel{width:130px;right:8%;top:31%}.kinetic-wheel>span{font-size:6px;letter-spacing:1px;margin-top:7px}.nav nav>.motion-toggle{display:block;font-size:10px}.nav-cta{display:none}.report-flow{padding:25px 0}.report-step{margin:16px 0;padding:25px 18px 25px 95px;min-height:145px}.report-step .report-symbol{position:absolute;left:15px;top:28px;width:62px;height:62px}.report-symbol svg{width:32px;height:32px}.report-step.is-active{transform:translateX(3px)}.signal-track{left:45px;top:55px;bottom:55px;right:auto;width:3px;height:auto}.signal-track span{top:0;left:-5px;transition:top 1.4s ease-in-out}.report-flow[data-phase="1"] .signal-track span{left:-5px;top:50%}.report-flow[data-phase="2"] .signal-track span{left:-5px;top:100%}}
@media(prefers-reduced-motion:reduce){.wheel-rotor{animation:none!important}.wheel-scroll{transform:none!important}.report-step{transition:none}.report-step.is-active{transform:none}.signal-track span{transition:none}.motion-toggle{display:none!important}}

/* The opening orange route continues through the entire story. */
.journey-road{width:100%;z-index:1}.road-bed{stroke:#fff9eb;stroke-width:34;opacity:.92}.road-center{display:none}.road-progress{stroke:#e56c46;stroke-width:6;filter:none;stroke-dasharray:none!important;stroke-dashoffset:0!important}.road-stops circle{fill:#fff9eb;stroke:#e56c46;stroke-width:3}.road-stops circle.passed{fill:#e56c46;stroke:#fff9eb}.original-road,.route-trace{display:none}
main>section{position:relative}main>section> :not(.hero-art){position:relative;z-index:2}.hero .hero-index{position:absolute}.hero-art{z-index:0}.roadmap,.details,.community,.closing{padding-right:10%}.ride-story{padding-right:10%}.kinetic-wheel{position:fixed;width:940px;right:-650px;top:50%;transform:translateY(-50%);opacity:.22;z-index:6;pointer-events:none}.kinetic-wheel svg{filter:none}.wheel-rotor{animation:none}.wheel-scroll{transform:rotate(var(--wheel-turn,0deg));will-change:transform}.kinetic-wheel circle[stroke="#d7ff3f"]{stroke:#e56c46}.wheel-scroll{transition:transform .08s linear}
@media(max-width:1000px){.kinetic-wheel{width:800px;right:-605px}.road-bed{stroke-width:24}.road-progress{stroke-width:5}}
@media(max-width:700px){.kinetic-wheel{width:580px;right:-492px;opacity:.18}.journey-road{width:100%}.road-bed{stroke-width:13}.road-progress{stroke-width:3}.road-stops circle{stroke-width:2}.section-pad,.ride-story,.closing{padding-right:10%}}
@media(prefers-reduced-motion:reduce){.road-progress{display:block}.wheel-scroll{transform:none!important;transition:none}}
@media(min-width:701px){.ride-story>.phone-stage{position:sticky;top:105px}}
.wheel-grip{position:fixed;right:12px;bottom:24px;z-index:25;background:#102b36;color:#f4f1e8;border:1px solid #f4f1e8;border-radius:28px;padding:10px 15px;min-height:48px;font-size:22px;cursor:grab;touch-action:none;box-shadow:0 4px 16px #102b3620}.wheel-grip span{font-size:10px;margin-left:9px;vertical-align:middle}.wheel-grip:active{cursor:grabbing}.wheel-dragging{scroll-behavior:auto}.kinetic-wheel{opacity:.3}@media(max-width:700px){.wheel-grip{right:8px;bottom:12px;padding:10px;width:46px}.wheel-grip span{display:none}.kinetic-wheel{opacity:.18}}
/* Switch foreground and surface together; never fade through low contrast. */
.report-step{transition:transform .5s,box-shadow .5s}.report-symbol{transition:transform .5s}

/* Oversized wheel sits behind the story, never over its text or controls. */
.kinetic-wheel{width:1600px;right:-820px;z-index:0;opacity:.12}
main{isolation:auto;z-index:auto}
main>section{background-color:transparent}
main>section::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--paper);pointer-events:none}
main>.manifesto::before,main>.closing::before{background:var(--ink)}
main>.ride-story::before{background:#eaece0}
main>.community::before{background:var(--lime)}
main>.roadmap::before{background:#e6e5dc}
body{isolation:isolate}.hero-art{z-index:-1}.hero-art .floating-note{z-index:2}
.kinetic-wheel{pointer-events:none}.nav,footer{position:relative;z-index:30}.nav{position:sticky}footer{background:var(--paper)}
@media(max-width:1000px){.kinetic-wheel{width:1400px;right:-850px;opacity:.1}}
@media(max-width:700px){.kinetic-wheel{width:1000px;right:-680px;opacity:.08}}
/* Explicit shared layers keep the wheel visible behind every section's copy. */
main>section::before{z-index:0}.hero-art{z-index:0}.kinetic-wheel{z-index:1}.journey-road{z-index:2}main>section> :not(.hero-art){z-index:3}

/* Map artwork stays below the route; its cards are separate foreground content.
   A high z-index inside clipped hero-art could not escape that stacking context. */
:root{--layer-surface:0;--layer-wheel:1;--layer-road:2;--layer-content:3}
main>section::before,.hero-art{z-index:var(--layer-surface)}
.kinetic-wheel{z-index:var(--layer-wheel)}
.journey-road{z-index:var(--layer-road)}
main>section> :not(.hero-art){z-index:var(--layer-content)}
.hero>.hero-overlays{position:absolute;inset:0 0 0 45%;pointer-events:none;z-index:var(--layer-content)}
@media(min-width:1500px){.hero>.hero-overlays{left:50%}}
@media(min-width:701px) and (max-width:1000px){.hero>.hero-overlays{left:38%}}
@media(max-width:700px){.hero>.hero-overlays{inset:auto 0 0;height:360px}}

/* Keep the rider direction marker above the continuous road. */

/* Give the headline room before the first report at tablet widths. */
@media(min-width:701px) and (max-width:1000px){.note-turn{top:50%}}

/* Connections: open editorial columns, following the ride-screen showcase. */
.connections{padding-right:10%;border-top:1px solid #102b3620}
.connections-head{display:flex;align-items:end;justify-content:space-between;gap:48px}
.connections h2{font-size:clamp(52px,6vw,86px);line-height:1.02;letter-spacing:-.06em;font-weight:500;margin:26px 0 0}
.connections-head>p{max-width:360px;font-size:17px;line-height:1.8;margin-bottom:5px}
.connections-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:64px}
.connections-grid article{border-top:1px solid #102b3640;padding-top:24px}
.connection-icon{display:block;width:80px;height:80px;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-bottom:24px}
.connection-label{font-size:10px;letter-spacing:1.5px;font-weight:700}
.connections-grid h3{font-size:25px;letter-spacing:-.7px;margin:16px 0}
.connections-grid p{font-size:15px;line-height:1.8;margin:0;max-width:320px}
.connection-detail{display:block;font-size:11px;color:var(--muted);margin-top:20px}
@media(max-width:1000px){.connections-grid{gap:28px}.connections-grid h3{font-size:22px}}
@media(max-width:700px){.connections-head{display:block}.connections-head>p{margin-top:28px}.connections-grid{grid-template-columns:1fr;gap:36px;margin-top:40px}.connection-icon{width:64px;height:64px;margin-bottom:18px}.connections-grid p{max-width:100%}}

/* Shared app identity: navy foundation, selective lime actions, cream surfaces. */
.nav-cta{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.hero .round-link b{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.report-symbol{background:var(--lime);color:var(--ink)}
::selection{color:var(--ink)}

/* Keep the introduction above the fold on ordinary laptop and phone screens.
   Height may grow on very small windows or with enlarged text instead of clipping. */
.hero{min-height:0;height:auto;max-height:none;padding-top:clamp(20px,4svh,50px)}
.hero h1{font-size:clamp(58px,min(8.4vw,11svh),142px);margin-top:24px;margin-bottom:24px}
.hero p{margin-top:0;margin-bottom:12px}
@media(min-width:701px){.hero{min-height:calc(100svh - 86px);padding-bottom:38px}.hero-bottom{width:46%}}
@media(max-width:700px){.hero{padding-top:24px;padding-bottom:380px}.hero h1{font-size:clamp(48px,11.5vw,72px);margin:24px 0}.hero p{line-height:1.5}.hero .round-link{margin-top:4px}}
/* Difference blending adapts each spoke to the surface beneath it, including
   the boundary between light and dark sections. Content stays on the top layer. */
.kinetic-wheel{mix-blend-mode:difference;opacity:.24;color:#fff}
.kinetic-wheel svg{filter:none}
.kinetic-wheel svg [stroke]{stroke:currentColor}
.kinetic-wheel svg circle[fill]{fill:currentColor}
@media(max-width:700px){.kinetic-wheel{opacity:.18}}

/* Current portrait cockpit: instruments above the map, compact controls below. */
.phone-metrics{top:112px;bottom:auto;left:14px;right:14px;align-items:flex-start;gap:12px;transition:top .4s}
.phone .speed-dial{width:126px;height:126px;flex-shrink:0;border:4px solid var(--lime);outline:3px solid #f7f5ee;background:#f7f5ee;color:var(--ink)}
.phone .speed-dial strong{font-size:38px}
.phone .metric-stack{width:130px;gap:7px}
.phone .metric-stack>span{background:#f7f5ee;border:1px solid #102b3626;border-radius:18px;padding:9px 13px}
.phone .metric-stack b{font-size:21px;font-weight:650}
.phone-metric-pages{display:flex;align-items:center;justify-content:center;gap:8px;font-size:9px;color:#00665e}
.phone-metric-pages>span{font-size:10px;color:var(--ink);margin-left:7px}
.phone-guidance{top:108px;padding:10px 13px;z-index:4}
.phone-stage[data-mode=turn] .phone-metrics{top:179px}
.phone-map-controls{position:absolute;right:14px;top:54%;display:grid;gap:9px}
.phone-map-controls>span{width:40px;height:43px;border-radius:14px;background:#f7f5ee;border:1px solid #102b3640;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:23px;box-shadow:0 3px 10px #102b3618}
.phone-map-controls small{font-size:8px}
.phone-hazard{bottom:103px;z-index:5;background:#f7f5ee;border:1px solid #102b3640;padding:13px}
.phone-feedback{display:flex;gap:8px;margin-top:10px;font-size:10px;font-weight:700}
.phone-feedback>span{background:#e4edda;padding:7px 9px;border-radius:9px}
.phone-feedback>span:last-child{background:#e8e5dc}
.phone-actions{bottom:25px;justify-content:space-between}
.phone-actions span{background:#f7f5ee;color:var(--ink);border:1px solid #102b3640}
.phone-actions span:first-child{background:var(--lime);color:var(--ink);border-color:#a7c938}
.connections-head{justify-content:flex-start;gap:clamp(24px,4vw,60px);max-width:870px}
.connections-head>div{flex:0 1 400px}
.connections-head>p{flex:0 1 340px;max-width:340px;padding:0;background:transparent}
@media(max-width:1000px){.phone .speed-dial{width:108px;height:108px}.phone .speed-dial strong{font-size:32px}.phone .metric-stack{width:118px}.phone .metric-stack>span{padding:8px 11px}}
@media(max-width:700px){.connections-head>p{padding:0;max-width:360px;margin-top:24px}.phone-metrics{top:112px}.phone-stage[data-mode=turn] .phone-metrics{top:179px}}

/* Keep supporting copy beside its heading instead of at the wheel's outer edge. */
.community-top,.connections-head,.details-head{display:grid;grid-template-columns:minmax(0,350px) minmax(0,340px);gap:32px;justify-content:start;align-items:end;max-width:722px}
.community-top>p,.connections-head>p,.details-head>p{max-width:340px;margin:0;padding:0;background:transparent}
.connections h2{font-size:clamp(52px,5.2vw,76px)}
.manifesto{grid-template-columns:minmax(0,350px) minmax(0,340px);column-gap:32px}
.manifesto-side{padding:0;background:transparent}
.manifesto-side p{margin-top:0}
.manifesto-side .small-label{display:block;line-height:1.7}
@media(max-width:700px){
 .community-top,.connections-head,.details-head,.manifesto{display:block;max-width:none}
 .community-top>p,.connections-head>p,.details-head>p{margin-top:24px;padding:0;max-width:380px}
 .manifesto-side{padding:0;max-width:380px;margin-top:28px}
}
.manifesto-side .orbit{display:none}
@media(min-width:701px) and (max-width:1000px){
 .community-top,.connections-head,.details-head,.manifesto{display:block}
 .community-top>p,.connections-head>p,.details-head>p,.manifesto-side{margin-top:24px;max-width:480px;padding:0}
}

/* Mobile demonstrations advance while visible; explicit controls also work with motion off. */
.phone-scene-controls{display:none}
@media(max-width:700px){
 .phone-stage{flex-direction:column;align-items:center;gap:24px}
 .phone-scene-controls{display:flex;gap:8px;justify-content:center;position:relative;z-index:4}
 .phone-scene-controls button{min-height:44px;padding:10px 14px;border:1px solid #102b3650;border-radius:24px;background:var(--paper);color:var(--ink);font-size:12px;cursor:pointer}
 .phone-scene-controls button[aria-pressed=true]{background:var(--lime);border-color:var(--ink);font-weight:700}
}

/* Keep the route planner reachable from desktop and small-screen navigation. */
.planner-link{display:inline-flex;align-items:center;gap:16px;min-height:44px;font-size:15px;font-weight:700;color:var(--lime);border-bottom:1px solid currentColor;margin:8px 0}
.planner-signin{display:block;font-size:12px;line-height:1.6;margin:4px 0 20px;color:var(--paper)}
@media(max-width:700px){
 .nav{height:auto;min-height:70px;gap:8px;padding-top:8px;padding-bottom:8px;flex-wrap:wrap}
 .nav nav{margin-left:auto;gap:12px;justify-content:flex-end;flex-wrap:wrap}
 .nav nav>a.nav-cta{display:inline-flex;align-items:center;min-height:44px;padding:10px 12px;font-size:12px}
 .nav nav>.motion-toggle{min-height:44px;font-size:10px}
}

/* Direct tour entry in the opening screen, including small screens. */
.hero .app-tour-link:hover b{transform:translate(2px,-2px)}

/* Footer navigation wraps at tablet widths instead of widening the page. */
footer{flex-wrap:wrap}
footer>a:not(.brand){display:inline-flex;align-items:center;min-height:44px}

/* Launch cards are links: make their interactive state clear. */
.launch-button[href]{cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.launch-button[href]:hover,.launch-button[href]:focus-visible{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.launch-button[href]:hover>span,.launch-button[href]:focus-visible>span{text-decoration:underline;text-underline-offset:4px}
@media(prefers-reduced-motion:reduce){.launch-button[href]{transition:none}}
