:root{--primary: #C2A14D;--primary-hover: #CDAE5E;--on-primary: #182F3A;--secondary: #182F3A;--secondary-hover: #22414F;--bg: #EDE9E1;--surface: #F6F3EC;--text: #17282F;--text-secondary: #3E5460;--text-strong: #0E1B22;--text-muted: #566B77;--text-faint: #A9B4BA;--fill: #E3DED3;--border: #D5CFC1;--white: #FFFFFF;--callout-bg: #F7EFD9;--callout-text: #6B551C;--callout-border: #DFCB94;--font-heading: 'Zilla Slab',Georgia,serif;--font-body: 'Inter',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;--brass: var(--primary);--blue: #6B551C;--navy: var(--secondary);--cyan: #CDAE5E;--ink: var(--text);--muted: var(--text-muted);--paper: var(--surface);--line: var(--border);--on-dark: #C3CFD6;--on-dark-soft: #AFBDC4;--on-dark-faint: #9FAEB6;--radius:18px;--shadow:0 16px 40px rgba(24,40,55,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--font-body)}.container{width:min(1120px,calc(100% - 40px));margin:auto}.narrow{max-width:780px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12;letter-spacing:-.04em;font-family:var(--font-heading)}h1{font-size:clamp(2.45rem,5vw,4.7rem)}h2{font-size:clamp(1.8rem,3.2vw,3rem)}h3{font-size:1.2rem}a{color:inherit;text-decoration:none}.site-header{height:78px;display:flex;align-items:center;border-bottom:1px solid var(--secondary-hover);background:var(--navy);color:var(--white);position:sticky;top:0;z-index:10}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:9px;font-size:20px;font-weight:800;letter-spacing:-1px}.brand>span:last-child span{color:var(--cyan)}.brand-mark{display:grid;place-items:center;width:33px;height:33px;color:var(--on-primary);background:var(--brass);border-radius:10px}.brand-mark svg{width:19px}.main-nav{display:flex;gap:25px;align-items:center;font-size:13px;font-weight:700}.main-nav>a:not(.nav-cta):hover{color:var(--cyan)}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--brass);color:var(--on-primary);border:1px solid var(--brass);border-radius:10px;padding:12px 17px;font:700 13px var(--font-body);cursor:pointer;transition:.25s}.nav-cta{padding:10px 13px}.button:hover,.nav-cta:hover{transform:translateY(-2px);background:var(--primary-hover)}.button svg,.text-link svg{width:16px}.menu-toggle{display:none;border:0;background:none;color:var(--white)}.hero{background:var(--navy);color:var(--white);padding:90px 0 76px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:80px;align-items:center}.hero h1{margin:15px 0 22px;max-width:780px}.hero h1 em{font-style:normal;color:var(--cyan)}.hero p{font-size:18px;color:var(--on-dark);max-width:620px}.eyebrow{color:var(--blue);font:500 11px/1.3 var(--font-body);letter-spacing:.08em;text-transform:uppercase}.light{color:var(--cyan)}.hero-actions{display:flex;gap:22px;align-items:center;margin-top:32px}.button-cyan{background:var(--cyan);color:var(--navy);border-color:var(--cyan)}.button-cyan:hover{background:#DCC084}.light-link{color:var(--white)}.text-link{color:var(--blue);font-size:13px;font-weight:800;display:inline-flex;gap:7px;align-items:center}.hero-panel{background:rgba(255,255,255,.09);border:1px solid rgba(205,174,94,.28);padding:27px;border-radius:var(--radius)}.panel-label,.card-kicker{font:500 10px var(--font-body);letter-spacing:.09em;text-transform:uppercase;color:var(--blue)}.hero-panel .panel-label{color:var(--cyan)}.hero-panel ol{padding:0;margin:20px 0;list-style:none}.hero-panel li{display:flex;gap:12px;margin:16px 0;font-size:13px}.hero-panel b{color:var(--cyan)}.hero-panel a{font-size:13px;font-weight:800;color:var(--cyan)}.trust-strip{background:var(--fill);padding:14px 0;font-size:11px;font-weight:700}.trust-strip .container{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.section{padding:90px 0}.section-tint{background:var(--paper)}.section-intro{max-width:680px;margin-bottom:42px}.section-intro h2,.section-heading h2{margin:12px 0}.section-intro p{color:var(--muted)}.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.tool-card{border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;align-items:start;min-height:270px;transition:.25s}.tool-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.tool-card.feature{background:var(--navy);color:var(--white);border-color:var(--navy)}.tool-card p{font-size:14px;color:var(--muted)}.tool-card.feature p{color:var(--on-dark)}.tool-card a{font-size:13px;font-weight:800;color:var(--blue);margin-top:auto}.tool-card.feature a{color:var(--cyan)}.icon-box{height:42px;width:42px;display:grid;place-items:center;border-radius:12px;background:var(--fill);color:var(--blue);margin-bottom:22px}.icon-box svg{width:21px}.split{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:start}.sticky-copy{position:sticky;top:110px}.sticky-copy h2{margin:12px 0 19px}.sticky-copy p{color:var(--muted)}.button-outline{background:transparent;color:var(--blue);margin-top:10px}.check-stack{display:grid;gap:11px}.check-stack>div{display:flex;gap:15px;border:1px solid var(--line);background:var(--white);border-radius:12px;padding:17px;font-size:13px}.check-stack svg{flex:0 0 20px;color:var(--blue)}.check-stack b{display:block;font-size:14px}.section-heading.row{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.guide-grid,.factor-grid,.dept-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.guide-card{border-top:2px solid var(--brass);background:var(--paper);padding:24px;min-height:205px}.guide-card svg{color:var(--blue);width:22px}.guide-card h3{margin:20px 0 8px}.guide-card p{font-size:13px;color:var(--muted)}.cta-band{background:var(--brass);padding:49px 0;color:var(--on-primary)}.cta-band .container{display:flex;align-items:center;justify-content:space-between;gap:20px}.cta-band h2{margin:8px 0 0}.button-white{background:var(--navy);color:var(--white);border-color:var(--navy);white-space:nowrap}.simple-hero{padding:86px 0 58px;background:linear-gradient(120deg,var(--surface),var(--bg))}.simple-hero.compact{padding:65px 0 45px}.simple-hero h1{margin:12px 0 17px}.simple-hero p{font-size:18px;color:var(--muted)}.guide-list{display:grid;gap:0}.guide-list article{display:grid;grid-template-columns:100px 1fr;gap:25px;padding:45px 0;border-bottom:1px solid var(--line)}.guide-list h2{font-size:clamp(1.6rem,3vw,2.45rem);margin:10px 0 14px}.guide-list p,.guide-list li{color:var(--muted)}.guide-list ul{padding-left:18px;font-size:14px}.guide-number{font:500 34px var(--font-heading);color:var(--blue)}.centered{text-align:center;max-width:750px}.centered p{color:var(--muted)}.price-note,.directory-notice{display:flex;gap:15px;align-items:start;background:var(--callout-bg);border:1px solid var(--callout-border);border-radius:12px;padding:18px;margin-bottom:25px;font-size:13px}.price-note p,.directory-notice p{margin:0}.price-note svg,.directory-notice svg{color:var(--blue);flex:none}.price-table-wrap{overflow:auto}.price-table{border-collapse:collapse;width:100%;min-width:650px}.price-table th{text-align:left;background:var(--navy);color:var(--white);padding:16px;font-size:12px}.price-table td{padding:19px 16px;border-bottom:1px solid var(--line);font-size:13px}.price-table small{display:block;color:var(--muted)}.price-table strong{color:var(--blue)}.factor-grid{grid-template-columns:repeat(2,1fr)}.factor-grid div{padding:18px;border-left:2px solid var(--brass)}.factor-grid svg{width:20px;color:var(--blue);display:block;margin-bottom:13px}.factor-grid b,.factor-grid span{display:block;font-size:13px}.factor-grid span{color:var(--muted);margin-top:4px}.wide{max-width:770px;margin:25px 0}.large-tools .tool-card{min-height:330px}.calculator,.brief-builder{display:grid;grid-template-columns:1fr .85fr;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.calculator form,.brief-builder form{padding:30px}.estimate-result,.brief-preview{padding:30px;background:var(--navy);color:var(--white)}.estimate-result strong{display:block;color:var(--cyan);font-size:clamp(2rem,4vw,3.2rem);line-height:1.1;margin:22px 0 10px}.estimate-result>span:not(.card-kicker){font-size:13px;color:var(--on-dark)}.estimate-result hr{border:0;border-top:1px solid var(--secondary-hover);margin:25px 0}.estimate-result p{font-size:12px;color:var(--on-dark)}.estimate-result a{font-size:13px;color:var(--cyan);font-weight:800}label{display:block;font-size:12px;font-weight:800;margin-bottom:17px}input,select,textarea{width:100%;font:14px var(--font-body);border:1px solid var(--line);border-radius:9px;padding:12px;margin-top:6px;background:var(--white);color:var(--ink)}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.verify-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:80px}.checklist{margin-top:24px}.checklist label{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);font-weight:400;cursor:pointer}.checklist input{width:19px;height:19px;accent-color:var(--brass);flex:none}.checklist b{display:block;font-size:14px}.checklist label.checked{color:var(--muted)}.verify-panel{background:var(--callout-bg);padding:28px;border-radius:var(--radius);align-self:start}.verify-panel>svg{color:var(--blue);width:32px;height:32px}.verify-panel h3{margin:18px 0 8px}.verify-panel p{font-size:13px;color:var(--muted)}.verify-panel .micro{margin:18px 0 0}.brief-preview h2{margin:16px 0}.brief-preview dl{font-size:13px}.brief-preview dt{color:var(--cyan);font:500 10px var(--font-body);text-transform:uppercase;margin-top:17px}.brief-preview dd{margin:4px 0;color:var(--white)}.brief-preview h3{font-size:15px;margin-top:25px}.brief-preview p{font-size:13px;color:var(--on-dark)}.muted{color:var(--on-dark)}.dept-grid article{padding:26px;background:var(--paper);border-radius:var(--radius)}.dept-grid span{font:500 30px var(--font-heading);color:var(--blue)}.dept-grid h2{font-size:20px;margin:15px 0 8px}.dept-grid p{font-size:13px;color:var(--muted)}.dept-grid a{font-size:12px;font-weight:800;color:var(--blue)}.legal-content{max-width:800px}.legal-content h2{font-size:23px;margin:34px 0 10px}.legal-content p{color:var(--muted)}.site-footer{background:var(--navy);color:var(--on-dark);padding:60px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:34px}.footer-brand{color:var(--white)}.site-footer p{font-size:13px;color:var(--on-dark-soft);max-width:300px;margin-top:14px}.site-footer h2{font-size:12px;letter-spacing:0;margin:0 0 13px;color:var(--cyan)}.site-footer a:not(.brand){display:block;font-size:12px;color:var(--on-dark);margin:8px 0}.footer-bottom{border-top:1px solid var(--secondary-hover);margin-top:34px;padding-top:17px;color:var(--on-dark-faint);display:flex;justify-content:space-between;font:10px var(--font-body)}.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:800px){.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:77px;left:0;right:0;padding:20px;background:var(--navy);border-bottom:1px solid var(--secondary-hover);flex-direction:column;align-items:stretch;gap:18px}.main-nav.open{display:flex}.hero{padding:65px 0}.hero-grid,.split,.calculator,.brief-builder,.verify-layout{grid-template-columns:1fr;gap:35px}.hero-panel{max-width:500px}.trust-strip .container{justify-content:flex-start}.tool-grid{grid-template-columns:1fr}.guide-grid,.dept-grid{grid-template-columns:1fr 1fr}.section{padding:62px 0}.sticky-copy{position:static}.cta-band .container{align-items:start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.factor-grid{grid-template-columns:1fr 1fr}}@media(max-width:500px){.container{width:min(100% - 30px,1120px)}.hero-actions{align-items:start;flex-direction:column}.guide-grid,.dept-grid,.factor-grid,.footer-grid,.form-row{grid-template-columns:1fr}.guide-list article{grid-template-columns:1fr;gap:5px;padding:34px 0}.guide-number{font-size:22px}.section-heading.row{align-items:start;gap:18px;flex-direction:column}.footer-bottom{gap:8px;align-items:start;flex-direction:column}.simple-hero{padding:60px 0 40px}.calculator form,.brief-builder form,.estimate-result,.brief-preview{padding:22px}}@media print{.site-header,.site-footer,.simple-hero,form{display:none}.brief-builder{display:block;border:0}.brief-preview{background:#fff;color:#000;padding:0}.brief-preview dd,.brief-preview p{color:#000}.brief-preview dt{color:var(--secondary)}.brief-preview .button{display: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-body);font-size:11px;font-weight:400;color:var(--text-muted)}
.sub-nav a:hover,.sub-nav a:focus{background:var(--fill);color:var(--blue);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(--blue)}
@media(max-width:800px){
.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}
}

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

