:root{--primary: #FFC300;--primary-hover: #E5AF00;--on-primary: #14213D;--secondary: #14213D;--secondary-hover: #1D2E52;--bg: #F7F5F0;--surface: #FFFFFF;--fill: #EDEAE3;--border: #D9D5CC;--band: #FFF6DA;--text: #14213D;--text-secondary: #46536E;--text-strong: #0B1428;--text-muted: #6B7793;--text-faint: #C7CCD8;--white: #FFFFFF;--font-heading:Archivo,Arial,sans-serif;--font-body:Inter,Arial,sans-serif;--blue:var(--secondary);--cyan:var(--primary);--ink:var(--text-strong);--muted:var(--text-muted);--paper:var(--bg);--coral:var(--primary);--line:var(--border);--radius:18px;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);line-height:1.55}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading)}a{color:inherit;text-decoration:none}p{margin:0 0 16px}h1,h2,h3{letter-spacing:-.055em;line-height:1.04;margin:0 0 18px}h1{font-size:clamp(3rem,6.6vw,6.5rem);font-weight:800}h2{font-size:clamp(2rem,4vw,4rem);font-weight:800}h3{font-size:1.45rem}.site-header{background:var(--paper);border-bottom:1px solid rgba(20,33,61,.09);position:sticky;top:0;z-index:9}.nav-wrap{max-width:var(--max);margin:auto;padding:15px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:9px;font-size:.76rem;line-height:.82;text-transform:uppercase;font-weight:800;letter-spacing:-.04em}.brand b{color:var(--blue)}.brand-mark{display:grid;place-items:center;width:32px;height:32px;color:#fff;background:var(--blue);border-radius:50%;font-size:1.15rem}.main-nav{display:flex;gap:30px;font-size:.86rem;font-weight:700}.main-nav a:hover,.text-link:hover{color:var(--blue)}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;border-radius:100px;transition:.25s;cursor:pointer}.nav-cta{background:var(--ink);color:white;padding:10px 16px;font-size:.78rem}.nav-cta:hover{background:var(--blue)}.nav-cta svg,.button svg,.text-link svg{width:17px;height:17px}.hero{max-width:var(--max);margin:auto;padding:73px 22px 88px;display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:54px}.eyebrow{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.09em;font-size:.72rem;color:var(--blue);font-weight:500;margin-bottom:18px}.hero h1 em{color:var(--blue);font-style:normal}.hero-lead{font-size:1.07rem;max-width:570px;color:var(--muted);line-height:1.65}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:27px}.button{padding:14px 20px;font-size:.9rem;border:1px solid transparent}.button-primary{color:#fff;background:var(--blue)}.button-primary:hover{background:var(--secondary-hover);transform:translateY(-2px)}.button-outline{border-color:var(--ink)}.button-outline:hover{background:var(--ink);color:#fff}.text-link{font-size:.88rem;font-weight:800;display:inline-flex;align-items:center;gap:6px;text-decoration:underline;text-underline-offset:4px}.trust-row{display:flex;gap:22px;flex-wrap:wrap;margin-top:51px;font-size:.77rem;color:var(--muted)}.trust-row b{color:var(--ink);font-size:1rem}.hero-visual{height:480px;position:relative}.hero-visual img{height:100%;width:100%;object-fit:cover;border-radius:70px 12px 70px 12px;filter:saturate(.83)}.data-sticker{position:absolute;bottom:-23px;left:-28px;background:var(--coral);color:var(--on-primary);padding:16px 18px;border-radius:9px;transform:rotate(-3deg);box-shadow:9px 9px 0 var(--ink);font-family:var(--font-heading)}.data-sticker span,.data-sticker small{display:block;font-size:.62rem}.data-sticker strong{display:block;font-size:1rem}.strip{background:var(--blue);color:#fff;padding:18px 22px;display:flex;justify-content:center;gap:7vw;text-transform:uppercase;font-family:var(--font-heading);font-size:.72rem}.section,.inner-page{padding:105px 22px}.container{max-width:var(--max);margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}.section-heading h2{max-width:700px}.terrain-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.terrain-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:24px;min-height:242px;display:flex;flex-direction:column;transition:.25s}.terrain-card:hover{transform:translateY(-5px);box-shadow:0 13px 35px rgba(20,33,61,.1)}.terrain-card.featured{background:var(--ink);color:white;grid-column:span 2}.terrain-card.warm{background:var(--band);grid-column:span 2}.icon-disc{font-family:var(--font-heading);font-size:.75rem;color:var(--blue);border:1px solid currentColor;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;margin-bottom:auto}.featured .icon-disc{color:var(--cyan)}.terrain-card p{font-size:.87rem;color:var(--muted)}.featured p{color:var(--text-faint)}.card-link{margin-top:auto;font-size:.78rem;font-weight:800;display:flex;gap:7px;align-items:center}.card-link svg{width:14px}.tool-panel{background:var(--ink);color:white;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;padding:80px max(22px,calc((100vw - var(--max))/2));align-items:center}.tool-intro h2{color:var(--cyan)}.tool-intro>p:not(.eyebrow){color:var(--text-faint);max-width:500px}.method-note{margin-top:27px;padding:14px;border-left:2px solid var(--cyan);font-size:.75rem;color:var(--text-faint);display:flex;gap:10px}.method-note svg{width:20px;flex:none;color:var(--cyan)}.calculator{background:white;color:var(--ink);padding:29px;border-radius:var(--radius)}.calc-label{font-family:var(--font-heading);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500;margin:0 0 11px}.number-control{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin-bottom:26px}.number-control button{width:38px;height:38px;border:0;border-radius:50%;background:var(--cyan);font-size:1.4rem;cursor:pointer}.number-control div{text-align:center}.number-control strong{font-size:2.35rem;line-height:1;display:block}.number-control span{font-size:.75rem;color:var(--muted)}select{font:inherit;width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;margin-bottom:23px;background:white}.result{background:var(--band);padding:20px;border-radius:11px}.result span,.result small{display:block;font-size:.75rem;color:var(--muted)}.result strong{font-size:2.4rem;color:var(--blue);display:block;line-height:1.15}.story-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}.story-card{border-radius:var(--radius);background:var(--fill);padding:27px;min-height:260px;display:flex;flex-direction:column}.big-story{background:var(--blue);color:#fff}.big-story h3{font-size:clamp(1.65rem,3vw,2.5rem);max-width:620px}.big-story p{color:var(--text-faint);max-width:550px}.big-story .text-link{margin-top:auto}.coral{background:var(--coral);color:var(--on-primary)}.story-tag{font-family:var(--font-heading);font-size:.67rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:auto}.quote-band{background:var(--band);padding:80px max(22px,calc((100vw - 920px)/2));text-align:center}.quote-mark{font-family:var(--font-heading);font-size:5rem;color:var(--blue);height:52px}.quote-band blockquote{font-size:clamp(1.6rem,3.3vw,3rem);font-weight:800;letter-spacing:-.05em;line-height:1.1;margin:15px 0}.quote-band p{font-family:var(--font-heading);font-size:.75rem}.split-info{display:grid;grid-template-columns:1fr 1fr;gap:100px}.split-info>div:nth-child(2){font-size:1.05rem;color:var(--muted)}.split-info .button{margin-top:18px;color:var(--ink)}.site-footer{background:var(--ink);color:var(--text-faint);padding:60px max(22px,calc((100vw - var(--max))/2)) 24px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.15fr 1.15fr;gap:32px;padding-bottom:50px}.footer-brand{color:white;margin-bottom:18px}.footer-grid p,.footer-grid a{font-size:.82rem;display:block;color:var(--text-faint);max-width:330px}.footer-grid a{margin-bottom:9px}.footer-label{color:var(--cyan)!important;font-family:var(--font-heading);font-size:.65rem!important;text-transform:uppercase;letter-spacing:.09em}.footer-bottom{border-top:1px solid var(--secondary-hover);padding-top:22px;display:flex;justify-content:space-between;font-size:.7rem}.inner-page{min-height:70vh;max-width:950px}.inner-page h1{font-size:clamp(3rem,6vw,5.6rem);max-width:850px}.intro{font-size:1.15rem;line-height:1.7;color:var(--muted);max-width:710px;margin-bottom:57px}.detail-list article{display:grid;grid-template-columns:75px 1fr;gap:20px;padding:28px 0;border-top:1px solid var(--line)}.detail-list article>span,.method-grid article>span{font-family:var(--font-heading);font-size:.8rem;color:var(--blue)}.detail-list h2{font-size:1.8rem;margin-bottom:8px}.detail-list p{color:var(--muted);max-width:630px}.detail-list b{font-size:.79rem}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.method-grid article{background:#fff;border:1px solid var(--line);padding:26px;border-radius:15px}.method-grid h2{font-size:1.4rem;margin-top:27px}.method-grid p{font-size:.88rem;color:var(--muted)}.transparency{display:flex;gap:20px;background:var(--band);padding:30px;margin-top:45px;border-radius:15px}.transparency svg{width:32px;height:32px;color:var(--blue);flex:none}.transparency h2{font-size:1.45rem;margin-bottom:8px}.picker{padding:30px;background:var(--ink);border-radius:var(--radius);display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;color:white}.picker input{width:100%;accent-color:var(--cyan)}.range-labels{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-heading);font-size:.68rem;color:var(--text-faint)}.range-labels strong{color:var(--cyan);font-size:.9rem}.recommendation{grid-column:1/-1;background:#fff;color:var(--ink);padding:22px;border-radius:11px}.recommendation span{font-family:var(--font-heading);text-transform:uppercase;font-size:.67rem;color:var(--blue)}.recommendation h2{font-size:2rem;margin:4px 0}.recommendation p{margin:0;color:var(--muted)}.age-table{margin-top:80px}.age-table table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.age-table th,.age-table td{text-align:left;padding:16px;border-bottom:1px solid var(--line);font-size:.87rem}.age-table th{font-family:var(--font-heading);font-size:.7rem;text-transform:uppercase;color:var(--blue)}.table-note{font-size:.75rem;color:var(--muted);margin-top:10px}.not-found{max-width:800px;margin:auto;padding:150px 22px}.not-found p:not(.eyebrow){color:var(--muted);font-size:1.1rem}.reveal-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.reveal-on-scroll.revealed{opacity:1;transform:translateY(0)}@media(max-width:760px){.main-nav{display:none}.nav-cta{font-size:0;padding:10px}.nav-cta svg{width:18px}.hero{grid-template-columns:1fr;padding-top:53px;gap:43px}.hero-visual{height:340px}.data-sticker{left:12px}.strip{justify-content:flex-start;overflow:auto;white-space:nowrap}.section,.inner-page{padding:70px 22px}.section-heading{display:block}.section-heading .text-link{margin-top:0}.terrain-grid{grid-template-columns:1fr 1fr}.terrain-card,.terrain-card.featured,.terrain-card.warm{grid-column:span 1;min-height:220px}.terrain-card.featured{grid-column:span 2}.tool-panel{grid-template-columns:1fr;padding-top:63px;padding-bottom:63px;gap:35px}.story-grid,.split-info,.footer-grid{grid-template-columns:1fr;gap:14px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:8px}.method-grid{grid-template-columns:1fr}.picker{grid-template-columns:1fr;gap:22px}.detail-list article{grid-template-columns:42px 1fr}.age-table{overflow-x:auto}.age-table table{min-width:580px}}@media(max-width:420px){h1{font-size:3rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.terrain-grid{grid-template-columns:1fr}.terrain-card.featured{grid-column:span 1}.trust-row{gap:12px}.hero-visual{height:280px}}
/* === BLOC OUTILS (05-tools) === */
.breadcrumb{font-family:var(--font-heading);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 18px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.breadcrumb a{color:var(--blue)}.breadcrumb a:hover{text-decoration:underline}.breadcrumb-sep{color:var(--text-faint)}.essentiel{margin:0 0 22px;padding-left:20px;max-width:760px}.essentiel li{margin-bottom:7px;font-size:.95rem}.perimetre{max-width:760px;font-size:.87rem;color:var(--muted);border-left:3px solid var(--primary);padding-left:14px;margin-bottom:44px}.tool-form{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:22px;align-items:end}.tool-form label{cursor:pointer}.tool-form input[type=number],.tool-form input[type=text]{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;font:inherit;background:var(--white);color:var(--ink)}.tool-form select{margin-bottom:0}.tool-form .button{width:100%}.picker .recommendation ul{margin:12px 0 0;padding-left:20px}.picker .recommendation li{font-size:.9rem;margin-bottom:6px}.picker .recommendation h2{font-size:1.35rem;margin:14px 0 6px}.picker .recommendation h2 a{color:var(--blue)}.picker .recommendation p+p{margin-top:9px}@media(max-width:760px){.tool-form{grid-template-columns:1fr;gap:16px}}

/* ===== 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-body);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}
}

/* === SOUS-MENU OUTILS — accent adapté à la DA (05b délégué) === */
.sub-nav a:hover,.sub-nav a:focus{color:var(--secondary);border-left-color:var(--primary)}.sub-nav-all{color:var(--secondary)}

/* ===== BLOC LARGEUR UNIFIÉE — toutes les pages à la largeur de la home ===== */
/*
 * Posé par 05c-outils-opti, une fois les pages d'outils en place.
 *
 * Le builder du front réserve `.container` (largeur de la home) aux pages
 * d'accueil et de service, et applique une colonne étroite aux pages de contenu
 * via `.guide-narrow` / `.article-narrow` / `.content-narrow` selon le builder.
 * Résultat : outils, piliers et pages éditoriales sont plus étroits que la home,
 * ce qui se voit immédiatement en passant de l'une à l'autre — et prive les
 * tableaux et les simulateurs de la largeur dont ils ont besoin.
 *
 * `!important` est ici délibéré, pas une facilité. Ce bloc est appendu à
 * `styles.css`, mais la contrainte de largeur est souvent déclarée dans une
 * feuille chargée APRÈS (`article.css` sur le builder Otomatic). À spécificité
 * égale, la dernière feuille gagne : sans `!important`, le bloc serait posé,
 * validé, et pourtant sans effet — un échec indiscernable d'un succès.
 *
 * Les CONTRÔLES de formulaire, eux, restent plafonnés : un `select` ou un
 * `input` étiré sur toute la largeur de la page n'est pas une préférence de
 * style, c'est une régression d'usage.
 */
.guide-narrow,
.article-narrow,
.content-narrow{max-width:none!important}

.guide-narrow select,.guide-narrow input[type=number],.guide-narrow input[type=text],
.article-narrow select,.article-narrow input[type=number],.article-narrow input[type=text],
.content-narrow select,.content-narrow input[type=number],.content-narrow input[type=text]{max-width:520px}

/* ===== LARGEUR UNIFIÉE — règles propres à ce front =====
 * Les trois familles de conteneurs de ce builder adoptent `--max`, la largeur
 * de `.container` utilisée par la home. La gouttière de 22px vient déjà de
 * `.section,.inner-page` ; elle est reposée sur les deux autres familles, qui
 * n'en avaient pas.
 *
 * `!important` sur `.inner-page` : la déclaration d'origine (`max-width:950px`)
 * est plus bas dans la même feuille, donc gagnerait à spécificité égale.
 *
 * Les blocs de TEXTE pleine largeur gardent une mesure de lecture : le front
 * plafonne déjà ses paragraphes de contenu à 800px (`.content-block>p`), et
 * une ligne courant sur 1180px ferait ~150 caractères.
 */
.inner-page{max-width:var(--max)!important}
.psm-wrap{max-width:var(--max);padding-left:22px;padding-right:22px;box-sizing:border-box}
.not-found{max-width:var(--max)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 22px;box-sizing:border-box}
.article-hero{padding:70px 0 0}
.article-layout{padding-bottom:70px}
.article-body>*{max-width:800px}
.article-body h2{margin-top:38px}
.opening .answer,.method-note p,.method-note-title,.author-byline,.update-log li{max-width:800px}

/* ===== 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: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)}

/* [06a] signature du hero en règles simples (le contrôle de contraste ne suit
   pas les sélecteurs groupés). Le hero d'article est un aplat bleu de salle. */
.guide-hero .author-byline{color:#FFFFFF}.guide-hero .byline-author a{color:#FFFFFF}.guide-hero .page-dates time{color:#FFFFFF}
/* [06a] blocs de l'ouverture normée sur les pages du front. */
blockquote{margin:22px 0;padding:16px 22px;background:var(--fill);border-left:3px solid var(--primary);font-size:1.02rem;line-height:1.6}blockquote p{margin:0}.intro-legacy{display:none}

/* === BLOC TABLEAUX DE RELEVÉ === */
.tool-table-wrap{overflow-x:auto;margin:18px 0 10px;-webkit-overflow-scrolling:touch}.tool-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);font-size:.86rem;min-width:640px}.tool-table th,.tool-table td{text-align:left;padding:11px 13px;border-bottom:1px solid var(--border);vertical-align:top}.tool-table thead th{font-family:var(--font-heading);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);background:var(--fill);white-space:nowrap}.tool-table tbody tr:last-child td{border-bottom:0}.tool-table td.num{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.tool-table a{color:var(--secondary);border-bottom:1px solid var(--text-faint)}.tool-table a:hover{border-bottom-color:var(--primary)}.tool-table .np{color:var(--text-muted);font-style:italic}.releve-lead{font-size:1.05rem;line-height:1.6;max-width:800px}.releve-lead strong{font-variant-numeric:tabular-nums}.releve-note{margin-top:14px;padding:14px 16px;background:var(--band);border-left:3px solid var(--primary);font-size:.83rem;line-height:1.55;color:var(--text-secondary);max-width:820px}@media(max-width:640px){.tool-table{font-size:.8rem}}

/* === LARGEUR UNIFIÉE — le CONTENU, pas seulement le conteneur ===
 * Le conteneur des pages avait déjà la largeur de la home, mais le contenu
 * restait plafonné entre 630 et 850 px par une dizaine de règles héritées du
 * builder et des blocs posés par 05c, 06a et 05-tools. Visuellement, la page
 * paraissait donc toujours étroite. On lève ces plafonds à l'intérieur des
 * pages de contenu (.inner-page) et des pages légales (.wrap) — et là
 * seulement : la home, le footer et les CONTRÔLES de formulaire gardent les
 * leurs, un select étiré sur 1180 px étant une régression d'usage. */
.inner-page h1,.inner-page .intro,.inner-page .essentiel,.inner-page .perimetre,.inner-page .content-block>p,.inner-page .content-block>p:not(.eyebrow),.inner-page .faq-block details p,.inner-page .detail-list p,.inner-page .section-heading h2,.inner-page .opening .answer,.inner-page .method-note p,.inner-page .method-note-title,.inner-page .author-byline,.inner-page .update-log li,.inner-page .releve-lead,.inner-page .releve-note,.inner-page .source-list,.inner-page .author-bio,.inner-page .author-legit,.inner-page .scope,.inner-page .essentials,.inner-page .table-note,.wrap .article-body>*{max-width:none!important}
/* Les contrôles de saisie restent plafonnés, quelle que soit la largeur de page. */
.inner-page select,.inner-page input[type=number],.inner-page input[type=text]{max-width:520px}

/* === BLOC LOGO ET FIGURES (plan 07) ===
 * Le logo remplace le placeholder lettre dans les quatre chromes. Deux variantes :
 * navy sur le fond papier de l'en-tête, blanche sur le pied de page, qui est
 * presque noir. Une seule variante y serait invisible. */
.logo-img{display:block;height:34px;width:auto;max-width:none}.logo-img-footer{height:44px}.brand{gap:0}@media(max-width:640px){.logo-img{height:28px}.logo-img-footer{height:38px}}
/* Figures d'illustration : plein cadre du conteneur, légende sous l'image. */
.page-figure{margin:26px 0;padding:0}.page-figure img{display:block;width:100%;height:auto;border-radius:var(--radius);background:var(--fill)}.page-figure figcaption{margin-top:9px;font-size:.82rem;line-height:1.5;color:var(--text-muted)}.page-figure-hero{margin:8px 0 30px}.page-figure-hero img{border-radius:var(--radius)}.content-block .page-figure{margin:20px 0 6px}
/* Avatar : carré, ramené à une taille de portrait dans le corps de page. */
.content-block .page-figure img[width='1024']{max-width:280px;border-radius:12px}
