/**
 * Open Sans — hébergée sur notre propre serveur.
 * =====================================================================
 *
 * POURQUOI
 * --------
 * La police était auparavant chargée depuis fonts.googleapis.com et
 * fonts.gstatic.com. Chaque page vue transmettait donc l'adresse IP du
 * visiteur à Google, sans son consentement et sans aucun moyen de s'y
 * opposer. En hébergeant les fichiers ici, le site ne contacte plus
 * aucun serveur extérieur (voir cookies.php, section « Services
 * extérieurs »).
 *
 * LICENCE
 * -------
 * Open Sans est publiée sous SIL Open Font License 1.1, qui autorise
 * explicitement l'hébergement sur son propre serveur et la
 * redistribution. Fichiers récupérés depuis Google Fonts le 05/11/2026.
 *
 * QUATRE FICHIERS SEULEMENT
 * -------------------------
 * Open Sans est une police VARIABLE : un seul fichier contient toutes
 * les graisses de 300 à 800. Google en sert une copie identique pour
 * chaque graisse demandée ; inutile de les dupliquer ici. D'où
 * « font-weight: 300 800 » : une plage, pas une valeur.
 *
 * LES SOUS-ENSEMBLES
 * ------------------
 * « latin » couvre tout le français, y compris les accents, le « œ » de
 * « cœur » (U+0152-0153), les guillemets et le signe euro.
 * « latin-ext » ne sert qu'aux caractères étrangers (noms propres
 * polonais, tchèques, roumains…). Il ne coûte rien : grâce à
 * « unicode-range », le navigateur ne le télécharge que s'il rencontre
 * effectivement un de ces caractères sur la page.
 *
 * font-display: swap — le texte s'affiche immédiatement dans une police
 * de secours, puis bascule une fois Open Sans chargée. Rien n'est
 * jamais invisible, y compris sur une connexion lente.
 */

/* ---- Open Sans, romain (latin) ---- */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url('fonts/opensans-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
                 U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
                 U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF,
                 U+FFFD;
}

/* ---- Open Sans, romain (latin étendu) ---- */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url('fonts/opensans-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
                 U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF,
                 U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
                 U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ---- Open Sans, italique (latin) ---- */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url('fonts/opensans-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
                 U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
                 U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF,
                 U+FFFD;
}

/* ---- Open Sans, italique (latin étendu) ---- */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url('fonts/opensans-italic-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
                 U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF,
                 U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
                 U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
