/* ===== styles spécifiques article de blog ===== */
.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--bg);padding:10px 18px;font-family:var(--sans);font-size:13px;z-index:100}
.skip-link:focus{left:12px;top:12px}

/* barre de progression de lecture */
.readbar{position:fixed;top:0;left:0;height:3px;width:0;background:var(--teal);z-index:60}

/* fil d'ariane */
.crumbs{font-family:var(--sans);font-size:12px;color:var(--ink-mute)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li+li::before{content:"›";margin-right:6px;color:var(--rule)}
.crumbs a{text-decoration:none;color:var(--ink-mute)}
.crumbs a:hover{color:var(--ink);text-decoration:underline}

/* entête article */
.art-hero{padding:clamp(36px,5vw,64px) 0 clamp(26px,3vw,40px)}
.art-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(36px,4.6vw,64px);line-height:1.08;letter-spacing:-.01em;text-wrap:balance;margin:18px 0 0}
.art-hero .chapo{font-family:var(--serif);font-style:italic;font-size:clamp(19px,2vw,24px);line-height:1.45;color:var(--ink-soft);max-width:760px;margin:20px 0 0;text-wrap:pretty}
.art-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px 22px;margin-top:26px;padding-top:18px;border-top:1px solid var(--rule);font-family:var(--sans);font-size:13px;color:var(--ink-soft)}
.art-meta .avatar{width:38px;height:38px;border-radius:50%;background:var(--teal-soft);display:grid;place-items:center;font-weight:600;color:var(--teal);font-size:13px}
.art-meta .who{display:flex;align-items:center;gap:10px}
.art-meta .who a{font-weight:600;color:var(--ink);text-decoration:none}
.art-meta .who a:hover{text-decoration:underline}
.art-meta .dot{color:var(--rule)}

/* image de une */
.art-figure{margin:clamp(28px,4vw,44px) 0 0}
.art-figure img{width:100%;height:auto;border:1px solid var(--rule)}
.art-figure figcaption{font-family:var(--sans);font-size:12px;color:var(--ink-mute);margin-top:10px}

/* layout corps + sommaire */
.art-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:clamp(36px,5vw,72px);align-items:start;padding:clamp(36px,5vw,60px) 0 clamp(50px,6vw,90px)}
@media (max-width:980px){.art-layout{grid-template-columns:1fr}}

/* sommaire */
.toc{position:sticky;top:90px;border:1px solid var(--rule);background:var(--bg-2);padding:24px 26px;order:2}
@media (max-width:980px){.toc{position:static;order:-1}}
.toc .label{margin-bottom:14px}
.toc ol{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:toc}
.toc li{counter-increment:toc;border-top:1px solid var(--rule)}
.toc li:first-child{border-top:0}
.toc a{display:flex;gap:10px;padding:9px 0;font-family:var(--sans);font-size:13.5px;line-height:1.4;color:var(--ink-soft);text-decoration:none}
.toc a::before{content:counter(toc,decimal-leading-zero);font-size:11px;color:var(--ink-mute);padding-top:2px}
.toc a:hover{color:var(--ink)}

/* corps de l'article */
.art-body{max-width:720px;font-family:var(--serif);font-size:19px;line-height:1.65;color:var(--ink)}
.art-body>*+*{margin-top:1.15em}
.art-body h2{font-family:var(--serif);font-weight:500;font-size:clamp(27px,2.6vw,36px);line-height:1.15;letter-spacing:-.005em;margin:1.9em 0 .6em;scroll-margin-top:90px;text-wrap:balance}
.art-body h3{font-family:var(--serif);font-weight:600;font-size:clamp(21px,1.9vw,25px);line-height:1.25;margin:1.6em 0 .5em;scroll-margin-top:90px}
.art-body p{margin:0 0 1.05em;text-wrap:pretty}
.art-body a{color:var(--teal);text-decoration:underline;text-decoration-thickness:1px}
.art-body a:hover{color:var(--ink)}
.art-body ul,.art-body ol{padding-left:24px;margin:0 0 1.05em;display:grid;gap:8px}
.art-body li::marker{color:var(--teal)}
.art-body blockquote{margin:1.6em 0;padding:4px 0 4px 26px;border-left:3px solid var(--coral);font-style:italic;font-size:1.05em;color:var(--ink-soft)}
.art-body blockquote cite{display:block;margin-top:10px;font-family:var(--sans);font-style:normal;font-size:13px;color:var(--ink-mute)}
.art-body figure{margin:1.8em 0}
.art-body table{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:14.5px;line-height:1.5;margin:1.6em 0;background:var(--bg)}
.art-body caption{caption-side:top;text-align:left;font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);padding-bottom:10px}
.art-body th,.art-body td{text-align:left;padding:11px 14px;border:1px solid var(--rule);vertical-align:top}
.art-body th{background:var(--bg-2);font-weight:600;font-size:13px}
.table-scroll{overflow-x:auto}

