@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=IBM+Plex+Sans:wght@400;500;600&display=swap');
:root{--primary: #A4472B;--primary-hover: #8C3B23;--on-primary: #FFFFFF;--secondary: #2B2622;--secondary-hover: #3D3631;--bg: #F3EBDD;--surface: #FBF7F0;--text: #2B2622;--text-secondary: #4A413A;--text-strong: #1C1815;--text-muted: #6E6259;--text-faint: #B9AC9B;--fill: #EADFCC;--border: #DCCDB6;--white: #FFFFFF;--callout-bg: #F6E4DC;--callout-text: #7A3220;--callout-border: #A4472B}
:root{--ink:var(--secondary);--ink-deep:var(--text-strong);--clay:var(--primary);--clay-dark:var(--primary-hover);--sand:var(--fill);--cream:var(--bg);--paper:var(--surface);--muted:var(--text-muted);--line:var(--border);--blue:var(--primary);--aqua:var(--fill);--serif:'Fraunces',Georgia,serif;--sans:'IBM Plex Sans',Arial,sans-serif;--space:clamp(1rem,3vw,2rem)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink-deep);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit}.skip-link{position:absolute;left:-9999px;top:1rem;background:#fff;padding:1rem;z-index:100}.skip-link:focus{left:1rem}.site-header{height:84px;background:rgba(243,235,221,.96);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(43,38,34,.08);backdrop-filter:blur(12px)}.header-inner{height:100%;max-width:1380px;padding:0 5.5%;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:10px;align-items:center;font-size:25px;font-weight:700;letter-spacing:-1.4px;line-height:1}.brand-mark{width:39px;height:39px;display:grid;place-items:center;background:var(--clay);color:white;clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%);font-family:var(--serif);font-size:25px;font-weight:400}.brand-dot{color:var(--clay)}.brand small{display:block;font-size:8px;letter-spacing:1.7px;font-weight:700;margin-top:5px;color:#6E6259}.main-nav{display:flex;align-items:center;gap:clamp(15px,2.3vw,34px);font-size:12px;font-weight:600}.main-nav>a:not(.nav-cta){transition:color .2s}.main-nav>a:hover{color:var(--clay)}.nav-cta{background:var(--ink);color:white;padding:12px 16px;border-radius:2px}.nav-cta:hover{background:var(--clay);color:#fff!important}.nav-cta span{margin-left:8px}.menu-toggle{display:none;border:0;background:transparent;color:var(--ink);padding:8px}.hero-home{min-height:680px;display:grid;grid-template-columns:1.03fr .97fr;position:relative;overflow:hidden;background:#EADFCC}.hero-copy{padding:clamp(65px,9vw,125px) 8vw 110px max(8vw,calc((100vw - 1280px)/2));align-self:center;position:relative;z-index:2}.eyebrow,.section-kicker{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--clay);margin:0 0 19px;text-transform:uppercase}.eyebrow-line{display:inline-block;width:27px;height:1px;background:var(--clay);vertical-align:middle;margin-right:9px}.hero-copy h1{font:clamp(48px,6vw,78px)/1.02 var(--serif);letter-spacing:-1.8px;max-width:660px;margin:0 0 24px}.hero-copy h1 em{color:var(--clay);font-style:normal}.hero-lead{font-size:16px;max-width:520px;color:#4A413A;line-height:1.8}.hero-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:31px}.button{display:inline-flex;align-items:center;gap:24px;padding:15px 19px;font-weight:700;font-size:12px;transition:all .22s;border:1px solid transparent}.button span{font-size:18px}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:var(--clay);transform:translateY(-2px)}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid #B9AC9B;padding-bottom:5px}.text-link span{margin-left:8px;color:var(--clay)}.hero-proof{display:flex;align-items:center;gap:13px;margin-top:49px}.proof-icon{width:40px;height:40px;background:#E3D5BF;display:grid;place-items:center;border-radius:50%}.proof-icon svg{width:18px}.hero-proof strong,.hero-proof small{display:block}.hero-proof strong{font-size:12px}.hero-proof small{font-size:10px;color:var(--muted)}.hero-visual{position:relative;min-height:650px;overflow:hidden}.hero-visual>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(43,38,34,.04),transparent 45%,rgba(28,24,21,.14))}.image-stamp{position:absolute;right:11%;top:15%;z-index:1;background:var(--cream);padding:19px 22px 17px;transform:rotate(3deg);box-shadow:0 9px 30px #2B262226}.image-stamp span,.image-stamp i{display:block;font-style:normal;font-size:8px;letter-spacing:1.8px;color:var(--clay);font-weight:700}.image-stamp strong{display:block;font:27px/1.05 var(--serif);margin:10px 0}.image-stamp i{color:var(--muted);letter-spacing:1px;font-size:8px}.photo-caption{position:absolute;bottom:29px;left:30px;z-index:1;background:#F3EBDDE8;padding:9px 13px;font-size:10px;color:#4A413A}.hero-scroll{position:absolute;bottom:24px;left:5.5%;font-size:9px;letter-spacing:1.5px;font-weight:700;color:#6E6259}.hero-scroll span{color:var(--clay);margin-left:9px;font-size:14px}.intro-band{max-width:1180px;margin:auto;padding:51px 7%;display:grid;grid-template-columns:180px 1fr 48px;align-items:center;gap:30px;border-bottom:1px solid var(--line)}.section-kicker{font-size:9px;margin:0}.intro-band>p{max-width:760px;margin:0;font:20px/1.55 var(--serif);color:var(--ink)}.intro-band>p strong{color:var(--clay);font-weight:400}.round-link{height:43px;width:43px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:.2s}.round-link:hover{background:var(--ink);color:white}.round-link svg{width:18px}.section-wrap{max-width:1260px;margin:auto;padding:100px 6%}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px;gap:35px}.section-heading h2,.feature-copy h2,.faq-intro h2,.evidence-head h2{font:clamp(34px,4vw,51px)/1.12 var(--serif);letter-spacing:-.8px;margin:0}.section-heading>p{max-width:350px;color:var(--muted);font-size:13px;margin:0 0 5px}.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.path-card{min-height:338px;padding:25px 27px 24px;display:flex;flex-direction:column;position:relative;transition:transform .25s,box-shadow .25s}.path-card:hover{transform:translateY(-5px);box-shadow:0 18px 35px #2B262216}.card-diagnose{background:#ECE3D2}.card-clean{background:#EFE5D5}.card-repair{background:#EEDDD0}.card-number{font-size:9px;letter-spacing:1.5px;color:#6E6259;font-weight:700}.path-card>i{position:absolute;right:24px;top:22px;color:var(--clay);width:22px}.path-card h3{font:32px/1.09 var(--serif);margin:43px 0 11px;letter-spacing:-.4px}.path-card p{font-size:12px;color:#5A4F47;max-width:290px;line-height:1.7;margin:0 0 25px}.card-arrow{margin-top:auto;font-size:11px;font-weight:700}.card-arrow b{font-size:16px;color:var(--clay);margin-left:7px}.split-feature{display:grid;grid-template-columns:1fr 1fr;background:#EADFCC;min-height:520px}.feature-photo{position:relative;min-height:480px}.feature-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo-tag{position:absolute;bottom:22px;left:23px;background:var(--cream);padding:9px 13px;font-size:9px;letter-spacing:1.4px;font-weight:700}.feature-copy{align-self:center;padding:75px clamp(35px,8vw,120px)}.feature-copy h2{max-width:520px;margin:0 0 22px}.feature-copy>p:not(.eyebrow){font-size:13px;line-height:1.85;color:#5A4F47;max-width:500px}.button-outline{margin-top:17px;border-color:#6E6259;color:var(--ink);background:transparent}.button-outline:hover{background:var(--ink);color:#fff}.evidence-section{max-width:1120px;margin:auto;padding:104px 7%;display:grid;grid-template-columns:.9fr 1fr;column-gap:100px;row-gap:22px}.evidence-head h2{font-size:43px;margin-bottom:18px}.evidence-head>p:last-child{font-size:13px;color:var(--muted);line-height:1.85}.evidence-list>div{display:grid;grid-template-columns:43px 1fr;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}.evidence-list>div:first-child{padding-top:0}.evidence-list span{font:23px var(--serif);color:var(--clay)}.evidence-list p{margin:0;font-size:12px;color:#5A4F47}.evidence-list strong{color:var(--ink)}.evidence-section>.text-link{grid-column:2;justify-self:start}.quote-banner{min-height:300px;background:var(--ink);color:#F3EBDD;text-align:center;padding:58px 20px 55px;position:relative}.quote-mark{font:74px/.8 var(--serif);color:#D7896B}.quote-banner p{font:clamp(23px,3vw,35px)/1.35 var(--serif);margin:14px 0 24px}.quote-banner p strong{font-weight:400;color:#E9B9A3}.quote-note{font-size:9px;letter-spacing:2px;color:#C9B9A4}.faq-section{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px}.faq-intro>p:last-child{font-size:13px;color:var(--muted);margin-top:18px}.faq-list details{border-bottom:1px solid var(--line);padding:19px 0}.faq-list details:first-child{padding-top:0}.faq-list summary{cursor:pointer;font-weight:600;font-size:14px;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font-size:20px;color:var(--clay);line-height:1}.faq-list details[open] summary:after{content:'−'}.faq-list details p{font-size:12px;color:#5A4F47;line-height:1.8;max-width:700px;margin:13px 30px 0 0}.closing-cta{background:#E6D5C3;padding:57px max(7%,calc((100% - 1120px)/2));display:flex;justify-content:space-between;align-items:center;gap:35px}.closing-cta .eyebrow{margin-bottom:12px}.closing-cta h2{font:clamp(27px,3.4vw,40px)/1.15 var(--serif);margin:0;max-width:620px}.closing-cta p:not(.eyebrow){font-size:12px;color:#5A4F47;margin:12px 0 0}.button-light{background:var(--ink);color:#fff;flex-shrink:0}.button-light:hover{background:var(--clay)}.site-footer{background:#2B2622;color:#F3EBDD;padding:57px 6% 20px}.footer-top{max-width:1200px;margin:auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:55px;padding-bottom:45px}.brand-light{color:#fff}.brand-light small{color:#C2B39F}.footer-brand>p{font:19px var(--serif);color:#D9CCBA;max-width:250px;margin-top:22px}.footer-links{display:flex;flex-direction:column;gap:11px;font-size:11px;color:#D4C6B3}.footer-links strong{font-size:10px;color:#D7896B;text-transform:uppercase;letter-spacing:1.4px;margin-bottom:6px}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid #ffffff24;padding-top:17px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#B9AC9B}.reveal-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.reveal-on-scroll.revealed{opacity:1;transform:translateY(0)}
/* Editorial guide pages */
.page-hero{padding:88px 7% 75px;background:#EADFCC}.page-hero-inner{max-width:1150px;margin:auto;display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center}.page-hero h1{font:clamp(45px,6vw,72px)/1.04 var(--serif);letter-spacing:-1.3px;max-width:700px;margin:0 0 20px}.page-hero h1 em{color:var(--clay);font-style:normal}.page-hero p.lead{font-size:15px;color:#5A4F47;line-height:1.85;max-width:660px}.page-hero img{width:100%;height:340px;object-fit:cover}.article-layout{max-width:1050px;margin:auto;padding:75px 7% 100px}.article-layout h2{font:36px/1.15 var(--serif);margin:43px 0 13px}.article-layout h3{font:24px var(--serif);margin:27px 0 9px}.article-layout p,.article-layout li{font-size:14px;color:#4A413A;line-height:1.9}.article-layout ul,.article-layout ol{padding-left:22px}.article-layout li{padding:4px 0}.note-box{background:#EFE5D5;border-left:3px solid var(--clay);padding:21px 24px;margin:27px 0}.note-box p{margin:5px 0}.note-box strong{color:var(--ink)}.article-meta{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--clay);font-weight:700}.steps{counter-reset:step}.steps article{counter-increment:step;display:grid;grid-template-columns:55px 1fr;gap:18px;border-bottom:1px solid var(--line);padding:22px 0}.steps article:before{content:'0' counter(step);font:27px var(--serif);color:var(--clay)}.steps h3{margin:0}.steps p{margin:8px 0 0}.method-table{width:100%;border-collapse:collapse;margin:24px 0;font-size:12px}.method-table th,.method-table td{text-align:left;border-bottom:1px solid var(--line);padding:13px;vertical-align:top}.method-table th{background:#EFE5D5;color:var(--ink)}.method-table td{color:#5A4F47}.diagnostic-tool{background:#EFE5D5;padding:30px;margin:28px 0}.diagnostic-tool h2{margin-top:0}.diagnostic-tool select{width:100%;padding:13px;border:1px solid #B9AC9B;background:#FBF7F0;font:inherit;color:var(--ink);margin:8px 0 18px}.diagnostic-tool label{display:block;font-size:12px;font-weight:700}.diagnostic-tool button{cursor:pointer}.diagnostic-result{background:var(--paper);padding:18px;margin-top:16px;border-left:3px solid var(--clay);font-size:13px;min-height:54px}.diagnostic-result p{margin:0;font-size:13px}.form-disclaimer{font-size:10px!important;color:#6E6259!important}.resource-links a{color:var(--clay-dark);text-decoration:underline;text-underline-offset:3px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:35px 0}.about-grid div{padding:24px;background:#F1E9DB}.about-grid h3{margin-top:0}.page-cta{margin:35px 0;padding:26px;background:var(--ink);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:25px}.page-cta p{color:#E8DCC8;margin:0}.page-cta .button{background:#F3EBDD;color:var(--ink)}
@media(max-width:900px){.header-inner{padding:0 5%}.main-nav{gap:14px}.main-nav>a{font-size:10px}.nav-cta{padding:10px}.hero-home{min-height:620px}.hero-copy{padding-left:7vw;padding-right:4vw}.hero-visual{min-height:600px}.intro-band{grid-template-columns:1fr 45px;gap:12px}.intro-band .section-kicker{grid-column:1/-1}.evidence-section{column-gap:45px}.faq-section{gap:40px}.page-hero-inner{gap:30px}}
@media(max-width:680px){.site-header{height:70px}.brand{font-size:22px}.brand-mark{width:35px;height:35px}.menu-toggle{display:block}.menu-toggle svg{width:23px}.main-nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--cream);padding:18px 6% 24px;box-shadow:0 12px 16px #2B262220;align-items:stretch;flex-direction:column;gap:0}.main-nav.is-open{display:flex}.main-nav>a:not(.nav-cta){padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.nav-cta{margin-top:15px;text-align:center;font-size:12px}.hero-home{display:flex;flex-direction:column;min-height:auto}.hero-copy{padding:58px 7% 39px}.hero-copy h1{font-size:52px}.hero-lead{font-size:14px}.hero-actions{gap:18px;margin-top:25px}.hero-proof{margin-top:31px}.hero-visual{min-height:400px;width:100%}.hero-visual>img{object-position:center 60%}.image-stamp{top:10%;right:7%}.hero-scroll{display:none}.intro-band{padding:34px 7%;grid-template-columns:1fr 42px}.intro-band>p{font-size:18px}.section-wrap{padding:70px 6%}.section-heading{display:block}.section-heading h2{font-size:40px}.section-heading>p{margin-top:16px}.path-grid{grid-template-columns:1fr;gap:10px}.path-card{min-height:275px}.path-card h3{margin-top:32px}.split-feature{grid-template-columns:1fr}.feature-photo{min-height:350px}.feature-copy{padding:51px 7% 60px}.feature-copy h2{font-size:40px}.evidence-section{padding:70px 7%;grid-template-columns:1fr;gap:25px}.evidence-head h2{font-size:39px}.evidence-section>.text-link{grid-column:1}.quote-banner{min-height:270px;padding:48px 7%}.quote-banner p{font-size:26px}.faq-section{grid-template-columns:1fr;gap:28px}.faq-intro h2{font-size:39px}.closing-cta{padding:43px 7%;display:block}.closing-cta .button{margin-top:24px}.footer-top{grid-template-columns:1fr 1fr;gap:34px 20px}.footer-brand{grid-column:1/-1}.footer-bottom{display:block;line-height:1.8}.footer-bottom span{display:block}.page-hero{padding:58px 7% 42px}.page-hero-inner{grid-template-columns:1fr;gap:24px}.page-hero h1{font-size:48px}.page-hero img{height:260px}.article-layout{padding:52px 7% 75px}.article-layout h2{font-size:31px}.method-table{font-size:10px}.method-table th,.method-table td{padding:8px}.about-grid{grid-template-columns:1fr;gap:12px}.page-cta{display:block}.page-cta .button{margin-top:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}.reveal-on-scroll{opacity:1;transform:none}}
/* 01c — footer 4 colonnes */
@media(min-width:681px){.footer-top{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:45px}}
/* 05-tools — outils hexaterre (début) */
.page-hero-inner.tool-hero-inner{grid-template-columns:1fr}
.breadcrumb{max-width:1150px;margin:0 auto;padding:18px 7% 0;font-size:11px;color:var(--text-muted)}
.breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.breadcrumb li+li:before{content:'›';margin-right:6px;color:var(--primary)}
.breadcrumb a{text-decoration:underline;text-underline-offset:2px}
.tool-form{background:var(--surface);border:1px solid var(--border);padding:26px;margin:30px 0;display:grid;gap:18px}
.tool-form fieldset{border:0;margin:0;padding:0;display:grid;gap:10px}
.tool-form legend{font:20px var(--serif);color:var(--text-strong);margin-bottom:6px}
.tool-form label{font-size:13px;font-weight:600;color:var(--text)}
.tool-form .hint{display:block;font-weight:400;font-size:12px;color:var(--text-muted)}
.tool-form input[type=number],.tool-form input[type=text],.tool-form select{width:100%;max-width:340px;min-height:44px;padding:8px 10px;border:1px solid var(--border);background:var(--white);font:inherit;color:var(--text)}
.tool-form .choices{display:grid;gap:8px}
.tool-form .choices label{font-weight:400;display:flex;gap:10px;align-items:flex-start;min-height:32px}
.tool-form input[type=radio],.tool-form input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary);flex-shrink:0;margin-top:2px}
.tool-form button{justify-self:start;min-height:46px;padding:12px 22px;background:var(--primary);color:var(--on-primary);border:0;font-weight:700;cursor:pointer}
.tool-form button:hover{background:var(--primary-hover)}
#resultat{scroll-margin-top:100px;outline:none}
html:has(#resultat[autofocus]){scroll-behavior:auto}
.tool-result{border:2px solid var(--primary);background:var(--surface);padding:24px 26px;margin:10px 0 30px}
.tool-result h2{margin-top:0!important}
.tool-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0}
.tool-figures div{background:var(--fill);padding:14px 16px}
.tool-figures strong{display:block;font:30px/1.1 var(--serif);color:var(--primary);font-variant-numeric:tabular-nums}
.tool-figures span{font-size:12px;color:var(--text-secondary)}
.tool-msg{background:var(--callout-bg);color:var(--callout-text);border-left:3px solid var(--callout-border);padding:14px 18px;font-size:13px}
.faq-tool details{border-bottom:1px solid var(--border);padding:14px 0}
.faq-tool summary{cursor:pointer;font-weight:600;font-size:14px}
.diag-sheet table{width:100%;border-collapse:collapse;font-size:13px}
.diag-sheet th,.diag-sheet td{border:1px solid var(--border);padding:10px;text-align:left;vertical-align:top}
.diag-sheet .blank{height:42px}
@media print{.site-header,.site-footer,.breadcrumb,.page-hero,.tool-form,.no-print,.skip-link{display:none!important}.diag-sheet{display:block!important}body{background:#fff}.article-layout{padding:0}.article-layout>*:not(.diag-sheet):not(#resultat){display:none!important}}
/* 05-tools — outils hexaterre (fin) */

/* ===== 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}
}
/* 05b — sous-titre Outils dans la colonne Navigation du footer */
.footer-links .footer-subhead{margin-top:14px}

/* ===== 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 --- */
.header-inner{max-width:none!important}   /* styles.css : 1380px */
.hero-copy h1{max-width:none!important}   /* styles.css : 660px */
.hero-lead{max-width:none!important}   /* styles.css : 520px */
.intro-band{max-width:none!important}   /* styles.css : 1180px */
.intro-band>p{max-width:none!important}   /* styles.css : 760px */
.section-wrap{max-width:none!important}   /* styles.css : 1260px */
.section-heading>p{max-width:none!important}   /* styles.css : 350px */
.feature-copy h2{max-width:none!important}   /* styles.css : 520px */
.feature-copy>p:not(.eyebrow){max-width:none!important}   /* styles.css : 500px */
.faq-list details p{max-width:none!important}   /* styles.css : 700px */
.closing-cta h2{max-width:none!important}   /* styles.css : 620px */
.footer-top{max-width:none!important}   /* styles.css : 1200px */
.footer-brand>p{max-width:none!important}   /* styles.css : 250px */
.page-hero-inner{max-width:none!important}   /* styles.css : 1150px */
.page-hero h1{max-width:none!important}   /* styles.css : 700px */
.page-hero p.lead{max-width:none!important}   /* styles.css : 660px */
.article-layout{max-width:none!important}   /* styles.css : 1050px */
.breadcrumb{max-width:none!important}   /* styles.css : 1150px */
.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-home { grid-template-columns: 1.03fr .97fr }  (styles.css) */
/*   .split-feature { grid-template-columns: 1fr 1fr }  (styles.css) */
/*   .page-hero-inner { grid-template-columns: 1.2fr .8fr }  (styles.css) */
/*   .about-grid { grid-template-columns: 1fr 1fr }  (styles.css) */
/*   .footer-top { grid-template-columns: 1fr 1fr }  (styles.css) */
/* --- relevé automatique : fin --- */

/* Règles tranchées à la main, conservées au rejeu de 06a2. */
/* 06a2 — arbitrage : .faq-section est une grille de texte (intitulé / corps) → une colonne. Les autres (hero, split-feature, page-hero-inner, about-grid, footer-top) portent image+texte ou des colonnes de cartes : conservées. */
.faq-section{grid-template-columns:1fr!important;gap:28px!important}


/* 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)}
.toc{background:var(--surface);border:1px solid var(--border);padding:18px 22px;margin:28px 0}

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