:root{--primary: #1E5F8C;--primary-hover: #17496B;--on-primary: #FFFFFF;--secondary: #16202B;--secondary-hover: #22303E;--dark-color: #16202B;--bg: #F2F3F0;--surface: #FFFFFF;--text: #16202B;--text-secondary: #3E4B58;--text-strong: #0B1219;--text-muted: #5C6B78;--text-faint: #A8B2BA;--fill: #E6E8E4;--border: #D2D6D1;--white: #FFFFFF;--callout-bg: #E8F0F6;--callout-text: #14456A;--callout-border: #B9D2E4;--on-dark: #D5DDE4;--on-dark-muted: #9AA8B4;--accent-on-dark: #9CC4DE;--font-sans: Archivo;--font-mono: 'JetBrains Mono';--blue:var(--primary);--navy:var(--secondary);--cyan:var(--accent-on-dark);--ink:var(--text);--muted:var(--text-muted);--line:var(--border);--pale:var(--fill);--white:#FFFFFF;--r:6px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Archivo,'Helvetica Neue',Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12;letter-spacing:-.04em}.site-header{padding:18px 5%;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:5}.nav-shell{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;letter-spacing:-.06em}.brand>span:last-child span{color:var(--blue)}.brand-mark{display:grid;place-items:center;background:var(--blue);color:white;width:35px;height:35px;border-radius:4px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;letter-spacing:-1px}.main-nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:700}.main-nav a:hover,.text-link:hover{color:var(--blue)}.menu-toggle{display:none;border:0;background:transparent;color:var(--navy)}.hero{max-width:1240px;margin:auto;padding:76px 5% 90px;display:grid;grid-template-columns:1.12fr .88fr;gap:56px;align-items:center}.eyebrow{font:500 11px 'JetBrains Mono',ui-monospace,monospace;text-transform:uppercase;letter-spacing:.12em;color:var(--blue);margin-bottom:18px}.hero h1{font-size:clamp(44px,6vw,80px);max-width:640px;margin-bottom:23px}.hero h1 em{font-style:normal;color:var(--blue)}.hero-text{font-size:18px;color:var(--muted);max-width:610px}.hero-actions{display:flex;align-items:center;gap:25px;margin:31px 0}.button{display:inline-flex;align-items:center;gap:9px;padding:14px 19px;border-radius:4px;font-weight:800;font-size:13px;transition:.25s}.button svg,.text-link svg{width:17px;height:17px}.button-primary{background:var(--blue);color:#fff}.button-primary:hover{background:var(--primary-hover);transform:translateY(-2px)}.text-link{display:inline-flex;gap:7px;align-items:center;color:var(--navy);font-weight:800;font-size:13px}.trust-row{display:flex;gap:20px;flex-wrap:wrap;font-size:11px;font-weight:700;color:var(--muted)}.trust-row span{display:flex;gap:6px;align-items:center}.trust-row svg{width:15px;color:var(--blue)}.hero-visual{min-height:490px;position:relative}.hero-visual img{width:100%;height:100%;object-fit:cover;border-radius:var(--r);filter:saturate(.78)}.visual-note{position:absolute;bottom:25px;left:-24px;background:var(--surface);padding:15px 18px;border-radius:4px;box-shadow:0 12px 30px #16202b14;font-size:12px;line-height:1.5}.pulse{display:inline-block;width:8px;height:8px;background:#2bb673;border-radius:50%;margin-right:6px}.finder{background:var(--navy);color:white;padding:74px max(5%,calc((100% - 1140px)/2));display:grid;grid-template-columns:.8fr 1.7fr;gap:48px}.finder h2,.section-heading h2,.scope-section h2,.cta-band h2{font-size:clamp(30px,3.2vw,46px)}.finder-intro p:last-child{color:var(--on-dark-muted);font-size:15px}.finder .eyebrow{color:var(--cyan)}.finder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.question-card{padding:21px 16px;background:#1F2B38;border:1px solid #33414F;border-radius:4px;display:flex;flex-direction:column;align-items:flex-start;transition:.25s}.question-card:hover{background:#28394A;transform:translateY(-4px)}.question-card strong{font-size:16px;margin:16px 0 7px}.question-card>span:nth-child(3){color:#B6C4CF;font-size:12px;line-height:1.55}.question-card>svg:last-child{width:17px;margin-top:18px;color:var(--cyan)}.card-icon{color:var(--cyan)}.card-icon svg{width:23px}.data-section{max-width:1140px;margin:0 auto;padding:108px 5%;display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.data-panel{border:1px solid var(--line);border-radius:var(--r);padding:30px;box-shadow:0 12px 30px #16202b0b}.panel-top{display:flex;justify-content:space-between;font:11px 'JetBrains Mono',ui-monospace,monospace;color:var(--muted)}.status-dot{color:#147e50;font:500 11px 'JetBrains Mono',ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em}.status-dot:before{content:'';display:inline-block;background:#29b375;width:7px;height:7px;border-radius:50%;margin-right:6px}.data-panel h3{font-size:24px;margin:27px 0}.data-line{border-top:1px solid var(--line);padding:12px 0;display:flex;justify-content:space-between;gap:10px;font-size:12px}.data-line span{color:var(--muted)}.data-panel p{font-size:13px;color:var(--muted);margin:20px 0}.scope-section{background:var(--pale);padding:80px max(5%,calc((100% - 1140px)/2));display:grid;grid-template-columns:1fr 1fr;gap:80px}.scope-section>div>p:not(.eyebrow){color:var(--muted);font-size:17px;max-width:500px}.scope-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:center}.scope-list div{display:flex;align-items:center;gap:10px;padding:15px;background:var(--surface);border-radius:4px;font-weight:700;font-size:13px}.scope-list svg{width:17px;color:var(--blue)}.scope-list .muted{grid-column:span 2;color:var(--text-muted);font-weight:500}.cta-band{margin:0 5% 88px;background:var(--blue);color:white;border-radius:var(--r);padding:57px 7%;text-align:center}.cta-band .eyebrow{color:var(--cyan)}.cta-band h2{margin-bottom:25px}.button-light{background:white;color:var(--blue)}.content-page{max-width:1140px;margin:auto;padding:75px 5% 100px}.page-hero{max-width:780px;padding:15px 0 70px}.page-hero h1{font-size:clamp(40px,5vw,65px);margin-bottom:22px}.page-hero>p:last-child{font-size:18px;color:var(--muted)}.article-grid{display:grid;grid-template-columns:200px minmax(0,700px);justify-content:space-between;gap:60px}.article-grid aside{border-left:2px solid var(--primary);padding-left:16px;height:max-content;position:sticky;top:100px}.article-grid aside p{font-weight:800;font-size:13px}.article-grid aside a{display:block;font-size:12px;margin:9px 0;color:var(--muted)}.article-grid aside a:hover{color:var(--blue)}.article-grid article h2,.article-wide h2{font-size:30px;margin:5px 0 17px}.article-grid article p,.article-grid li,.article-wide p{font-size:16px;color:var(--text-secondary)}.article-grid li{margin:9px 0}.fact-box{border-left:4px solid var(--callout-border);background:var(--callout-bg);color:var(--callout-text);padding:21px 23px;margin:32px 0}.fact-box p{margin:9px 0 0!important}.method-steps,.scope-large{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.method-steps article,.scope-large>div{background:var(--pale);padding:28px;border-radius:4px}.method-steps span{font:500 12px 'JetBrains Mono',ui-monospace,monospace;color:var(--blue)}.method-steps h2,.scope-large h2{font-size:25px;margin:19px 0 10px}.method-steps p,.scope-large p{font-size:14px;color:var(--muted);margin:0}.scope-large svg{width:26px;color:var(--blue)}.article-wide{max-width:730px;margin:72px auto 0}.simple-page{max-width:800px;margin:0 auto;padding:130px 5%;min-height:60vh}.simple-page h1{font-size:52px}.site-footer{background:var(--navy);color:var(--on-dark);padding:57px max(5%,calc((100% - 1140px)/2)) 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1.15fr;gap:30px}@media(max-width:1000px){.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:span 2}}.brand-footer{color:white;margin-bottom:17px}.site-footer p{font-size:12px;max-width:300px;color:var(--on-dark-muted)}.site-footer a:not(.brand){display:block;font-size:12px;margin:9px 0;color:var(--on-dark)}.footer-label{font:500 10px 'JetBrains Mono',ui-monospace,monospace!important;text-transform:uppercase;letter-spacing:.1em;color:var(--cyan)!important}.footer-bottom{border-top:1px solid #2F3B47;margin-top:38px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;font:10px 'JetBrains Mono',ui-monospace,monospace;color:var(--on-dark-muted)}.reveal-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.reveal-on-scroll.revealed{opacity:1;transform:none}@media(max-width:760px){.site-header{padding:14px 5%}.menu-toggle{display:block}.main-nav{position:absolute;display:none;top:65px;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--border);padding:15px 5%;box-shadow:0 12px 22px #16202b12}.main-nav.open{display:flex;flex-direction:column;align-items:flex-start;gap:15px}.hero{grid-template-columns:1fr;padding-top:48px;gap:34px}.hero-visual{min-height:300px}.visual-note{left:15px}.finder{grid-template-columns:1fr;padding-top:55px;padding-bottom:55px}.finder-grid{grid-template-columns:1fr}.question-card{min-height:130px}.data-section,.scope-section{grid-template-columns:1fr;gap:32px;padding-top:68px;padding-bottom:68px}.scope-list{grid-template-columns:1fr}.scope-list .muted{grid-column:auto}.article-grid{grid-template-columns:1fr;gap:30px}.article-grid aside{position:static;display:flex;gap:14px;flex-wrap:wrap;padding:0 0 12px;border-left:0;border-bottom:2px solid var(--primary)}.article-grid aside p{width:100%;margin:0}.method-steps,.scope-large{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:span 2}.footer-bottom{flex-direction:column}.page-hero{padding-bottom:42px}.content-page{padding-top:48px}.cta-band{margin-bottom:55px}.trust-row{gap:11px}.hero-actions{align-items:flex-start;flex-direction:column}}

/* === OUTILS DU RÉFÉRENTIEL (05-tools) — bloc autonome, tokens de la DA === */
.breadcrumb{font:500 11px 'JetBrains Mono',ui-monospace,monospace;color:var(--text-muted);margin:0 0 18px}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.breadcrumb li+li:before{content:'/';margin-right:8px;color:var(--text-faint)}
.breadcrumb a{color:var(--primary)}
.breadcrumb a:hover{text-decoration:underline}
.tool-key{margin:22px 0 0;padding-left:20px;max-width:760px}
.tool-key li{font-size:15px;color:var(--text-secondary);margin:8px 0}
.tool-block{margin:34px 0 10px}
.tool-form{border:1px solid var(--border);background:var(--surface);border-radius:4px;padding:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px}
.tool-form fieldset{border:1px solid var(--border);border-radius:4px;padding:16px 18px 18px;margin:0;min-width:0}
.tool-form legend{font:500 11px 'JetBrains Mono',ui-monospace,monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--primary);padding:0 6px}
.tool-field{display:flex;flex-direction:column;gap:6px;margin:12px 0 0;min-width:0}
.tool-field:first-of-type{margin-top:0}
.tool-field label{font-size:12px;font-weight:700;color:var(--text-secondary)}
.tool-field input,.tool-field select{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:14px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:10px 12px;max-width:340px;width:100%}
.tool-field input:focus,.tool-field select:focus{outline:2px solid var(--primary);outline-offset:1px}
.tool-actions{grid-column:1/-1;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.tool-result{border:1px solid var(--border);border-left:4px solid var(--primary);background:var(--fill);border-radius:4px;padding:22px 24px;margin:20px 0 0}
.tool-result:focus{outline:2px solid var(--primary);outline-offset:2px}
.tool-result p{font-size:15px;color:var(--text-secondary);margin:0 0 12px}
.tool-result p:last-child{margin-bottom:0}
.tool-result .data-panel{background:var(--surface);margin:0 0 16px}
.tool-verdict{font-size:17px!important;font-weight:800;color:var(--text)!important}
.tool-verdict.is-ok:before{content:'';display:inline-block;width:9px;height:9px;background:#29b375;border-radius:50%;margin-right:9px}
.tool-verdict.is-ko:before{content:'';display:inline-block;width:9px;height:9px;background:var(--primary);border-radius:50%;margin-right:9px}
.tool-empty{border:1px dashed var(--border);background:var(--surface);border-radius:4px;padding:18px 20px;margin:0 0 14px}
.tool-empty-title{font-weight:700;color:var(--text)!important}
.tool-empty code{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:13px;color:var(--primary)}
.tool-checklist-intro{font-weight:700;color:var(--text)!important;margin-top:18px!important}
.tool-checklist{margin:0;padding-left:22px}
.tool-checklist li{font-size:15px;color:var(--text-secondary);margin:10px 0}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 14px}
.tool-table{border-collapse:collapse;width:100%;min-width:640px;font-size:13px}
.tool-table th,.tool-table td{border:1px solid var(--border);padding:9px 11px;text-align:left;vertical-align:top}
.tool-table th{background:var(--surface);font:500 11px 'JetBrains Mono',ui-monospace,monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--primary)}
.tool-table td{background:var(--surface);color:var(--text-secondary)}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace}
.article-wide details{border-top:1px solid var(--border);padding:14px 0}
.article-wide details summary{cursor:pointer;font-weight:700;font-size:15px;color:var(--text);list-style:none}
.article-wide details summary::-webkit-details-marker{display:none}
.article-wide details summary:before{content:'+';font-family:'JetBrains Mono',ui-monospace,monospace;color:var(--primary);margin-right:10px}
.article-wide details[open] summary:before{content:'–'}
.article-wide details p{margin:12px 0 0;font-size:15px;color:var(--text-secondary)}
@media(max-width:760px){
  .tool-form{grid-template-columns:1fr;padding:18px}
  .tool-field input,.tool-field select{max-width:none}
}

