/* fonts/fonts.css — LE point d'entrée typographique du dépôt.
   Les URL sont relatives à CE fichier : un deck (`../fonts/fonts.css`) et un rendu de
   pattern à la racine (`fonts/fonts.css`) résolvent donc les mêmes chemins.
   Rien de distant : les .ttf sont dans le dépôt, licences OFL à côté.
   Quelle police pour quelle référence : voir fonts/FONTS.md. */

/* Archivo — variable (largeur ET graisse). Le cheval de bataille des titres :
   `font-stretch` descend jusqu'à 62 %, ce qui couvre les grotesks condensées Black
   du corpus sans embarquer une seconde famille. */
@font-face {
  font-family: "Archivo";
  src: url("Archivo-variable.ttf") format("truetype-variations");
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-style: normal;
  font-display: block;
}

/* Inter — variable. Le substitut d'Helvetica Neue pour tout le corpus « grotesk neutre ».
   `opsz` est laissé au réglage automatique : Inter ajuste seul son dessin à la taille. */
@font-face {
  font-family: "Inter";
  src: url("Inter-variable.ttf") format("truetype-variations");
  font-weight: 100 900;
  font-style: normal;
  font-display: block;
}

/* Montserrat — variable. La seule GÉOMÉTRIQUE du dépôt : fûts ronds, `a` à deux étages,
   chiffres larges. C'est ce que demandent les références SaaS lavande (ref-14), où Inter
   rend le chiffre trop étroit et Archivo trop mécanique. */
@font-face {
  font-family: "Montserrat";
  src: url("Montserrat-variable.ttf") format("truetype-variations");
  font-weight: 100 900;
  font-style: normal;
  font-display: block;
}

/* Anton — une seule graisse, plus condensée et plus serrée qu'Archivo à 62 %.
   Alternative de titre quand Archivo Black condensé manque de tension. */
@font-face {
  font-family: "Anton";
  src: url("Anton-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

/* ── Le trio « papier millimétré » (ref-16-cobalt-graph-paper) ────────────────
   Une seule serif de lecture, une grotesk humaniste, un mono de chiffres. C'est
   le seul jeu du dépôt qui porte une SERIF : les autres références n'en ont pas. */

/* Newsreader — variable, deux fichiers (romain + italique : les italiques d'une
   serif de lecture sont un dessin distinct, pas une inclinaison, et `opsz` ne
   les fabrique pas). L'axe `opsz` reste automatique : à 148px le titre prend le
   dessin display, à 30px le dessin de labeur, sans réglage. */
@font-face {
  font-family: "Newsreader";
  src: url("Newsreader-variable.ttf") format("truetype-variations");
  font-weight: 200 800;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: "Newsreader";
  src: url("Newsreader-Italic-variable.ttf") format("truetype-variations");
  font-weight: 200 800;
  font-style: italic;
  font-display: block;
}

/* Hanken Grotesk — variable. Humaniste, pas géométrique : ses capitales tiennent
   le `letter-spacing: .12em` des cartouches sans se déliter, là où Montserrat
   s'ouvre trop. Pas d'italique embarquée : le corpus ne l'appelle jamais en sans. */
@font-face {
  font-family: "Hanken Grotesk";
  src: url("HankenGrotesk-variable.ttf") format("truetype-variations");
  font-weight: 100 900;
  font-style: normal;
  font-display: block;
}

/* DM Mono — PAS variable : deux fichiers statiques, 400 et 500. Ne pas déclarer
   `font-weight: 400 500` sur un seul fichier, le navigateur synthétiserait le gras. */
@font-face {
  font-family: "DM Mono";
  src: url("DMMono-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: "DM Mono";
  src: url("DMMono-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: block;
}
