:root{
  /* ── Navy: primary. Depth, intelligence, calm authority ─────────────── */
  --navy-900:#0B1230;
  --navy-800:#131E44; /* brand primary */
  --navy-700:#1E2C5C;
  --navy-600:#2E3E72;
  --navy-500:#4B5A8B;
  --navy-400:#7C87A6;
  --navy-300:#A9B1C6;
  --navy-200:#CDD3E0;
  --navy-100:#E7EAF1;
  --navy-050:#F3F5F9;

  /* ── Burgundy: accent. Passion, transformation, emotional richness ──── */
  --burgundy-900:#48121F;
  --burgundy-800:#6B1E2E; /* brand accent */
  --burgundy-700:#83293A;
  --burgundy-600:#9B3E4F;
  --burgundy-400:#BE7C87;
  --burgundy-200:#E6CBD0;
  --burgundy-100:#F6EAEC;

  /* ── Warm neutrals: breathing space ─────────────────────────────────── */
  --white:#FFFFFF;
  --ivory:#FBF8F3;
  --ivory-deep:#F4EDE3;
  --sand:#E7DFD2;
  --stone:#CFC6B8;
  --taupe:#9C9385;
  --graphite:#4A4642;
  --ink:#1C1A18;

  /* ── Semantic aliases ───────────────────────────────────────────────── */
  --surface-page:var(--ivory);
  --surface-page-alt:var(--ivory-deep);
  --surface-card:var(--white);
  --surface-inverse:var(--navy-800);
  --surface-inverse-deep:var(--navy-900);
  --surface-accent:var(--burgundy-800);
  --surface-subtle:var(--navy-050);
  --surface-hover:rgba(19,30,68,.04);
  --surface-pressed:rgba(19,30,68,.08);

  --text-primary:var(--navy-800);
  --text-secondary:#4E587A;
  --text-muted:var(--taupe);
  --text-accent:var(--burgundy-800);
  --text-on-inverse:var(--white);
  --text-on-inverse-muted:rgba(255,255,255,.72);
  --text-on-accent:var(--white);

  --border-hairline:rgba(19,30,68,.14);
  --border-strong:var(--navy-800);
  --border-accent:var(--burgundy-800);
  --border-on-inverse:rgba(255,255,255,.24);

  --link:var(--burgundy-800);
  --link-hover:var(--burgundy-600);

  --focus-ring:var(--burgundy-800);

  /* Semantic status — drawn from the brand palette itself. No greens.
     Gold is the one non-brand hue and is reserved for genuine "needs you" moments. */
  --status-positive:var(--navy-700);
  --status-attention:#8A6A2F; /* use sparingly */
  --status-critical:var(--burgundy-800);
  --status-info:var(--navy-500);
}
