:root{
  /* ---- Brand: terracotta ---- */
  --ve-terracotta-50:#FDF3F0;
  --ve-terracotta-100:#F8DED6;
  --ve-terracotta-200:#EFBCAD;
  --ve-terracotta-400:#DC6B4E;
  --ve-terracotta-500:#C74A32;
  --ve-terracotta-600:#AF3E29;
  --ve-terracotta-700:#8E3020;

  /* ---- Neutrals: warm stone ---- */
  --ve-white:#FFFFFF;
  --ve-stone-50:#FAF8F5;
  --ve-stone-100:#F5F2ED;
  --ve-stone-200:#EFEBE5;
  --ve-stone-300:#E4DFD8;
  --ve-stone-400:#C9C2B9;
  --ve-stone-500:#97918A;
  --ve-stone-600:#6E6862;
  --ve-stone-700:#45413D;
  --ve-stone-900:#1F1D1B;

  /* ---- Semantic: primary ---- */
  --color-primary:var(--ve-terracotta-500);
  --color-primary-hover:var(--ve-terracotta-600);
  --color-primary-active:var(--ve-terracotta-700);
  --color-primary-disabled:var(--ve-terracotta-200);
  --color-primary-subtle:var(--ve-terracotta-50);
  --color-on-primary:#FFFFFF;

  /* ---- Semantic: surfaces & text ---- */
  --color-canvas:var(--ve-white);
  --color-surface-soft:var(--ve-stone-50);
  --color-surface-strong:var(--ve-stone-100);
  --color-surface-inverse:var(--ve-stone-900);
  --color-ink:var(--ve-stone-900);
  --color-body:var(--ve-stone-700);
  --color-muted:var(--ve-stone-600);
  --color-muted-soft:var(--ve-stone-500);
  --color-on-inverse:#FAF8F5;
  --color-hairline:var(--ve-stone-300);
  --color-hairline-soft:var(--ve-stone-200);
  --color-border-strong:var(--ve-stone-400);

  /* ---- Semantic: status (deliberately not brand terracotta) ---- */
  --color-success:#2F7D5C;
  --color-success-subtle:#EAF3EE;
  --color-warning:#9C6A15;
  --color-warning-subtle:#FAF1E1;
  --color-error:#B02C3F;
  --color-error-subtle:#FBECEE;
  --color-info:#2C5F7A;
  --color-info-subtle:#EAF1F5;

  /* ---- Focus & overlays ---- */
  --color-focus-ring:#1F1D1B;
  --color-focus-ring-inverse:#FFFFFF;
  --color-scrim:rgba(31,29,27,.48);
  --color-image-tint:rgba(31,29,27,.06);
  --overlay-photo-bottom:linear-gradient(to top,rgba(31,29,27,.62) 0%,rgba(31,29,27,.18) 42%,rgba(31,29,27,0) 72%); /* @kind color */
  --overlay-photo-hero:linear-gradient(to top,rgba(31,29,27,.55) 0%,rgba(31,29,27,.12) 55%,rgba(31,29,27,.22) 100%); /* @kind color */
}