/* ===== BLOC SOUS-MENU OUTILS — sans JavaScript (hover + focus-within) ===== */
.nav-item{position:relative;display:inline-flex;align-items:center}
.has-sub>a::after{content:"";display:inline-block;width:5px;height:5px;margin-left:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.has-sub::after{content:"";position:absolute;top:100%;left:0;right:0;height:18px}
.sub-nav{position:absolute;top:calc(100% + 18px);left:-16px;z-index:30;min-width:296px;flex-direction:column;gap:1px;padding:8px;background:var(--surface);border:1px solid var(--line);box-shadow:0 18px 34px rgba(31,58,77,.14);display:none}
.has-sub:hover>.sub-nav,.has-sub:focus-within>.sub-nav{display:flex}
.sub-nav a{display:block;padding:9px 12px;font-size:13px;font-weight:700;line-height:1.25;white-space:nowrap;border-left:2px solid transparent}
.sub-nav a small{display:block;margin-top:2px;font-family:var(--font-sans);font-size:11px;font-weight:400;color:var(--text-muted)}
.sub-nav a:hover,.sub-nav a:focus{background:var(--fill);color:var(--primary);border-left-color:var(--primary)}
.sub-nav a:hover small,.sub-nav a:focus small{color:var(--text-secondary)}
.sub-nav-all{margin-top:5px;border-top:1px solid var(--line);padding-top:11px!important;color:var(--primary)}
@media(max-width:850px){
.nav-item{display:block}
.has-sub::after{display:none}
.has-sub>a::after{transform:rotate(45deg) translateY(-2px)}
.sub-nav{position:static;display:flex;min-width:0;margin:9px 0 4px 2px;padding:2px 0 2px 14px;border:0;border-left:2px solid var(--line);box-shadow:none;background:transparent;gap:0}
.sub-nav a{white-space:normal;padding:7px 0;font-size:13px;border-left:0}
.sub-nav a small{display:none}
.sub-nav a:hover,.sub-nav a:focus{background:transparent}
.sub-nav-all{padding-top:8px!important}
}
.tool-index{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.tool-index-card{display:block;border:1px solid var(--border);border-left:3px solid var(--primary);background:var(--surface);border-radius:4px;padding:18px 20px;transition:.2s}
.tool-index-card:hover{background:var(--fill);transform:translateY(-2px)}
.tool-index-card strong{display:block;font-size:16px;color:var(--text);margin-bottom:6px}
.tool-index-card span{display:block;font-size:13px;color:var(--text-muted);line-height:1.5}

/* ===== BLOC LARGEUR UNIFIÉE — toutes les pages à la largeur de la home ===== */
/*
 * Posé par 06a2-largeur-contenu. Les sélecteurs ci-dessous ont été RELEVÉS
 * dans les feuilles réellement chargées par le front, pas devinés : c'est la
 * correction du défaut d'origine, où une liste de classes supposées rendait
 * le bloc inerte sans que rien ne le signale.
 *
 * Largeur de référence relevée sur `.container` : la largeur de `.container`.
 *
 * `!important` est délibéré. Une contrainte peut être déclarée dans une
 * feuille chargée APRÈS celle-ci, ou plus bas dans ce même fichier par un
 * bloc appendu ultérieurement : à spécificité égale elle gagnerait, et le
 * bloc serait posé, validé, et sans effet.
 *
 * Les contrôles de formulaire, les images et les cartes sont épargnés.
 *
 * Ce qui suit la borne « relevé automatique : fin » est CONSERVÉ au rejeu :
 * c'est là que vivent les règles tranchées à la main. N'écris rien au-dessus.
 */

/* --- relevé automatique : début --- */
.nav-shell{max-width:none!important}   /* styles.css : 1240px */
.hero{max-width:none!important}   /* styles.css : 1240px */
.hero h1{max-width:none!important}   /* styles.css : 640px */
.hero-text{max-width:none!important}   /* styles.css : 610px */
.data-section{max-width:none!important}   /* styles.css : 1140px */
.scope-section>div>p:not(.eyebrow){max-width:none!important}   /* styles.css : 500px */
.content-page{max-width:none!important}   /* styles.css : 1140px */
.page-hero{max-width:none!important}   /* styles.css : 780px */
.article-wide{max-width:none!important}   /* styles.css : 730px */
.simple-page{max-width:none!important}   /* styles.css : 800px */
.site-footer p{max-width:none!important}   /* styles.css : 300px */
.tool-key{max-width:none!important}   /* styles.css : 760px */
.source-list{max-width:none!important}   /* styles.css : 820px */

/* Grilles à deux colonnes relevées, NON collapsées d'office : une grille de
   cartes se collapserait à tort. À trancher au brief 06a2, puis à écrire
   SOUS la borne de fin ci-dessous. */
/*   .hero { grid-template-columns: 1.12fr .88fr }  (styles.css) */
/*   .finder { grid-template-columns: .8fr 1.7fr }  (styles.css) */
/*   .data-section { grid-template-columns: 1fr 1fr }  (styles.css) */
/*   .scope-section { grid-template-columns: 1fr 1fr }  (styles.css) */
/*   .scope-list { grid-template-columns: 1fr 1fr }  (styles.css) */
/*   .footer-grid { grid-template-columns: 1fr 1fr }  (styles.css) */
/* --- relevé automatique : fin --- */

/* Règles tranchées à la main, conservées au rejeu de 06a2. */
/* Règles tranchées à la main, conservées au rejeu de 06a2. */
.content-narrow{max-width:none!important}
.content-narrow select,.content-narrow input[type=number],.content-narrow input[type=text]{max-width:520px}
.article-layout{width:min(1140px,calc(100% - 40px));margin-inline:auto}
.article-body{max-width:72ch}
.article-layout{width:min(100% - 28px,1140px)}
.page-toc{border:1px solid var(--border);border-left:3px solid var(--primary);background:var(--surface);border-radius:4px;padding:16px 20px;margin:0 0 34px}
.page-toc .footer-label{color:var(--primary)!important;margin:0 0 8px}
.page-toc a{display:inline-block;margin:4px 16px 4px 0;font-size:13px;font-weight:700;color:var(--text-secondary)}
.page-toc a:hover{color:var(--primary)}


/* Largeur unifiée — arbitrages 06a2 (08/09/2026).
   Le relevé automatique a neutralisé TOUTES les contraintes de largeur relevées,
   y compris celles des conteneurs de page. On rend ici aux conteneurs la largeur
   de référence de la home, et on la donne aux pages de contenu : l'objet de
   l'étape est la même largeur partout, pas l'absence de largeur. */
.nav-shell{max-width:1240px!important}
.hero{max-width:1240px!important}
.data-section{max-width:1140px!important}
.content-page{max-width:1140px!important}
.simple-page{max-width:1140px!important}
/* Ces sélecteurs-là restent à pleine largeur du conteneur : c'était leur bridage
   qui rendait les pages de contenu plus étroites que la home. */
.page-hero,.article-wide,.tool-key,.source-list,.hero h1,.hero-text{max-width:none!important}

/* Grilles à deux colonnes relevées — arbitrage page par page.
   .hero (1.12fr .88fr)      texte + visuel, section de home qui DÉFINIT la largeur de référence  → conservée
   .finder (.8fr 1.7fr)      intitulé + grille de trois cartes                                    → conservée
   .data-section (1fr 1fr)   texte + panneau de données                                           → conservée
   .scope-section (1fr 1fr)  texte + liste de périmètre                                           → conservée
   .scope-list (1fr 1fr)     grille de cartes                                                     → conservée
   .footer-grid (1fr 1fr)    colonnes de navigation du pied de page                               → conservée
   Aucune de ces six n'est une grille « intitulé à gauche, corps à droite » : ce sont
   des sections de la home et du pied de page, et collapser une grille de cartes
   serait la régression que le brief nomme.
   La seule vraie grille de texte du front est .article-grid, dont le corps est
   plafonné à 700 px — c'est elle qui rendait les pages du builder plus étroites
   que la home. Le sommaire latéral est conservé, le corps prend le reste. */
.article-grid{grid-template-columns:200px minmax(0,1fr)!important}
@media(max-width:760px){.article-grid{grid-template-columns:1fr!important}}

/* ===== ENVELOPPE + OUVERTURE NORMÉE (couches 1 et 2 du gabarit) ===== */
.author-card{display:flex;gap:18px;align-items:flex-start;margin:0 0 22px;padding:20px 22px;background:var(--fill);border-left:3px solid var(--primary)}
.author-card .author-avatar{flex:0 0 auto;line-height:0}
.author-card .author-img{object-fit:cover}
.author-footer .author-card .author-img{width:88px;height:88px;object-fit:cover;border-radius:var(--radius-round, 50%)}
.author-footer .author-card .author-monogram{width:88px;height:88px;font-size:30px}
.author-name{margin:0;font-family:var(--font-heading);font-size:16px;font-weight:700;line-height:1.3}
.author-name a{color:var(--text-strong)}
.author-name a:hover{color:var(--primary)}
.author-job{display:block;margin-top:3px;font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:1.1px;color:var(--text-muted)}
.author-legit{margin:11px 0 0;font-size:14.5px;line-height:1.5;font-weight:600;color:var(--text-strong)}
.author-bio{margin:7px 0 0;font-size:13.5px;line-height:1.55;color:var(--text-secondary)}
.author-links{margin:10px 0 0;font-size:13px}
.author-links a{color:var(--primary);font-weight:700;border-bottom:1px solid currentColor}
.page-dates{display:flex;flex-wrap:wrap;gap:6px 20px;margin:0 0 22px;font-size:12px;color:var(--text-muted)}
.page-dates time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-secondary)}
.method-note{margin:0 0 26px;padding:17px 19px;background:var(--callout-bg);border:1px solid var(--callout-border);border-left:3px solid var(--primary)}
.method-note-title{margin:0 0 6px;font-family:var(--font-heading);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--callout-text)}
.method-note p:last-child{margin:0;font-size:14px;line-height:1.6;color:var(--callout-text)}
.opening{margin:0 0 34px}
.opening .answer{margin:0;padding:22px 24px;background:var(--secondary);color:var(--white);font-family:var(--font-heading);font-size:clamp(17px,1.9vw,20px);line-height:1.45;letter-spacing:-.2px}
.essentials{margin:0;padding:20px 24px;background:var(--surface);border:1px solid var(--border);border-top:0}
.essentials-title{margin:0 0 10px;font-family:var(--font-heading);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted)}
.essentials ul{margin:0;padding:0;list-style:none}
.essentials li{position:relative;padding:7px 0 7px 22px;font-size:15px;line-height:1.5;color:var(--text)}
.essentials li::before{content:"";position:absolute;left:0;top:15px;width:8px;height:2px;background:var(--primary)}
.scope{margin:0;padding:14px 24px;background:var(--fill);border:1px solid var(--border);border-top:0;font-size:13.5px;line-height:1.55;color:var(--text-secondary)}
.scope span{font-family:var(--font-heading);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.1px;color:var(--text-muted);margin-right:6px}
.scope a{color:var(--secondary);font-weight:700;border-bottom:1px solid currentColor}
.scope a:hover{color:var(--primary)}
.update-log{margin:0;padding:20px 22px;border-top:2px solid var(--secondary);background:var(--fill)}
.update-log-title{margin:0 0 9px;font-family:var(--font-heading);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted)}
.update-log ul{margin:0;padding:0;list-style:none}
.update-log li{padding:6px 0;font-size:13.5px;line-height:1.5;color:var(--text-secondary);border-bottom:1px solid var(--border)}
.update-log li:last-child{border-bottom:0}
.update-log time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500;color:var(--text-strong)}
@media(max-width:640px){.author-card{padding:16px}.opening .answer{padding:18px}.essentials,.scope{padding:16px 18px}}

