/* The CV Method — Colour tokens. Palette: Deep Navy · Green accent · Orchid pop. */
:root{
  /* ---- Ink / Deep Navy scale ---- */
  --ink-900:#0A1836;   /* darkest surface — hero, footer, nav on dark */
  --ink-800:#15265C;
  --ink-700:#253869;
  --ink-600:#33477A;
  --ink-500:#5A6B90;   /* muted text on dark */
  --ink-text:#0F1720;  /* near-black headings on canvas */

  /* ---- Green / accent scale ---- */
  --green:#17B87A;      /* brand green — primary interface accent */
  --accent:#2EE09A;     /* bright accent — states, mark on ink, data */
  --mint:#8FF0C6;       /* soft green — rails, chips, tints */
  --green-ink:#0B7A50;  /* AA-safe green text on white */
  --green-soft:#E4FBF0; /* faint green surface tint */

  /* ---- Orchid pop (one per view; never a gradient stop) ---- */
  --orchid:#EF84F5;
  --orchid-strong:#C94FD1;
  --orchid-ink:#9A2AA0;  /* AA-safe orchid text on white */
  --orchid-soft:#FBEAFC;

  /* ---- Canvas & neutrals ---- */
  --canvas:#FFFFFF;
  --canvas-soft:#F4F7FF;  /* page tint */
  --canvas-mute:#EEF2F7;  /* dividers, faint fills */
  --border:#E4E9F2;
  --border-strong:#CDD6E4;
  --line:#EEF2F7;

  /* ---- Text neutrals ---- */
  --text-strong:#0F1720;
  --text-body:#3A4A54;
  --text-muted:#5A6B7B;
  --text-faint:#8A99A0;
  --text-on-ink:#FFFFFF;
  --text-on-ink-muted:#7E92B0;

  /* ---- Semantic ---- */
  --danger:#DC2626;
  --danger-soft:#FEECEC;
  --warning:#D9820A;
  --success:var(--green-ink);
  --info:var(--ink-700);

  /* ---- Semantic surface / action aliases ---- */
  --surface-page:var(--canvas-soft);
  --surface-card:var(--canvas);
  --surface-dark:var(--ink-900);
  --action:var(--green);
  --action-hover:#12A56C;
  --focus-ring:rgba(46,224,154,.55);
  --link:var(--green-ink);
  --link-on-ink:var(--accent);

  /* ---- Shared misc tokens (no dedicated home in spacing/effects/motion) ----
     border-dark/slate-300 are dark-surface neutrals; hit-min is the SPEC §2.4
     44px tap-target floor; hero-i/reveal-i are JS-driven stagger indices
     defaulted here so the rules that read them work before JS sets them;
     booking-embed-h is the Calendly embed's default height. 404.html is
     deliberately self-contained on colors/typography/spacing/fonts only
     (no effects.css/motion.css), so these live here rather than there. */
  --border-dark:rgba(255,255,255,.08);
  --slate-300:#7E92B0;
  --hit-min:44px;
  --hero-i:0;
  --reveal-i:0;
  --booking-embed-h:640px;
}
