:root {
  /* ---- Brand mark (logo only — never UI) ---- */
  --mc-red: #EB001B;
  --mc-yellow: #F79E1B;

  /* ---- Ink / neutrals ---- */
  --ink-black: #141413;      /* warm near-black: primary text, CTAs, footer */
  --charcoal: #262627;       /* softer black text alternate */
  --slate-gray: #696969;     /* muted secondary text */
  --granite: #555555;        /* deep gray inline accent */
  --graphite: #565656;       /* link alternate */
  --dust-taupe: #D1CDC7;     /* whisper / disabled text on cream */

  /* ---- Surfaces (warm) ---- */
  --canvas-cream: #F3F0EE;   /* page canvas — the default, never white */
  --lifted-cream: #FCFBFA;   /* one step lighter, nested "paper on paper" */
  --white: #FFFFFF;          /* nav pill, modals, satellite CTAs */
  --soft-bone: #F4F4F4;      /* cool-gray alt surface */
  --whisper-cream: #E8E2DA;  /* ghost-watermark headline tone */

  /* ---- Signal / accent (use sparingly) ---- */
  --signal-orange: #CF4500;  /* consent / legal actions ONLY */
  --light-signal-orange: #F37338; /* orbital arcs, carousel indicators */
  --clay-brown: #9A3A0A;     /* secondary link-style buttons */

  /* ---- Semantic ---- */
  --link-blue: #3860BE;      /* inline links, informational callouts */

  /* ---- Semantic aliases ---- */
  --surface-page: var(--canvas-cream);
  --surface-raised: var(--lifted-cream);
  --surface-card: var(--white);
  --surface-inverse: var(--ink-black);

  --text-heading: var(--ink-black);
  --text-body: var(--ink-black);
  --text-muted: var(--slate-gray);
  --text-whisper: var(--dust-taupe);
  --text-on-inverse: var(--white);
  --text-link: var(--link-blue);

  --action-primary-bg: var(--ink-black);
  --action-primary-fg: var(--canvas-cream);
  --action-consent-bg: var(--signal-orange);
  --border-strong: var(--ink-black);
  --accent-arc: var(--light-signal-orange);
}
