/* vision section, right column: the roadmap as phases down a rail. The live
   phase's stretch of rail and its tick are lit; the rest stay faint. */
.roadmap {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 40px;
  padding: calc(var(--section-y) * 1.5) var(--pad);
  border-left: 1px solid var(--line);
}
.roadmap__list { position: relative; display: grid; grid-auto-rows: 1fr; }
/* the rail */
.roadmap__list::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  bottom: 0;
  width: 1px;
  background: linear-gradient(var(--line), var(--line-soft) 85%, transparent);
}
.roadmap__item {
  position: relative;
  display: grid;
  grid-template-columns: 112px minmax(0, 460px);
  gap: 6px 0;
  align-content: start;
  padding: 0 0 40px 32px;
}
/* tick from the rail to the phase label */
.roadmap__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  width: 16px;
  height: 1px;
  background: var(--faint);
}
.roadmap__phase { grid-row: span 2; font: 400 14px/24px var(--mono); color: var(--faint); }
.roadmap__item h3 { font: 400 24px/26px var(--sans); letter-spacing: -0.03em; color: var(--muted); }
.roadmap__item p { font-size: 16px; line-height: 24px; }

.roadmap__item.is-live::before { background: var(--text); }
.roadmap__item.is-live::after {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  bottom: 0;
  width: 1px;
  background: linear-gradient(var(--text), var(--line));
}
.roadmap__item.is-live .roadmap__phase,
.roadmap__item.is-live h3 { color: var(--text); }

@media (max-width: 860px) {
  .roadmap { border-left: 0; border-top: 1px solid var(--line); padding-block: var(--section-y); }
  .roadmap__item { grid-template-columns: 1fr; padding-left: 24px; }
  .roadmap__phase { grid-row: auto; }
}
