/* ==========================================================================
   pages/home.css — Styles unique to index.html
   ========================================================================== */

/* --- Hero ---------------------------------------------------------------- */
.hero { position: relative; padding-block: var(--space-2xl) var(--space-xl); overflow: hidden; }
.hero__grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: var(--space-xl); align-items: center; }
.hero__eyebrow { display: inline-flex; margin-bottom: var(--space-m); }
.hero h1 { margin-bottom: var(--space-m); }
.hero h1 .accent { color: var(--pine); }
.hero__lead { font-size: var(--step-1); color: var(--text-muted); max-width: 46ch; margin-bottom: var(--space-l); }
.hero__cta { display: flex; flex-wrap: wrap; gap: var(--space-s); margin-bottom: var(--space-l); }
.hero__proof { display: flex; align-items: center; gap: var(--space-s); font-size: var(--step--1); color: var(--text-muted); }

/* Dispatch board — the hero's live demo panel */
.dispatch {
  background: var(--ink); color: var(--mist);
  border-radius: var(--radius-l); padding: var(--space-m);
  box-shadow: var(--shadow-l);
}
.dispatch__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--space-m); }
.dispatch__title { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--sage); }
.dispatch__row {
  display: grid; grid-template-columns: auto 1fr auto; gap: var(--space-s); align-items: center;
  padding: var(--space-s) 0; border-top: 1px solid rgba(143,168,158,0.18);
}
.dispatch__id { font-family: var(--font-mono); font-size: 0.78rem; color: var(--sage-soft); }
.dispatch__route { display: flex; flex-direction: column; gap: 0.2rem; }
.dispatch__route b { font-family: var(--font-display); font-weight: 500; font-size: 0.95rem; }
.dispatch__path { display: flex; align-items: center; gap: 0.4rem; font-family: var(--font-mono); font-size: 0.68rem; color: var(--sage); }
.dispatch__eta { text-align: right; }
.dispatch__eta b { font-family: var(--font-mono); font-size: 0.9rem; color: var(--signal); }
.dispatch__eta small { display: block; font-family: var(--font-mono); font-size: 0.62rem; color: var(--sage); letter-spacing: 0.05em; }
.dispatch__route .route-line { margin-top: 0.3rem; background: rgba(143,168,158,0.25); }

@media (max-width: 920px) {
  .hero__grid { grid-template-columns: 1fr; gap: var(--space-l); }
  .dispatch { order: -1; }
}

/* --- Process: Ingest -> Predict -> Optimize -> Dispatch ------------------ */
/* Numbered markers are justified here: this is a true ordered pipeline. */
.process { counter-reset: step; }
.process__step { position: relative; padding-left: 4.5rem; padding-block: var(--space-m); }
.process__step::before {
  counter-increment: step; content: counter(step, decimal-leading-zero);
  position: absolute; left: 0; top: var(--space-m);
  font-family: var(--font-mono); font-size: var(--step-1); color: var(--signal); font-weight: 500;
}
.process__step::after {
  content: ""; position: absolute; left: 1.1rem; top: 3.4rem; bottom: -0.5rem; width: 1px; background: var(--line);
}
.process__step:last-child::after { display: none; }
.process__step h3 { font-size: var(--step-1); margin-bottom: var(--space-2xs); }
.process__step p { color: var(--text-muted); max-width: 60ch; }

/* --- Outcome stats band -------------------------------------------------- */
.outcomes { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-l); }
@media (max-width: 760px) { .outcomes { grid-template-columns: 1fr 1fr; gap: var(--space-m); } }

/* --- CTA banner ---------------------------------------------------------- */
.cta-banner { text-align: center; }
.cta-banner h2 { max-width: 18ch; margin-inline: auto; margin-bottom: var(--space-m); }
.cta-banner p { color: var(--sage-soft); max-width: 50ch; margin-inline: auto; margin-bottom: var(--space-l); }
.cta-banner__actions { display: flex; gap: var(--space-s); justify-content: center; flex-wrap: wrap; }