/* bloc "l'essentiel" (réponse directe, GEO) */
.essential{border:1px solid var(--rule);border-left:3px solid var(--teal);background:var(--bg-2);padding:clamp(22px,2.6vw,30px);margin:0 0 2em}
.essential .label{color:var(--teal);margin-bottom:12px}
.essential p{font-size:17.5px;line-height:1.6;margin:0}

/* bloc "à retenir" */
.takeaway{border:1px solid var(--rule);background:var(--bg-2);padding:clamp(24px,3vw,34px);margin:2.2em 0}
.takeaway .label{color:var(--coral);margin-bottom:16px}
.takeaway ul{list-style:none;padding:0;margin:0;display:grid;gap:0}
.takeaway li{font-family:var(--sans);font-size:14.5px;line-height:1.55;color:var(--ink-soft);padding:11px 0 11px 20px;position:relative;border-top:1px solid var(--rule)}
.takeaway li:first-child{border-top:0}
.takeaway li::before{content:"✱";position:absolute;left:0;top:11px;font-size:11px;color:var(--coral)}

/* FAQ */
.faq{margin:2.2em 0 0}
.faq details{border:1px solid var(--rule);background:var(--bg);margin-top:-1px}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:18px 22px;font-family:var(--serif);font-weight:500;font-size:20px;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--sans);font-size:18px;color:var(--teal);flex:none}
.faq details[open] summary::after{content:"–"}
.faq .faq-a{padding:0 22px 20px;font-family:var(--sans);font-size:15px;line-height:1.65;color:var(--ink-soft)}
.faq .faq-a p{margin:0}

/* sources */
.sources{margin:2.2em 0 0;font-family:var(--sans)}
.sources ol{padding-left:20px;display:grid;gap:8px;font-size:13.5px;color:var(--ink-soft)}

/* bloc auteur */
.author-box{display:grid;grid-template-columns:96px 1fr;gap:24px;align-items:start;border:1px solid var(--rule);border-top:3px solid var(--teal);background:var(--bg);padding:clamp(24px,3vw,36px);margin:3em 0 0}
@media (max-width:560px){.author-box{grid-template-columns:1fr}}
.author-box .photo{width:96px;height:96px;border-radius:50%;object-fit:cover;border:1px solid var(--rule);background:var(--teal-soft)}
.author-box h2{font-family:var(--serif);font-weight:500;font-size:24px;margin:0 0 2px}
.author-box .role{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin:0 0 12px}
.author-box p{font-family:var(--sans);font-size:14px;line-height:1.65;color:var(--ink-soft);margin:0 0 12px}
.author-box .links{font-family:var(--sans);font-size:13px}
.author-box .links a{color:var(--teal)}

/* partage */
.share{display:flex;align-items:center;gap:12px;margin:2.4em 0 0;font-family:var(--sans);font-size:13px;color:var(--ink-mute)}
.share a,.share button{font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.03em;border:1px solid var(--rule);background:var(--bg);color:var(--ink-soft);padding:9px 16px;text-decoration:none;cursor:pointer}
.share a:hover,.share button:hover{border-color:var(--ink);color:var(--ink)}

/* CTA contextuel */
.art-cta{border:1px solid var(--ink);background:var(--ink);color:var(--bg);padding:clamp(28px,3.4vw,44px);margin:2.6em 0 0;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.art-cta h2{font-family:var(--serif);font-weight:400;font-size:clamp(23px,2.4vw,32px);line-height:1.2;margin:0;max-width:520px;text-wrap:balance}
.art-cta p{font-family:var(--sans);font-size:13.5px;color:rgba(255,250,245,.65);margin:8px 0 0}
.art-cta a{flex:none;font-family:var(--sans);font-weight:600;font-size:14px;letter-spacing:.04em;background:var(--bg);color:var(--ink);text-decoration:none;padding:15px 28px}
.art-cta a:hover{background:var(--teal);color:var(--bg)}

/* articles liés */
.related{padding:clamp(50px,6vw,80px) 0 clamp(60px,7vw,100px);border-top:1px solid var(--rule)}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}
@media (max-width:900px){.related-grid{grid-template-columns:1fr}}
.related-card{border:1px solid var(--rule);background:var(--bg);padding:clamp(24px,2.6vw,32px);text-decoration:none;display:flex;flex-direction:column;gap:12px}
.related-card:hover{border-color:var(--ink)}
.related-card .cat{font-family:var(--sans);font-weight:600;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--teal)}
.related-card h3{font-family:var(--serif);font-weight:500;font-size:21px;line-height:1.25;margin:0;color:var(--ink)}
.related-card p{font-family:var(--sans);font-size:13.5px;line-height:1.55;color:var(--ink-soft);margin:0}
.related-card .more{font-family:var(--sans);font-size:12.5px;color:var(--ink-mute);margin-top:auto}
