/* Les polices du site, hébergées chez nous.
 *
 * ⚠️ POURQUOI ELLES NE VIENNENT PLUS DE GOOGLE.
 *
 * Charger une police depuis fonts.googleapis.com transmet l'adresse
 * IP de chaque visiteur à un serveur américain, sans qu'il l'ait
 * choisi ni qu'on puisse l'en empêcher. La CNIL traite ce type de
 * flux comme un transfert hors UE à documenter et à justifier
 * (cnil.fr, « Responsables de traitement : comment identifier et
 * traiter des transferts de données hors UE ? »). Les héberger
 * supprime le flux : il n'y a plus rien à justifier.
 *
 * Accessoirement, le site ne dépend plus de la disponibilité d'un
 * tiers pour afficher son texte correctement.
 *
 * ⚠️ CE SONT DES POLICES VARIABLES.
 *
 * Un seul fichier par famille couvre toutes les graisses, via l'axe
 * `wght`. Télécharger un fichier par graisse stockait sept fois le
 * même octet pour octet (vérifié par empreinte SHA-256). D'où la
 * syntaxe `font-weight: 300 900` : elle annonce au navigateur la
 * plage que ce fichier sait rendre.
 *
 * ⚠️ `font-display: swap`.
 *
 * Le texte s'affiche tout de suite dans une police de repli, puis
 * bascule. Sans cela, il reste invisible pendant le chargement
 * (« flash of invisible text »), ce qui dégrade le LCP sur une
 * connexion lente.
 *
 * Les deux sous-ensembles sont déclarés séparément avec leur
 * `unicode-range` : le navigateur ne télécharge `latin-ext` que si
 * la page contient réellement un caractère qui s'y trouve. Les
 * plages sont celles que Google Fonts génère.
 */

/* ------------------------------------------------------------------
   Outfit — les titres
   ------------------------------------------------------------------ */
@font-face {
    font-family: 'Outfit';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('/fonts/outfit-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-20C0, U+2113, U+2C60-2C7F,
        U+A720-A7FF;
}

@font-face {
    font-family: 'Outfit';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('/fonts/outfit-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;
}

/* ------------------------------------------------------------------
   Figtree — le texte courant (classe Tailwind `font-sans`)
   ------------------------------------------------------------------ */
@font-face {
    font-family: 'Figtree';
    font-style: normal;
    font-weight: 300 900;
    font-display: swap;
    src: url('/fonts/figtree-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-20C0, U+2113, U+2C60-2C7F,
        U+A720-A7FF;
}

@font-face {
    font-family: 'Figtree';
    font-style: normal;
    font-weight: 300 900;
    font-display: swap;
    src: url('/fonts/figtree-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;
}

/* ------------------------------------------------------------------
   DM Sans — la messagerie
   ------------------------------------------------------------------ */
@font-face {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 100 1000;
    font-display: swap;
    src: url('/fonts/dmsans-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-20C0, U+2113, U+2C60-2C7F,
        U+A720-A7FF;
}

@font-face {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 100 1000;
    font-display: swap;
    src: url('/fonts/dmsans-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;
}
