/* ============================================================================
   FONTS AUTO-HÉBERGÉES — woff2 uniquement, zéro requête sortante.
   Préparé pour les producteurs de pages. Coller tel quel, chemins relatifs.

   BUILD (reproductible) — pour chaque famille :
     TTF amont depuis le depot google/fonts, ofl/<famille>
     puis  fonttools varLib.instancer  (épinglage d'axes, cf. notes par famille)
     puis  pyftsubset <in.ttf> --flavor=woff2 --name-IDs='*' --notdef-outline
             --drop-tables+=DSIG --recalc-bounds
             --layout-features+=tnum,lnum,pnum,zero,case,frac,sups,
                                ss01..ss08,cv01..cv05,salt
             --unicodes=<jeu ci-dessous>
     (fonttools 4.63.0 + brotli). Hinting TrueType CONSERVÉ (mono 11–13 px sous Windows).

   SOUS-ENSEMBLE (identique pour les 5 familles) :
     U+0000-00FF (latin de base + Latin-1 : é è ê à ç ô ï ù « » ° × ÷ £ § µ …)
     U+0131 U+0152-0153 (Œ œ) U+0160-0161 U+0178 (Ÿ) U+017D-017E U+0192
     U+02BB-02BC U+02C6 U+02DA U+02DC · U+0300-0304 U+0306-030C U+0327 U+0329
     U+2000-206F (ponctuation typographique : — – ’ “ ” … • ‰ ′ ″, espaces fines
                  et insécables, U+202F)
     U+2070 U+2074 U+2080-2089 · U+20AC (€) · U+2113 U+2122 U+2126
     U+2190-2199 (← ↑ → ↓) · signes math (− × ÷ ≈ ≠ ≤ ≥ ∞ √ ∑ ∏ ∆ ∂ ∕)
     U+25A0 U+25B2 U+25B6 U+25C6 U+25CF · U+2713-2714 · U+FB01-FB02 (fi fl)
     U+FEFF U+FFFD
     $ € ° ~ — sont tous présents et vérifiés dans les 5 familles.

   LICENCES — les 5 familles sont sous SIL Open Font License 1.1
   (SIL OFL 1.1). Notices de copyright amont :
     IBM Plex Sans / Mono — Copyright 2017/2019 IBM Corp.
     Source Serif 4      — © 2014-2021 Adobe Systems Inc., RFN « Source »
     Mona Sans           — Copyright 2022 The Mona Sans Project Authors (GitHub), RFN
     Geologica           — Copyright 2020 The Geologica Project Authors
   NB : l'OFL demande que le texte de licence accompagne les fichiers. Les OFL.txt
   ont été écartés du dossier sur consigne (woff2 + fonts.css seulement) ; les
   joindre au dépôt si le site est redistribué.

   ÉPREUVE — les 6 fichiers : signature `wOF2` (77 4f 46 32) vérifiée, `file(1)` =
   « Web Open Font Format (Version 2), TrueType », ouverture fontTools OK, tables
   obligatoires présentes, axe wght instancié et actif de 380 à 680.
   ========================================================================== */


/* ── SANS PAR DÉFAUT ────────────────────────────────────────────────────────
   IBM Plex Sans — VARIABLE, wght 100→700, défaut 400. 51,5 Kio.
   Couvre en continu les graisses non rondes de la loi : 380 · 420 · 460 · 560.
   Axe wdth (75-100) épinglé à 100 à la compilation : −100 Kio, inutilisé par la loi.
   Amont : ofl/ibmplexsans/IBMPlexSans[wdth,wght].ttf — v3.201                     */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 100 700;
  font-display: swap;
  src: url('./ibm-plex-sans/ibm-plex-sans-variable.woff2') format('woff2');
}

/* ── SERIF ──────────────────────────────────────────────────────────────────
   Source Serif 4 — VARIABLE, wght 200→900, défaut 400. 67,2 Kio.
   Axe opsz (8-60) ÉPINGLÉ à 20 (valeur de dessin par défaut) : le conserver
   coûtait +104 Kio pour une famille qui ne sert qu'un mot de H1, une citation,
   un chiffre-clé. `font-optical-sizing` est donc sans effet ici — le rétablir
   en recompilant sans l'épinglage si le besoin optique apparaît.
   Amont : ofl/sourceserif4/SourceSerif4[opsz,wght].ttf — v4.004                   */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url('./source-serif-4/source-serif-4-variable.woff2') format('woff2');
}

/* ── MONO ───────────────────────────────────────────────────────────────────
   IBM Plex Mono — STATIQUES 400 + 500 (aucune version variable n'existe en amont).
   17,8 + 18,2 Kio. Chiffres tabulaires par défaut + `zero` (zéro barré) dispo.
   Amont : ofl/ibmplexmono/IBMPlexMono-{Regular,Medium}.ttf — v2.3                 */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./ibm-plex-mono/ibm-plex-mono-400.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('./ibm-plex-mono/ibm-plex-mono-500.woff2') format('woff2');
}

/* Les deux familles de réserve (Mona Sans, Geologica) ne sont pas embarquées
   sur ce site : leurs @font-face et leurs woff2 ont été retirés de cette copie. */


/* ── NOTES D'EMPLOI ─────────────────────────────────────────────────────────
   • Graisses non rondes : sur une variable, `font-weight: 420` suffit — le
     navigateur pilote l'axe wght directement. Pas de `font-variation-settings`.
     Ne JAMAIS écrire `font-weight: 420` en visant une statique : Plex Mono
     n'existe qu'en 400 et 500, tout le reste est synthétisé ou arrondi.
   • Préchargement (dans <head>, avant le CSS) — l'index précharge la sans seule ;
     les légales préchargent en plus les 2 monos, leur chrome étant mono :
       <link rel="preload" href="./assets/fonts/ibm-plex-sans/ibm-plex-sans-variable.woff2"
             as="font" type="font/woff2" crossorigin>
     `crossorigin` est obligatoire même en same-origin, sinon double téléchargement.
   • Aucune `unicode-range` n'est déclarée : un seul fichier par famille couvre
     tout le sous-ensemble. Un caractère hors sous-ensemble retombe sur la pile
     système, glyphe par glyphe.
   • ITALIQUES : AUCUNE n'est livrée. Un `<em>` produira une oblique synthétisée
     par le navigateur. Réclamer les fichiers italiques s'ils doivent servir.
   • U+202F (espace fine insécable, typographie FR avant ; : ! ? et « ») n'existe
     PAS dans IBM Plex Mono, Mona Sans ni Geologica — présent dans Plex Sans et
     Source Serif 4. Employer U+00A0 (insécable) partout : présent dans les cinq.
   ========================================================================== */
