/* ============================================================
   pilote.css — direction visuelle candidate
   Principe : la source vit dans la marge, alignée sur l'affirmation
   qu'elle appuie. Pas de cartes, pas d'étiquettes en capitales,
   pas de monospace. Un seul geste fort par page : le titre.
   ============================================================ */

:root{
  --paper:#FBFBF9;
  --ink:#12151A;
  --ink-2:#333840;
  --muted:#6B7280;
  --rule:#E3E2DC;
  --rule-2:#CFCEC5;
  --accent:#0F766E;
  --measure:66ch;
}

*{box-sizing:border-box;}

html{-webkit-text-size-adjust:100%;}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink-2);
  font-family:"Newsreader",Georgia,"Times New Roman",serif;
  font-size:17px;
  line-height:1.6;
  font-synthesis-weight:none;
  text-rendering:optimizeLegibility;
}

@media (min-width:760px){ body{font-size:19px;line-height:1.62;} }

/* ---------- En-tête ---------- */
header{
  position:sticky;top:0;z-index:100;
  background:rgba(251,251,249,.93);
  backdrop-filter:saturate(180%) blur(8px);
  border-bottom:1px solid var(--rule);
}
header nav{
  max-width:1160px;margin:0 auto;
  display:flex;align-items:center;gap:1rem;
  padding:14px 24px;
}
header .logo{
  font-family:"Archivo",system-ui,sans-serif;
  font-weight:600;font-size:15px;letter-spacing:-.005em;
  color:var(--ink);text-decoration:none;
}
header .nav-links{display:flex;align-items:center;gap:.35rem;margin-left:auto;}
header .nav-link{
  font-family:"Archivo",system-ui,sans-serif;
  font-size:14px;color:var(--ink-2);text-decoration:none;
  padding:7px 10px;border-radius:6px;
}
header .nav-link:hover{color:var(--ink);background:rgba(0,0,0,.035);}
header .nav-cta{
  font-family:"Archivo",system-ui,sans-serif;
  font-size:14px;font-weight:600;
  color:var(--paper);background:var(--ink);
  text-decoration:none;padding:8px 14px;border-radius:6px;
}
header .nav-cta:hover{background:#000;}
.menu-toggle{
  display:none;margin-left:auto;
  background:none;border:1px solid var(--rule-2);border-radius:6px;
  padding:8px 10px;line-height:0;cursor:pointer;
}
.menu-toggle span{display:block;width:17px;height:1.5px;background:var(--ink);margin:3px 0;}
@media (max-width:860px){
  .menu-toggle{display:block;}
  header .nav-links{
    position:fixed;inset:56px 0 auto 0;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--paper);border-bottom:1px solid var(--rule);
    padding:8px 16px 16px;margin:0;
    max-height:0;overflow:hidden;opacity:0;pointer-events:none;
    transition:max-height .22s ease,opacity .22s ease;
  }
  header .nav-links.open{max-height:80vh;opacity:1;pointer-events:auto;}
  header .nav-link,header .nav-cta{padding:12px 4px;border-radius:0;text-align:left;}
  header .nav-cta{background:none;color:var(--accent);}
}

/* ---------- Mesure et grille de marge ---------- */
main{padding:0 24px;}
article{
  max-width:var(--measure);
  margin:2.2rem auto 3rem;
  position:relative;
}
@media (min-width:760px){ article{margin:4.5rem auto 4rem;} }
@media (min-width:1180px){
  article{margin-left:calc(50% - var(--measure)/2 - 120px);}
}

/* ---------- Titre : le seul geste fort ---------- */
.article-meta{
  font-family:"Archivo",system-ui,sans-serif;
  font-size:12.5px;color:var(--muted);
  display:flex;flex-wrap:wrap;gap:1.25rem;
  padding-bottom:1.1rem;margin-bottom:2.2rem;
  border-bottom:1px solid var(--rule);
}
.article-meta span{display:inline;}