/*
 * Conteneurs posés par l'orchestrateur lui-même (pages légales, plan du site)
 * et par les blocs d'enrichissement des builders : `.wrap`, `.article-layout`,
 * `.narrow-content`. Sur les fronts qui ne les stylent pas — le cas de tout
 * builder non melodine — ces pages s'affichaient bord à bord, sans gouttière,
 * donc PLUS larges que la home : l'inverse exact du défaut corrigé au-dessus,
 * et invisible tant qu'on ne regarde que les pages d'outils.
 *
 * Les règles ci-dessous ne mordent que si la feuille du front ne définit pas
 * déjà ces classes, puisqu'elles sont posées en fin de feuille sans `!important`
 * et à spécificité minimale.
 */
.wrap,
.narrow-content,
.article-layout{width:min(1140px,calc(100% - 40px));margin-inline:auto}
.article-body{max-width:72ch}

@media(max-width:650px){
.wrap,
.narrow-content,
.article-layout{width:min(100% - 28px,1140px)}
}

/* ===== BLOC OUTILS — FIL D’ARIANE, ANCRE DE RÉSULTAT, FAQ (05c) ===== */
.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:14px;font:500 11px/1.4 var(--font-body, Inter, sans-serif);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted, #566B77)}
.breadcrumb a{color:var(--blue, #6B551C);text-decoration:none}
.breadcrumb a:hover,.breadcrumb a:focus{text-decoration:underline}
.breadcrumb span[aria-current]{color:var(--text-secondary, #3E5460)}
.breadcrumb-sep{color:var(--text-faint, #A9B4BA)}
#resultat{display:block;height:0;scroll-margin-top:min(78vh,620px)}
#resultat:focus{outline:none}
html:has(#resultat[autofocus]){scroll-behavior:auto}
.faq-list{margin-top:24px}
.faq-list details{border:1px solid var(--line, #D5CFC1);border-radius:12px;background:var(--surface, #F6F3EC);margin-bottom:11px}
.faq-list summary{cursor:pointer;padding:17px 20px;font:600 15px/1.35 var(--font-heading, 'Zilla Slab', Georgia, serif);color:var(--text-strong, #0E1B22);list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"";float:right;width:7px;height:7px;margin:6px 2px 0 12px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.faq-list details[open] summary::after{transform:rotate(-135deg);margin-top:9px}
.faq-list summary:hover,.faq-list summary:focus{color:var(--blue, #6B551C)}
.faq-body{padding:0 20px 18px;font-size:14px;color:var(--text-secondary, #3E5460)}
.faq-body p{margin:0 0 10px}
.faq-body p:last-child{margin-bottom:0}
.tool-callout{background:var(--callout-bg, #F7EFD9);border:1px solid var(--callout-border, #DFCB94);border-radius:12px;padding:22px 24px;margin:26px 0}
.tool-callout h3{margin:0 0 10px;color:var(--callout-text, #6B551C)}
.tool-callout p,.tool-callout li{font-size:14px;color:var(--text-secondary, #3E5460)}
.tool-callout ol,.tool-callout ul{margin:0;padding-left:20px}
.tool-callout li{margin-bottom:8px}
.tool-callout li:last-child{margin-bottom:0}
@media(max-width:500px){.breadcrumb{font-size:10px}.faq-list summary{padding:15px 16px;font-size:14px}.faq-body{padding:0 16px 15px}}

/* ===== 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(24,47,58,.30)}

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

/* ===== CONTRASTE HERO D’ARTICLE (06a) — le hero du thème est un aplat laiton :
   le texte blanc hérité y tombe à 2,14:1. On repasse sur l’encre lisible SUR le
   primaire (--on-primary), qui donne 5,6:1 sur le ton plein et 6,5:1 sur le clair. */
.guide-hero .author-byline{color:var(--on-primary, #182F3A)}
.guide-hero .byline-author a{color:var(--on-primary, #182F3A)}
.guide-hero .page-dates time{color:var(--on-primary, #182F3A)}

/* ===== BLOC LISTE DE SOURCES (audit des chiffres) ===== */
.source-list{list-style:none;margin:18px 0 0;padding:0}
.source-list li{padding:13px 0;border-bottom:1px solid var(--line, #D5CFC1);font-size:13px}
.source-list li:last-child{border-bottom:0}
.source-list a{color:var(--blue, #6B551C);font-weight:700;border-bottom:1px solid currentColor}
.source-list span{display:block;margin-top:4px;font-size:12px;color:var(--text-muted, #566B77)}

/* ===== LARGEUR UNIFIÉE — CLASSES DU FRONT supervisions.fr =====
 * Le bloc 05c ci-dessus ne connaît pas les conventions de ce builder. Les pages
 * de contenu adoptent ici la largeur exacte de la home (.container), les
 * contrôles de formulaire restent plafonnés : un select étiré sur 1120 px
 * n'est pas un choix de style, c'est une régression d'usage.
 */
.narrow{max-width:none}
.legal-content{max-width:none}
.centered{max-width:none}
.wide{max-width:none}
.wrap,
.narrow-content,
.article-layout{width:min(1120px, calc(100% - 40px));margin-inline:auto}
.article-body{max-width:none}
.calculator select,.calculator input[type=number],.calculator input[type=text],
.brief-builder select,.brief-builder input[type=number],.brief-builder input[type=text],
.brief-builder textarea,
.verify-layout select,.verify-layout input[type=number],.verify-layout input[type=text]{max-width:520px}
@media(max-width:500px){
.wrap,
.narrow-content,
.article-layout{width:min(100% - 30px,1120px)}
}

/* ===== LISIBILITÉ DU SOUS-MENU OUTILS =====
 * Le panneau déroulant a un fond clair alors qu'il est posé dans un header
 * bleu de nuit : sans couleur propre, ses libellés héritaient du blanc du
 * header, soit 1,11:1 sur le beige. Dans le tiroir mobile, le fond redevient
 * sombre : la couleur doit s'inverser, sans quoi on ne fait que déplacer le
 * défaut. Les deux contextes sont donc déclarés séparément.
 */
.sub-nav a{color:var(--text, #17282F)}
.sub-nav a small{color:var(--text-muted, #566B77)}

@media(max-width:800px){
.sub-nav a{color:var(--white, #FFFFFF)}
.sub-nav a:hover,.sub-nav a:focus{color:var(--cyan, #CDAE5E)}
.sub-nav-all{color:var(--cyan, #CDAE5E)}
}

/* ===== BLOC IMAGES — marque et figures de contenu =====
 * L emblème remplace une icône vectorielle dans un slot de 33 px : il doit se
 * comporter comme elle, sans déborder ni imposer sa hauteur intrinsèque.
 */
.brand-mark img{display:block;width:19px;height:19px;object-fit:contain}
.page-figure{margin:0 0 34px}
.page-figure img{display:block;width:100%;height:auto;border-radius:var(--radius, 18px);border:1px solid var(--line, #D5CFC1)}
.page-figure figcaption{margin-top:10px;font-size:12px;line-height:1.5;color:var(--text-muted, #566B77)}
.page-figure.in-body{margin:30px 0 34px}
.author-card{display:flex;gap:20px;align-items:flex-start}
.author-photo{flex:0 0 96px;width:96px;height:96px;border-radius:50%;object-fit:cover;border:1px solid var(--line, #D5CFC1)}
@media(max-width:500px){.author-card{gap:14px}.author-photo{flex-basis:64px;width:64px;height:64px}}
