/*!
 * Fontes : SIL Open Font License, Version 1.1 (https://openfontlicense.org)
 * Bodoni Moda — Copyright 2020 The Bodoni Moda Project Authors (https://github.com/indestructible-type/Bodoni) — SIL Open Font License 1.1 — fonts/fondazione/BodoniModa-OFL.txt
 * Manrope — Copyright 2018 The Manrope Project Authors (https://github.com/googlefonts/manrope) — SIL Open Font License 1.1 — fonts/fondazione/Manrope-OFL.txt
 * Cormorant Garamond — Copyright 2015 the Cormorant Project Authors (github.com/CatharsisFonts/Cormorant) — SIL Open Font License 1.1 — fonts/fondazione/CormorantGaramond-OFL.txt
 */

/* ============ 1. Fontes de la maison (OFL) ============ */
@font-face {
  font-family: "FC Bodoni Moda";
  src: url("fonts/fondazione/BodoniModa-roman-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  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;
  ascent-override: 112.50%;
  descent-override: 40.00%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "FC Bodoni Moda";
  src: url("fonts/fondazione/BodoniModa-roman-latin-ext.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  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;
  ascent-override: 112.50%;
  descent-override: 40.00%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "FC Manrope";
  src: url("fonts/fondazione/Manrope-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  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;
  ascent-override: 106.60%;
  descent-override: 30.00%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "FC Manrope";
  src: url("fonts/fondazione/Manrope-latin-ext.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  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;
  ascent-override: 106.60%;
  descent-override: 30.00%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "FC Cormorant Italique";
  src: url("fonts/fondazione/CormorantGaramond-italic-latin.woff2") format("woff2");
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
  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;
  ascent-override: 92.40%;
  descent-override: 28.70%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "FC Cormorant Italique";
  src: url("fonts/fondazione/CormorantGaramond-italic-latin-ext.woff2") format("woff2");
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
  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;
  ascent-override: 92.40%;
  descent-override: 28.70%;
  line-gap-override: 0%;
}

/* ============ 2. Espaces typographiques absentes des sous-ensembles latin (U+2009, U+200A, U+202F) ============
   Mesuré : aucune des fontes retenues ne contient U+202F (espace fine insécable FR). Cette face locale ne sert QUE
   ces trois points de code ; elle évite qu'une police système arbitraire les dessine. */
@font-face {
  font-family: "FC Espaces";
  src: local("Times New Roman"), local("TimesNewRomanPSMT"), local("Liberation Serif"), local("Roboto"), local("Noto Serif");
  unicode-range: U+2009, U+200A, U+202F;
  font-display: block;
}

/* ============ 3. Replis métriques (anti-CLS) — size-adjust mesuré sur les textes réels, overrides = métriques de la fonte web ============ */
@font-face { /* macOS, iOS, Windows ; Linux via Liberation Serif (métriquement compatible) — rôles : display-1, display-2, titre-3, chapo, citation, menu-salon */
  font-family: "FC Repli display";
  src: local("Times New Roman"), local("TimesNewRomanPSMT"), local("Liberation Serif"), local("LiberationSerif");
  font-style: normal;
  font-weight: 100 900;
  size-adjust: 112.62%;
  ascent-override: 99.89%;
  descent-override: 35.52%;
  line-gap-override: 0%;
}
@font-face { /* Android — rôles : display-1, display-2, titre-3, chapo, citation, menu-salon */
  font-family: "FC Repli display A";
  src: local("Noto Serif"), local("NotoSerif");
  font-style: normal;
  font-weight: 100 900;
  size-adjust: 95.17%;
  ascent-override: 118.21%;
  descent-override: 42.03%;
  line-gap-override: 0%;
}
@font-face { /* macOS, iOS, Windows ; Linux via Liberation Sans — rôles : titre-4, bouton, label, chiffre-donnee */
  font-family: "FC Repli interface";
  src: local("Arial"), local("ArialMT"), local("Liberation Sans"), local("LiberationSans");
  font-style: normal;
  font-weight: 100 900;
  size-adjust: 107.02%;
  ascent-override: 99.61%;
  descent-override: 28.03%;
  line-gap-override: 0%;
}
@font-face { /* Android — rôles : titre-4, bouton, label, chiffre-donnee */
  font-family: "FC Repli interface A";
  src: local("Roboto"), local("Roboto-Regular");
  font-style: normal;
  font-weight: 100 900;
  size-adjust: 106.05%;
  ascent-override: 100.52%;
  descent-override: 28.29%;
  line-gap-override: 0%;
}
@font-face { /* macOS, iOS, Windows ; Linux — rôles : devise */
  font-family: "FC Repli devise italique";
  src: local("Times New Roman Italic"), local("TimesNewRomanPS-ItalicMT"), local("Liberation Serif Italic"), local("LiberationSerif-Italic");
  font-style: italic;
  font-weight: 100 900;
  size-adjust: 87.43%;
  ascent-override: 105.68%;
  descent-override: 32.83%;
  line-gap-override: 0%;
}
@font-face { /* Android — rôles : devise */
  font-family: "FC Repli devise italique A";
  src: local("Noto Serif Italic"), local("NotoSerif-Italic");
  font-style: italic;
  font-weight: 100 900;
  size-adjust: 76.17%;
  ascent-override: 121.31%;
  descent-override: 37.68%;
  line-gap-override: 0%;
}
@font-face { /* macOS, iOS, Windows ; Linux via Liberation Serif (métriquement compatible) — rôles : chiffre-display */
  font-family: "FC Repli display 2";
  src: local("Times New Roman"), local("TimesNewRomanPSMT"), local("Liberation Serif"), local("LiberationSerif");
  font-style: normal;
  font-weight: 100 900;
  size-adjust: 108.37%;
  ascent-override: 103.81%;
  descent-override: 36.91%;
  line-gap-override: 0%;
}
@font-face { /* Android — rôles : chiffre-display */
  font-family: "FC Repli display A 2";
  src: local("Noto Serif"), local("NotoSerif");
  font-style: normal;
  font-weight: 100 900;
  size-adjust: 97.72%;
  ascent-override: 115.12%;
  descent-override: 40.93%;
  line-gap-override: 0%;
}
@font-face { /* macOS, iOS, Windows ; Linux via Liberation Sans — rôles : texte, texte-petit, texte-legal, legende, champ */
  font-family: "FC Repli interface 2";
  src: local("Arial"), local("ArialMT"), local("Liberation Sans"), local("LiberationSans");
  font-style: normal;
  font-weight: 100 900;
  size-adjust: 102.52%;
  ascent-override: 103.98%;
  descent-override: 29.26%;
  line-gap-override: 0%;
}
@font-face { /* Android — rôles : texte, texte-petit, texte-legal, legende, nav, champ, message, annotation */
  font-family: "FC Repli interface A 2";
  src: local("Roboto"), local("Roboto-Regular");
  font-style: normal;
  font-weight: 100 900;
  size-adjust: 103.43%;
  ascent-override: 103.06%;
  descent-override: 29.01%;
  line-gap-override: 0%;
}
@font-face { /* macOS, iOS, Windows ; Linux via Liberation Sans — rôles : surtitre */
  font-family: "FC Repli interface 3";
  src: local("Arial"), local("ArialMT"), local("Liberation Sans"), local("LiberationSans");
  font-style: normal;
  font-weight: 100 900;
  size-adjust: 94.20%;
  ascent-override: 113.16%;
  descent-override: 31.85%;
  line-gap-override: 0%;
}
@font-face { /* Android — rôles : surtitre */
  font-family: "FC Repli interface A 3";
  src: local("Roboto"), local("Roboto-Regular");
  font-style: normal;
  font-weight: 100 900;
  size-adjust: 100.85%;
  ascent-override: 105.7%;
  descent-override: 29.75%;
  line-gap-override: 0%;
}
@font-face { /* macOS, iOS, Windows ; Linux via Liberation Sans — rôles : nav, message, annotation */
  font-family: "FC Repli interface 4";
  src: local("Arial"), local("ArialMT"), local("Liberation Sans"), local("LiberationSans");
  font-style: normal;
  font-weight: 100 900;
  size-adjust: 104.41%;
  ascent-override: 102.1%;
  descent-override: 28.73%;
  line-gap-override: 0%;
}

/* ============ 4. Jetons ============ */
:root {
  --fc-famille-display: "FC Bodoni Moda", "FC Espaces", "FC Repli display", "FC Repli display A", serif;
  --fc-famille-interface: "FC Manrope", "FC Espaces", "FC Repli interface 2", "FC Repli interface A 2", sans-serif;
  --fc-famille-devise: "FC Cormorant Italique", "FC Espaces", "FC Repli devise italique", "FC Repli devise italique A", serif;
  --fc-c-papier: #F1EFEA; /* écru neutre */
  --fc-c-encre: #14213A; /* bleu encre */
  --fc-c-encre-2: #454C5A; /* graphite */
  --fc-c-accent: #2E3F5C; /* pierre froide profonde */
  --fc-c-sombre: #0E1A2E; /* bleu encre nuit */
  --fc-c-sur-sombre: #EEF0F2; /* écru froid */
  --fc-c-sur-sombre-2: #AEB7C4; /* argent doux */
  --fc-c-filet: #9AA1AB; /* argent doux (filets seulement) */
  --fc-mesure-texte: 66ch;
  --fc-mesure-chapo: 34em;
  --fc-mesure-titre: 18em;
  --fc-taille-min: 0.75rem; /* plancher absolu : 12 px */
  /* display-1 — h1 d’ouverture (romain, axe optique maximal, approche positive) — 320:34px · 390:40px · 768:56px · 1440:88px · 1920:100px */
  --fc-ff-display-1: "FC Bodoni Moda", "FC Espaces", "FC Repli display", "FC Repli display A", serif;
  --fc-fs-display-1: clamp(2.125rem, 0.4107rem + 8.5714vw, 2.5rem);
  --fc-fw-display-1: 400;
  --fc-fst-display-1: normal;
  --fc-lh-display-1: 1.1;
  --fc-ls-display-1: 0;
  --fc-tt-display-1: none;
  --fc-ffs-display-1: normal;
  --fc-fvs-display-1: "opsz" 96;
  /* display-2 — h2 de section — 320:28px · 390:31px · 768:40px · 1440:58px · 1920:64px */
  --fc-ff-display-2: "FC Bodoni Moda", "FC Espaces", "FC Repli display", "FC Repli display A", serif;
  --fc-fs-display-2: clamp(1.75rem, 0.8929rem + 4.2857vw, 1.9375rem);
  --fc-fw-display-2: 400;
  --fc-fst-display-2: normal;
  --fc-lh-display-2: 1.14;
  --fc-ls-display-2: 0;
  --fc-tt-display-2: none;
  --fc-ffs-display-2: normal;
  --fc-fvs-display-2: "opsz" 72;
  /* titre-3 — h3, titres de projets — 320:22px · 390:24px · 768:27px · 1440:32px · 1920:34px */
  --fc-ff-titre-3: "FC Bodoni Moda", "FC Espaces", "FC Repli display", "FC Repli display A", serif;
  --fc-fs-titre-3: clamp(1.375rem, 0.8036rem + 2.8571vw, 1.5rem);
  --fc-fw-titre-3: 400;
  --fc-fst-titre-3: normal;
  --fc-lh-titre-3: 1.22;
  --fc-ls-titre-3: 0;
  --fc-tt-titre-3: none;
  --fc-ffs-titre-3: normal;
  --fc-fvs-titre-3: normal;
  /* titre-4 — h4–h6 (sans : Bodoni jamais sous 20 px) — 320:17px · 390:17px · 768:18px · 1440:19px · 1920:20px */
  --fc-ff-titre-4: "FC Manrope", "FC Espaces", "FC Repli interface", "FC Repli interface A", sans-serif;
  --fc-fs-titre-4: 1.0625rem;
  --fc-fw-titre-4: 600;
  --fc-fst-titre-4: normal;
  --fc-lh-titre-4: 1.35;
  --fc-ls-titre-4: 0;
  --fc-tt-titre-4: none;
  --fc-ffs-titre-4: normal;
  --fc-fvs-titre-4: normal;
  /* chapo — chapô (romain, jamais italique) — 320:20px · 390:21px · 768:22px · 1440:25px · 1920:27px */
  --fc-ff-chapo: "FC Bodoni Moda", "FC Espaces", "FC Repli display", "FC Repli display A", serif;
  --fc-fs-chapo: clamp(1.25rem, 0.9643rem + 1.4286vw, 1.3125rem);
  --fc-fw-chapo: 400;
  --fc-fst-chapo: normal;
  --fc-lh-chapo: 1.45;
  --fc-ls-chapo: 0;
  --fc-tt-chapo: none;
  --fc-ffs-chapo: normal;
  --fc-fvs-chapo: normal;
  /* citation — citations, lettre, manifeste (romain entre guillemets) — 320:23px · 390:25px · 768:28px · 1440:36px · 1920:40px */
  --fc-ff-citation: "FC Bodoni Moda", "FC Espaces", "FC Repli display", "FC Repli display A", serif;
  --fc-fs-citation: clamp(1.4375rem, 0.8661rem + 2.8571vw, 1.5625rem);
  --fc-fw-citation: 400;
  --fc-fst-citation: normal;
  --fc-lh-citation: 1.26;
  --fc-ls-citation: 0;
  --fc-tt-citation: none;
  --fc-ffs-citation: normal;
  --fc-fvs-citation: "opsz" 72;
  /* devise — devise « Per l’Umanità e la Dignità » (.fc-pied__devise) — seul italique de la maison — 320:20px · 390:21px · 768:22px · 1440:26px · 1920:28px */
  --fc-ff-devise: "FC Cormorant Italique", "FC Espaces", "FC Repli devise italique", "FC Repli devise italique A", serif;
  --fc-fs-devise: clamp(1.25rem, 0.9643rem + 1.4286vw, 1.3125rem);
  --fc-fw-devise: 500;
  --fc-fst-devise: italic;
  --fc-lh-devise: 1.3;
  --fc-ls-devise: 0.01em;
  --fc-tt-devise: none;
  --fc-ffs-devise: normal;
  --fc-fvs-devise: normal;
  /* chiffre-display — chiffres d’impact vérifiés (jamais inventés) — 320:42px · 390:50px · 768:60px · 1440:80px · 1920:92px */
  --fc-ff-chiffre-display: "FC Bodoni Moda", "FC Espaces", "FC Repli display 2", "FC Repli display A 2", serif;
  --fc-fs-chiffre-display: clamp(2.625rem, 0.3393rem + 11.4286vw, 3.125rem);
  --fc-fw-chiffre-display: 400;
  --fc-fst-chiffre-display: normal;
  --fc-lh-chiffre-display: 1;
  --fc-ls-chiffre-display: 0;
  --fc-tt-chiffre-display: none;
  --fc-ffs-chiffre-display: normal;
  --fc-fvs-chiffre-display: "opsz" 96;
  /* menu-salon — menu cabinet plein écran — 320:28px · 390:32px · 768:42px · 1440:54px · 1920:60px */
  --fc-ff-menu-salon: "FC Bodoni Moda", "FC Espaces", "FC Repli display", "FC Repli display A", serif;
  --fc-fs-menu-salon: clamp(1.75rem, 0.6071rem + 5.7143vw, 2rem);
  --fc-fw-menu-salon: 400;
  --fc-fst-menu-salon: normal;
  --fc-lh-menu-salon: 1.12;
  --fc-ls-menu-salon: 0;
  --fc-tt-menu-salon: none;
  --fc-ffs-menu-salon: normal;
  --fc-fvs-menu-salon: "opsz" 72;
  /* texte — manifeste, lettres, projets (Manrope 400, jamais l’instance ExtraLight par défaut) — 320:17px · 390:17px · 768:17px · 1440:18px · 1920:18px */
  --fc-ff-texte: "FC Manrope", "FC Espaces", "FC Repli interface 2", "FC Repli interface A 2", sans-serif;
  --fc-fs-texte: 1.0625rem;
  --fc-fw-texte: 400;
  --fc-fst-texte: normal;
  --fc-lh-texte: 1.65;
  --fc-ls-texte: 0;
  --fc-tt-texte: none;
  --fc-ffs-texte: normal;
  --fc-fvs-texte: normal;
  /* texte-petit — notes, footer, consentement — 320:15px · 390:15px · 768:15px · 1440:15px · 1920:16px */
  --fc-ff-texte-petit: "FC Manrope", "FC Espaces", "FC Repli interface 2", "FC Repli interface A 2", sans-serif;
  --fc-fs-texte-petit: 0.9375rem;
  --fc-fw-texte-petit: 400;
  --fc-fst-texte-petit: normal;
  --fc-lh-texte-petit: 1.6;
  --fc-ls-texte-petit: 0;
  --fc-tt-texte-petit: none;
  --fc-ffs-texte-petit: normal;
  --fc-fvs-texte-petit: normal;
  /* texte-legal — note légale, confidentialité, code de dignité — 320:16px · 390:16px · 768:16px · 1440:16.5px · 1920:17px */
  --fc-ff-texte-legal: "FC Manrope", "FC Espaces", "FC Repli interface 2", "FC Repli interface A 2", sans-serif;
  --fc-fs-texte-legal: 1rem;
  --fc-fw-texte-legal: 400;
  --fc-fst-texte-legal: normal;
  --fc-lh-texte-legal: 1.72;
  --fc-ls-texte-legal: 0;
  --fc-tt-texte-legal: none;
  --fc-ffs-texte-legal: normal;
  --fc-fvs-texte-legal: normal;
  /* legende — légendes, consentement des personnes photographiées, crédits — 320:13px · 390:13px · 768:13px · 1440:13.5px · 1920:14px */
  --fc-ff-legende: "FC Manrope", "FC Espaces", "FC Repli interface 2", "FC Repli interface A 2", sans-serif;
  --fc-fs-legende: 0.8125rem;
  --fc-fw-legende: 400;
  --fc-fst-legende: normal;
  --fc-lh-legende: 1.5;
  --fc-ls-legende: 0.005em;
  --fc-tt-legende: none;
  --fc-ffs-legende: normal;
  --fc-fvs-legende: normal;
  /* surtitre — surtitres, rubriques — 320:12px · 390:12px · 768:12px · 1440:12.5px · 1920:13px */
  --fc-ff-surtitre: "FC Manrope", "FC Espaces", "FC Repli interface 3", "FC Repli interface A 3", sans-serif;
  --fc-fs-surtitre: 0.75rem;
  --fc-fw-surtitre: 600;
  --fc-fst-surtitre: normal;
  --fc-lh-surtitre: 1.3;
  --fc-ls-surtitre: 0.14em;
  --fc-tt-surtitre: uppercase;
  --fc-ffs-surtitre: normal;
  --fc-fvs-surtitre: normal;
  /* nav — navigation (casse de phrase : institution accueillante) — 320:14px · 390:14px · 768:14px · 1440:14.5px · 1920:15px */
  --fc-ff-nav: "FC Manrope", "FC Espaces", "FC Repli interface 4", "FC Repli interface A 2", sans-serif;
  --fc-fs-nav: 0.875rem;
  --fc-fw-nav: 500;
  --fc-fst-nav: normal;
  --fc-lh-nav: 1.25;
  --fc-ls-nav: 0.01em;
  --fc-tt-nav: none;
  --fc-ffs-nav: normal;
  --fc-fvs-nav: normal;
  /* bouton — CTA « Soutenir », boutons (casse de phrase) — 320:14px · 390:14px · 768:14px · 1440:14.5px · 1920:15px */
  --fc-ff-bouton: "FC Manrope", "FC Espaces", "FC Repli interface", "FC Repli interface A", sans-serif;
  --fc-fs-bouton: 0.875rem;
  --fc-fw-bouton: 600;
  --fc-fst-bouton: normal;
  --fc-lh-bouton: 1.15;
  --fc-ls-bouton: 0.02em;
  --fc-tt-bouton: none;
  --fc-ffs-bouton: normal;
  --fc-fvs-bouton: normal;
  /* champ — champs, placeholder, select — 320:17px · 390:17px · 768:17px · 1440:17px · 1920:17px */
  --fc-ff-champ: "FC Manrope", "FC Espaces", "FC Repli interface 2", "FC Repli interface A 2", sans-serif;
  --fc-fs-champ: 1.0625rem;
  --fc-fw-champ: 400;
  --fc-fst-champ: normal;
  --fc-lh-champ: 1.4;
  --fc-ls-champ: 0;
  --fc-tt-champ: none;
  --fc-ffs-champ: normal;
  --fc-fvs-champ: normal;
  /* label — labels (casse de phrase) — 320:13px · 390:13px · 768:13px · 1440:13px · 1920:13.5px */
  --fc-ff-label: "FC Manrope", "FC Espaces", "FC Repli interface", "FC Repli interface A", sans-serif;
  --fc-fs-label: 0.8125rem;
  --fc-fw-label: 600;
  --fc-fst-label: normal;
  --fc-lh-label: 1.3;
  --fc-ls-label: 0.02em;
  --fc-tt-label: none;
  --fc-ffs-label: normal;
  --fc-fvs-label: normal;
  /* message — erreurs, succès, aides — 320:15px · 390:15px · 768:15px · 1440:15px · 1920:16px */
  --fc-ff-message: "FC Manrope", "FC Espaces", "FC Repli interface 4", "FC Repli interface A 2", sans-serif;
  --fc-fs-message: 0.9375rem;
  --fc-fw-message: 500;
  --fc-fst-message: normal;
  --fc-lh-message: 1.5;
  --fc-ls-message: 0;
  --fc-tt-message: none;
  --fc-ffs-message: normal;
  --fc-fvs-message: normal;
  /* chiffre-donnee — montants, tableaux de transparence, Proof Vault — 320:15px · 390:15px · 768:16px · 1440:16px · 1920:17px */
  --fc-ff-chiffre-donnee: "FC Manrope", "FC Espaces", "FC Repli interface", "FC Repli interface A", sans-serif;
  --fc-fs-chiffre-donnee: 0.9375rem;
  --fc-fw-chiffre-donnee: 600;
  --fc-fst-chiffre-donnee: normal;
  --fc-lh-chiffre-donnee: 1.4;
  --fc-ls-chiffre-donnee: 0;
  --fc-tt-chiffre-donnee: none;
  --fc-ffs-chiffre-donnee: "tnum" 1, "lnum" 1;
  --fc-fvs-chiffre-donnee: normal;
  /* annotation — sources, références, dates de preuve, coordonnées Atlas — 320:12px · 390:12px · 768:12.5px · 1440:13px · 1920:13px */
  --fc-ff-annotation: "FC Manrope", "FC Espaces", "FC Repli interface 4", "FC Repli interface A 2", sans-serif;
  --fc-fs-annotation: 0.75rem;
  --fc-fw-annotation: 500;
  --fc-fst-annotation: normal;
  --fc-lh-annotation: 1.45;
  --fc-ls-annotation: 0.03em;
  --fc-tt-annotation: none;
  --fc-ffs-annotation: "tnum" 1;
  --fc-fvs-annotation: normal;
}
@media (min-width: 390px) { /* tranche 390→768 px */
  :root {
    --fc-fs-display-1: clamp(2.5rem, 1.4683rem + 4.2328vw, 3.5rem);
    --fc-fs-display-2: clamp(1.9375rem, 1.3571rem + 2.381vw, 2.5rem);
    --fc-fs-titre-3: clamp(1.5rem, 1.3065rem + 0.7937vw, 1.6875rem);
    --fc-fs-titre-4: clamp(1.0625rem, 0.998rem + 0.2646vw, 1.125rem);
    --fc-fs-chapo: clamp(1.3125rem, 1.248rem + 0.2646vw, 1.375rem);
    --fc-fs-citation: clamp(1.5625rem, 1.369rem + 0.7937vw, 1.75rem);
    --fc-fs-devise: clamp(1.3125rem, 1.248rem + 0.2646vw, 1.375rem);
    --fc-fs-chiffre-display: clamp(3.125rem, 2.4802rem + 2.6455vw, 3.75rem);
    --fc-fs-menu-salon: clamp(2rem, 1.3552rem + 2.6455vw, 2.625rem);
    --fc-fs-texte: 1.0625rem;
    --fc-fs-texte-petit: 0.9375rem;
    --fc-fs-texte-legal: 1rem;
    --fc-fs-legende: 0.8125rem;
    --fc-fs-surtitre: 0.75rem;
    --fc-fs-nav: 0.875rem;
    --fc-fs-bouton: 0.875rem;
    --fc-fs-champ: 1.0625rem;
    --fc-fs-label: 0.8125rem;
    --fc-fs-message: 0.9375rem;
    --fc-fs-chiffre-donnee: clamp(0.9375rem, 0.873rem + 0.2646vw, 1rem);
    --fc-fs-annotation: clamp(0.75rem, 0.7178rem + 0.1323vw, 0.7813rem);
  }
}
@media (min-width: 768px) { /* tranche 768→1440 px */
  :root {
    --fc-fs-display-1: clamp(3.5rem, 1.2143rem + 4.7619vw, 5.5rem);
    --fc-lh-display-1: 1.06;
    --fc-ls-display-1: 0.004em;
    --fc-fs-display-2: clamp(2.5rem, 1.2143rem + 2.6786vw, 3.625rem);
    --fc-lh-display-2: 1.1;
    --fc-ls-display-2: 0.004em;
    --fc-fs-titre-3: clamp(1.6875rem, 1.3304rem + 0.744vw, 2rem);
    --fc-lh-titre-3: 1.2;
    --fc-ls-titre-3: 0.002em;
    --fc-fs-titre-4: clamp(1.125rem, 1.0536rem + 0.1488vw, 1.1875rem);
    --fc-lh-titre-4: 1.35;
    --fc-ls-titre-4: 0;
    --fc-fs-chapo: clamp(1.375rem, 1.1607rem + 0.4464vw, 1.5625rem);
    --fc-lh-chapo: 1.42;
    --fc-ls-chapo: 0.002em;
    --fc-fs-citation: clamp(1.75rem, 1.1786rem + 1.1905vw, 2.25rem);
    --fc-lh-citation: 1.22;
    --fc-ls-citation: 0.002em;
    --fc-fs-devise: clamp(1.375rem, 1.0893rem + 0.5952vw, 1.625rem);
    --fc-lh-devise: 1.3;
    --fc-ls-devise: 0.01em;
    --fc-fs-chiffre-display: clamp(3.75rem, 2.3214rem + 2.9762vw, 5rem);
    --fc-lh-chiffre-display: 1;
    --fc-ls-chiffre-display: 0;
    --fc-fs-menu-salon: clamp(2.625rem, 1.7679rem + 1.7857vw, 3.375rem);
    --fc-lh-menu-salon: 1.1;
    --fc-ls-menu-salon: 0.004em;
    --fc-fs-texte: clamp(1.0625rem, 0.9911rem + 0.1488vw, 1.125rem);
    --fc-lh-texte: 1.7;
    --fc-ls-texte: 0;
    --fc-fs-texte-petit: 0.9375rem;
    --fc-lh-texte-petit: 1.6;
    --fc-ls-texte-petit: 0;
    --fc-fs-texte-legal: clamp(1rem, 0.9643rem + 0.0744vw, 1.0313rem);
    --fc-lh-texte-legal: 1.72;
    --fc-ls-texte-legal: 0;
    --fc-fs-legende: clamp(0.8125rem, 0.7768rem + 0.0744vw, 0.8438rem);
    --fc-lh-legende: 1.5;
    --fc-ls-legende: 0.005em;
    --fc-fs-surtitre: clamp(0.75rem, 0.7143rem + 0.0744vw, 0.7813rem);
    --fc-lh-surtitre: 1.3;
    --fc-ls-surtitre: 0.16em;
    --fc-fs-nav: clamp(0.875rem, 0.8393rem + 0.0744vw, 0.9063rem);
    --fc-lh-nav: 1.25;
    --fc-ls-nav: 0.01em;
    --fc-fs-bouton: clamp(0.875rem, 0.8393rem + 0.0744vw, 0.9063rem);
    --fc-lh-bouton: 1.15;
    --fc-ls-bouton: 0.02em;
    --fc-fs-champ: 1.0625rem;
    --fc-lh-champ: 1.4;
    --fc-ls-champ: 0;
    --fc-fs-label: 0.8125rem;
    --fc-lh-label: 1.3;
    --fc-ls-label: 0.02em;
    --fc-fs-message: 0.9375rem;
    --fc-lh-message: 1.5;
    --fc-ls-message: 0;
    --fc-fs-chiffre-donnee: 1rem;
    --fc-lh-chiffre-donnee: 1.4;
    --fc-ls-chiffre-donnee: 0;
    --fc-fs-annotation: clamp(0.7813rem, 0.7455rem + 0.0744vw, 0.8125rem);
    --fc-lh-annotation: 1.45;
    --fc-ls-annotation: 0.03em;
  }
}
@media (min-width: 1440px) { /* tranche 1440→1920 px */
  :root {
    --fc-fs-display-1: clamp(5.5rem, 3.25rem + 2.5vw, 6.25rem);
    --fc-fs-display-2: clamp(3.625rem, 2.5rem + 1.25vw, 4rem);
    --fc-fs-titre-3: clamp(2rem, 1.625rem + 0.4167vw, 2.125rem);
    --fc-fs-titre-4: clamp(1.1875rem, 1rem + 0.2083vw, 1.25rem);
    --fc-fs-chapo: clamp(1.5625rem, 1.1875rem + 0.4167vw, 1.6875rem);
    --fc-fs-citation: clamp(2.25rem, 1.5rem + 0.8333vw, 2.5rem);
    --fc-fs-devise: clamp(1.625rem, 1.25rem + 0.4167vw, 1.75rem);
    --fc-fs-chiffre-display: clamp(5rem, 2.75rem + 2.5vw, 5.75rem);
    --fc-fs-menu-salon: clamp(3.375rem, 2.25rem + 1.25vw, 3.75rem);
    --fc-fs-texte: 1.125rem;
    --fc-fs-texte-petit: clamp(0.9375rem, 0.75rem + 0.2083vw, 1rem);
    --fc-fs-texte-legal: clamp(1.0313rem, 0.9375rem + 0.1042vw, 1.0625rem);
    --fc-fs-legende: clamp(0.8438rem, 0.75rem + 0.1042vw, 0.875rem);
    --fc-fs-surtitre: clamp(0.7813rem, 0.6875rem + 0.1042vw, 0.8125rem);
    --fc-fs-nav: clamp(0.9063rem, 0.8125rem + 0.1042vw, 0.9375rem);
    --fc-fs-bouton: clamp(0.9063rem, 0.8125rem + 0.1042vw, 0.9375rem);
    --fc-fs-champ: 1.0625rem;
    --fc-fs-label: clamp(0.8125rem, 0.7188rem + 0.1042vw, 0.8438rem);
    --fc-fs-message: clamp(0.9375rem, 0.75rem + 0.2083vw, 1rem);
    --fc-fs-chiffre-donnee: clamp(1rem, 0.8125rem + 0.2083vw, 1.0625rem);
    --fc-fs-annotation: 0.8125rem;
  }
}
@media (min-width: 1920px) { /* plafond ≥ 1920 px */
  :root {
    --fc-fs-display-1: 6.25rem;
    --fc-fs-display-2: 4rem;
    --fc-fs-titre-3: 2.125rem;
    --fc-fs-titre-4: 1.25rem;
    --fc-fs-chapo: 1.6875rem;
    --fc-fs-citation: 2.5rem;
    --fc-fs-devise: 1.75rem;
    --fc-fs-chiffre-display: 5.75rem;
    --fc-fs-menu-salon: 3.75rem;
    --fc-fs-texte: 1.125rem;
    --fc-fs-texte-petit: 1rem;
    --fc-fs-texte-legal: 1.0625rem;
    --fc-fs-legende: 0.875rem;
    --fc-fs-surtitre: 0.8125rem;
    --fc-fs-nav: 0.9375rem;
    --fc-fs-bouton: 0.9375rem;
    --fc-fs-champ: 1.0625rem;
    --fc-fs-label: 0.8438rem;
    --fc-fs-message: 1rem;
    --fc-fs-chiffre-donnee: 1.0625rem;
    --fc-fs-annotation: 0.8125rem;
  }
}

/* ============ 5. Couche de base : TOUS les contextes possédés reçoivent un jeton ============ */
@layer fc-typo-base, fc-typo-utilitaires;
@layer fc-typo-base {
  html { font-family: var(--fc-ff-texte); font-size: 100%; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; font-synthesis: none; font-optical-sizing: auto; font-kerning: normal; font-variant-ligatures: common-ligatures; text-rendering: optimizeLegibility; }
  body { font-family: var(--fc-ff-texte); font-size: var(--fc-fs-texte); font-weight: var(--fc-fw-texte); font-style: var(--fc-fst-texte); line-height: var(--fc-lh-texte); letter-spacing: var(--fc-ls-texte); text-transform: var(--fc-tt-texte); font-feature-settings: var(--fc-ffs-texte); font-variation-settings: var(--fc-fvs-texte); color: var(--fc-c-encre); }
  :lang(fr) { quotes: "«\202F" "\202F»" "“" "”"; }
  :lang(it) { quotes: "«" "»" "“" "”"; }
  :lang(en) { quotes: "“" "”" "‘" "’"; }
  h1 { font-family: var(--fc-ff-display-1); font-size: var(--fc-fs-display-1); font-weight: var(--fc-fw-display-1); font-style: var(--fc-fst-display-1); line-height: var(--fc-lh-display-1); letter-spacing: var(--fc-ls-display-1); text-transform: var(--fc-tt-display-1); font-feature-settings: var(--fc-ffs-display-1); font-variation-settings: var(--fc-fvs-display-1); text-wrap: balance; hyphens: manual; overflow-wrap: break-word; }
  h2 { font-family: var(--fc-ff-display-2); font-size: var(--fc-fs-display-2); font-weight: var(--fc-fw-display-2); font-style: var(--fc-fst-display-2); line-height: var(--fc-lh-display-2); letter-spacing: var(--fc-ls-display-2); text-transform: var(--fc-tt-display-2); font-feature-settings: var(--fc-ffs-display-2); font-variation-settings: var(--fc-fvs-display-2); text-wrap: balance; hyphens: manual; overflow-wrap: break-word; }
  h3 { font-family: var(--fc-ff-titre-3); font-size: var(--fc-fs-titre-3); font-weight: var(--fc-fw-titre-3); font-style: var(--fc-fst-titre-3); line-height: var(--fc-lh-titre-3); letter-spacing: var(--fc-ls-titre-3); text-transform: var(--fc-tt-titre-3); font-feature-settings: var(--fc-ffs-titre-3); font-variation-settings: var(--fc-fvs-titre-3); text-wrap: balance; overflow-wrap: break-word; }
  h4, h5, h6 { font-family: var(--fc-ff-titre-4); font-size: var(--fc-fs-titre-4); font-weight: var(--fc-fw-titre-4); font-style: var(--fc-fst-titre-4); line-height: var(--fc-lh-titre-4); letter-spacing: var(--fc-ls-titre-4); text-transform: var(--fc-tt-titre-4); font-feature-settings: var(--fc-ffs-titre-4); font-variation-settings: var(--fc-fvs-titre-4); text-wrap: balance; overflow-wrap: break-word; }
  p, li, dd, dt { text-wrap: pretty; overflow-wrap: break-word; }
  :is(p, li, dd):is(:lang(fr), :lang(it), :lang(en)) { hyphens: auto; -webkit-hyphens: auto; hyphenate-limit-chars: 10 4 4; }
  small, .fc-note { font-family: var(--fc-ff-texte-petit); font-size: var(--fc-fs-texte-petit); font-weight: var(--fc-fw-texte-petit); font-style: var(--fc-fst-texte-petit); line-height: var(--fc-lh-texte-petit); letter-spacing: var(--fc-ls-texte-petit); text-transform: var(--fc-tt-texte-petit); font-feature-settings: var(--fc-ffs-texte-petit); font-variation-settings: var(--fc-fvs-texte-petit); }
  b, strong { font-weight: 650; }
  :is(nav, button, label, figcaption, small, [role="button"]) em { font-style: normal; font-weight: 650; }
  em, cite { font-style: normal; font-weight: 600; } /* Fondazione : l’accent est une graisse, jamais un italique (seule la devise est italique) */
  .fc-pied__devise, .devise { font-family: var(--fc-ff-devise); font-size: var(--fc-fs-devise); font-weight: var(--fc-fw-devise); font-style: var(--fc-fst-devise); line-height: var(--fc-lh-devise); letter-spacing: var(--fc-ls-devise); text-transform: var(--fc-tt-devise); font-feature-settings: var(--fc-ffs-devise); font-variation-settings: var(--fc-fvs-devise); }
  blockquote, q { font-family: var(--fc-ff-citation); font-size: var(--fc-fs-citation); font-weight: var(--fc-fw-citation); font-style: var(--fc-fst-citation); line-height: var(--fc-lh-citation); letter-spacing: var(--fc-ls-citation); text-transform: var(--fc-tt-citation); font-feature-settings: var(--fc-ffs-citation); font-variation-settings: var(--fc-fvs-citation); }
  blockquote p { max-width: none; }
  figcaption, caption, .fc-credit { font-family: var(--fc-ff-legende); font-size: var(--fc-fs-legende); font-weight: var(--fc-fw-legende); font-style: var(--fc-fst-legende); line-height: var(--fc-lh-legende); letter-spacing: var(--fc-ls-legende); text-transform: var(--fc-tt-legende); font-feature-settings: var(--fc-ffs-legende); font-variation-settings: var(--fc-fvs-legende); }
  :is(nav, [role="navigation"]) :is(a, button) { font-family: var(--fc-ff-nav); font-size: var(--fc-fs-nav); font-weight: var(--fc-fw-nav); font-style: var(--fc-fst-nav); line-height: var(--fc-lh-nav); letter-spacing: var(--fc-ls-nav); text-transform: var(--fc-tt-nav); font-feature-settings: var(--fc-ffs-nav); font-variation-settings: var(--fc-fvs-nav); text-decoration: none; }
  a { text-decoration-thickness: 1px; text-underline-offset: 0.2em; text-decoration-skip-ink: auto; }
  button, [type="button"], [type="submit"], [type="reset"], [role="button"] { font-family: var(--fc-ff-bouton); font-size: var(--fc-fs-bouton); font-weight: var(--fc-fw-bouton); font-style: var(--fc-fst-bouton); line-height: var(--fc-lh-bouton); letter-spacing: var(--fc-ls-bouton); text-transform: var(--fc-tt-bouton); font-feature-settings: var(--fc-ffs-bouton); font-variation-settings: var(--fc-fvs-bouton); }
  label, legend { font-family: var(--fc-ff-label); font-size: var(--fc-fs-label); font-weight: var(--fc-fw-label); font-style: var(--fc-fst-label); line-height: var(--fc-lh-label); letter-spacing: var(--fc-ls-label); text-transform: var(--fc-tt-label); font-feature-settings: var(--fc-ffs-label); font-variation-settings: var(--fc-fvs-label); }
  input, select, textarea, option { font-family: var(--fc-ff-champ); font-size: var(--fc-fs-champ); font-weight: var(--fc-fw-champ); font-style: var(--fc-fst-champ); line-height: var(--fc-lh-champ); letter-spacing: var(--fc-ls-champ); text-transform: var(--fc-tt-champ); font-feature-settings: var(--fc-ffs-champ); font-variation-settings: var(--fc-fvs-champ); color: var(--fc-c-encre); }
  ::placeholder { font: inherit; letter-spacing: inherit; color: var(--fc-c-encre-2); opacity: 1; }
  [role="alert"], .fc-erreur, .fc-succes, [role="status"] { font-family: var(--fc-ff-message); font-size: var(--fc-fs-message); font-weight: var(--fc-fw-message); font-style: var(--fc-fst-message); line-height: var(--fc-lh-message); letter-spacing: var(--fc-ls-message); text-transform: var(--fc-tt-message); font-feature-settings: var(--fc-ffs-message); font-variation-settings: var(--fc-fvs-message); }
  table { font-variant-numeric: tabular-nums lining-nums; }
  th { font-family: var(--fc-ff-label); font-size: var(--fc-fs-label); font-weight: var(--fc-fw-label); font-style: var(--fc-fst-label); line-height: var(--fc-lh-label); letter-spacing: var(--fc-ls-label); text-transform: var(--fc-tt-label); font-feature-settings: var(--fc-ffs-label); font-variation-settings: var(--fc-fvs-label); text-align: start; }
  td { font-family: var(--fc-ff-texte-petit); font-size: var(--fc-fs-texte-petit); font-weight: var(--fc-fw-texte-petit); font-style: var(--fc-fst-texte-petit); line-height: var(--fc-lh-texte-petit); letter-spacing: var(--fc-ls-texte-petit); text-transform: var(--fc-tt-texte-petit); font-feature-settings: var(--fc-ffs-texte-petit); font-variation-settings: var(--fc-fvs-texte-petit); font-variant-numeric: tabular-nums lining-nums; }
  dialog, [role="dialog"] { font-family: var(--fc-ff-texte); font-size: var(--fc-fs-texte); font-weight: var(--fc-fw-texte); font-style: var(--fc-fst-texte); line-height: var(--fc-lh-texte); letter-spacing: var(--fc-ls-texte); text-transform: var(--fc-tt-texte); font-feature-settings: var(--fc-ffs-texte); font-variation-settings: var(--fc-fvs-texte); }
  dialog :is(h1, h2), [role="dialog"] :is(h1, h2) { font-family: var(--fc-ff-titre-3); font-size: var(--fc-fs-titre-3); font-weight: var(--fc-fw-titre-3); font-style: var(--fc-fst-titre-3); line-height: var(--fc-lh-titre-3); letter-spacing: var(--fc-ls-titre-3); text-transform: var(--fc-tt-titre-3); font-feature-settings: var(--fc-ffs-titre-3); font-variation-settings: var(--fc-fvs-titre-3); }
  footer { font-family: var(--fc-ff-texte-petit); font-size: var(--fc-fs-texte-petit); font-weight: var(--fc-fw-texte-petit); font-style: var(--fc-fst-texte-petit); line-height: var(--fc-lh-texte-petit); letter-spacing: var(--fc-ls-texte-petit); text-transform: var(--fc-tt-texte-petit); font-feature-settings: var(--fc-ffs-texte-petit); font-variation-settings: var(--fc-fvs-texte-petit); }
  footer :is(h2, h3, h4) { font-family: var(--fc-ff-surtitre); font-size: var(--fc-fs-surtitre); font-weight: var(--fc-fw-surtitre); font-style: var(--fc-fst-surtitre); line-height: var(--fc-lh-surtitre); letter-spacing: var(--fc-ls-surtitre); text-transform: var(--fc-tt-surtitre); font-feature-settings: var(--fc-ffs-surtitre); font-variation-settings: var(--fc-fvs-surtitre); }
  code, kbd, samp, time[data-fc-technique] { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: 0.92em; }
  abbr[title] { text-decoration: underline dotted 1px; text-underline-offset: 0.18em; }
  sup, sub { font-size: 0.68em; line-height: 0; }
  ::selection { background: var(--fc-c-encre); color: var(--fc-c-papier); }
  :focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
  :disabled, [aria-disabled="true"] { opacity: 1; color: var(--fc-c-encre-2); cursor: not-allowed; }
  video::cue { font-family: var(--fc-ff-texte); font-size: 1.05em; line-height: 1.35; color: #fff; background: rgb(0 0 0 / 0.72); }
}

/* ============ 6. Utilitaires (opt-in par classe) ============ */
@layer fc-typo-utilitaires {
  .fc-t-display-1 { font-family: var(--fc-ff-display-1); font-size: var(--fc-fs-display-1); font-weight: var(--fc-fw-display-1); font-style: var(--fc-fst-display-1); line-height: var(--fc-lh-display-1); letter-spacing: var(--fc-ls-display-1); text-transform: var(--fc-tt-display-1); font-feature-settings: var(--fc-ffs-display-1); font-variation-settings: var(--fc-fvs-display-1); text-wrap: balance; hyphens: manual; -webkit-hyphens: manual; }
  .fc-t-display-2 { font-family: var(--fc-ff-display-2); font-size: var(--fc-fs-display-2); font-weight: var(--fc-fw-display-2); font-style: var(--fc-fst-display-2); line-height: var(--fc-lh-display-2); letter-spacing: var(--fc-ls-display-2); text-transform: var(--fc-tt-display-2); font-feature-settings: var(--fc-ffs-display-2); font-variation-settings: var(--fc-fvs-display-2); text-wrap: balance; hyphens: manual; -webkit-hyphens: manual; }
  .fc-t-titre-3 { font-family: var(--fc-ff-titre-3); font-size: var(--fc-fs-titre-3); font-weight: var(--fc-fw-titre-3); font-style: var(--fc-fst-titre-3); line-height: var(--fc-lh-titre-3); letter-spacing: var(--fc-ls-titre-3); text-transform: var(--fc-tt-titre-3); font-feature-settings: var(--fc-ffs-titre-3); font-variation-settings: var(--fc-fvs-titre-3); text-wrap: balance; hyphens: manual; -webkit-hyphens: manual; }
  .fc-t-titre-4 { font-family: var(--fc-ff-titre-4); font-size: var(--fc-fs-titre-4); font-weight: var(--fc-fw-titre-4); font-style: var(--fc-fst-titre-4); line-height: var(--fc-lh-titre-4); letter-spacing: var(--fc-ls-titre-4); text-transform: var(--fc-tt-titre-4); font-feature-settings: var(--fc-ffs-titre-4); font-variation-settings: var(--fc-fvs-titre-4); text-wrap: balance; hyphens: manual; -webkit-hyphens: manual; }
  .fc-t-chapo { font-family: var(--fc-ff-chapo); font-size: var(--fc-fs-chapo); font-weight: var(--fc-fw-chapo); font-style: var(--fc-fst-chapo); line-height: var(--fc-lh-chapo); letter-spacing: var(--fc-ls-chapo); text-transform: var(--fc-tt-chapo); font-feature-settings: var(--fc-ffs-chapo); font-variation-settings: var(--fc-fvs-chapo); text-wrap: pretty; hyphens: manual; -webkit-hyphens: manual; }
  .fc-t-citation { font-family: var(--fc-ff-citation); font-size: var(--fc-fs-citation); font-weight: var(--fc-fw-citation); font-style: var(--fc-fst-citation); line-height: var(--fc-lh-citation); letter-spacing: var(--fc-ls-citation); text-transform: var(--fc-tt-citation); font-feature-settings: var(--fc-ffs-citation); font-variation-settings: var(--fc-fvs-citation); text-wrap: balance; hyphens: manual; -webkit-hyphens: manual; }
  .fc-t-devise { font-family: var(--fc-ff-devise); font-size: var(--fc-fs-devise); font-weight: var(--fc-fw-devise); font-style: var(--fc-fst-devise); line-height: var(--fc-lh-devise); letter-spacing: var(--fc-ls-devise); text-transform: var(--fc-tt-devise); font-feature-settings: var(--fc-ffs-devise); font-variation-settings: var(--fc-fvs-devise); hyphens: manual; -webkit-hyphens: manual; }
  .fc-t-chiffre-display { font-family: var(--fc-ff-chiffre-display); font-size: var(--fc-fs-chiffre-display); font-weight: var(--fc-fw-chiffre-display); font-style: var(--fc-fst-chiffre-display); line-height: var(--fc-lh-chiffre-display); letter-spacing: var(--fc-ls-chiffre-display); text-transform: var(--fc-tt-chiffre-display); font-feature-settings: var(--fc-ffs-chiffre-display); font-variation-settings: var(--fc-fvs-chiffre-display); hyphens: manual; -webkit-hyphens: manual; }
  .fc-t-menu-salon { font-family: var(--fc-ff-menu-salon); font-size: var(--fc-fs-menu-salon); font-weight: var(--fc-fw-menu-salon); font-style: var(--fc-fst-menu-salon); line-height: var(--fc-lh-menu-salon); letter-spacing: var(--fc-ls-menu-salon); text-transform: var(--fc-tt-menu-salon); font-feature-settings: var(--fc-ffs-menu-salon); font-variation-settings: var(--fc-fvs-menu-salon); hyphens: manual; -webkit-hyphens: manual; }
  .fc-t-texte { font-family: var(--fc-ff-texte); font-size: var(--fc-fs-texte); font-weight: var(--fc-fw-texte); font-style: var(--fc-fst-texte); line-height: var(--fc-lh-texte); letter-spacing: var(--fc-ls-texte); text-transform: var(--fc-tt-texte); font-feature-settings: var(--fc-ffs-texte); font-variation-settings: var(--fc-fvs-texte); text-wrap: pretty; hyphens: auto; -webkit-hyphens: auto; hyphenate-limit-chars: 10 4 4; }
  .fc-t-texte-petit { font-family: var(--fc-ff-texte-petit); font-size: var(--fc-fs-texte-petit); font-weight: var(--fc-fw-texte-petit); font-style: var(--fc-fst-texte-petit); line-height: var(--fc-lh-texte-petit); letter-spacing: var(--fc-ls-texte-petit); text-transform: var(--fc-tt-texte-petit); font-feature-settings: var(--fc-ffs-texte-petit); font-variation-settings: var(--fc-fvs-texte-petit); text-wrap: pretty; hyphens: auto; -webkit-hyphens: auto; hyphenate-limit-chars: 10 4 4; }
  .fc-t-texte-legal { font-family: var(--fc-ff-texte-legal); font-size: var(--fc-fs-texte-legal); font-weight: var(--fc-fw-texte-legal); font-style: var(--fc-fst-texte-legal); line-height: var(--fc-lh-texte-legal); letter-spacing: var(--fc-ls-texte-legal); text-transform: var(--fc-tt-texte-legal); font-feature-settings: var(--fc-ffs-texte-legal); font-variation-settings: var(--fc-fvs-texte-legal); text-wrap: pretty; hyphens: auto; -webkit-hyphens: auto; hyphenate-limit-chars: 10 4 4; }
  .fc-t-legende { font-family: var(--fc-ff-legende); font-size: var(--fc-fs-legende); font-weight: var(--fc-fw-legende); font-style: var(--fc-fst-legende); line-height: var(--fc-lh-legende); letter-spacing: var(--fc-ls-legende); text-transform: var(--fc-tt-legende); font-feature-settings: var(--fc-ffs-legende); font-variation-settings: var(--fc-fvs-legende); hyphens: manual; -webkit-hyphens: manual; }
  .fc-t-surtitre { font-family: var(--fc-ff-surtitre); font-size: var(--fc-fs-surtitre); font-weight: var(--fc-fw-surtitre); font-style: var(--fc-fst-surtitre); line-height: var(--fc-lh-surtitre); letter-spacing: var(--fc-ls-surtitre); text-transform: var(--fc-tt-surtitre); font-feature-settings: var(--fc-ffs-surtitre); font-variation-settings: var(--fc-fvs-surtitre); hyphens: manual; -webkit-hyphens: manual; }
  .fc-t-nav { font-family: var(--fc-ff-nav); font-size: var(--fc-fs-nav); font-weight: var(--fc-fw-nav); font-style: var(--fc-fst-nav); line-height: var(--fc-lh-nav); letter-spacing: var(--fc-ls-nav); text-transform: var(--fc-tt-nav); font-feature-settings: var(--fc-ffs-nav); font-variation-settings: var(--fc-fvs-nav); hyphens: manual; -webkit-hyphens: manual; }
  .fc-t-bouton { font-family: var(--fc-ff-bouton); font-size: var(--fc-fs-bouton); font-weight: var(--fc-fw-bouton); font-style: var(--fc-fst-bouton); line-height: var(--fc-lh-bouton); letter-spacing: var(--fc-ls-bouton); text-transform: var(--fc-tt-bouton); font-feature-settings: var(--fc-ffs-bouton); font-variation-settings: var(--fc-fvs-bouton); hyphens: manual; -webkit-hyphens: manual; }
  .fc-t-champ { font-family: var(--fc-ff-champ); font-size: var(--fc-fs-champ); font-weight: var(--fc-fw-champ); font-style: var(--fc-fst-champ); line-height: var(--fc-lh-champ); letter-spacing: var(--fc-ls-champ); text-transform: var(--fc-tt-champ); font-feature-settings: var(--fc-ffs-champ); font-variation-settings: var(--fc-fvs-champ); hyphens: manual; -webkit-hyphens: manual; }
  .fc-t-label { font-family: var(--fc-ff-label); font-size: var(--fc-fs-label); font-weight: var(--fc-fw-label); font-style: var(--fc-fst-label); line-height: var(--fc-lh-label); letter-spacing: var(--fc-ls-label); text-transform: var(--fc-tt-label); font-feature-settings: var(--fc-ffs-label); font-variation-settings: var(--fc-fvs-label); hyphens: manual; -webkit-hyphens: manual; }
  .fc-t-message { font-family: var(--fc-ff-message); font-size: var(--fc-fs-message); font-weight: var(--fc-fw-message); font-style: var(--fc-fst-message); line-height: var(--fc-lh-message); letter-spacing: var(--fc-ls-message); text-transform: var(--fc-tt-message); font-feature-settings: var(--fc-ffs-message); font-variation-settings: var(--fc-fvs-message); hyphens: manual; -webkit-hyphens: manual; }
  .fc-t-chiffre-donnee { font-family: var(--fc-ff-chiffre-donnee); font-size: var(--fc-fs-chiffre-donnee); font-weight: var(--fc-fw-chiffre-donnee); font-style: var(--fc-fst-chiffre-donnee); line-height: var(--fc-lh-chiffre-donnee); letter-spacing: var(--fc-ls-chiffre-donnee); text-transform: var(--fc-tt-chiffre-donnee); font-feature-settings: var(--fc-ffs-chiffre-donnee); font-variation-settings: var(--fc-fvs-chiffre-donnee); hyphens: manual; -webkit-hyphens: manual; }
  .fc-t-annotation { font-family: var(--fc-ff-annotation); font-size: var(--fc-fs-annotation); font-weight: var(--fc-fw-annotation); font-style: var(--fc-fst-annotation); line-height: var(--fc-lh-annotation); letter-spacing: var(--fc-ls-annotation); text-transform: var(--fc-tt-annotation); font-feature-settings: var(--fc-ffs-annotation); font-variation-settings: var(--fc-fvs-annotation); hyphens: manual; -webkit-hyphens: manual; }
  .fc-chiffres-tab { font-variant-numeric: tabular-nums lining-nums; }
  .fc-chiffres-prop { font-variant-numeric: proportional-nums; }
  .fc-insecable { white-space: nowrap; }
  .fc-exposant { font-size: max(0.68em, 0.75rem); vertical-align: 0.42em; line-height: 0; letter-spacing: 0.02em; } /* « XIXᵉ » : XIX<span class="fc-exposant">e</span> (U+1D49 absent de toutes les fontes) */
  .fc-capitales { text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.86em; } /* pas de petites capitales vraies (smcp absent) : jamais de petites capitales synthétisées */
  .fc-mesure { max-width: var(--fc-mesure-texte); }
  .fc-equilibre { text-wrap: balance; }
  .fc-sur-sombre { color: var(--fc-c-sur-sombre); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
  .fc-sur-sombre :is(small, figcaption, .fc-t-legende, .fc-t-texte-petit, .fc-t-annotation) { color: var(--fc-c-sur-sombre-2); }
}
