:root{--primary: #B24A38;--primary-hover: #A04232;--on-primary: #FFFFFF;--secondary: #2E3A40;--secondary-hover: #3C4A52;--bg: #F2EDE4;--surface: #FAF6EF;--text: #2E3A40;--text-secondary: #4E5F68;--text-strong: #14232B;--text-muted: #58686F;--text-faint: #A79E90;--fill: #E8E0D3;--border: #D9D0C0;--white: #FFFFFF;--font-heading: Fraunces, Georgia, serif;--font-body: Inter, Arial, sans-serif;--callout-bg: #F7E9E3;--callout-text: #7E3226;--callout-border: #E3C4B9;--blue:var(--primary);--sky:#FBEEE9;--ink:var(--secondary);--cream:var(--bg);--paper:var(--fill);--coral:var(--primary);--line:var(--border);--muted:var(--text-muted);--radius:22px;--shadow:0 18px 48px #2e3a4014}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.65}.wrap{width:min(1140px,calc(100% - 40px));margin:auto}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Fraunces,Georgia,serif;line-height:1.04;letter-spacing:-.04em}h1{font-size:clamp(2.8rem,6vw,5.5rem)}h2{font-size:clamp(2rem,4vw,3.4rem)}h3{line-height:1.2;font-size:1.2rem}em{color:var(--blue);font-style:italic}.site-header{background:#fbf8f2e8;backdrop-filter:blur(12px);border-bottom:1px solid #e6dfd2;position:sticky;top:0;z-index:5}.nav-wrap{min-height:78px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:9px;color:var(--ink);font-family:Fraunces,serif;font-size:1.05rem;line-height:.83;text-decoration:none}.brand b{color:var(--blue)}.brand-mark{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:white;font-family:Inter;font-size:1.8rem}.main-nav{display:flex;align-items:center;gap:25px}.main-nav a{font-size:.85rem;font-weight:700;text-decoration:none;color:var(--ink)}.main-nav a.active{color:var(--blue)}.nav-cta{background:var(--ink);color:#fff!important;border-radius:999px;padding:10px 15px}.menu-toggle{display:none;border:0;background:none}.hero{position:relative;isolation:isolate;min-height:650px;display:flex;align-items:center;overflow:hidden;background:var(--ink);padding:88px 0}.hero-background,.hero-overlay{position:absolute;inset:0;width:100%;height:100%}.hero-background{z-index:-2;object-fit:cover;object-position:center 55%}.hero-overlay{z-index:-1;background:linear-gradient(90deg,rgba(46,58,64,.92) 0%,rgba(46,58,64,.74) 46%,rgba(46,58,64,.22) 100%)}.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,680px) 1fr;align-items:end}.hero-copy{color:#fff}.hero .kicker{color:var(--sky)}.hero h1{color:#fff;text-shadow:0 2px 22px #14232b80}.hero h1 em{color:#f7dfd7}.hero-lead{color:#e9e2d8}.button-row{display:flex;align-items:center;gap:24px;margin-top:31px}.button{display:inline-flex;align-items:center;gap:9px;padding:13px 18px;background:var(--blue);color:#fff;border:0;border-radius:999px;font:700 .87rem Inter;text-decoration:none;cursor:pointer;transition:.25s}.button:hover{transform:translateY(-2px);box-shadow:0 8px 22px #b24a3842}.button-dark{background:var(--ink)}.hero .text-link{color:#fff}.text-link{color:var(--blue);font-weight:800;text-decoration:none;display:inline-flex;gap:8px;align-items:center}.hero-sticker{justify-self:end;background:#fff;padding:14px 17px;box-shadow:var(--shadow);border-radius:15px;transform:rotate(-5deg);display:flex;gap:8px;align-items:center;line-height:1.1}.hero-sticker strong{font:700 1.8rem Fraunces;color:var(--coral)}.hero-sticker span{font-size:.7rem}.intro{padding:115px 0}.intro-grid{display:grid;grid-template-columns:1.1fr .7fr;gap:70px}.intro-grid p{color:var(--muted);padding-top:15px}.kicker,.eyebrow,.section-no{font:500 .74rem Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.guide-card{min-height:330px;padding:27px;border-radius:var(--radius);display:flex;flex-direction:column}.guide-card span{font:500 .75rem Inter;opacity:.7}.guide-card>i{margin:35px 0 19px;width:28px;height:28px}.guide-card h3{font-family:Fraunces;font-size:1.55rem;margin-bottom:10px}.guide-card p{font-size:.92rem;line-height:1.55;margin-bottom:20px}.guide-card a{margin-top:auto;color:inherit;font-weight:800;text-decoration:none;font-size:.86rem}.blue{background:#efe2dc}.coral{background:#f7ddd3}.cream{background:#eee7d6}.decision{margin-top:112px;background:var(--blue);color:white;padding:84px 0}.decision .eyebrow{color:var(--sky)}.decision h2{color:white}.decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:120px;align-items:center}.decision-box{border-radius:var(--radius);background:#fff;padding:28px;color:var(--ink);box-shadow:var(--shadow)}.decision-box label{font-weight:800;font-size:.85rem}.decision-box select,.calc-row input{width:100%;border:1px solid var(--line);font:inherit;border-radius:10px;padding:12px;margin:7px 0 15px;background:white}.decision-box #repair-result{margin:17px 0 0;color:#4e5f68;font-size:.88rem;min-height:50px}.addresses-home{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;padding:112px 0}.address-photo img{width:100%;height:510px;border-radius:190px 190px 20px 20px;object-fit:cover}.address-copy p{color:var(--muted)}.checks{padding:0;list-style:none;font-size:.9rem;margin:26px 0}.checks li{display:flex;gap:10px;margin:9px 0}.checks i{color:var(--blue);width:18px}.manifesto{background:var(--ink);color:#fff;padding:93px 0}.manifesto .kicker{color:var(--sky)}.manifesto h2{color:#fff;max-width:800px}.manifesto p:not(.kicker){max-width:665px;color:#dcd5c9}.text-link-light{color:var(--sky)}.page{padding-bottom:100px}.page-hero{padding:82px 0 67px;max-width:1140px}.page-hero h1{margin-bottom:22px}.page-hero>p{font-size:1.14rem;max-width:620px;color:#4e5f68}.article-section{padding:62px 0;display:grid;grid-template-columns:180px 1fr;gap:70px;border-top:1px solid var(--line)}.article-aside span{font:700 2.7rem Fraunces;color:var(--primary)}.article-aside p{font:500 .73rem Inter;text-transform:uppercase}.article-section article{max-width:770px}.article-section h2{margin-bottom:22px}.content-band{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;padding:55px 0;margin:8px auto 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.content-band h2{font-size:clamp(1.8rem,3.2vw,2.7rem);margin:0}.content-band div:last-child{color:var(--muted)}.content-band div:last-child p:last-child{margin-bottom:0}.tips,.comparison,.need-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:30px 0}.tips>div,.comparison>div,.need-grid article{padding:21px;background:white;border:1px solid #e6dfd2;border-radius:15px}.tips i,.comparison i,.need-grid i{color:var(--blue)}.tips h3,.comparison h3,.need-grid h3{margin:12px 0 6px}.tips p,.comparison p,.need-grid p{font-size:.85rem;color:var(--muted);line-height:1.55;margin:0}.steps{padding-left:22px}.steps li{padding:10px 0 10px 8px}.calculator{background:#f1e9dc;border-radius:var(--radius);padding:27px;margin-top:32px}.calculator h3{font-family:Fraunces;font-size:1.5rem}.calc-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.calc-row label{font-size:.78rem;font-weight:800}.calculator #calc-result{font-weight:700;margin:14px 0 0}.faq{padding:65px 0 0;max-width:850px}.faq h2{margin-bottom:25px}.faq details{border-top:1px solid var(--line);padding:17px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:800;padding-right:25px;position:relative}.faq summary::after{content:'+';position:absolute;right:3px;color:var(--blue);font-size:1.3rem}.faq details[open] summary::after{content:'–'}.faq details p{color:var(--muted);padding-top:12px;margin-bottom:0}.cta-strip{background:#f7ddd3;border-radius:var(--radius);padding:35px;display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:65px}.cta-strip h2{font-size:clamp(1.6rem,3vw,2.5rem);margin:0}.repair-feature{padding:58px 0 90px;display:grid;grid-template-columns:1fr .8fr;gap:72px;align-items:center}.repair-feature img{width:100%;height:490px;object-fit:cover;border-radius:20px}.comparison{grid-template-columns:1fr 1fr}.method{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:#eee7d6;border-radius:var(--radius);padding:47px;margin-bottom:80px}.method h2{margin:0}.method p{color:#4e5f68}.method .button{margin-top:10px}.local-note{display:flex;gap:24px;background:var(--paper);border-radius:var(--radius);padding:37px;margin-top:80px}.local-note>i{color:var(--coral);width:40px;height:40px;flex:none}.local-note h2{font-size:2rem;margin-bottom:10px}.local-note p{max-width:800px;margin:0;color:var(--muted)}.story{display:grid;grid-template-columns:.9fr 1fr;gap:76px;align-items:center;padding:30px 0 90px}.story img{width:100%;height:520px;object-fit:cover;border-radius:20px 160px 20px 20px}.story p{color:var(--muted)}.site-footer{background:#14232b;color:#dcd5c9;padding:57px 0 20px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:28px}.footer-brand{color:#fff;margin-bottom:17px}.footer-grid p{font-size:.86rem;line-height:1.65}.footer-grid a:not(.brand){display:block;color:#dcd5c9;text-decoration:none;font-size:.86rem;margin:5px 0}.footer-grid .eyebrow{color:var(--sky)}.update-note{opacity:.65;margin-top:20px}.footer-bottom{border-top:1px solid #ffffff29;margin-top:30px;padding-top:17px;display:flex;justify-content:space-between;font-size:.72rem}.not-found{padding:140px 0;min-height:55vh}.not-found p:not(.kicker){font-size:1.1rem;color:var(--muted);max-width:500px}.reveal-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.revealed{opacity:1;transform:none}@media(max-width:760px){.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fbf8f2;padding:22px 20px;box-shadow:var(--shadow);align-items:start;flex-direction:column;gap:14px}.main-nav.open{display:flex}.hero{min-height:590px;padding:62px 0 55px;align-items:end}.hero-background{object-position:62% center}.hero-overlay{background:linear-gradient(0deg,rgba(46,58,64,.92) 0%,rgba(46,58,64,.74) 57%,rgba(46,58,64,.24) 100%)}.hero-grid,.intro-grid,.decision-grid,.addresses-home,.repair-feature,.story,.method,.content-band{grid-template-columns:1fr;gap:32px}.hero-sticker{display:none}.intro{padding:72px 0}.guide-grid,.tips,.need-grid{grid-template-columns:1fr}.guide-card{min-height:230px}.guide-card>i{margin:20px 0 15px}.decision{margin-top:68px;padding:60px 0}.addresses-home{padding:70px 0}.address-photo img{height:360px}.page-hero{padding:55px 0 40px}.article-section{grid-template-columns:1fr;gap:10px;padding:45px 0}.article-aside{display:flex;align-items:center;gap:14px}.article-aside span{font-size:2rem}.article-aside p{margin:0}.content-band{padding:42px 0}.comparison{grid-template-columns:1fr}.cta-strip{padding:28px;align-items:start;flex-direction:column}.repair-feature{padding:35px 0 60px}.repair-feature img{height:320px}.calc-row,.footer-grid{grid-template-columns:1fr}.footer-bottom{gap:8px;flex-direction:column}.section-heading{align-items:start;gap:15px;flex-direction:column}.method{margin-bottom:50px}.local-note{margin-top:55px;padding:27px;align-items:start}.story{padding-bottom:60px}.story img{height:350px}.button-row{flex-wrap:wrap}.reveal-on-scroll{opacity:1;transform: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(--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}
}

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

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

