:root {
  /* === COULEURS PRIMAIRES === */
  --color-primary:        #1B3A5C;
  --color-primary-light:  #2C5282;
  --color-accent:         #3ECFB2;
  --color-accent-dark:    #2BA896;

  /* === NEUTRES === */
  --color-bg:             #F8F9FB;
  --color-surface:        #FFFFFF;
  --color-border:         #E2E8F0;

  /* === TEXTES === */
  --color-text-primary:   #1A202C;
  --color-text-secondary: #4A5568;
  --color-text-inverse:   #FFFFFF;

  /* === ÉTATS === */
  --color-success:        #38A169;
  --color-error:          #E53E3E;

  /* === TYPOGRAPHIE === */
  --font-heading: 'Spectral', Georgia, serif;
  --font-body:    'DM Sans', sans-serif;
  --font-mono:    'JetBrains Mono', monospace;

  /* === ÉCHELLE TYPOGRAPHIQUE === */
  --text-xs:   0.75rem;
  --text-sm:   0.875rem;
  --text-base: 1rem;
  --text-lg:   1.125rem;
  --text-xl:   1.25rem;
  --text-2xl:  1.5rem;
  --text-3xl:  1.875rem;
  --text-4xl:  2.25rem;
  --text-5xl:  3rem;

  /* === GRAISSE === */
  --font-normal:   400;
  --font-medium:   500;
  --font-semibold: 600;
  --font-bold:     700;

  /* === ESPACEMENTS === */
  --space-1:  0.25rem;
  --space-2:  0.5rem;
  --space-3:  0.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;
  --space-24: 6rem;

  /* === ARRONDIS === */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   16px;
  --radius-xl:   24px;
  --radius-full: 9999px;

  /* === OMBRES === */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 4px 16px rgba(27, 58, 92, 0.10);
  --shadow-lg: 0 12px 40px rgba(27, 58, 92, 0.15);

  /* === LAYOUT === */
  --container-max: 1280px;
  --nav-height:    53px;

  /* === PREMIUM ADDITIONS === */
  --gradient-text: linear-gradient(135deg, #5d7b9b 0%, #3ECFB2 100%);
  --dot-grid:      radial-gradient(circle, rgba(255,255,255,0.06) 1px, transparent 1px);
  --shadow-xl:     0 24px 64px rgba(27, 58, 92, 0.22);
}
