:root{
  --plantain:#536A3C;
  --terracotta:#B0603E;
  --cire:#C89A4B;
  --encre:#2B2A22;
  --parchemin:#F3EDE0;
  --parchemin-clair:#FBF7EC;
  --trait:#d9cdad;
  --texte-doux:#5c5642;
  --label:#8a7d5f;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--parchemin);color:var(--encre);
  font-family:'Bricolage Grotesque',system-ui,-apple-system,sans-serif;
  font-weight:500;font-size:16px;line-height:1.7;
}
.wrap{max-width:660px;margin:0 auto;padding:0 24px;}
.mono{font-family:'Space Mono',ui-monospace,monospace;}

/* ---------- barre utilitaire ---------- */
.topbar{background:var(--parchemin-clair);border-bottom:1px solid var(--trait);}
.topbar .wrap{
  display:flex;justify-content:space-between;align-items:center;
  gap:14px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;
}
.topbar .journal{
  font-family:'Space Mono',ui-monospace,monospace;font-weight:700;
  font-size:11px;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--plantain);text-decoration:none;
}
.topbar .journal:hover{color:#3f5230;}
.topbar .reseaux-top{
  font-family:'Space Mono',ui-monospace,monospace;font-size:11px;
  display:flex;gap:9px;align-items:center;
}
.topbar .reseaux-top a{color:var(--label);text-decoration:none;}
.topbar .reseaux-top a:hover{color:var(--terracotta);}
.topbar .reseaux-top span{color:var(--trait);}

/* ---------- en-tête ---------- */
header{padding:44px 0 0;text-align:center;border-bottom:1px solid var(--trait);padding-bottom:26px;}
.wordmark{
  font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;
  font-size:34px;line-height:1;color:var(--plantain);letter-spacing:-0.02em;
  text-decoration:none;display:inline-block;
}
.kicker{
  font-family:'Space Mono',ui-monospace,monospace;
  font-size:10.5px;letter-spacing:0.15em;text-transform:uppercase;
  color:var(--label);font-weight:700;margin-top:14px;
}
.kicker a{color:var(--label);text-decoration:none;}
.kicker a:hover{color:var(--terracotta);}

/* ---------- article ---------- */
article,.page{padding:44px 0 0;}
h1{
  font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:700;
  font-size:clamp(27px,6.2vw,37px);line-height:1.18;letter-spacing:-0.01em;
  margin:0 0 20px;
}
.meta{
  font-family:'Space Mono',ui-monospace,monospace;
  font-size:10.5px;letter-spacing:0.11em;text-transform:uppercase;
  color:var(--label);font-weight:700;margin:0 0 26px;
}
.meta span{color:var(--trait);}
.lede{
  font-size:17px;line-height:1.7;color:var(--encre);font-style:italic;
  margin:0 0 34px;padding-bottom:26px;border-bottom:1px solid var(--trait);
}
h2{
  font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:700;
  font-size:clamp(20px,4.4vw,24px);line-height:1.25;letter-spacing:-0.005em;
  margin:44px 0 16px;
}
h2::before{
  content:"";display:block;width:26px;height:2px;
  background:var(--terracotta);margin-bottom:16px;
}
p{margin:0 0 18px;font-size:16.5px;line-height:1.8;color:var(--texte-doux);}
p:last-child{margin-bottom:0;}
strong,b{color:var(--encre);font-weight:700;}
em{font-style:italic;}
a{color:var(--terracotta);text-decoration:underline;text-underline-offset:3px;}
a:hover{color:#8f4a30;}
ul{margin:0 0 18px;padding-left:22px;}
li{font-size:16.5px;line-height:1.8;color:var(--texte-doux);margin-bottom:10px;}
li:last-child{margin-bottom:0;}
.signature{
  font-family:'Space Mono',ui-monospace,monospace;
  font-size:11.5px;letter-spacing:0.06em;color:var(--label);
  margin-top:40px;line-height:1.9;text-transform:uppercase;
}

/* ---------- illustration d'ouverture ---------- */
.hero{margin:0 0 30px;}
.hero img{width:100%;height:auto;display:block;border:1px solid var(--trait);}
.hero figcaption{
  font-family:'Space Mono',ui-monospace,monospace;
  font-size:10.5px;letter-spacing:0.05em;line-height:1.7;
  color:var(--label);margin-top:11px;
}
.articles .vignette{margin:0 0 14px;}
.articles .vignette img{width:100%;height:auto;display:block;border:1px solid var(--trait);}

/* ---------- encadré latin / décodeur ---------- */
.decodeur{
  background:var(--parchemin-clair);border:1px solid var(--trait);
  padding:20px 22px;margin:0 0 18px;
}
.decodeur ul{margin:0;padding-left:18px;}
.decodeur li{font-size:15px;margin-bottom:7px;}
.decodeur li:last-child{margin-bottom:0;}

/* ---------- appel à l'action ---------- */
.cta{
  background:var(--parchemin-clair);border:1px solid var(--trait);
  padding:30px 26px;margin:44px 0 0;
}
.cta .num{
  font-family:'Space Mono',ui-monospace,monospace;
  font-size:10.5px;letter-spacing:0.15em;text-transform:uppercase;
  color:var(--label);font-weight:700;margin-bottom:14px;
}
.cta h2{margin:0 0 14px;font-size:21px;}
.cta h2::before{display:none;}
.cta p{font-size:15.5px;}
.bouton{
  display:block;width:100%;margin-top:22px;padding:17px 20px;
  background:var(--plantain);color:var(--parchemin-clair);
  font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:700;font-size:17px;
  text-align:center;text-decoration:none;border:none;cursor:pointer;
}
.bouton:hover{background:#455a31;color:var(--parchemin-clair);}

/* ---------- sources ---------- */
.sources{margin:44px 0 0;padding-top:26px;border-top:1px solid var(--trait);}
.sources .num{
  font-family:'Space Mono',ui-monospace,monospace;
  font-size:10.5px;letter-spacing:0.15em;text-transform:uppercase;
  color:var(--label);font-weight:700;margin-bottom:14px;
}
.sources ol{margin:0;padding-left:20px;}
.sources li{font-size:13.5px;line-height:1.7;color:var(--label);margin-bottom:10px;}
.sources a{color:var(--label);}
.sources a:hover{color:var(--terracotta);}

/* ---------- liste des articles ---------- */
.articles{list-style:none;padding:0;margin:0;}
.articles li{padding:30px 0;border-top:1px solid var(--trait);}
.articles li:first-child{border-top:none;padding-top:6px;}
.articles .rang{
  font-family:'Space Mono',ui-monospace,monospace;
  font-size:10.5px;letter-spacing:0.13em;text-transform:uppercase;
  color:var(--label);font-weight:700;display:block;margin-bottom:10px;
}
.articles h2{font-size:clamp(20px,4.6vw,25px);margin:0 0 12px;}
.articles h2::before{display:none;}
.articles h2 a{color:var(--encre);text-decoration:none;}
.articles h2 a:hover{color:var(--terracotta);}
.articles p{font-size:15.5px;margin:0;}

/* ---------- formulaire (page fiche) ---------- */
.champ{
  width:100%;padding:15px 16px;
  font-family:'Space Mono',ui-monospace,monospace;font-size:15px;
  border:1.5px solid var(--encre);background:#fff;color:var(--encre);margin-top:22px;
}
.champ::placeholder{color:#a49c86;}
.consent{display:flex;gap:11px;align-items:flex-start;margin-top:18px;}
.consent input{margin-top:4px;width:17px;height:17px;accent-color:var(--plantain);flex:none;}
.consent label{font-size:12.5px;line-height:1.6;color:var(--texte-doux);}
button.bouton{width:100%;}
.rgpd{font-size:12.5px;line-height:1.65;color:var(--label);margin-top:18px;}
.rgpd a{color:var(--label);}
.pastille{
  display:inline-block;font-family:'Space Mono',ui-monospace,monospace;
  font-size:9.5px;letter-spacing:0.13em;text-transform:uppercase;font-weight:700;
  background:var(--cire);color:var(--encre);padding:4px 9px;margin-bottom:12px;
}
.brevo-honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;}

/* ---------- pied de page ---------- */
footer{
  font-family:'Space Mono',ui-monospace,monospace;
  padding:34px 0 56px;text-align:center;font-size:11.5px;
  color:var(--label);line-height:1.9;border-top:1px solid var(--trait);margin-top:52px;
}
footer a{color:var(--label);}
footer a:hover{color:var(--terracotta);}