/* --- Front fil-et-couleurs : classes RÉELLES de ce builder -----------------
 * Le gabarit du parc ci-dessus vise `.guide-narrow` / `.article-narrow` /
 * `.content-narrow`, qui n'existent sur aucune page de ce front : le bloc était
 * posé, validé par 05c, et sans le moindre effet. Ce sont les sélecteurs
 * suivants qui tenaient les pages internes plus étroites que la home.
 *
 * Référence = la home : `.wrap` → min(1140px, 100% - 40px).
 * `!important` réservé aux conteneurs dont la contrainte est déclarée APRÈS
 * cette feuille (le `<style>` en ligne de /plan-du-site).
 */

/* 1. Chapô des pages internes : colonne de 620px. */
.page-hero > p{max-width:none}

/* 2. Sections numérotées. La colonne de 180px et sa gouttière de 70px
 *    décalaient le texte de 250px et le plafonnaient à 770px : le lecteur
 *    voyait une page plus étroite ET désaxée en passant de la home.
 *    Le repère chiffré passe au-dessus, en ligne, comme au format mobile. */
.article-section{grid-template-columns:1fr;gap:20px}
.article-section .article-aside{display:flex;align-items:baseline;gap:14px}
.article-section .article-aside span{font-size:2.1rem;line-height:1}
.article-section .article-aside p{margin:0}
.article-section article{max-width:none}

