/* ============================================================
   Zimmermann Law — Color tokens
   Near-monochrome, one green. Charcoal + off-white do the work;
   forest is the single accent. Support colours carry meaning
   (classification, states, data) — never decoration.

   Values are locked from the implemented site (hifi.css). The
   original brand-guide charcoal (#15171A) is kept as --ink-max
   for pure-black lockups / print.
   ============================================================ */

:root{
  /* ---- Primary ---- */
  --forest:#2F5A44;           /* THE accent — rules, marks, links, emphasis */
  --forest-d:#244736;         /* pressed / deeper forest */
  --forest-l:#3C6E52;         /* forest on light — links, small accents */
  --forest-on-dark:#82B597;   /* forest legible on dark fields */
  --forest-soft:#E0E7E1;      /* forest tint — accent tag/reassure backgrounds */

  /* ---- Dark band (headers, hero, footer) ---- */
  --d-bg:#24272C;             /* primary dark field */
  --d-bg-2:#1F2226;           /* raised surface on dark (menus) */
  --d-stroke:#3C4147;         /* hairline on dark */
  --d-ink:#F1EFE9;            /* off-white text on dark */
  --d-ink-muted:#ABADA8;      /* secondary text on dark */
  --d-mono:#8B8E8A;           /* mono/caption on dark */
  --footer:#1A1D21;           /* deepest field — footer */

  /* ---- Light body ---- */
  --bg:#F0EEE9;               /* warm paper — page background */
  --bg-alt:#E5E3DC;           /* alternating section band */
  --panel:#FBFAF6;            /* card / input surface */
  --stroke:#D6D4CC;           /* default border */
  --stroke-soft:#E2E0D9;      /* softest divider */
  --ink:#1B1D21;              /* primary text ink */
  --ink-muted:#54585D;        /* body / secondary text */
  --mono:#73726C;             /* labels, captions, kickers */
  --ghost:#CFCDC5;            /* placeholder text */
  --ink-max:#15171A;          /* max-contrast charcoal (print / pure lockups) */

  /* ---- Neutral ramp (warm) ---- */
  --n-900:#0E1013; --n-850:#15171A; --n-800:#232629; --n-700:#34383C;
  --n-500:#5B5F5D; --n-400:#8C8E89; --n-300:#B0B1AB; --n-200:#CFCDC6;
  --n-100:#E9E6DF; --n-50:#F4F1EA;

  /* ---- Forest ramp ---- */
  --forest-900:#16271E; --forest-700:#1E3A2C; --forest-500:#2F5A44;
  --forest-300:#74A488; --forest-200:#A8C7B5; --forest-50:#E5EEE8;

  /* ---- Support / Muted Jewel (meaning only) ---- */
  --claret:#6E3B41;   /* confidential / critical flags, redaction */
  --brass:#7A6535;    /* caution, pending review, highlighted figures */
  --slate:#3C5566;    /* informational, jurisdiction / reference */

  /* ---- Semantic aliases ---- */
  --surface-page:var(--bg);
  --surface-alt:var(--bg-alt);
  --surface-card:var(--panel);
  --surface-dark:var(--d-bg);
  --text-strong:var(--ink);
  --text-body:var(--ink-muted);
  --text-label:var(--mono);
  --text-on-dark:var(--d-ink);
  --border-default:var(--stroke);
  --border-soft:var(--stroke-soft);
  --accent:var(--forest);
  --accent-on-light:var(--forest-l);
  --accent-on-dark:var(--forest-on-dark);
  --link:var(--forest-l);
  --link-on-dark:var(--forest-on-dark);
}