h1{
  font-family:"Newsreader",Georgia,serif;
  font-weight:500;
  font-size:clamp(1.85rem,6.4vw,3.3rem);
  line-height:1.04;
  letter-spacing:-.021em;
  color:var(--ink);
  margin:0 0 1.6rem;
  max-width:19ch;
}
.lead{
  font-size:1.22rem;line-height:1.55;color:var(--ink);
  margin:0 0 2.6rem;font-weight:400;
}

/* ---------- Corps ---------- */
h2{
  font-family:"Newsreader",Georgia,serif;
  font-weight:600;font-size:1.42rem;line-height:1.22;
  letter-spacing:-.014em;color:var(--ink);
  margin:3.4rem 0 1rem;
}
h3{
  font-family:"Archivo",system-ui,sans-serif;
  font-weight:600;font-size:.94rem;line-height:1.35;
  letter-spacing:.002em;color:var(--ink);
  margin:2.3rem 0 .7rem;
}
h4{
  font-family:"Archivo",system-ui,sans-serif;
  font-weight:600;font-size:.86rem;color:var(--ink);
  margin:0 0 .55rem;
}
p{margin:0 0 1.35rem;}
strong{font-weight:600;color:var(--ink);}
em{font-style:italic;}
a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--rule-2);text-underline-offset:3px;}
a:hover{text-decoration-color:var(--accent);}
ul,ol{margin:0 0 1.35rem;padding-left:1.15rem;}
li{margin-bottom:.5rem;}
sup{font-size:.68em;line-height:0;}

/* ---------- Notes de marge : le système ---------- */
.sn{
  font-family:"Archivo",system-ui,sans-serif;
  font-size:.775rem;line-height:1.5;color:var(--muted);
}
.sn b,.sn strong{color:var(--ink-2);font-weight:600;}
.sn a{color:var(--muted);text-decoration-color:var(--rule-2);}
.sn a:hover{color:var(--accent);text-decoration-color:var(--accent);}
@media (min-width:1180px){
  .sn{
    float:right;clear:right;
    width:196px;margin:.4rem -228px .9rem 0;
    padding-left:.85rem;
    border-left:1px solid var(--rule);
  }
}
@media (max-width:1179px){
  .sn{
    display:block;margin:-.5rem 0 1.5rem;
    padding-left:.85rem;border-left:1px solid var(--rule);
  }
}

/* ---------- « En bref » : sans encadré ---------- */
.geo-answer{
  margin:0 0 3rem;padding:0 0 1.9rem;
  border-bottom:1px solid var(--rule);
}
.geo-answer__h{
  font-family:"Archivo",system-ui,sans-serif;
  font-size:.8rem;font-weight:600;letter-spacing:0;
  text-transform:none;color:var(--accent);
  margin:0 0 .9rem;
}
.geo-answer p{font-size:1.02rem;color:var(--ink-2);}
.geo-answer p:last-child{margin-bottom:0;}

/* ---------- Encadrés d'attention : filet, pas de boîte ---------- */
.warning-box,.info-box{
  margin:2.2rem 0;padding:0 0 0 1.15rem;
  border-left:2px solid var(--rule-2);
  background:none;border-radius:0;
}
.warning-box{border-left-color:var(--accent);}
.warning-box h4,.info-box h4{color:var(--ink);}
.warning-box p,.info-box p{font-size:.97rem;}
.warning-box p:last-child,.info-box p:last-child{margin-bottom:0;}