/* 3. Blocs éditoriaux plafonnés sous la largeur de la home. */
.faq{max-width:none}
.local-note p{max-width:none}

/* 4. Pages légales (04-pages-legales) : `.article-body` était borné à 72ch. */
.article-body{max-width:none}

/* 5. Plan du site (01d) : son `<style>` en ligne est plus tardif que cette
 *    feuille, d'où `!important`. `.container` n'est défini nulle part sur ce
 *    front — sans la règle ci-dessous la page s'affiche bord à bord. */
.psm-wrap,
main .container{width:min(1140px,calc(100% - 40px))!important;max-width:none!important;margin-inline:auto}
/* Chapô du plan du site : même traitement que `.page-hero > p`. */
.psm-hero p{max-width:none!important}

/* 6. Les CONTRÔLES de formulaire, eux, restent plafonnés : un `input` ou un
 *    `select` étiré sur 1140px n'est pas un parti pris, c'est une régression
 *    d'usage. Le formulaire garde une largeur de saisie confortable. */
.calculator .calc-row{max-width:820px}
.calculator .calc-row input,
.calculator .calc-row select,
.calculator .calc-row label{max-width:400px}

@media(max-width:760px){
.article-section{gap:12px}
.calculator .calc-row,
.calculator .calc-row input,
.calculator .calc-row select,
.calculator .calc-row label{max-width:none}
}

