/*
 * Polices auto-hébergées du site Firalis — AUCUN appel à fonts.googleapis.com.
 * Un appel externe transmettrait l'IP du visiteur à un tiers : non conforme RGPD
 * sans consentement. Toutes sous licence SIL Open Font License 1.1.
 *
 * - Poppins 500/600/700 : titres, boutons, onglets (la police du wordmark Firalis).
 *   Source : @fontsource/poppins (jsDelivr), sous-ensembles latin + latin-ext,
 *   téléchargés le 25/09/2026. Le 500 sert aux boutons, onglets et liens de la
 *   maquette C v2 : sans lui, le navigateur prendrait le 600 et les commandes
 *   paraîtraient plus lourdes que la maquette validée.
 * - IBM Plex Sans (texte courant) : fichier VARIABLE (axe wght), copié du thème
 *   groupe, où les fichiers 400/500/600 étaient trois copies du même fichier.
 *   Déclaré une fois, sur la plage 400–600.
 * - IBM Plex Mono 400/500 : surtitres, étiquettes, relevés. Latin seul (comme au groupe).
 * - sci-plex-* : sous-ensembles scientifiques (grec, indices, opérateurs) copiés du
 *   thème groupe — voir sa fonts.css pour la mesure qui les a rendus nécessaires.
 *
 * Duplication assumée avec sites/firalis-group/theme/fonts/ (décision du 25/09 :
 * thème Firalis autonome).
 */

/* Poppins · 500 · latin-ext */
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('./poppins-500-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;
}

/* Poppins · 500 · latin */
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('./poppins-500-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;
}

/* Poppins · 600 · latin-ext */
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('./poppins-600-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;
}

/* Poppins · 600 · latin — préchargée (titres du premier écran) */
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('./poppins-600-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;
}

/* Poppins · 700 · latin-ext */
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('./poppins-700-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;
}

/* Poppins · 700 · latin */
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('./poppins-700-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;
}

/* IBM Plex Sans · 400–600 (variable) · latin-ext */
@font-face {
	font-family: 'IBM Plex Sans';
	font-style: normal;
	font-weight: 400 600;
	font-stretch: 100%;
	font-display: swap;
	src: url('./ibm-plex-sans-var-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;
}

/* IBM Plex Sans · 400–600 (variable) · latin — préchargée (texte courant) */
@font-face {
	font-family: 'IBM Plex Sans';
	font-style: normal;
	font-weight: 400 600;
	font-stretch: 100%;
	font-display: swap;
	src: url('./ibm-plex-sans-var-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;
}

/* IBM Plex Mono · 400 · latin */
@font-face {
	font-family: 'IBM Plex Mono';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('./ibm-plex-mono-400-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;
}

/* IBM Plex Mono · 500 · latin */
@font-face {
	font-family: 'IBM Plex Mono';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('./ibm-plex-mono-500-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;
}

/* ── Glyphes scientifiques (grec, indices, opérateurs) ─────────────────
   Plages ÉTROITES : on n'emprunte que ce que les polices maison ne portent
   pas. Poppins porte ± ² µ (latin) : ils sont exclus de sa plage. */

/* Poppins : une face par poids, jamais une plage (« 500 700 ») : Chrome préfère une face
   à plage qui contient le poids aux faces exactes, et tout le latin tombait alors dans la
   pile de repli (police système). Corrigé le 13/11/2026 (audit design 40, P0-1). */
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('./sci-plex-sans-500.woff2') format('woff2');
	unicode-range: U+0338, U+03A9, U+03B1-03B4, U+03BA-03BC, U+03C0-03C1, U+03C3, U+2030, U+2032-2033, U+2070, U+207B, U+2080-2089, U+2190, U+2192, U+2194, U+219A-219B, U+21AE, U+223C, U+2241, U+2248-2249, U+2260, U+2264-2265, U+2270-2271;
}

@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('./sci-plex-sans-600.woff2') format('woff2');
	unicode-range: U+0338, U+03A9, U+03B1-03B4, U+03BA-03BC, U+03C0-03C1, U+03C3, U+2030, U+2032-2033, U+2070, U+207B, U+2080-2089, U+2190, U+2192, U+2194, U+219A-219B, U+21AE, U+223C, U+2241, U+2248-2249, U+2260, U+2264-2265, U+2270-2271;
}

@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('./sci-plex-sans-600.woff2') format('woff2');
	unicode-range: U+0338, U+03A9, U+03B1-03B4, U+03BA-03BC, U+03C0-03C1, U+03C3, U+2030, U+2032-2033, U+2070, U+207B, U+2080-2089, U+2190, U+2192, U+2194, U+219A-219B, U+21AE, U+223C, U+2241, U+2248-2249, U+2260, U+2264-2265, U+2270-2271;
}

@font-face {
	font-family: 'IBM Plex Sans';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('./sci-plex-sans-400.woff2') format('woff2');
	unicode-range: U+0338, U+03A9, U+03B1-03B4, U+03BA-03BC, U+03C0-03C1, U+03C3, U+2030, U+2032-2033, U+2070, U+207B, U+2080-2089, U+2190, U+2192, U+2194, U+219A-219B, U+21AE, U+223C, U+2241, U+2248-2249, U+2260, U+2264-2265, U+2270-2271;
}

@font-face {
	font-family: 'IBM Plex Sans';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('./sci-plex-sans-500.woff2') format('woff2');
	unicode-range: U+0338, U+03A9, U+03B1-03B4, U+03BA-03BC, U+03C0-03C1, U+03C3, U+2030, U+2032-2033, U+2070, U+207B, U+2080-2089, U+2190, U+2192, U+2194, U+219A-219B, U+21AE, U+223C, U+2241, U+2248-2249, U+2260, U+2264-2265, U+2270-2271;
}

@font-face {
	font-family: 'IBM Plex Sans';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('./sci-plex-sans-600.woff2') format('woff2');
	unicode-range: U+0338, U+03A9, U+03B1-03B4, U+03BA-03BC, U+03C0-03C1, U+03C3, U+2030, U+2032-2033, U+2070, U+207B, U+2080-2089, U+2190, U+2192, U+2194, U+219A-219B, U+21AE, U+223C, U+2241, U+2248-2249, U+2260, U+2264-2265, U+2270-2271;
}

@font-face {
	font-family: 'IBM Plex Mono';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('./sci-plex-mono-400.woff2') format('woff2');
	unicode-range: U+0338, U+03A9, U+03B1-03B4, U+03BA-03BC, U+03C0-03C1, U+03C3, U+2030, U+2032-2033, U+2070, U+207B, U+2080-2089, U+2190, U+2194, U+219A-219B, U+21AE, U+223C, U+2241, U+2248-2249, U+2260, U+2264-2265, U+2270-2271;
}

@font-face {
	font-family: 'IBM Plex Mono';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('./sci-plex-mono-500.woff2') format('woff2');
	unicode-range: U+0338, U+03A9, U+03B1-03B4, U+03BA-03BC, U+03C0-03C1, U+03C3, U+2030, U+2032-2033, U+2070, U+207B, U+2080-2089, U+2190, U+2194, U+219A-219B, U+21AE, U+223C, U+2241, U+2248-2249, U+2260, U+2264-2265, U+2270-2271;
}