/* ---------- Appel à l'action : discret, pas un panneau ---------- */
.inline-cta{
  margin:2.8rem 0;padding:1.35rem 0 0;
  border-top:1px solid var(--rule);
  background:none;border-radius:0;
}
.inline-cta p{font-size:.99rem;margin:0 0 .9rem;}
.inline-cta a{
  font-family:"Archivo",system-ui,sans-serif;
  display:inline-block;font-size:.88rem;font-weight:600;
  color:var(--paper);background:var(--ink);
  padding:10px 17px;border-radius:6px;text-decoration:none;
}
.inline-cta a:hover{background:#000;}

/* ---------- Textes cités ---------- */
.geo-sources{
  margin:4rem 0 0;padding:1.6rem 0 0;
  border-top:1px solid var(--rule-2);
  background:none;border-radius:0;
}
.geo-sources h4{
  font-family:"Archivo",system-ui,sans-serif;
  font-size:.8rem;color:var(--muted);font-weight:600;
  text-transform:none;letter-spacing:0;margin:0 0 1rem;
}
.geo-sources ul{list-style:none;padding:0;margin:0;}
.geo-sources li{
  font-size:.86rem;line-height:1.55;color:var(--muted);
  padding:0 0 .75rem;margin:0 0 .75rem;
  border-bottom:1px solid var(--rule);
}
.geo-sources li:last-of-type{border-bottom:0;}
.geo-sources a{color:var(--ink-2);}
.geo-sources__note{font-size:.8rem;color:var(--muted);margin:1rem 0 0;}

/* ---------- Pied d'article ---------- */
.related-links{margin:3.2rem 0 0;padding:1.5rem 0 0;border-top:1px solid var(--rule);background:none;border-radius:0;}
.related-links h3{margin-top:0;}
.related-links ul{list-style:none;padding:0;margin:0;}
.related-links li{margin-bottom:.6rem;font-size:.97rem;}

.author-card{
  margin:3rem 0 0;padding:1.5rem 0 0;
  border-top:1px solid var(--rule);
  background:none;border-radius:0;display:block;
}
.author-name{
  font-family:"Archivo",system-ui,sans-serif;
  font-weight:600;font-size:.95rem;color:var(--ink);margin-bottom:.35rem;
}
.author-card p{font-size:.9rem;color:var(--muted);margin:0;}
.disclaimer{
  font-size:.8rem;line-height:1.6;color:var(--muted);
  margin:2rem 0 0;padding-top:1.2rem;border-top:1px solid var(--rule);
}

footer{
  border-top:1px solid var(--rule);
  margin-top:5rem;padding:2.2rem 24px;
  font-family:"Archivo",system-ui,sans-serif;
  font-size:.82rem;color:var(--muted);text-align:center;
  background:none;
}

/* ---------- Accessibilité ---------- */
a:focus-visible,button:focus-visible{
  outline:2px solid var(--accent);outline-offset:3px;border-radius:2px;
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important;}
}

