:root {
  /* Neutre : gris strictement sans dominante, ni chaude ni froide. */
  --bg:            #0B0B0B;
  --bg-raised:     #141414;
  --bg-sunken:     #070707;
  --fg:            #F4F4F4;
  --fg-muted:      #9A9A9A;
  --fg-faint:      #565656;
  --rule:          #232323;

  /* L'accent, c'est le blanc du texte. La seule couleur du site vient des
     photographies. */
  --accent:        #F4F4F4;

  /* Sévérité : seul endroit où la couleur subsiste, parce qu'elle porte une
     information. Légèrement désaturée pour ne pas jurer dans le monochrome. */
  --sev-critical:  #B85B4A;
  --sev-high:      #B58551;
  --sev-medium:    #A39A5C;

  /* Une seule famille. La hiérarchie vient de la graisse et de la largeur. */
  --font-sans: 'Archivo', system-ui, sans-serif;

  --fs-display: clamp(3.5rem, 11vw, 10rem);
  --fs-h1:      clamp(2.25rem, 5.5vw, 4.5rem);
  --fs-h2:      clamp(1.625rem, 3.2vw, 2.75rem);
  --fs-h3:      clamp(1.0625rem, 1.5vw, 1.375rem);
  --fs-body:    1rem;
  --fs-small:   0.875rem;
  --fs-label:   0.75rem;

  --sp-1: 0.5rem;
  --sp-2: 1rem;
  --sp-3: 1.5rem;
  --sp-4: 2.5rem;
  --sp-5: 4rem;
  --sp-6: 6rem;
  --sp-7: 8.5rem;

  --container: 1440px;
  --gutter: clamp(1.5rem, 4vw, 4rem);

  /* Arrondis : casse l'empreinte « zéro arrondi partout ». */
  --r-lg: 14px;
  --r-sm: 4px;

  /* Courbes issues du cadre Emil Kowalski. */
  --ease-out:    cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  --d-press:  140ms;
  --d-ui:     240ms;
  --d-reveal: 480ms;

  /* Ombre portée, teintée avec le fond (jamais du noir pur), pour les
     surfaces relevées (tuiles, cartes de données, panneaux de CTA). */
  --shadow-lift: 0 18px 40px -12px rgba(7, 7, 7, 0.75);
}
