/* =========================================================================
   FERVOLIS — Design tokens (copie fidèle du site principal)
   Charte "Noir & Braise" — noir profond, accent rouge incandescent, halos.
   ========================================================================= */

:root {
  /* --- Fonds (noir très profond) --- */
  --bg-abyss:      #030303;
  --bg-base:       #050507;
  --surface:       #0c0c10;
  --surface-2:     #121217;
  --surface-3:     #1b1b22;
  --line:          rgba(255, 255, 255, 0.06);
  --line-strong:   rgba(255, 255, 255, 0.12);

  /* --- Texte --- */
  --text:          #FFFFFF;
  --text-soft:     #DBE0E9;
  --text-muted:    #BFC6D2;
  --text-faint:    #8b93a4;

  /* --- Accent rouge --- */
  --accent:        #FF1A1A;
  --accent-2:      #FF5555;
  --accent-cyan:   #FF8A5A;
  --accent-ink:    #FFFFFF;
  --red-pure:      #FF0000;
  --red-deep:      #D40000;

  --grad-signature: linear-gradient(135deg, #FF2A2A 0%, #FF5A4A 100%);
  --grad-soft:      linear-gradient(135deg, rgba(255,42,42,.16), rgba(255,90,74,.16));
  --grad-text:      linear-gradient(120deg, #FFFFFF 0%, #FFC9C2 40%, #FF3B2A 100%);

  /* --- Halos / lueurs rouges --- */
  --glow:          rgba(255, 0, 0, 0.55);
  --glow-accent:   0 0 0 1px rgba(255,0,0,.35), 0 14px 44px -12px rgba(255,0,0,.55);
  --glow-soft:     0 18px 60px -24px rgba(255,0,0,.45);

  /* --- Ombres --- */
  --shadow-sm:     0 1px 2px rgba(0,0,0,.5);
  --shadow-md:     0 18px 46px -20px rgba(0,0,0,.8);
  --shadow-lg:     0 44px 100px -34px rgba(0,0,0,.9);

  /* --- Typographie --- */
  --font-display: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-body:    "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  --fs-eyebrow: clamp(.72rem, .7rem + .15vw, .82rem);
  --fs-h1:      clamp(2.6rem, 1.6rem + 4.4vw, 5.2rem);
  --fs-h2:      clamp(2rem, 1.3rem + 2.8vw, 3.4rem);
  --fs-h3:      clamp(1.3rem, 1.1rem + .8vw, 1.7rem);
  --fs-lead:    clamp(1.05rem, .98rem + .5vw, 1.3rem);
  --fs-body:    1rem;
  --fs-small:   .875rem;

  /* --- Rythme / layout --- */
  --maxw:       1200px;
  --maxw-narrow: 760px;
  --gutter:     clamp(1.25rem, .8rem + 2.4vw, 3rem);
  --section-y:  clamp(4.5rem, 3rem + 7vw, 9rem);
  --radius:     12px;
  --radius-sm:  8px;
  --radius-lg:  18px;
  --radius-pill: 999px;
  --radius-btn: 10px;

  /* --- Transitions --- */
  --ease:       cubic-bezier(.4, 0, .2, 1);
  --ease-out:   cubic-bezier(.16, 1, .3, 1);
  --ease-fluid: cubic-bezier(.16, 1, .3, 1);
  --t-fast:     .2s var(--ease);
  --t-med:      .4s var(--ease-out);
  --t-slow:     .6s var(--ease-out);

  /* --- Header dock --- */
  --header-h:   66px;
  --dock-top:   clamp(0.65rem, 0.35rem + 1.1vw, 1.15rem);
  --dock-gap:   0.85rem;
  --dock-inset: calc(var(--dock-top) + var(--header-h) + var(--dock-gap));
  --dock-scroll: 0;
}