/* ===== BLOC IMAGES DU PLAN 07 =============================================
 * Logo de marque dans le chrome, et figures éditoriales des pages de contenu.
 * Le logo n'est posé QUE dans le header : il est en ardoise, et sur le fond
 * sombre du footer il disparaît. Le footer garde son bloc de marque en texte,
 * dessiné pour ce fond — contrôlé sur planche avant pose.
 */
.brand-logo{display:block;height:34px;width:auto}
.brand .brand-logo{margin:0}
@media(max-width:760px){.brand-logo{height:29px}}

.page-figure{margin:0 0 38px;border-radius:var(--radius);overflow:hidden}
.page-figure img{display:block;width:100%;height:clamp(240px,34vw,420px);object-fit:cover}
.page-figure figcaption{padding:11px 2px 0;font-size:.78rem;color:var(--text-muted)}

.article-figure{margin:26px 0 4px;border-radius:var(--radius);overflow:hidden}
.article-figure img{display:block;width:100%;height:clamp(210px,26vw,340px);object-fit:cover}
.article-figure figcaption{padding:10px 2px 0;font-size:.78rem;color:var(--text-muted)}

/* Portrait de l'auteur dans le bloc de signature en pied de page. */
.author-card{display:flex;gap:22px;align-items:flex-start}
.author-portrait{flex:none;width:88px;height:88px;border-radius:50%;object-fit:cover}
@media(max-width:760px){.author-card{gap:16px}.author-portrait{width:66px;height:66px}}
