/* ============================================================
   FactXtract — styles communs à toutes les pages du site.
   Polices, palette, logo et pied de page : une seule copie.
   ============================================================ */

/* ------------------------------------------------------------
   Polices auto-hébergées (SIL OFL 1.1) — aucune requête tierce.
   Charger Montserrat/Source Sans 3 depuis fonts.googleapis.com
   transmettrait l'IP de chaque visiteur à Google LLC (US), ce que
   la section « Conforme à la Loi 25 » du site contredit.
   Fichiers VARIABLES : un woff2 par famille+subset couvre toutes
   les graisses, d'où les plages `font-weight`.
   ------------------------------------------------------------ */
@font-face{
  font-family:'Montserrat';
  font-style:normal;
  font-weight:700 800;
  font-display:swap;
  src:url('fonts/montserrat-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;
}
@font-face{
  font-family:'Montserrat';
  font-style:normal;
  font-weight:700 800;
  font-display:swap;
  src:url('fonts/montserrat-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:'Source Sans 3';
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url('fonts/source-sans-3-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;
}
@font-face{
  font-family:'Source Sans 3';
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url('fonts/source-sans-3-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;
}

:root{
  --blanc:#ffffff;
  --glace:#f4f7fc;
  --marine:#0f2044;
  --ardoise:#1e293b;
  --gris:#475569;
  --gris-clair:#64748b;
  --cobalt:#1d4ed8;
  --cobalt-clair:#3b82f6;
  --bleu-pale:#dbeafe;
  --bleu-bord:#bfdbfe;
  --ligne:#e2e8f0;

  --f-titre:Montserrat,'Segoe UI',system-ui,-apple-system,sans-serif;
  --f-corps:'Source Sans 3','Source Sans Pro','Segoe UI',system-ui,-apple-system,sans-serif;
  --f-mono:Consolas,'Cascadia Mono','SFMono-Regular',ui-monospace,monospace;

  --max:1180px;
  --r:10px;
}

/* Wordmark */
.wm{
  font-family:var(--f-titre);
  font-weight:800;
  font-size:22px;
  letter-spacing:-.02em;
  color:var(--marine);
  display:inline-flex;
  align-items:baseline;
  white-space:nowrap;
}
.wm-x{
  position:relative;
  color:var(--cobalt);
  font-size:1.16em;
  font-weight:800;
  padding:0 .04em;
  margin:0 .01em;
}
.wm-x::after{
  content:"";
  position:absolute;
  left:.02em;
  right:.02em;
  bottom:-.14em;
  height:2px;
  background:var(--cobalt-clair);
}
a.wm:hover{text-decoration:none;}

/* Pied de page */
.pied{
  border-top:1px solid var(--ligne);
  background:var(--glace);
  padding:30px 0;
}
.pied-in{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
}
.pied .wm{font-size:17px;}
.pied .mentions{
  font-family:var(--f-mono);
  font-size:12.5px;
  color:var(--gris-clair);
  letter-spacing:.02em;
}
