/* Tokens de la refonte. Source : MASTER.md. Aucune valeur ici ne s'écrit ailleurs en dur. */
:root{
  color-scheme:light;

  /* Charte, verrouillée */
  --bleu:#007CC1;
  --noir:#231F20;
  --jaune:#F8CA10;

  /* Déclinaisons, verrouillées */
  --bleu-clair:#5FC0EF;
  --bleu-pale:#E4F1FA;
  --bleu-spectre:#B9DDF4;
  --bleu-filet:rgba(0,124,193,.26);
  --creme:#F6F3EC;
  --blanc:#FFFFFF;

  /* Polices. Outfit verrouillée. --ff-serif garde son nom (public) mais porte désormais une sans-serif
     d'accent, Bricolage Grotesque, à la demande d'Élie (novembre 2026). */
  --ff-title:"Outfit","Helvetica Neue",Arial,sans-serif;
  --ff-body:"Outfit","Helvetica Neue",Arial,sans-serif;
  --ff-serif:"Bricolage Grotesque","Avenir Next","Segoe UI",system-ui,sans-serif;

  /* Échelle typographique */
  --t-display:clamp(6rem,31vw,27rem);
  --t-xl:clamp(2.4rem,11vw,6rem);
  --t-l:clamp(1.4rem,2vw + .8rem,2.1rem);
  --t-serif:clamp(1.2rem,2.2vw + .6rem,1.85rem);
  --t-stamp:clamp(1.05rem,1vw + .8rem,1.3rem);
  --t-body:1rem;
  --t-kicker:.75rem;
  --t-leg:.6875rem;

  /* Espacements, base 8 px */
  --s-1:.25rem; --s-2:.5rem; --s-3:.75rem; --s-4:1rem; --s-5:1.5rem;
  --s-6:2rem; --s-7:3rem; --s-8:4.5rem; --s-9:7rem;
  --gut:1.25rem;
  --gap-top:clamp(1.25rem,5svh,3.5rem);

  /* Rayons, ombres */
  --r:.5rem;
  --r-stamp:.375rem;
  --sh-stamp:0 0 0 6px var(--blanc), 0 6px 0 rgba(35,31,32,.14);
  --sh-cut:none;

  /* Empilement : le titre derrière, la photo devant */
  --z-titre:1; --z-photo:2; --z-volet:4; --z-crop:5; --z-nav:40;

  /* Navigation ordinateur : colonne de tampons en haut à droite, et la place que les titres lui laissent */
  --nav-w:9.5rem;
  --nav-r:max(28px,4vw);
  --nav-top:28px;
  --nav-reserve:calc(var(--nav-w) + var(--nav-r) + var(--s-5));

  /* Mouvement, 25 images par seconde */
  --t-survol:320ms;
  --t-entree:1000ms;
  --t-titre:1200ms;
  --t-decal:240ms;
  --t-flamme:120ms;
  --sortie:cubic-bezier(.16,1,.3,1);
  --t-trace:1600ms;   /* 40 images : tracé d'un filet de grille */
  --trace:cubic-bezier(.65,0,.35,1);   /* tracé régulier, visible du début à la fin */
}
@media (min-width:48em){ :root{ --gut:2.5rem; } }
@media (min-width:64em){ :root{ --gut:4rem; } }
@media (prefers-reduced-motion:reduce){
  :root{ --t-survol:0ms; --t-entree:0ms; --t-titre:0ms; --t-decal:0ms; --t-trace:0ms; }
}
