/* ===== Vizir — feuille de style partagée du blogue ===== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --paper:#F7F5F1; --paper-2:#EFEAE1; --surface:#FFFFFF;
  --ink:#191712; --ink-2:#56524A; --mute:#8B867B; --faint:#B4AEA2;
  --line:#E4DFD4; --line-2:#D6CFC1;
  --accent:#1E4A3D; --accent-2:#2C6650; --accent-soft:#E7EFE9; --accent-line:#B4C8BC;
  --amber:#9A6812; --amber-soft:#F4EAD4;
  --serif:'Fraunces',Georgia,serif;
  --sans:'Hanken Grotesk',-apple-system,system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.65;font-size:16.5px;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.02em;line-height:1.12;color:var(--ink)}

.top{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:5}
.logo-img{height:34px;width:auto;display:block}
.top .cta{font-size:13.5px;font-weight:600;color:var(--accent)}

.wrap{max-width:720px;margin:0 auto;padding:44px 24px 60px}
.crumb{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-bottom:18px}
.crumb a{color:var(--mute)}
h1{font-size:clamp(1.7rem,4.4vw,2.35rem);margin-bottom:14px}
.meta{font-size:13px;color:var(--mute);margin-bottom:26px;display:flex;gap:14px;flex-wrap:wrap}
.lead{font-size:1.12rem;color:var(--ink-2);margin-bottom:8px}

article h2{font-size:1.42rem;margin:36px 0 12px}
article h3{font-size:1.12rem;margin:24px 0 8px}
article p{margin:0 0 14px;color:var(--ink-2)}
article strong{color:var(--ink)}
article ul,article ol{margin:0 0 16px 22px;color:var(--ink-2)}
article li{margin-bottom:7px}
article table{width:100%;border-collapse:collapse;margin:14px 0 20px;font-size:14.5px}
article th,article td{border:1px solid var(--line-2);padding:9px 12px;text-align:left;color:var(--ink-2);vertical-align:top}
article th{background:var(--paper-2);color:var(--ink);font-weight:600}

/* CTA en ligne (récurrent, milieu d'article) */
.ctaline{background:var(--surface);border:1px solid var(--accent-line);border-left:3px solid var(--accent);border-radius:0 10px 10px 0;padding:14px 18px;margin:26px 0;font-size:15px;color:var(--ink-2)}
.ctaline a{font-weight:600}

/* Gros CTA (fin de section) */
.ctabox{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:14px;padding:24px 26px;margin:38px 0 0}
.ctabox h2{font-size:1.3rem;margin:0 0 8px}
.ctabox p{color:var(--ink-2);margin-bottom:16px}
.btn{display:inline-block;background:var(--accent);color:#fff;font-weight:600;font-size:14.5px;padding:12px 22px;border-radius:10px}
.btn:hover{background:var(--accent-2);text-decoration:none}

.note{background:var(--paper-2);border-left:3px solid var(--faint);border-radius:0 10px 10px 0;padding:14px 18px;font-size:13.5px;color:var(--ink-2);margin:30px 0 0}
.related{margin-top:38px;padding-top:22px;border-top:1px solid var(--line)}
.related h2{font-size:1.05rem;margin-bottom:10px}
.related ul{list-style:none;margin:0}
.related li{margin-bottom:8px;font-size:15px}

/* ===== Index du blogue ===== */
.hero{max-width:820px;margin:0 auto;padding:52px 24px 8px}
.hero .over{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:12px}
.hero h1{font-size:clamp(1.9rem,5vw,2.7rem);margin-bottom:12px}
.hero p{font-size:1.1rem;color:var(--ink-2);max-width:60ch}
.cats{max-width:820px;margin:0 auto;padding:20px 24px 60px}
.cat{margin-top:38px}
.cat h2{font-size:1.25rem;margin-bottom:4px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.cat ul{list-style:none;margin:0;padding:0}
.cat li{padding:10px 0;border-bottom:1px solid var(--line);font-size:15.5px;display:flex;gap:10px;align-items:baseline}
.cat li a{color:var(--ink);font-weight:500}
.cat li a:hover{color:var(--accent)}
.soon{color:var(--faint)}
.soon::after{content:" · bientôt";font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}

footer{border-top:1px solid var(--line);padding:18px 26px;display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:var(--faint);flex-wrap:wrap;gap:8px}
footer a{color:var(--ink-2)}
@media(max-width:600px){.wrap{padding:30px 18px 48px}.hero{padding:36px 18px 6px}.cats{padding:14px 18px 46px}}
