:root{
  /* ── Brand red — sampled from assets/logo-relax-red.pdf (rgb 211 46 35) ── */
  --red-050:#FDF5F4; --red-100:#FBE9E7; --red-200:#F5CBC7; --red-300:#E98A82;
  --red-400:#DF574C; --red-500:#D32E23; --red-600:#BF2A1F; --red-700:#A81F17; --red-800:#7D1710;

  /* ── Water — the "fresher touch": calm, cool, never neon ── */
  --aqua-050:#F2F9FA; --aqua-100:#E3F1F3; --aqua-200:#C2E2E7; --aqua-300:#7FC4CF;
  --aqua-400:#3F9FAF; --aqua-500:#1F8C9E; --aqua-600:#16707F; --aqua-700:#0F5A68;

  /* ── Warm neutrals — oak, linen and plaster from the showroom photography ── */
  --sand-050:#FDFBF9; --sand-100:#FBF8F5; --sand-200:#F4EEE8; --sand-300:#E7DED4; --sand-400:#D6C9BB;

  /* ── Ink ── */
  --ink-900:#1A1817; --ink-800:#2A2624; --ink-700:#3D3835; --ink-500:#6B635D;
  --ink-400:#877E77; --ink-300:#9A918A; --ink-200:#C6BEB8;
  --white:#FFFFFF;

  /* ── Support ── */
  --green-500:#2E7D52; --green-700:#1F5738; --green-100:#E4F1E9;
  --amber-500:#B8730C; --amber-100:#FBF0DE;

  /* ══ Semantic aliases — always prefer these in components ══ */
  --brand:var(--red-500);
  --brand-hover:var(--red-600);
  --brand-press:var(--red-700);
  --brand-soft:var(--red-100);
  --brand-soft-hover:var(--red-200);
  --accent:var(--aqua-500);
  --accent-hover:var(--aqua-600);
  --accent-soft:var(--aqua-100);

  --text-strong:var(--ink-900);
  --text-body:var(--ink-700);
  --text-muted:var(--ink-500);
  --text-faint:var(--ink-300);
  --text-brand:var(--red-600);
  --text-on-brand:var(--white);
  --text-on-dark:var(--sand-100);

  --surface-page:var(--white);
  --surface-card:var(--white);
  --surface-sand:var(--sand-100);
  --surface-sand-deep:var(--sand-200);
  --surface-brand:var(--red-500);
  --surface-brand-soft:var(--red-050);
  --surface-accent-soft:var(--aqua-050);
  --surface-dark:var(--ink-900);

  --border-subtle:var(--sand-300);
  --border-quiet:var(--sand-200);
  --border-strong:var(--ink-200);
  --border-brand:var(--red-500);

  --focus-ring:var(--aqua-500);

  --state-success:var(--green-500);
  --state-warning:var(--amber-500);
  --state-danger:var(--red-600);
}
