:root {
  /* =========================================================
     FWI AMBITION · MASTER TOKENS
     Editorial Premium × Modern Media × Performance-first
  ========================================================= */

  /* =========================
     BRAND · PRIMARY / FWI NAVY
  ========================= */
  --color-brand-primary-950: #0b102d;
  --color-brand-primary-900: #0f143d;
  --color-brand-primary-850: #12184a;
  --color-brand-primary-800: #151d53;
  --color-brand-primary-700: #1d2870;
  --color-brand-primary-600: #2b3998;
  --color-brand-primary-500: #4152b8;
  --color-brand-primary-400: #6a78ca;
  --color-brand-primary-300: #949ee0;
  --color-brand-primary-200: #c1c7ef;

  /* =========================
     BRAND · ORANGE / AMBITION
  ========================= */
  --color-brand-accent-900: #a65100;
  --color-brand-accent-800: #bf5e00;
  --color-brand-accent-700: #d96f00;
  --color-brand-accent-600: #fb8500;
  --color-brand-accent-500: #ff9b2f;
  --color-brand-accent-400: #ffb257;
  --color-brand-accent-300: #ffc98a;
  --color-brand-accent-200: #ffe0bf;

  /* =========================
     BRAND · GOLD / ENERGY
  ========================= */
  --color-brand-gold-900: #947100;
  --color-brand-gold-800: #b88d00;
  --color-brand-gold-700: #d9ab00;
  --color-brand-gold-600: #eab308;
  --color-brand-gold-500: #fac710;
  --color-brand-gold-400: #ffd84a;
  --color-brand-gold-300: #ffe27a;
  --color-brand-gold-200: #fff0b3;

  /* =========================
     BRAND · SKY / EDITORIAL
  ========================= */
  --color-brand-sky-900: #2f7e9f;
  --color-brand-sky-800: #3d96bb;
  --color-brand-sky-700: #4ea9cf;
  --color-brand-sky-600: #6bbedd;
  --color-brand-sky-500: #8ecae6;
  --color-brand-sky-400: #a9d9ee;
  --color-brand-sky-300: #c7e8f5;
  --color-brand-sky-200: #e5f5fb;

  /* =========================
     BRAND · CYAN / SIGNAL
  ========================= */
  --color-brand-cyan-900: #0f586a;
  --color-brand-cyan-800: #136a80;
  --color-brand-cyan-700: #167c96;
  --color-brand-cyan-600: #1d8ea9;
  --color-brand-cyan-500: #219ebc;
  --color-brand-cyan-400: #4ab3cc;
  --color-brand-cyan-300: #7ccbdd;
  --color-brand-cyan-200: #b8e7f0;

  /* =========================
     BRAND · WARM CREAM
  ========================= */
  --color-brand-cream-900: #c8ab63;
  --color-brand-cream-800: #d8bf7e;
  --color-brand-cream-700: #e7cf8c;
  --color-brand-cream-600: #f0d995;
  --color-brand-cream-500: #ffe5a6;
  --color-brand-cream-400: #ffebb9;
  --color-brand-cream-300: #fff1cc;
  --color-brand-cream-200: #fff7e3;

  /* =========================
     NEUTRALS
  ========================= */
  --color-white: #ffffff;
  --color-black: #0d111f;

  --color-neutral-950: #10131a;
  --color-neutral-900: #171b24;
  --color-neutral-850: #1e2330;
  --color-neutral-800: #232834;
  --color-neutral-700: #3a4251;
  --color-neutral-600: #535c6f;
  --color-neutral-500: #6c7283;
  --color-neutral-400: #8a90a0;
  --color-neutral-300: #b3b8c3;
  --color-neutral-200: #d7dae2;
  --color-neutral-100: #eceef2;
  --color-neutral-050: #f7f8fa;

  /* =========================
     SURFACES
  ========================= */
  --color-bg: #f7f5f0;
  --color-bg-elevated: #fcfaf6;
  --color-surface: #ffffff;
  --color-surface-alt: #f1ece4;
  --color-surface-soft: #ebe5db;
  --color-surface-dark: #151d53;
  --color-surface-dark-2: #0f143d;

  /* =========================
     TEXT
  ========================= */
  --color-text: #0e1324;
  --color-text-soft: #565d6e;   /* WCAG AA sur fond crème : 6.0:1 (était #6c7283 = 4.4:1) */
  --color-text-muted: #5b6172;  /* WCAG AA sur fond crème : 5.6:1 (était #8a90a0 = 2.9:1) */
  --color-text-inverse: #ffffff;
  --color-text-on-brand: #ffffff;
  /* Orange « ambition » lisible en TEXTE sur fond clair (5.1:1).
     Réservé au texte ; pour les fonds/boutons utiliser --color-brand-accent-600.
     Les logos restent en accent-600 (exception logotype WCAG). */
  --color-accent-ink: #a65100;

  /* =========================
     BORDERS
  ========================= */
  --color-border: #ddd6ca;
  --color-border-strong: #c9c1b3;
  --color-border-soft: #ebe5db;
  --color-border-dark: rgba(255,255,255,0.14);

  /* =========================
     SEMANTIC
  ========================= */
  --color-success: #16a34a;
  --color-success-bg: #dcfce7;
  --color-success-border: #86efac;

  --color-error: #dc2626;
  --color-error-bg: #fee2e2;
  --color-error-border: #fca5a5;

  --color-warning: #f59e0b;
  --color-warning-bg: #fef3c7;
  --color-warning-border: #fcd34d;

  --color-info: #2563eb;
  --color-info-bg: #dbeafe;
  --color-info-border: #93c5fd;

  /* =========================
     TYPOGRAPHY
  ========================= */
  --font-heading: "Fraunces", serif;
  --font-body: "Inter Tight", sans-serif;
  /* =========================
   FONT WEIGHTS
========================= */
--fw-light: 300;
--fw-regular: 400;
--fw-medium: 500;
--fw-semibold: 600;
--fw-bold: 700;
--fw-extrabold: 800;

  /* Mobile scale */
  --fs-display-xl: 3.25rem;
  --fs-display-lg: 2.75rem;
  --fs-h1: 2.25rem;
  --fs-h2: 1.875rem;
  --fs-h3: 1.5rem;
  --fs-h4: 1.25rem;
  --fs-h5: 1.125rem;
  --fs-body-lg: 1.125rem;
  --fs-body: 1rem;
  --fs-body-sm: 0.875rem;
  --fs-caption: 0.75rem;

  --lh-display: 0.95;
  --lh-heading: 1.05;
  --lh-body: 1.65;
  --lh-body-relaxed: 1.8;

  /* =========================
     SPACING · 8PX SYSTEM
  ========================= */
  --space-0: 0;
  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 3rem;
  --space-6: 4rem;
  --space-7: 5rem;
  --space-8: 6rem;
  --space-9: 8rem;

  /* =========================
     RADII
  ========================= */
  --radius-xs: 0.375rem;
  --radius-sm: 0.5rem;
  --radius-md: 0.875rem;
  --radius-lg: 1.25rem;
  --radius-xl: 2rem;
  --radius-2xl: 2.5rem;
  --radius-pill: 999px;

  /* =========================
     SHADOWS
  ========================= */
  --shadow-xs: 0 2px 8px rgba(21, 29, 83, 0.05);
  --shadow-sm: 0 4px 12px rgba(21, 29, 83, 0.06);
  --shadow-md: 0 10px 30px rgba(21, 29, 83, 0.08);
  --shadow-lg: 0 20px 60px rgba(21, 29, 83, 0.12);
  --shadow-xl: 0 28px 80px rgba(21, 29, 83, 0.16);

  /* =========================
     LAYOUT
  ========================= */
  --container-max: 1200px;
  --container-narrow: 880px;
  --grid-gap: 1.5rem;

  /* =========================
     BREAKPOINTS
  ========================= */
  --bp-sm: 30rem;
  --bp-md: 48rem;
  --bp-lg: 64rem;
  --bp-xl: 80rem;

  /* =========================
     MOTION
  ========================= */
  --transition-fast: 160ms ease;
  --transition-base: 220ms ease;
  --transition-slow: 320ms ease;

  /* =========================
     Z-INDEX
  ========================= */
  --z-base: 1;
  --z-dropdown: 20;
  --z-sticky: 40;
  --z-overlay: 60;
  --z-modal: 80;

  /* =========================
     FOCUS
  ========================= */
  --focus-ring: 0 0 0 4px rgba(21, 29, 83, 0.12);
}

@media (min-width: 48rem) {
  :root {
    --fs-display-xl: 5.5rem;
    --fs-display-lg: 4.75rem;
    --fs-h1: 3.5rem;
    --fs-h2: 2.5rem;
    --fs-h3: 1.75rem;
    --fs-h4: 1.25rem;
    --fs-h5: 1.125rem;
    --fs-body-lg: 1.25rem;
  }
}
