:root{
  /* ── Base palette (values taken verbatim from the brand sheet) ── */
  --grwp-ink:#121A16;          /* near-black forest green */
  --grwp-cream:#F2EDE6;
  --grwp-coral:#E76F51;
  --grwp-sage:#A3B18A;
  --grwp-sand:#D8C9AB;

  /* Ink ramp — dark surfaces & type */
  --ink-900:#0D1310;
  --ink-800:#121A16;
  --ink-700:#1B2621;
  --ink-600:#26332C;
  --ink-500:#3C4A42;
  --ink-400:#5C6A62;
  --ink-300:#8A9690;
  --ink-200:#B9C2BC;

  /* Coral ramp — the single action colour */
  --coral-700:#C4512F;
  --coral-600:#D45E3C;
  --coral-500:#E76F51;
  --coral-300:#F2A48D;
  --coral-200:#F8C9BA;
  --coral-100:#FCE6DE;

  /* Sage ramp — confirmation, calm accents */
  --sage-700:#6F7C55;
  --sage-600:#8A9970;
  --sage-500:#A3B18A;
  --sage-300:#C6D0B2;
  --sage-200:#DEE5D2;
  --sage-100:#EFF2E9;

  /* Sand & cream ramp — warm neutrals, page and card grounds */
  --sand-600:#BFAE8C;
  --sand-500:#D8C9AB;
  --sand-300:#E7DCC7;
  --sand-200:#EFE7D9;
  --cream-500:#F2EDE6;
  --cream-300:#F7F3EE;
  --cream-100:#FCFAF7;
  --white:#FFFFFF;

  /* Logo dot accents — decorative only, never UI colours */
  --dot-teal:#B0DCDD;
  --dot-coral:#EAA48F;
  --dot-green:#C2D5AB;

  /* ── Semantic aliases — use these in components ── */
  --bg-page:var(--cream-500);
  --bg-surface:var(--cream-100);
  --bg-surface-alt:var(--cream-300);
  --bg-sunken:var(--sand-200);
  --bg-inverse:var(--ink-800);
  --bg-inverse-alt:var(--ink-700);
  --bg-scrim:rgba(13,19,16,0.48);

  --text-primary:var(--ink-800);
  --text-secondary:var(--ink-400);
  --text-tertiary:var(--ink-300);
  --text-accent:var(--coral-500);
  --text-inverse:var(--cream-500);
  --text-inverse-muted:rgba(242,237,230,0.68);
  --text-on-coral:var(--cream-100);

  --border-subtle:rgba(18,26,22,0.08);
  --border-default:rgba(18,26,22,0.14);
  --border-strong:rgba(18,26,22,0.28);
  --border-inverse:rgba(242,237,230,0.16);

  --action-primary:var(--coral-500);
  --action-primary-hover:var(--coral-600);
  --action-primary-press:var(--coral-700);
  --action-dark:var(--ink-800);
  --action-dark-hover:var(--ink-700);
  --action-quiet:var(--cream-300);

  --state-success:var(--sage-600);
  --state-success-bg:var(--sage-100);
  --state-warning:#C98A2E;
  --state-danger:#B4432B;
  --state-favourite:var(--coral-500);

  --focus-ring:var(--coral-500);
}
