/* HEAL Access design tokens — HEAL v2 brand (Brand Kit V1).
   Phase 2 contract: this file is the ONLY home for color, type, and
   spacing values. Reskin the whole site by editing this file alone.
   styles.css must not contain raw color/size values.
   Palette mirrors cottam-flutter `HealV2` (lib/theme/heal_v2_brand.dart). */
:root {
  /* ---- core brand palette (HealV2) ---- */
  --color-ivory: #fbfdf6; /* primary light surface */
  --color-dark-green: #003b32; /* primary brand — chrome, headlines */
  --color-honeydew: #d3ebe0; /* soft accent surface */
  --color-peach: #f9c5a1; /* warm accent — primary button fill, callouts */
  --color-silver: #c7c8c3; /* muted neutral — borders, captions */

  /* extended green — pressed/active state on dark green */
  --color-green-deeper: #00241e;

  /* ---- semantic color roles (these are what styles.css consumes) ---- */
  --color-bg: var(--color-ivory);
  --color-surface: #eff5ef; /* honeydew-tinted card on ivory */
  --color-text: var(--color-dark-green);
  --color-text-muted: rgba(0, 59, 50, 0.7);
  --color-accent: var(--color-dark-green);
  --color-accent-hover: var(--color-green-deeper);
  --color-accent-tint: var(--color-honeydew); /* outline-button hover fill */
  --color-on-accent: var(--color-ivory);
  --color-visited: #3a6b5f; /* desaturated brand for visited links */
  --color-border: var(--color-silver);
  --color-focus: #bd7530; /* contrast-tuned amber — 3.6:1 on ivory, 3.4:1 on dark green (WCAG 1.4.11) */
  --color-device: #07120e; /* near-black phone bezel, app showcase */

  /* warm-accent button surfaces */
  --color-peach-fill: var(--color-peach);
  --color-on-peach: var(--color-dark-green);

  /* ---- type — HEAL v2 brand families ----
     Orbikular display/serif, Geist body/UI, Geist Mono labels/data.
     Stacks fall back to the closest system faces if a file fails to load. */
  --font-serif: 'Orbikular', 'Fraunces', Georgia, serif;
  --font-sans: 'Geist', 'Inter', system-ui, -apple-system, sans-serif;
  --font-mono: 'Geist Mono', 'JetBrains Mono', ui-monospace, monospace;
  --text-sm: 13px;
  --text-base: 16px;
  --text-lg: 20px;
  --text-xl: 25px;
  --text-2xl: 31px;
  --text-3xl: 39px;
  --text-4xl: 49px;

  /* ---- layout ---- */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 16px;
  --space-4: 24px;
  --space-5: 40px;
  --space-6: 64px;
  --space-7: 96px;

  /* radius scale (HealV2 — modest, editorial) */
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius: var(--radius-md); /* default surface radius */

  --shadow-phone: 0 16px 36px rgba(0, 0, 0, 0.16), 0 3px 8px rgba(0, 0, 0, 0.12);
  --max-width: 1100px;
}
