:root {
  --metier-primary: #075985;
  --metier-primary-hover: #064c72;
  --metier-primary-active: #043b59;
  --metier-primary-soft: #e7f3f7;
  --metier-on-primary: #ffffff;
  --surface: #ffffff;
  --surface-subtle: #f5f8fa;
  --surface-elevated: #ffffff;
  --text-primary: #172027;
  --text-secondary: #4f5e68;
  --text-muted: #66737d;
  --border-color: #d8e1e6;
  --border-strong: #9aaab5;
  --focus-ring: #f59e0b;
  --success: #18794e;
  --warning: #9a6700;
  --error: #b42318;

  --color-bg: var(--surface-subtle);
  --color-surface: var(--surface);
  --color-surface-raised: var(--surface-elevated);
  --color-text: var(--text-primary);
  --color-text-muted: var(--text-muted);
  --color-border: var(--border-color);
  --color-border-strong: var(--border-strong);
  --color-brand: var(--metier-primary);
  --color-brand-strong: #123047;
  --color-brand-soft: var(--metier-primary-soft);
  --color-on-brand: var(--metier-on-primary);
  --color-accent: var(--focus-ring);
  --color-on-accent: #172027;
  --color-success: var(--success);
  --color-success-soft: #e9f7ef;
  --color-danger: var(--error);
  --color-danger-soft: #fff0ee;
  --color-warning: var(--warning);

  --font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-size-xs: .75rem;
  --font-size-sm: .875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: clamp(1.25rem, 3vw, 1.5rem);
  --font-size-2xl: clamp(1.75rem, 4vw, 2.35rem);
  --font-size-3xl: clamp(2.15rem, 6vw, 3.25rem);
  --font-size-hero: clamp(2.5rem, 7vw, 4.5rem);
  --line-tight: 1.12;
  --line-body: 1.6;

  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;

  --radius-sm: .375rem;
  --radius-md: .625rem;
  --radius-lg: .875rem;
  --shadow-sm: 0 1px 2px rgb(18 48 71 / .04);
  --shadow-md: 0 10px 28px rgb(18 48 71 / .08);
  --border: 1px solid var(--color-border);
  --content: 80rem;
  --content-narrow: 46rem;
  --touch: 2.75rem;
  --transition-fast: 140ms;
  --transition-base: 220ms;
  --z-header: 20;
  --z-sticky: 40;
  --z-overlay: 60;
}