/* Signature de tête — identité et dates sur une seule ligne. Le parcours de
   l'auteur n'est pas ici : il se lit en pied, via .author-footer. */
.author-byline{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin:0 0 26px;padding-bottom:14px;border-bottom:1px solid var(--border,#D3CEC1);font-size:13px;color:var(--text-secondary,#4A554D)}
.byline-author a{color:var(--secondary,#3A4A3F);font-weight:700;border-bottom:1px solid currentColor}
.byline-author a:hover{color:var(--primary,#A65E2E)}
.author-byline .page-dates{margin:0;gap:6px 18px}

/* Pied d'article — la carte auteur complète, détachée du corps du texte. */
.author-footer{margin:38px 0 22px;border-top:2px solid var(--secondary,#3A4A3F)}
.author-footer .author-card{margin:0}

/* Signature dans le hero d'article (blog) : le hero est un aplat sombre, la
   signature doit y passer en blanc. Sans cette règle, elle hérite des couleurs
   pensées pour un fond clair et devient illisible (contraste ~1,1:1). */
.guide-hero .author-byline,
.guide-hero .author-byline .page-dates,
.guide-hero .byline-author a,
.guide-hero .page-dates time{color:#FFFFFF}
.guide-hero .author-byline{border-bottom-color:rgba(255,255,255,.28)}

/* ===== SOURCES — liens sortants cités près de l'affirmation ===== */
.source-note a[rel~="nofollow"]{color:var(--secondary);font-weight:600;border-bottom:1px solid var(--text-faint)}
.source-note a[rel~="nofollow"]:hover{color:var(--primary);border-bottom-color:var(--primary)}
.tool-table a[rel~="nofollow"]{font-weight:600;text-decoration:none;border-bottom:1px solid var(--text-faint)}
.tool-table a[rel~="nofollow"]:hover{color:var(--primary);border-bottom-color:var(--primary)}
.source-list{list-style:none;margin:0;padding:0;max-width:820px}
.source-list li{padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.source-list li:last-child{border-bottom:0}
.source-list span{display:block;margin-top:2px;font-size:11px;color:var(--text-muted)}