/* ---------- Bouton flottant ---------- */
.wa-float{
  position:fixed;right:14px;bottom:14px;z-index:900;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--ink)!important;color:var(--paper)!important;
  font-family:"Archivo",system-ui,sans-serif;
  font-size:13.5px!important;font-weight:600;
  border-radius:999px!important;
  box-shadow:0 2px 12px rgba(0,0,0,.18)!important;
  text-decoration:none;
  width:46px;height:46px;padding:0!important;
  opacity:.88;
}
.wa-float:hover,.wa-float:focus-visible{opacity:1;background:#000!important;}
.wa-float svg{width:19px;height:19px;flex:none;}
.wa-float span{display:none;}
@media (min-width:900px){
  .wa-float{
    width:auto;height:auto;padding:11px 16px!important;border-radius:8px!important;
  }
  .wa-float span{display:inline;}
}
article{padding-bottom:3.5rem;}

/* mesure : un peu plus de caractères par ligne sur petit écran */
@media (max-width:520px){
  main{padding:0 18px;}
  body{font-size:16.5px;}
}


/* ============================================================
   GÉNÉRALISATION — composants existants du site
   Cette feuille est chargée en dernier : elle prime sur les
   styles internes des pages sans qu'il faille les réécrire.
   ============================================================ */

/* ---------- Hero : plus de dégradé sombre, papier partout ---------- */
.hero,.hero--dark{
  background:none!important;background-image:none!important;
  color:var(--ink)!important;
  padding:0!important;margin:0 0 2rem!important;
  border-radius:0!important;box-shadow:none!important;text-align:left!important;
}
.hero h1,.hero--dark h1{color:var(--ink)!important;}
.hero h2,.hero--dark h2{color:var(--ink)!important;}
.hero p,.hero .lead,.hero-subtitle,.hero--dark p,.hero--dark .lead{
  color:var(--ink-2)!important;
}
.hero a,.hero--dark a{color:var(--ink)!important;}
.hero-badge{
  background:none!important;color:var(--accent)!important;
  padding:0!important;border-radius:0!important;
  font-family:"Archivo",system-ui,sans-serif!important;
  font-size:.8rem!important;font-weight:600!important;
  text-transform:none!important;letter-spacing:0!important;
  display:block!important;margin:0 0 .7rem!important;
}

/* ---------- Étiquettes : plus de capitales espacées, plus de monospace ---------- */
.mono,.eyebrow,.label,.kicker,.ref,.tag,.hub-tag,.res-when,.k,.qz-label{
  font-family:"Archivo",system-ui,sans-serif!important;
  text-transform:none!important;letter-spacing:0!important;
  font-size:.79rem!important;color:var(--muted)!important;font-weight:500!important;
}
.hub-tag{background:none!important;padding:0!important;border-radius:0!important;}

/* ---------- Encadrés : filet vertical, pas de boîte ---------- */
.info-box,.success-box,.warning-box,.quick-answer,.step-box,.note,.card,
.profile-card,.res-block,.glo-item,.hub-card,.feature,.dossier,.est-card,.releve{
  background:none!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  padding:0 0 0 1.15rem!important;margin:2rem 0!important;
  border-left:2px solid var(--rule-2)!important;
}
.warning-box{border-left-color:var(--accent)!important;}
.info-box h4,.success-box h4,.warning-box h4,.step-box h4,.note h4,
.card h3,.res-block h3,.glo-item h3,.hub-card h3,.feature h3,.dossier h2{
  color:var(--ink)!important;
  font-family:"Archivo",system-ui,sans-serif!important;
  font-size:.94rem!important;font-weight:600!important;
  text-transform:none!important;letter-spacing:0!important;
  margin:0 0 .55rem!important;
}
.info-box p,.success-box p,.warning-box p,.step-box p,.note p,
.card p,.res-block p,.glo-item p,.hub-card p,.feature p{
  font-size:.97rem!important;color:var(--ink-2)!important;
}

/* listes des blocs ressources */
.res-list{list-style:none!important;padding:0!important;margin:0!important;}
.res-list li{padding-left:0!important;color:var(--ink-2)!important;}
.res-list li::before{display:none!important;}
.res-list li span{display:block;font-size:.85rem;color:var(--muted);margin-top:.2rem;}

/* hub de ressources : liste, pas grille de cartes */
.hub-grid{display:block!important;}
.hub-card{display:block!important;text-decoration:none!important;}
.hub-meta{font-size:.8rem;color:var(--muted);}

/* glossaire */
.glo-nav{
  background:none!important;border:0!important;border-radius:0!important;
  padding:0 0 1.4rem!important;margin:0 0 1.8rem!important;
  border-bottom:1px solid var(--rule)!important;
  display:flex;flex-wrap:wrap;gap:.35rem .9rem;
}
.glo-nav a{
  background:none!important;border:0!important;border-radius:0!important;
  padding:0!important;font-family:"Archivo",system-ui,sans-serif;
  font-size:.82rem;color:var(--muted)!important;
  text-decoration:underline;text-decoration-color:var(--rule-2);
}
.glo-nav a:hover{color:var(--accent)!important;}
.glo-sub{color:var(--muted)!important;font-style:italic;}
.glo-src{font-size:.83rem!important;color:var(--muted)!important;}

/* ---------- Boutons ---------- */
.btn,.btn-primary,.btn-secondary,.cta-btn,.est-btn,.b,.b1,.b2,.submit,.hero-cta{
  font-family:"Archivo",system-ui,sans-serif!important;
  font-size:.88rem!important;font-weight:600!important;
  border-radius:6px!important;box-shadow:none!important;
  text-decoration:none!important;padding:10px 17px!important;
  background:var(--ink)!important;color:var(--paper)!important;
  border:0!important;display:inline-block!important;
}
.btn:hover,.btn-primary:hover,.cta-btn:hover,.b1:hover,.submit:hover{background:#000!important;}
.btn-secondary,.b2{
  background:none!important;color:var(--ink)!important;
  border:1px solid var(--rule-2)!important;
}
.btn-secondary:hover,.b2:hover{border-color:var(--ink)!important;background:none!important;}

/* ---------- Appels à l'action ---------- */
.cta-section,.cta-box,.cta-premium,.cta-block,.est-cta,.credentials,.news-inline{
  background:none!important;background-image:none!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  padding:1.35rem 0 0!important;margin:2.8rem 0!important;
  border-top:1px solid var(--rule)!important;color:var(--ink-2)!important;
}
.cta-section h2,.cta-section h3,.cta-box h2,.cta-premium h2,.cta-block h2,
.est-cta h2,.credentials h2,.credentials h3{
  color:var(--ink)!important;font-size:1.15rem!important;margin:0 0 .6rem!important;
}
.cta-section p,.cta-box p,.cta-premium p,.cta-block p,.est-cta p,
.credentials p,.credentials li{color:var(--ink-2)!important;font-size:.99rem!important;}
.cta-section strong,.est-cta strong,.credentials strong,.cta-box strong,
.cta-premium strong,.cta-block strong{color:var(--ink)!important;}
.cta-section a:not(.btn):not(.cta-btn):not(.btn-primary):not(.btn-secondary),
.est-cta a:not(.est-btn),.credentials a{color:var(--ink)!important;}

/* bloc de capture d'email : le seul aplat sombre conservé */
.res-gate{
  background:var(--ink)!important;color:var(--paper)!important;
  border:0!important;border-radius:10px!important;
  padding:1.7rem 1.5rem!important;margin:2.8rem 0!important;
}
.res-gate h2,.res-gate h3,.res-gate strong{color:#fff!important;}
.res-gate p{color:rgba(255,255,255,.86)!important;}
.res-gate .res-gate__note{color:rgba(255,255,255,.6)!important;}
.res-gate input{
  background:rgba(255,255,255,.1)!important;color:#fff!important;
  border:1px solid rgba(255,255,255,.28)!important;border-radius:6px!important;
  font-family:"Archivo",system-ui,sans-serif!important;
}
.res-gate input::placeholder{color:rgba(255,255,255,.55)!important;}
.res-gate button{background:#fff!important;color:var(--ink)!important;}

/* ---------- Sommaire ---------- */
.toc{
  background:none!important;border:0!important;border-radius:0!important;
  border-left:2px solid var(--rule)!important;
  padding:0 0 0 1.15rem!important;margin:0 0 2.4rem!important;
}
.toc summary{
  font-family:"Archivo",system-ui,sans-serif!important;
  font-size:.83rem!important;color:var(--muted)!important;
  text-transform:none!important;letter-spacing:0!important;cursor:pointer;
}
.toc ul{list-style:none!important;padding:0!important;margin:.8rem 0 0!important;}
.toc li{margin-bottom:.42rem;font-size:.9rem;}
.toc li::before{display:none!important;content:none!important;}
.toc a{color:var(--ink-2)!important;text-decoration:none;}
.toc a:hover{text-decoration:underline;text-decoration-color:var(--accent);}

/* ---------- Questions fréquentes ---------- */
.faq-item{
  background:none!important;border:0!important;border-radius:0!important;
  border-bottom:1px solid var(--rule)!important;margin:0!important;
}
.faq-question{
  padding:1.1rem 0!important;
  font-family:"Archivo",system-ui,sans-serif!important;
  font-size:.95rem!important;font-weight:600!important;color:var(--ink)!important;
  display:flex;justify-content:space-between;gap:1rem;cursor:pointer;
}
.faq-toggle{color:var(--muted)!important;flex:none;}
.faq-answer{padding:0!important;}
.faq-item.active .faq-answer{padding:0 0 1.15rem!important;}
.faq-answer p,.faq-answer li,.faq-answer-content p{font-size:.96rem!important;color:var(--ink-2)!important;}

/* ---------- Tableaux ---------- */
table,.comparison-table,.est-table{
  width:100%;border-collapse:collapse;
  font-family:"Archivo",system-ui,sans-serif;font-size:.87rem;
  margin:1.8rem 0;background:none!important;
  box-shadow:none!important;border-radius:0!important;
}
th,td{
  text-align:left;padding:.72rem .6rem;
  border-bottom:1px solid var(--rule)!important;
  border-left:0!important;border-right:0!important;border-top:0!important;
}
thead th{
  color:var(--muted)!important;font-weight:600;
  background:none!important;text-transform:none!important;letter-spacing:0!important;
  border-bottom:1px solid var(--rule-2)!important;
}
tbody tr:hover{background:none!important;}

/* ---------- Étapes numérotées : conservées, mais discrètes ---------- */
.step-number,.step .num{
  background:none!important;color:var(--accent)!important;
  width:auto!important;height:auto!important;border-radius:0!important;
  font-family:"Archivo",system-ui,sans-serif!important;
  font-size:.8rem!important;font-weight:600!important;
}
.step,.releve-row{
  background:none!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;padding:0 0 0 1.15rem!important;
  border-left:2px solid var(--rule)!important;margin:0 0 1.2rem!important;
}
.releve-row.hit{border-left-color:var(--accent)!important;}
.releve-t{
  font-family:"Archivo",system-ui,sans-serif!important;
  font-size:.79rem!important;color:var(--muted)!important;margin-bottom:.2rem;
}
.fiche{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:1rem;margin:0 0 1.8rem;padding:0 0 1.2rem;
  border-bottom:1px solid var(--rule);background:none!important;
}
.fiche .k{font-family:"Archivo",system-ui,sans-serif;font-size:.75rem;color:var(--muted);}
.fiche .v{font-size:.95rem;color:var(--ink);}

/* ---------- Formulaires ---------- */
input,select,textarea{
  font-family:"Archivo",system-ui,sans-serif!important;font-size:.95rem!important;
  border:1px solid var(--rule-2)!important;border-radius:6px!important;
  padding:.7rem .85rem!important;background:#fff!important;color:var(--ink)!important;
}
label{font-family:"Archivo",system-ui,sans-serif!important;font-size:.86rem!important;color:var(--ink)!important;}

/* ---------- Menu mobile : couvre les deux structures ---------- */
@media (max-width:860px){
  header nav ul{
    position:fixed;inset:56px 0 auto 0;
    flex-direction:column;align-items:stretch;gap:0;list-style:none;
    background:var(--paper);border-bottom:1px solid var(--rule);
    padding:8px 16px 16px;margin:0;
    max-height:0;overflow:hidden;opacity:0;pointer-events:none;
    transition:max-height .22s ease,opacity .22s ease;
  }
  header nav ul.open{max-height:80vh;opacity:1;pointer-events:auto;}
  header nav ul li{list-style:none;margin:0;}
  header nav ul a{display:block;padding:12px 4px;color:var(--ink-2);text-decoration:none;}
  html,body{overflow-x:hidden;}
}

/* ---------- Suppression des animations décoratives ---------- */
.card:hover,.hub-card:hover,.res-block:hover,.feature:hover,
.profile-card:hover,.glo-item:hover,.step:hover{
  transform:none!important;box-shadow:none!important;
}

/* ---------- Cohérence des liens de pied ---------- */
.related-links,.author-card,.news-inline{
  background:none!important;border:0!important;border-radius:0!important;
  border-top:1px solid var(--rule)!important;
  padding:1.5rem 0 0!important;margin:3rem 0 0!important;
}
.author-scope{font-size:.84rem;color:var(--muted);}

/* ---------- Blocs clairs imbriqués : la couleur du texte ne s'hérite jamais ----------
   Un bloc clair placé dans un conteneur qui force le texte en blanc devenait
   illisible. Ces règles réaffirment l'encre quel que soit l'ancêtre. */
.geo-answer p,.geo-answer h2,.geo-answer h3,.geo-answer li,
.info-box p,.info-box h4,.info-box li,
.success-box p,.success-box h4,.success-box li,
.warning-box p,.warning-box h4,.warning-box li,
.res-block p,.res-block h3,.res-block li,
.note p,.note h4{color:var(--ink-2)!important;}
.geo-answer strong,.info-box strong,.success-box strong,
.warning-box strong,.res-block strong,.note strong{color:var(--ink)!important;}
.geo-answer a,.info-box a,.success-box a,.warning-box a,.res-block a{color:var(--ink)!important;}


/* ============================================================
   CORRECTIFS DE GÉNÉRALISATION
   Le hero est hors de <main> sur plusieurs pages : il n'héritait
   d'aucune marge latérale et débordait. Et certaines pages
   déclaraient un texte de navigation blanc, hérité d'un en-tête
   sombre qui n'existe plus.
   ============================================================ */

/* --- Hero : conteneur propre, quelle que soit sa position --- */
.hero,.hero--dark{
  display:block!important;
  max-width:960px!important;
  margin:2.6rem auto 2.2rem!important;
  padding:0 24px!important;
  box-sizing:border-box!important;
}
.hero h1,.hero--dark h1{max-width:22ch;}
.hero p,.hero .lead,.hero-subtitle{max-width:62ch;margin-left:0!important;margin-right:0!important;}

/* --- Navigation : la couleur ne peut plus être héritée d'un thème sombre --- */
header nav a,header nav a:visited,
header .nav-link,header .logo,
header nav ul a{
  color:var(--ink-2)!important;
  text-decoration:none!important;
}
header .logo{color:var(--ink)!important;}
header nav a:hover,header .nav-link:hover{color:var(--ink)!important;}
header .nav-cta,header nav .nav-cta{
  color:var(--paper)!important;background:var(--ink)!important;
}
header .nav-cta:hover{background:#000!important;}
@media (max-width:860px){
  header .nav-links .nav-cta,header nav ul .nav-cta{
    background:none!important;color:var(--accent)!important;
  }
}

/* --- Conteneurs de page sans <main> : garantir la marge latérale --- */
.wrap,.container,.est-wrap{
  box-sizing:border-box!important;
  padding-left:24px!important;padding-right:24px!important;
  margin-left:auto!important;margin-right:auto!important;
}
html,body{overflow-x:hidden;}


/* ============================================================
   UNIFORMISATION FINALE — priorité absolue sur les styles internes
   Les pages conservent leurs feuilles internes pour leurs composants
   propres ; tout ce qui touche à l'identité visuelle est forcé ici.
   ============================================================ */

/* --- Typographie : une seule famille par rôle, partout --- */
html,body{
  font-family:"Newsreader",Georgia,"Times New Roman",serif!important;
  background:var(--paper)!important;color:var(--ink-2)!important;
}
h1,h2,.hero h1,.hero h2,article h1,article h2,main h1,main h2,
.wrap h1,.container h1,.est-wrap h1,.page h1{
  font-family:"Newsreader",Georgia,serif!important;
  color:var(--ink)!important;
  text-shadow:none!important;background:none!important;
  -webkit-text-fill-color:currentColor!important;
}
h1,.hero h1,article h1,main h1{
  font-weight:500!important;
  font-size:clamp(1.85rem,6.4vw,3.3rem)!important;
  line-height:1.04!important;letter-spacing:-.021em!important;
  text-align:left!important;margin:0 0 1.4rem!important;
}
h2,.hero h2,article h2,main h2{
  font-weight:600!important;font-size:1.42rem!important;line-height:1.22!important;
  letter-spacing:-.014em!important;text-align:left!important;
}
h3,h4,h5,h6,
nav,header,button,input,select,textarea,label,
.article-meta,.sn,.hub-tag,.res-when,.k,.faq-question,.toc,.glo-nav,
table,th,td,.btn,.btn-primary,.btn-secondary,.cta-btn,.est-btn,.nav-link,.nav-cta,.logo{
  font-family:"Archivo",system-ui,-apple-system,sans-serif!important;
}
p,li,blockquote,.lead,.hero p,.hero-subtitle,.intro,.desc{
  font-family:"Newsreader",Georgia,serif!important;
  color:var(--ink-2)!important;
}
.lead,.hero p,.hero-subtitle{
  font-size:1.18rem!important;line-height:1.55!important;color:var(--ink)!important;
  text-align:left!important;margin:0 0 2.2rem!important;
}
strong,b{color:var(--ink)!important;}

/* --- En-tête : une seule apparence --- */
header{
  position:sticky!important;top:0!important;z-index:100!important;
  background:rgba(251,251,249,.93)!important;
  border-bottom:1px solid var(--rule)!important;
  box-shadow:none!important;padding:0!important;margin:0!important;
}
header nav{
  max-width:1160px!important;margin:0 auto!important;
  display:flex!important;align-items:center!important;gap:1rem!important;
  padding:14px 24px!important;background:none!important;
  justify-content:flex-start!important;
}
header .logo{
  font-size:15px!important;font-weight:600!important;
  color:var(--ink)!important;text-decoration:none!important;
  display:inline-flex!important;align-items:center!important;
  background:none!important;padding:0!important;
}
header .logo::before,header .logo img,header .logo svg,header .logo span{display:none!important;}
header .nav-links{
  display:flex!important;align-items:center!important;gap:.35rem!important;
  margin-left:auto!important;background:none!important;
}
header .nav-link{
  font-size:14px!important;font-weight:400!important;
  color:var(--ink-2)!important;text-decoration:none!important;
  padding:7px 10px!important;border-radius:6px!important;
  background:none!important;border:0!important;
}
header .nav-link:hover{color:var(--ink)!important;background:rgba(0,0,0,.035)!important;}
header .nav-cta{
  font-size:14px!important;font-weight:600!important;
  color:var(--paper)!important;background:var(--ink)!important;
  padding:8px 14px!important;border-radius:6px!important;
  text-decoration:none!important;border:0!important;box-shadow:none!important;
}
header .nav-cta:hover{background:#000!important;}
@media (max-width:860px){
  header .nav-links{
    position:fixed!important;inset:56px 0 auto 0!important;
    flex-direction:column!important;align-items:stretch!important;gap:0!important;
    background:var(--paper)!important;border-bottom:1px solid var(--rule)!important;
    padding:8px 16px 16px!important;margin:0!important;
    max-height:0!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;
    transition:max-height .22s ease,opacity .22s ease!important;
  }
  header .nav-links.open{max-height:80vh!important;opacity:1!important;pointer-events:auto!important;}
  header .nav-link,header .nav-cta{padding:12px 4px!important;border-radius:0!important;text-align:left!important;}
  header .nav-cta{background:none!important;color:var(--accent)!important;}
  .menu-toggle{display:block!important;}
}
@media (min-width:861px){ .menu-toggle{display:none!important;} }

/* --- Conteneurs : plus aucune carte blanche sur fond gris --- */
.wrap,.container,.est-wrap,.page,.content,.content-wrap,.article-wrap,
.card-page,.page-card,.main-card,.paper,.sheet{
  background:none!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;
  max-width:var(--measure)!important;margin:2.2rem auto 3rem!important;
  padding:0 24px!important;box-sizing:border-box!important;
}
@media (min-width:760px){
  .wrap,.container,.est-wrap,.page,.content,.content-wrap,.article-wrap{margin:4.5rem auto 4rem!important;}
}
.est-wrap,.container.wide,.wrap.wide{max-width:900px!important;}
main{background:none!important;padding:0!important;}
section{background:none!important;}
