/* Portage local DS V4 : 16-page-analyse-editoriale (hero/byline/chapô),
   16-page-guide-rail-lateral (rail gauche), Article Analyse SEO-AEO (lecture + rail),
   Actualite Reglementaire (hero et date latérale). Aucun style global du site. */
.fp-article{--article-line:rgba(11,13,18,.12);--article-blue:#0040ff;max-width:1200px;margin:auto;padding:112px 40px 80px;color:#0b0d12;overflow-wrap:anywhere}
.fp-article__crumb{margin-bottom:32px}
.fp-article__hero{padding:24px 0 40px;border-bottom:1px solid var(--article-line)}
.fp-article__rubrique{font-family:var(--ds-font-mono,ui-monospace,monospace);font-size: var(--ds-fs-1);letter-spacing:.1em;text-transform:uppercase;border-left:2px solid var(--article-blue);padding-left:10px;margin:0 0 22px}
.fp-article__hero h1{max-width:23ch;font-size: var(--ds-fs-8);font-weight:600;line-height:1.04;letter-spacing:-.045em;text-wrap:balance;margin:0 0 28px}
.fp-article__hero h1 em{font-family:var(--ds-font-serif,Georgia,serif);font-weight:400}
.fp-article__lead{max-width:780px;font-size: var(--ds-fs-5);line-height:1.55;color:#2f3437}
.fp-article__lead p{margin:0}
.fp-article__lead a{color:var(--article-blue);text-decoration:underline;text-underline-offset:3px}
.fp-article__byline{display:flex;flex-wrap:wrap;gap:12px 24px;padding-top:24px;margin-top:28px;border-top:1px solid var(--article-line);font-size: var(--ds-fs-1);color:#555a66}
.fp-article__byline p{margin:0}
.fp-article__grid{display:grid;grid-template-columns:minmax(0,760px) minmax(180px,260px);gap:64px;align-items:start;padding-top:40px}
.fp-article__reading{min-width:0;grid-column:1;grid-row:1}
.fp-article__toc{grid-column:2;grid-row:1;position:sticky;top:110px;max-height:calc(100dvh - 140px);overflow:auto;padding:0 0 12px 20px;border-left:1px solid var(--article-line)}
.fp-article__toc>p{font-family:var(--ds-font-mono,ui-monospace,monospace);font-size: var(--ds-fs-1);text-transform:uppercase;letter-spacing:.08em;margin:0 0 16px}
.fp-article__toc ol{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.fp-article__toc a{display:block;font-size: var(--ds-fs-1);line-height:1.5;color:#555a66;text-decoration:none}
.fp-article__toc a:hover{color:var(--article-blue)}
.fp-article__toc a:focus-visible{outline:2px solid var(--article-blue);outline-offset:3px}
.fp-article__body{max-width:none}
.fp-article__body h2{scroll-margin-top:120px;font-size: var(--ds-fs-7);line-height:1.2;letter-spacing:-.025em}
.fp-article__body h3{scroll-margin-top:120px;font-size: var(--ds-fs-6);line-height:1.3}
.fp-article__body table{display:block;max-width:100%;overflow-x:auto}
.fp-article__body img{max-width:100%;height:auto}
.fp-article__next{margin-top:48px;padding:28px;border:1px solid var(--article-line);border-radius:16px;background:#fafafb}
.fp-article__next h2{font-size: var(--ds-fs-6);line-height:1.2;letter-spacing:-.025em;margin:0 0 16px}
.fp-article__next>p:not(.fp-article__rubrique){font-size: var(--ds-fs-2);line-height:1.6;color:#555a66}
.fp-article__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
/* Analyse : chapô papier de l'analyse éditoriale, sommaire à droite. */
.fp-article--analyse .fp-article__lead{background:#f4f2ec;padding:28px 32px;font-family:var(--ds-font-serif,Georgia,serif);font-size: var(--ds-fs-6)}
/* Guide : hero compact et rail gauche du gabarit guide. */
.fp-article--guide .fp-article__hero h1{font-size: var(--ds-fs-8);max-width:26ch}
.fp-article--guide .fp-article__grid{grid-template-columns:minmax(180px,240px) minmax(0,760px);gap:56px}
.fp-article--guide .fp-article__toc{grid-column:1;border-left:0;border-right:1px solid var(--article-line);padding:0 20px 12px 0;counter-reset:article-toc}
.fp-article--guide .fp-article__toc li{counter-increment:article-toc;display:grid;grid-template-columns:24px 1fr;gap:8px}
.fp-article--guide .fp-article__toc li::before{content:counter(article-toc,decimal-leading-zero);color:var(--article-blue);font:11px/1.8 var(--ds-font-mono,ui-monospace,monospace)}
.fp-article--guide .fp-article__reading{grid-column:2}
/* Actualité : métadonnées en colonne latérale, sans historique inventé. */
.fp-article--actualite .fp-article__hero{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:48px}
.fp-article--actualite .fp-article__byline{display:flex;flex-direction:column;align-self:start;border-top:0;border-left:1px solid var(--article-line);padding:20px 0 20px 24px;margin:0}
.fp-article--actualite .fp-article__byline time{display:block;color:var(--article-blue);font-size: var(--ds-fs-3);margin-top:6px}
/* Récit : lecture resserrée et sommaire initial, sans faux portrait ni citation. */
.fp-article--recit{max-width:1000px}
.fp-article--recit .fp-article__hero h1{font-family:var(--ds-font-serif,Georgia,serif);font-weight:400;max-width:25ch}
.fp-article--recit .fp-article__grid{display:flex;flex-direction:column;gap:32px;max-width:760px;margin:auto}
.fp-article--recit .fp-article__toc{position:static;max-height:none;border:0;border-bottom:1px solid var(--article-line);padding:0 0 24px;width:100%}
.fp-article--recit .fp-article__toc ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
@media(max-width:900px){.fp-article{padding-inline:24px}.fp-article__grid,.fp-article--guide .fp-article__grid{gap:28px;grid-template-columns:minmax(0,1fr) 200px}.fp-article--guide .fp-article__grid{grid-template-columns:190px minmax(0,1fr)}.fp-article--actualite .fp-article__hero{grid-template-columns:minmax(0,1fr) 180px;gap:24px}}
@media(max-width:700px){.fp-article{padding:100px 20px 56px}.fp-article__hero{padding-top:8px}.fp-article__hero h1,.fp-article--guide .fp-article__hero h1{font-size: var(--ds-fs-7);max-width:none}.fp-article__lead{font-size: var(--ds-fs-3)}.fp-article--analyse .fp-article__lead{padding:22px;font-size: var(--ds-fs-5)}.fp-article__grid,.fp-article--guide .fp-article__grid{display:flex;flex-direction:column;gap:28px;padding-top:28px}.fp-article__toc,.fp-article--guide .fp-article__toc{position:static;max-height:none;width:100%;border:0;border-bottom:1px solid var(--article-line);padding:0 0 24px}.fp-article--recit .fp-article__toc ol{grid-template-columns:1fr}.fp-article--actualite .fp-article__hero{display:block}.fp-article--actualite .fp-article__byline{border-left:0;border-top:1px solid var(--article-line);padding:20px 0 0;margin-top:24px;gap:14px}.fp-article--actualite .fp-article__byline time{display:inline;font-size:inherit}.fp-article__next{padding:22px}.fp-article__reading{width:100%}}
