@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-grotesque-var.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400.woff2) format("woff2")}
:root{
  --papier:#FFFFFF;
  --bac:#F4F6EF;
  --tint:#E8EEE2;
  --encre:#000000;
  --texte:#24302B;
  --texte-2:#5E6B66;
  --trait:#D9E0DC;
  --accent:#254F3C;
  --accent-2:#1C3D2F;
  --tampon:#C1272D;
  --font:"Bricolage Grotesque","Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --r:10px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;overflow-x:clip;background:var(--papier);color:var(--texte);font-family:var(--font);font-size:1.0625rem;line-height:1.65}
img,svg{max-width:100%;display:block}
a{color:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
@media(min-width:720px){.wrap{padding:0 32px}}

/* En-tête */
header{padding:12px 0;position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--trait)}
.hdr{display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:800;font-size:1.3rem;letter-spacing:-0.03em;color:var(--encre);text-decoration:none}
.logo img{width:34px;height:34px}
.nav{display:flex;align-items:center;gap:6px}
.nav a{color:var(--encre);text-decoration:none;font-weight:600;font-size:.95rem;padding:10px 12px;border-radius:8px}
.nav a:hover{background:var(--bac)}
.nav a.btn{background:var(--accent);color:#fff;padding:0 16px;min-height:44px;display:inline-flex;align-items:center}
.nav a.btn:hover{background:var(--accent-2)}
@media(max-width:560px){.nav a.btn{display:none}}

/* Article */
.crumbs{font-size:.88rem;color:var(--texte-2);margin:28px 0 0}
.crumbs a{color:var(--texte-2)}
article{max-width:720px;margin:0 auto;padding:0 0 64px}
.post-head{padding:18px 0 28px;border-bottom:1px solid var(--trait);margin-bottom:32px}
h1,h2,h3{color:var(--encre);line-height:1.12;letter-spacing:-0.02em;font-weight:700}
h1{font-size:clamp(2rem,4.6vw,3rem);font-weight:800;letter-spacing:-0.03em;margin:10px 0 16px}
.post-head .lede{font-size:1.2rem;line-height:1.5;color:var(--texte);margin:0}
.meta{font-size:.9rem;color:var(--texte-2);margin-top:16px}
article h2{font-size:clamp(1.45rem,3vw,1.9rem);margin:48px 0 14px}
article h3{font-size:1.2rem;margin:32px 0 10px}
article p,article ul,article ol{margin:0 0 18px}
article ul,article ol{padding-left:1.3em}
article li{margin:6px 0}
article strong{color:var(--encre)}
article code{font-family:var(--mono);font-size:.88em;background:var(--bac);padding:2px 6px;border-radius:4px}
article blockquote{margin:24px 0;padding:4px 0 4px 20px;border-left:4px solid var(--accent);color:var(--texte-2)}
.toc{background:var(--bac);border-radius:var(--r);padding:18px 22px;margin:0 0 32px}
.toc p{font-weight:700;color:var(--encre);margin:0 0 8px}
.toc ol{margin:0}
.toc a{color:var(--texte);text-decoration:none}
.toc a:hover{text-decoration:underline}
.note{background:var(--tint);border-radius:var(--r);padding:16px 20px;margin:24px 0}
.warn{background:#FBEFEF;border-left:4px solid var(--tampon);border-radius:0 var(--r) var(--r) 0;padding:14px 18px;margin:24px 0}
table{width:100%;border-collapse:collapse;margin:8px 0 24px;font-size:.95rem}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--trait);vertical-align:top}
th{color:var(--encre);border-bottom:2px solid var(--accent)}
.table-wrap{overflow-x:auto}
.faq details{border-bottom:1px solid var(--trait);padding:14px 0}
.faq summary{font-weight:700;color:var(--encre);cursor:pointer}
.faq details p{margin:10px 0 0}

/* Encart produit */
.cta-box{background:var(--accent-2);color:#fff;border-radius:14px;padding:28px;margin:44px 0}
.cta-box h2{color:#fff;margin:0 0 10px;font-size:1.5rem}
.cta-box p{color:#D6EBE4;margin:0 0 18px}
.cta-box a{display:inline-flex;align-items:center;min-height:48px;padding:0 20px;background:#fff;color:var(--accent-2);border-radius:var(--r);font-weight:700;text-decoration:none}
.cta-box a:hover{background:var(--tint)}

/* Articles liés et liste */
.related{border-top:1px solid var(--trait);padding-top:28px;margin-top:40px}
.related h2{margin-top:0;font-size:1.3rem}
.related ul{list-style:none;padding:0}
.related li{margin:10px 0}
.posts{list-style:none;padding:0;margin:32px 0 64px;display:grid;gap:16px}
@media(min-width:720px){.posts{grid-template-columns:1fr 1fr}}
.posts li{border:1px solid var(--trait);border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:8px}
.posts li:hover{border-color:var(--accent)}
.posts h2{font-size:1.25rem;margin:0}
.posts h2 a{color:var(--encre);text-decoration:none}
.posts h2 a::after{content:"";position:absolute;inset:0}
.posts li{position:relative}
.posts p{margin:0;color:var(--texte-2);font-size:.97rem}
.posts .tag{font-size:.8rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.06em}

footer{padding:28px 0 40px;font-size:.9rem;color:var(--texte-2);border-top:1px solid var(--trait)}
footer a{color:var(--texte-2)}
