:root {color-scheme:dark;--bg:#0b1415;--panel:#142222;--edge:#29413e;--ink:#e9f5ef;--muted:#aec6bd;--mint:#9af0c5;--mono:ui-monospace,Consolas,monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 system-ui,sans-serif}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--mint);outline-offset:5px}
.skip{position:absolute;left:1rem;top:-80px;background:var(--bg);padding:10px;z-index:5}
.skip:focus{top:10px}
.top,main,footer{width:min(1340px,calc(100% - 56px));margin-inline:auto}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 0}
.logo{display:flex;gap:10px;align-items:center;font-weight:780;letter-spacing:.15em;white-space:nowrap}
.logo b{display:grid;place-items:center;width:35px;height:35px;background:var(--mint);color:#12392a;border-radius:8px;font-size:19px}
.logo small,.kicker,.scoreboard p,.map-caption,footer span{font:11px/1.5 var(--mono);letter-spacing:.12em}
.logo small,.kicker,.scoreboard p{color:var(--mint)}
nav{display:flex;align-items:center;gap:23px;font-size:13px}
nav a:hover,.secondary:hover,footer a:hover{color:var(--mint)}
.nav-demo,.secondary{border:1px solid #53756a;border-radius:7px;padding:9px 13px}
.hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:395px;border:1px solid var(--edge);border-radius:17px;background:linear-gradient(110deg,#101d1e 20%,#152b29 100%)}
.terrain{position:absolute;z-index:-1;right:0;top:0;width:59%;height:100%;mask-image:linear-gradient(to right,transparent,#000 35%)}
.hero-copy{padding:38px 42px;max-width:735px}
.kicker{margin:0 0 7px}
.hero .kicker span{display:inline-block;background:var(--mint);width:7px;height:7px;margin-right:5px;border-radius:50%}
h1,h2,h3,p{overflow-wrap:break-word}
h1{font-size:clamp(45px,6.8vw,91px);line-height:.95;letter-spacing:-.07em;margin:14px 0 18px;font-weight:660}
h1 span{display:block;color:var(--mint)}
.hero-copy>p:not(.kicker),.section-head>p,.description,.next,.timeline li p:last-child,.demo-callout p:not(.kicker),footer{color:var(--muted)}
.hero-copy>p:not(.kicker){max-width:440px;margin-bottom:22px}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px}
.primary{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;background:var(--mint);color:#102f24;border-radius:7px;font-weight:750;font-size:13px}
.primary:hover{background:#c2ffde}
.secondary{font-size:13px}
.map-caption{position:absolute;right:15px;bottom:12px;color:var(--muted)}
.map-caption span{color:var(--mint);margin-left:12px}
.scoreboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:14px 0 52px;background:var(--edge);border:1px solid var(--edge);border-radius:12px;overflow:hidden}
.scoreboard>div{padding:18px;background:var(--panel)}
.scoreboard p{margin:0 0 8px}
.scoreboard strong{display:block;font-size:clamp(27px,3.2vw,45px);letter-spacing:-.05em;line-height:1.12;font-variant-numeric:tabular-nums}
.scoreboard small{color:var(--muted);font-size:.58em}
.scoreboard span{font-size:12px;color:var(--muted)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:0 0 17px}
.section-head>p{max-width:340px;margin:0;font-size:13px}
h2{font-size:clamp(25px,3.1vw,43px);letter-spacing:-.05em;line-height:1.1;margin:0}
h3{font-size:20px;line-height:1.15;letter-spacing:-.025em;margin:6px 0}
.module-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.module{display:flex;flex-direction:column;min-width:0;padding:15px;background:var(--panel);border:1px solid var(--edge);border-radius:10px}
.module.feature{background:#173329;border-color:#4c806b}
.pill{align-self:flex-start;color:#cae4d9;background:#283c37;padding:4px 7px;margin:4px 0 0;border-radius:4px;font-size:11px;font-weight:640}
.feature .pill{color:#12382a;background:var(--mint)}
.description{font-size:13px;margin:12px 0;flex:1}
.meter-label{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted)}
.meter-label strong{color:var(--ink);white-space:nowrap}
progress{width:100%;height:7px;margin-top:6px;border:0;border-radius:8px;overflow:hidden;background:#263e37;color:var(--mint);accent-color:var(--mint)}
progress::-webkit-progress-bar{background:#263e37}
progress::-webkit-progress-value{background:var(--mint)}
progress::-moz-progress-bar{background:var(--mint)}
.next{font-size:12px;border-top:1px solid var(--edge);margin:13px 0 0;padding-top:9px}
.next b{display:block;color:var(--mint)}
#timeline{margin-top:50px}
.timeline{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--edge);border:1px solid var(--edge);border-radius:12px;overflow:hidden}
.timeline li{padding:17px;background:var(--panel)}
.timeline h3{font-size:17px}
.timeline li p:last-child{font-size:13px;margin-bottom:0}
.step{display:grid;place-items:center;border:1px solid #65877b;color:var(--muted);width:32px;height:32px;border-radius:50%;margin-bottom:14px;font:12px var(--mono)}
.step.complete{background:var(--mint);border-color:var(--mint);color:#12382a}
.demo-callout{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:36px 0 24px;padding:20px 22px;border:1px solid #3c6659;border-radius:12px;background:#183129}
.demo-callout h2{font-size:27px}
.demo-callout p:last-child{margin-bottom:0}
footer{display:flex;justify-content:space-between;gap:12px;align-items:baseline;border-top:1px solid var(--edge);padding:14px 0;font-size:12px}
@media(max-width:1050px){.module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:750px){
  .top,main,footer{width:calc(100% - 28px)}
  .hero{min-height:0}
  .hero-copy{padding:25px 19px 50px}
  .terrain{width:100%;opacity:.42}
  .scoreboard,.module-grid,.timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
  .section-head,.demo-callout,footer{display:block}
  .section-head>p{margin-top:8px}
  .demo-callout .primary{margin-top:12px}
}
@media(max-width:430px){
  nav{gap:8px}
  nav>a:not(.nav-demo),.logo small{display:none}
  .module-grid{grid-template-columns:1fr}
  .scoreboard>div,.timeline li{padding:12px}
  .map-caption{font-size:9px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
