/* Impending Tech — colour system. Source: Impend hero sheet §06, image series. */
:root{
  /* ── Brand core ───────────────────────────────────────────── */
  --cream:#F6F4EF;          /* the brand's default page colour */
  --ink:#0F1F1D;            /* deep teal-black; the dark counterpart to cream */
  --teal:#0E5B57;           /* primary brand colour, the mark's colour */
  --mint:#29D6C2;           /* signal / on-dark accent, the character's face glow */
  --orange:#FF8A00;         /* action + emphasis; the single hot accent */

  /* ── Teal ramp ────────────────────────────────────────────── */
  --teal-900:#073C3A;
  --teal-700:#0E5B57;
  --teal-500:#1B7A72;
  --teal-300:#29D6C2;
  --teal-100:rgba(41,214,194,.18);

  /* ── Orange ramp ──────────────────────────────────────────── */
  --orange-700:#C46A00;
  --orange-500:#FF8A00;
  --orange-100:#FFF6EC;
  --orange-glow:rgba(255,138,0,.16);

  /* ── Cream / paper ramp (light neutrals are warm, never grey) */
  --paper-000:#FFFFFF;
  --paper-050:#F6F4EF;
  --paper-100:#EFEDE6;
  --paper-200:#E9E6DE;
  --paper-300:#E4E2DC;
  --paper-400:#DAD6CC;
  --paper-500:#C9C6BE;

  /* ── Ink ramp (dark neutrals lean green-graphite) ─────────── */
  --ink-900:#0A1413;
  --ink-800:#0F1F1D;
  --ink-700:#14211F;
  --ink-600:#23302E;
  --graphite:#2E3036;
  --near-black:#23282B;

  /* ── Text neutrals ────────────────────────────────────────── */
  --text-900:#23282B;
  --text-800:#2E3036;
  --text-600:#5C5A53;
  --text-500:#6E6B63;
  --text-400:#8A867C;
  --text-300:#9A968C;

  /* ── Line work ────────────────────────────────────────────── */
  --line-100:#EDEAE2;
  --line-200:#E6E3DA;
  --line-300:#E3E0D7;
  --line-400:#DFDBD1;
  --line-500:#D6D3CA;
  --line-600:#CFCCC2;

  /* ── Semantic aliases: use these in product UI ────────────── */
  --surface-page:var(--paper-050);
  --surface-card:var(--paper-000);
  --surface-sunken:var(--paper-100);
  --surface-deep:var(--paper-400);
  --surface-inverse:var(--ink-800);
  --surface-brand:var(--teal-700);
  --surface-accent:var(--orange-500);
  --surface-notice:var(--orange-100);

  --text-heading:var(--text-900);
  --text-body:var(--text-600);
  --text-muted:var(--text-500);
  --text-faint:var(--text-300);
  --text-label:var(--text-400);
  --text-link:var(--teal-700);
  --text-link-hover:var(--orange-500);
  --text-on-brand:var(--cream);
  --text-on-inverse:var(--cream);
  --text-on-inverse-muted:rgba(246,244,239,.7);
  --text-on-accent:var(--ink-800);
  --text-notice:#6B5433;

  --border-default:var(--line-400);
  --border-subtle:var(--line-100);
  --border-strong:var(--line-600);
  --border-notice:#F2DFC6;
  --border-on-inverse:rgba(246,244,239,.16);

  --focus-ring:var(--orange-500);
  --state-hover-veil:rgba(46,48,54,.06);
  --state-press-veil:rgba(46,48,54,.12);

  /* ── Status (derived from brand, no new hues) ──────────────── */
  --status-pass:var(--teal-700);
  --status-attention:var(--orange-500);
  --status-live:var(--mint);
  --status-idle:var(--text-300);
}
