/* Keep the current production type families, weights, scale, tracking, and palette.
   Improvements here are restricted to spacing, alignment, and surface finish. */
.hero .copy { max-width: 920px; }
.hero .ctas { gap: 12px; }
.stage .card {
  border-color: rgba(16,65,102,.10);
  box-shadow: 0 12px 28px rgba(14,44,69,.11), 0 2px 5px rgba(14,44,69,.04), inset 0 1px 0 rgba(255,255,255,.9);
}
.stage .card:hover, .stage .card:focus-visible {
  border-color: rgba(16,65,102,.25);
  box-shadow: 0 16px 36px rgba(14,44,69,.15);
}
.hero-vid .vid { border-color: rgba(255,255,255,.8); }
.ch-visual .frame { box-shadow: 0 16px 40px -12px rgba(14,44,69,.14); }
.chapter.navy .ch-visual .frame { box-shadow: 0 20px 45px -14px rgba(0,15,30,.28); }
.ch-visual figcaption { margin-top: 16px; }
.mini-cite { min-height: 44px; }
.premium-comparison { display:grid; gap:20px; margin:28px 0; }
.premium-comparison>div {
  display:grid; grid-template-columns:1fr auto; gap:10px;
  font-family:inherit; font-size:12px; font-weight:400; line-height:1.5;
  color:var(--warm-gray);
}
.premium-comparison i { grid-column:1/-1; width:var(--bar); height:8px; border-radius:4px; background:var(--border); }
.premium-comparison .premium-new i { background:var(--navy); }
.premium-new>span { color:var(--navy); }
.p-card { box-shadow: 0 6px 20px rgba(14,44,69,.05); }
.p-card:hover { box-shadow: 0 16px 32px rgba(14,44,69,.10); }
a:focus-visible,button:focus-visible { outline:2px solid var(--accent);outline-offset:4px; }
@media(max-width:720px) {
  .hero .ctas { gap:10px; }
  .hero .ctas .btn { padding-inline:18px; }
  .ch-visual figcaption { margin-top:14px; }
  .premium-comparison { gap:16px; margin:24px 0; }
}

/* Lighter waypoint cards, with the existing flight path and type hierarchy. */
.stage .card { padding:14px 18px 14px 14px;border-radius:12px; background:rgba(255,255,255,.97);box-shadow:0 8px 22px rgba(14,44,69,.08); }
.stage .c-row { gap:12px; }
.stage .th-icon { width:38px;height:38px;border-radius:9px;background:#edf3f6;border-color:transparent;color:var(--navy); }
.stage .th-icon svg { width:23px;height:23px; }
.stage .th-icon .ln { stroke:var(--navy); }
.stage .th-icon .fl { fill:var(--navy); }
.stage .th-icon .ok { fill:#397d62; }
.stage .th-icon .okl { stroke:#397d62; }
.stage .th-icon .acd { stroke:#6e94ac; }
@media(max-width:720px) { .stage .card { padding:12px; }.stage .c-row { gap:10px; } }
