/* A complete, readable journey is the default. JavaScript adds the sticky sequence. */
.roadmap{scroll-margin-top:0}
.roadmap-stage{padding:40px var(--gutter);min-height:calc(100svh - var(--header-height));display:grid;gap:24px}
.roadmap-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;width:100%;max-width:1600px;margin-inline:auto}
.roadmap-intro h2{font-family:var(--heading);font-size:var(--section-title);font-weight:400;line-height:1.1;letter-spacing:-.03em;text-wrap:balance;margin:0}
.roadmap-intro>p{max-width:38ch;font-size:15px;line-height:1.6;margin:0}
.roadmap-visual{position:relative;justify-self:center;align-self:center;width:min(50svh,450px)}
.roadmap-orbit{position:relative;width:100%;aspect-ratio:1}
.roadmap-ring{display:block;width:100%;height:100%;overflow:visible}
.roadmap-track{stroke-width:1}
.roadmap-progress{stroke-width:2;stroke-dasharray:1;stroke-dashoffset:0;stroke-linecap:round}
.roadmap-orbit-count{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:32px;letter-spacing:-.03em;white-space:nowrap}
.roadmap-nodes{list-style:none;margin:0;padding:0}
.roadmap-nodes>li{position:absolute;left:var(--node-x);top:var(--node-y);width:0;height:0}
.roadmap-node{position:absolute;left:0;top:0;transform:translate(-50%,-50%);width:44px;height:44px;display:grid;place-items:center;opacity:1;visibility:visible;transition:opacity .3s cubic-bezier(.16,1,.3,1),visibility .3s}
.roadmap-node-dot{display:grid;place-items:center;width:24px;height:24px;border:1px solid;border-radius:50%;font-size:11px;line-height:1;transition:background .2s,color .2s,border-color .2s}
.roadmap-node-label{position:absolute;left:calc(100% - 4px);top:50%;transform:translateY(-50%);font-size:12px;line-height:1.4;white-space:nowrap}
.roadmap-node-left .roadmap-node-label{left:auto;right:calc(100% - 4px)}
.roadmap-node-top .roadmap-node-label{left:50%;top:auto;bottom:calc(100% - 3px);transform:translateX(-50%)}
.roadmap-current{display:none}
.roadmap-current h3{font-family:var(--heading);font-size:clamp(24px,2.4vw,32px);line-height:1.12;letter-spacing:-.025em;font-weight:400;text-wrap:balance;margin:0 0 12px}
.roadmap-current p{font-size:14px;line-height:1.55;margin:0;text-wrap:pretty}
.roadmap-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(100%,600px);justify-self:center}
.roadmap-controls[hidden]{display:none}
.roadmap-control{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:8px 0;background:transparent;font-size:13px;line-height:1.4}
.roadmap-control svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.35}
.roadmap-control:hover:not(:disabled){text-decoration:underline;text-underline-offset:4px}
.roadmap-control:disabled{opacity:.35;cursor:default}
.roadmap-status{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
.roadmap-details{list-style:none;counter-reset:journey;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 48px;width:100%;max-width:1100px;margin:16px auto 0;padding:0}
.roadmap-details>li{counter-increment:journey;border-top:1px solid;padding-top:18px;scroll-margin-top:24px}
.roadmap-details h3{font-family:var(--heading);font-size:24px;line-height:1.2;letter-spacing:-.02em;font-weight:400;margin:0 0 10px}
.roadmap-details h3::before{content:counter(journey) ". ";font-size:14px}
.roadmap-details p{max-width:60ch;font-size:15px;line-height:1.6;margin:0}
.roadmap.is-enhanced{height:calc((100svh - var(--header-height)) * 3.6)}
.roadmap.is-enhanced .roadmap-stage{position:sticky;top:var(--header-height);height:calc(100svh - var(--header-height));min-height:0;grid-template-rows:auto minmax(0,1fr) auto;gap:16px;padding-block:32px 24px}
.roadmap.is-enhanced .roadmap-details{display:none}
.roadmap.is-enhanced .roadmap-orbit-count{display:none}
.roadmap.is-enhanced .roadmap-current{display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:62%;text-align:center}
.roadmap.is-enhanced .roadmap-node:not(.is-revealed){opacity:0;visibility:hidden;pointer-events:none}
@media(max-width:760px){
  .roadmap-intro{display:block}
  .roadmap-intro h2{font-size:var(--section-title)}
  .roadmap-intro>p{max-width:60ch;margin-top:16px;font-size:14px}
  .roadmap-visual{width:min(78vw,42svh,340px)}
  .roadmap-node-label{display:none}
  .roadmap.is-enhanced .roadmap-stage{padding-block:24px 20px;gap:12px}
  .roadmap.is-enhanced .roadmap-intro>p{display:none}
  .roadmap.is-enhanced .roadmap-visual{width:min(78vw,calc(100svh - var(--header-height) - 356px),340px)}
  .roadmap.is-enhanced .roadmap-orbit-count{display:block}
  .roadmap.is-enhanced .roadmap-current{position:static;transform:none;width:min(100%,38ch);margin:10px auto 0;min-height:160px}
  .roadmap-current h3{font-size:24px;margin-bottom:10px}
  .roadmap-control{gap:8px;font-size:12px}
  .roadmap-details{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){
  .roadmap.is-enhanced{height:auto}
  .roadmap.is-enhanced .roadmap-stage{position:static;height:auto;min-height:calc(100svh - var(--header-height))}
  .roadmap-node,.roadmap-node-dot{transition:none}
}
