:root {
  /* Couleurs de fond */
  --bg: #0a0d13;
  --bg-alt: #0f131c;
  --surface: #151a26;
  --surface-2: #1b2130;
  --surface-hover: #212840;
  --border: #262d40;
  --border-light: #323a52;

  /* Texte */
  --text: #eef1f8;
  --text-muted: #9aa3b8;
  --text-faint: #6b7488;

  /* Accent principal (degrade bleu -> jaune/or) */
  --primary: #2563eb;
  --primary-2: #eab308;
  --primary-gradient: linear-gradient(135deg, var(--primary), var(--primary-2));
  --primary-hover: #3b82f6;

  /* Confiance / succes */
  --success: #00e39a;
  --success-bg: rgba(0, 227, 154, 0.12);
  --warning: #ffb020;
  --warning-bg: rgba(255, 176, 32, 0.12);
  --danger: #ff5470;
  --danger-bg: rgba(255, 84, 112, 0.12);
  --info: #eab308;

  /* Typo */
  --font-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-display: "Sora", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-size-base: 16px;

  /* Espacements */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-8: 3rem;
  --space-10: 4rem;

  /* Rayons / ombres */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-full: 999px;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.35);
  --shadow-glow: 0 0 0 1px rgba(37, 99, 235, 0.4), 0 8px 30px rgba(37, 99, 235, 0.15);

  /* Layout */
  --container-max: 1280px;
  --header-height: 72px;
  --transition: 0.18s ease;

  /* Animation / 3D */
  --ease-snap: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-fast: 0.2s;
  --dur-med: 0.45s;
  --dur-slow: 0.9s;
  --shadow-3d: 0 2px 0 rgba(0, 0, 0, 0.25), 0 20px 40px -12px rgba(37, 99, 235, 0.35);
  --shadow-3d-lift: 0 10px 0 rgba(0, 0, 0, 0.2), 0 30px 60px -15px rgba(37, 99, 235, 0.45);
  --perspective: 1200px;

  /* Panneaux "verre depoli" (sections mises en avant sur fond sombre) */
  --glass-bg: rgba(21, 26, 38, 0.66);
  --glass-border: rgba(255, 255, 255, 0.08);
  --glass-blur: 18px;
}

/* Respecte la preference systeme "reduire les animations" : coupe tout court */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
