:root{--primary: #C1552C;--primary-hover: #A64622;--on-primary: #FFFFFF;--secondary: #3E6E8E;--secondary-hover: #335C77;--bg: #FAF7F4;--surface: #FFFFFF;--text: #2B2D2E;--text-secondary: #4A4E50;--text-strong: #1A1C1D;--text-muted: #6E7376;--text-faint: #C9CDCF;--fill: #F2EDE8;--border: #E2DBD4;--white: #FFFFFF;--primary-color: #C1552C;--secondary-color: #3E6E8E;--light-color: #FAF7F4;--dark-color: #2B2D2E;--dark-light: #4A4E50;--gray-100: #F2EDE8;--gray-200: #E2DBD4;--gray-300: #C9CDCF;--gray-600: #6E7376;--gray-800: #1A1C1D;--callout-bg: #FBF0E9;--callout-text: #8A3B18;--callout-border: #EBD3C4;--font-heading: 'Barlow Condensed';--font-body: 'Source Serif 4';--blue:var(--primary);--deep:#2E5266;--sky:#A9C6D8;--ink:var(--text);--muted:var(--text-muted);--cream:var(--bg);--line:var(--border);--coral:#E0A458;--yellow:#E0A458;--radius:22px;--shadow:0 16px 40px rgba(43,45,46,.1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#FFFFFF;font-family:'Source Serif 4',Georgia,serif;line-height:1.55}.container{width:min(1130px,calc(100% - 40px));margin:auto}.site-header{height:80px;display:flex;align-items:center;border-bottom:1px solid #E2DBD4;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.nav-wrap{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:10px;align-items:center;color:var(--ink);font-weight:500;font-size:19px;text-decoration:none;line-height:1}.brand b{color:var(--blue)}.brand small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-top:5px}.brand-mark{display:grid;place-items:center;background:var(--blue);color:#FFFFFF;width:36px;height:36px;border-radius:11px}.brand-mark svg{width:20px}.main-nav{display:flex;align-items:center;gap:23px}.main-nav a{font-size:14px;color:var(--ink);font-weight:600;text-decoration:none}.main-nav a:hover,.text-link:hover{color:var(--blue)}.main-nav .nav-cta{background:var(--blue);color:#FFFFFF;padding:11px 14px;border-radius:10px;display:flex;gap:5px}.nav-cta svg{width:15px}.menu-toggle{display:none;border:0;background:none;color:var(--ink)}.hero{background:var(--cream);overflow:hidden;padding:74px 0 68px}.hero-grid,.estimate-grid{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:60px}.eyebrow{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--blue);letter-spacing:.11em;display:flex;align-items:center;gap:7px}.eyebrow svg{width:15px}.hero h1,.section-heading h2,.estimate-section h2,.editorial h2,.faq h2,.not-found h1{font-family:'Barlow Condensed',Impact,sans-serif;line-height:1.05;letter-spacing:-.045em}.hero h1{font-size:clamp(44px,5.4vw,69px);margin:15px 0 20px;max-width:700px}.hero h1 em{color:var(--blue);font-style:normal}.hero-copy>p{color:var(--muted);font-size:18px;max-width:570px;margin-bottom:27px}.hero-actions{display:flex;align-items:center;gap:22px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border:0;cursor:pointer;font:700 14px 'Source Serif 4';padding:14px 19px;border-radius:11px;transition:.25s}.button svg{width:17px}.primary{background:var(--blue);color:#FFFFFF;box-shadow:0 9px 20px rgba(193,85,44,.22)}.primary:hover{background:#A64622;transform:translateY(-2px)}.dark{background:var(--ink);color:#FFFFFF}.text-link{font-weight:700;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:7px;font-size:14px}.text-link svg{width:16px}.trust-row{display:flex;gap:22px;margin-top:42px;color:var(--muted);font-size:13px}.trust-row span+span{border-left:1px solid var(--line);padding-left:22px}.trust-row b{color:var(--ink);display:block;font-size:17px}.hero-panel{background:#DCE8EF;border-radius:30px;height:390px;padding:23px;position:relative;overflow:hidden}.weather-dot{display:flex;align-items:center;gap:10px;color:var(--deep);font-size:12px;position:relative;z-index:2}.weather-dot svg{background:#F7E3C4;color:#C98A2B;padding:7px;width:35px;height:35px;border-radius:50%}.home-illustration{position:absolute;inset:0}.house{position:absolute;bottom:0;right:13%;width:270px;height:215px}.roof{position:absolute;width:205px;height:205px;background:var(--deep);transform:rotate(45deg);top:-98px;left:32px;border-radius:18px}.wall{position:absolute;bottom:0;width:270px;height:165px;background:#FFFFFF;border-radius:7px 7px 0 0;display:grid;place-content:center;justify-items:center;color:var(--blue);z-index:1}.wall svg{width:36px;height:36px}.wall b{font-size:27px}.sun{position:absolute;right:-46px;top:33px;width:145px;height:145px;background:#F3D9A8;border-radius:50%}.float-card{position:absolute;z-index:2;display:flex;align-items:center;gap:8px;background:#FFFFFF;padding:11px;border-radius:12px;box-shadow:var(--shadow);font-size:11px;line-height:1.25}.float-card i{width:28px;height:28px;padding:6px;border-radius:8px;background:#FBF0E9;color:#C1552C}.float-card b{font-size:12px}.card-one{left:21px;bottom:76px}.card-two{right:14px;top:123px}.card-two i{background:#E3EDF3;color:var(--blue)}section{padding:76px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:27px}.section-heading h2,.estimate-section h2,.editorial h2,.faq h2{font-size:clamp(32px,4vw,46px);margin:8px 0 0}.section-heading p{max-width:310px;margin:0;color:var(--muted)}.quick{margin-top:-3px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.quick-card{border-radius:var(--radius);padding:25px;text-decoration:none;color:var(--ink);min-height:245px;display:flex;flex-direction:column;transition:.25s}.quick-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.quick-card>svg{width:27px;height:27px;margin-bottom:24px}.quick-card h3{font-size:20px;line-height:1.15;margin:0 0 10px}.quick-card p{font-size:14px;margin:0;color:#4A4E50}.quick-card span{margin-top:auto;font-size:13px;font-weight:700;display:flex;gap:5px;align-items:center}.quick-card span svg{width:15px}.coral{background:#FBF0E9}.blue{background:#E7EFF4}.yellow{background:#F7EEDC}.estimate-section{background:var(--deep);color:#FFFFFF}.estimate-section .eyebrow{color:var(--sky)}.estimate-section p{color:#B9CBD6;max-width:500px}.check-list{list-style:none;padding:0;margin:25px 0}.check-list li{margin:10px 0;display:flex;gap:9px;align-items:center}.check-list i{color:var(--sky);width:17px}.estimator{background:#FFFFFF;color:var(--ink);padding:28px;border-radius:var(--radius);box-shadow:0 18px 35px rgba(0,0,0,.15)}.estimator h3{font-size:20px;margin:0 0 20px}.estimator label{font-size:13px;font-weight:700;display:block;margin:14px 0 6px}.estimator select{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;background:#FFFFFF;font:14px 'Source Serif 4';color:var(--ink)}.estimator input{width:100%;accent-color:var(--blue)}.range-label{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.range-label b{font-size:13px;color:var(--ink)}.estimate-result{margin-top:23px;background:#EDF2F5;border-radius:13px;padding:17px}.estimate-result span,.estimate-result small{display:block;color:#4A6E85;font-size:12px}.estimate-result strong{display:block;font-family:'Barlow Condensed';font-size:29px;color:var(--blue);margin:3px 0}.pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.pillar-grid article{border:1px solid var(--line);border-radius:17px;padding:23px}.pillar-icon{width:41px;height:41px;border-radius:12px;background:#EDF2F5;color:var(--blue);display:grid;place-items:center}.pillar-icon svg{width:21px}.pillar-grid h3{font-size:18px;margin:22px 0 7px}.pillar-grid p{font-size:13px;color:var(--muted);min-height:82px}.pillar-grid a{font-size:13px;font-weight:700;color:var(--blue);text-decoration:none}.editorial{padding-top:0}.editorial-card{background:#E0A458;border-radius:var(--radius);padding:43px;display:grid;grid-template-columns:.4fr 1fr 1fr auto;align-items:center;gap:25px}.editorial-number{font:70px 'Barlow Condensed';color:rgba(43,45,46,.18)}.editorial h2{font-size:37px}.editorial p{font-size:14px;margin:0}.faq{max-width:850px}.faq h2{margin:7px 0 24px}.faq details{border-top:1px solid var(--line);padding:18px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;font-weight:700;display:flex;justify-content:space-between;gap:15px}.faq summary::-webkit-details-marker{display:none}.faq summary svg{width:17px}.faq p{color:var(--muted);font-size:14px;max-width:680px}.site-footer{background:var(--ink);color:#C9CDCF;padding:50px 0 20px}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:35px}.brand-footer{color:#FFFFFF}.brand-footer .brand-mark{background:var(--sky);color:var(--deep)}.footer-grid p{max-width:300px;font-size:13px}.footer-grid h2{font-size:13px;color:#FFFFFF;margin:0 0 13px}.footer-grid a:not(.brand){display:block;color:#C9CDCF;text-decoration:none;font-size:13px;margin:8px 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:38px;padding-top:17px;font-size:11px;display:flex;justify-content:space-between;gap:15px}.reveal-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal-on-scroll.revealed{opacity:1;transform:none}.not-found{min-height:60vh;padding-top:120px}.not-found p{color:var(--muted);margin-bottom:28px}
/* article pages */.page-hero{background:var(--cream);padding:62px 0 52px}.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:19px}.breadcrumb a{color:var(--blue);text-decoration:none}.page-hero h1{font:clamp(39px,5vw,60px)/1.05 'Barlow Condensed';margin:10px 0 17px;letter-spacing:-.04em;max-width:800px}.page-hero p{max-width:680px;font-size:18px;color:var(--muted)}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:65px;padding-top:58px}.article-layout h2{font:34px/1.12 'Barlow Condensed';margin:38px 0 13px;letter-spacing:-.03em}.article-layout h3{font-size:20px;margin:28px 0 8px}.article-layout p,.article-layout li{color:#4A4E50}.article-layout li{margin:8px 0}.article-layout ul{padding-left:19px}.info-box{background:#FBF0E9;border-left:4px solid var(--blue);border-radius:0 13px 13px 0;padding:18px 20px;color:#8A3B18;font-size:14px}.toc{height:max-content;position:sticky;top:105px;border:1px solid var(--line);border-radius:15px;padding:19px}.toc b{font-size:13px}.toc a{display:block;text-decoration:none;color:var(--muted);font-size:13px;margin:11px 0}.toc a:hover{color:var(--blue)}.data-table{width:100%;border-collapse:collapse;font-size:14px;margin:20px 0}.data-table th{text-align:left;background:#F2EDE8}.data-table th,.data-table td{padding:12px;border-bottom:1px solid var(--line)}.article-cta{background:var(--deep);color:#FFFFFF;border-radius:18px;padding:27px;margin:38px 0}.article-cta h3{margin:0 0 8px}.article-cta p{color:#C9CDCF}.article-cta .button{margin-top:7px}.search-panel{background:#E7EFF4;border-radius:18px;padding:25px;margin:25px 0}.search-panel input{width:100%;border:1px solid #E2DBD4;border-radius:10px;padding:13px;font:14px 'Source Serif 4'}.code-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:20px 0}.code{padding:16px;border:1px solid var(--line);border-radius:13px}.code b{color:var(--blue);font-size:19px}.code p{margin:5px 0 0;font-size:13px}.steps{counter-reset:step;list-style:none;padding:0}.steps li{counter-increment:step;padding:0 0 20px 52px;position:relative}.steps li:before{content:counter(step);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#FFFFFF;background:var(--blue);font-weight:700}.steps li:after{content:'';position:absolute;left:15px;top:34px;width:1px;height:calc(100% - 34px);background:var(--line)}.steps li:last-child:after{display:none}@media(max-width:850px){.main-nav{display:none;position:absolute;top:80px;left:0;right:0;background:#FFFFFF;padding:18px 20px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:15px}.main-nav.open{display:flex}.menu-toggle{display:block}.hero-grid,.estimate-grid,.article-layout{grid-template-columns:1fr;gap:35px}.hero-panel{height:315px}.article-layout{padding-top:32px}.toc{display:none}.pillar-grid{grid-template-columns:repeat(2,1fr)}.editorial-card{grid-template-columns:1fr 1fr}.editorial-number{display:none}.editorial-card .button{width:max-content}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.container{width:min(100% - 30px,1130px)}.hero{padding:48px 0}.hero h1{font-size:43px}.hero-actions{align-items:flex-start;flex-direction:column;gap:15px}.trust-row{gap:10px;margin-top:31px}.trust-row span+span{padding-left:10px}.quick-grid,.pillar-grid,.code-list{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column;gap:12px}.section-heading h2{font-size:36px}.editorial-card{padding:28px;grid-template-columns:1fr}.editorial h2{font-size:35px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.hero-panel{height:270px}.house{transform:scale(.82);transform-origin:bottom right}.card-two{top:80px}.page-hero{padding:45px 0 38px}.article-layout h2{font-size:30px}}

/* ============================================================================
   Sous-menu « Strumenti » + composants comparateur — ajout hors builder.
   Tokens en var(--token-orchestrateur, var(--token-front, #hex)) : cohérent
   cross-mode, résistant à une repeinture DA future.
   ============================================================================ */
.nav-item{position:relative;display:flex;align-items:center;padding:12px 0}
.nav-sub-toggle{font:600 14px 'Source Serif 4',Georgia,serif;color:var(--dark-color,var(--text,#2B2D2E));background:none;border:0;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:5px}
.nav-sub-toggle:hover{color:var(--primary-color,var(--primary,#C1552C))}
.nav-sub-toggle svg{width:15px;transition:transform .2s}
.nav-item.open>.nav-sub-toggle svg{transform:rotate(180deg)}
.sub-menu{display:none;position:absolute;top:calc(100% + 4px);left:-14px;min-width:296px;background:var(--surface,#FFFFFF);border:1px solid var(--gray-200,var(--border,#E2DBD4));border-radius:15px;box-shadow:var(--shadow);padding:9px;z-index:20}
.nav-item:hover>.sub-menu,.nav-item:focus-within>.sub-menu,.nav-item.open>.sub-menu{display:block}
.sub-menu-head{display:block;padding:8px 12px 7px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--gray-600,var(--text-muted,#6E7376))}
.main-nav .sub-menu a{display:block;padding:10px 12px;border-radius:10px;font-size:14px;line-height:1.25}
.main-nav .sub-menu a small{display:block;font-size:12px;font-weight:400;color:var(--gray-600,var(--text-muted,#6E7376));margin-top:3px}
.main-nav .sub-menu a:hover{background:var(--gray-100,var(--fill,#F2EDE8));color:var(--primary-color,var(--primary,#C1552C))}
.main-nav .sub-menu a.sub-menu-all{margin-top:5px;border-top:1px solid var(--gray-200,var(--border,#E2DBD4));border-radius:0 0 10px 10px;color:var(--primary-color,var(--primary,#C1552C));font-weight:700}

/* Grille de la page hub /strumenti */
.tools-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:26px 0}
.tool-card{display:flex;flex-direction:column;border:1px solid var(--gray-200,var(--border,#E2DBD4));border-radius:17px;padding:23px;background:var(--surface,#FFFFFF);text-decoration:none;color:var(--dark-color,var(--text,#2B2D2E));transition:.22s}
.tool-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--primary-color,var(--primary,#C1552C))}
.tool-card .pillar-icon{background:var(--gray-100,var(--fill,#F2EDE8));color:var(--primary-color,var(--primary,#C1552C))}
.tool-card h3{font-size:19px;margin:19px 0 8px;line-height:1.15}
.tool-card p{font-size:14px;color:var(--gray-600,var(--text-muted,#6E7376));margin:0 0 16px}
.tool-card span{margin-top:auto;font-size:13px;font-weight:700;color:var(--primary-color,var(--primary,#C1552C));display:flex;align-items:center;gap:5px}
.tool-card span svg{width:15px}
.tool-tag{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;padding:4px 9px;border-radius:99px;background:var(--gray-100,var(--fill,#F2EDE8));color:var(--gray-600,var(--text-muted,#6E7376));margin-bottom:4px;align-self:flex-start}

/* Comparateur : contrôles, verdict, colonnes, barres */
.field-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:18px 0 7px}
.field-row label{margin:0;font-size:13px;font-weight:700}
.field-row output{font:700 15px 'Barlow Condensed',Impact,sans-serif;letter-spacing:.02em;color:var(--primary-color,var(--primary,#C1552C));background:var(--gray-100,var(--fill,#F2EDE8));padding:3px 10px;border-radius:99px;font-variant-numeric:tabular-nums}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:99px;background:var(--gray-200,var(--border,#E2DBD4));outline:none;margin:4px 0 2px}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--primary-color,var(--primary,#C1552C));border:3px solid var(--white,#FFFFFF);box-shadow:0 2px 7px rgba(43,45,46,.25);cursor:pointer}
input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--primary-color,var(--primary,#C1552C));border:3px solid var(--white,#FFFFFF);box-shadow:0 2px 7px rgba(43,45,46,.25);cursor:pointer;border-color:var(--white,#FFFFFF)}
.hint{font-size:12px;color:var(--gray-600,var(--text-muted,#6E7376));margin:2px 0 0}

.chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 4px}
.chip{font:600 13px 'Source Serif 4',Georgia,serif;padding:8px 13px;border-radius:99px;border:1px solid var(--gray-200,var(--border,#E2DBD4));background:var(--surface,#FFFFFF);color:var(--dark-light,var(--text-secondary,#4A4E50));cursor:pointer;transition:.18s}
.chip:hover{border-color:var(--primary-color,var(--primary,#C1552C));color:var(--primary-color,var(--primary,#C1552C))}
.chip[aria-pressed=true]{background:var(--primary-color,var(--primary,#C1552C));border-color:var(--primary-color,var(--primary,#C1552C));color:var(--on-primary,#FFFFFF)}

.verdict{border-radius:17px;padding:22px 24px;margin:0 0 18px;background:var(--callout-bg,#FBF0E9);border:1px solid var(--callout-border,#EBD3C4);color:var(--callout-text,#8A3B18)}
.verdict .verdict-kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.11em;opacity:.85}
.verdict strong{display:block;font:700 clamp(26px,4.2vw,38px)/1.08 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.02em;margin:7px 0 6px;font-variant-numeric:tabular-nums}
.verdict p{margin:0;font-size:14px;line-height:1.5;color:var(--callout-text,#8A3B18)}

.compare{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.compare-col{border:1px solid var(--gray-200,var(--border,#E2DBD4));border-radius:15px;padding:19px;background:var(--surface,#FFFFFF)}
.compare-col.is-best{border-color:var(--primary-color,var(--primary,#C1552C));box-shadow:0 0 0 2px rgba(193,85,44,.12)}
.compare-col h4{margin:0;font:700 17px/1.15 'Barlow Condensed',Impact,sans-serif;letter-spacing:.01em;text-transform:uppercase}
.compare-col .cost{display:block;font:700 clamp(24px,3.6vw,32px)/1 'Barlow Condensed',Impact,sans-serif;margin:11px 0 3px;color:var(--dark-color,var(--text,#2B2D2E));font-variant-numeric:tabular-nums}
.compare-col .detail{font-size:12.5px;color:var(--gray-600,var(--text-muted,#6E7376));margin:0 0 13px;min-height:34px}
.bar{height:9px;border-radius:99px;background:var(--gray-100,var(--fill,#F2EDE8));overflow:hidden}
.bar i{display:block;height:100%;border-radius:99px;transition:width .45s ease}
.bar.gas i{background:var(--primary-color,var(--primary,#C1552C))}
.bar.pdc i{background:var(--secondary-color,var(--secondary,#3E6E8E))}
.badge-best{display:inline-block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:3px 8px;border-radius:99px;background:var(--primary-color,var(--primary,#C1552C));color:var(--on-primary,#FFFFFF);margin-left:7px;vertical-align:middle}

.kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0 0}
.kpi{border:1px solid var(--gray-200,var(--border,#E2DBD4));border-radius:13px;padding:14px}
.kpi b{display:block;font:700 21px/1 'Barlow Condensed',Impact,sans-serif;color:var(--dark-color,var(--text,#2B2D2E));margin-bottom:4px;font-variant-numeric:tabular-nums}
.kpi span{font-size:12px;color:var(--gray-600,var(--text-muted,#6E7376))}

details.method{border:1px solid var(--gray-200,var(--border,#E2DBD4));border-radius:14px;padding:0;margin:22px 0}
details.method>summary{cursor:pointer;list-style:none;padding:16px 19px;font-weight:700;font-size:14.5px;display:flex;justify-content:space-between;gap:14px}
details.method>summary::-webkit-details-marker{display:none}
details.method>summary::after{content:'+';font:700 20px 'Barlow Condensed',Impact,sans-serif;color:var(--primary-color,var(--primary,#C1552C))}
details.method[open]>summary::after{content:'\2212'}
details.method .method-body{padding:0 19px 18px}
details.method p{margin:0 0 11px;font-size:14px}

@media(max-width:850px){
  .nav-item{display:block}
  .nav-sub-toggle{width:100%;justify-content:space-between}
  .sub-menu{position:static;min-width:0;box-shadow:none;border:0;border-left:2px solid var(--gray-200,var(--border,#E2DBD4));border-radius:0;padding:5px 0 5px 13px;margin-top:11px}
  .nav-item:hover>.sub-menu,.nav-item:focus-within>.sub-menu{display:none}
  .nav-item.open>.sub-menu{display:block}
  .main-nav .sub-menu a.sub-menu-all{border-radius:0}
  .tools-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .compare{grid-template-columns:1fr}
  .kpi-row{grid-template-columns:1fr}
  .compare-col .detail{min-height:0}
}

/* ============================================================================
   Calcolatore BTU — échelle de tailles commerciales, liste multi-pièces, alerte.
   ============================================================================ */
.size-scale{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:18px 0 4px}
.size-step{border:1px solid var(--gray-200,var(--border,#E2DBD4));border-radius:11px;padding:11px 6px;text-align:center;background:var(--surface,#FFFFFF);transition:.25s}
.size-step b{display:block;font:700 16px/1 'Barlow Condensed',Impact,sans-serif;color:var(--dark-color,var(--text,#2B2D2E));font-variant-numeric:tabular-nums}
.size-step span{display:block;font-size:10.5px;color:var(--gray-600,var(--text-muted,#6E7376));margin-top:3px}
.size-step.is-under{opacity:.42}
.size-step.is-pick{background:var(--primary-color,var(--primary,#C1552C));border-color:var(--primary-color,var(--primary,#C1552C));transform:translateY(-3px);box-shadow:0 8px 18px rgba(193,85,44,.22)}
.size-step.is-pick b,.size-step.is-pick span{color:var(--on-primary,#FFFFFF)}
.scale-caption{font-size:12px;color:var(--gray-600,var(--text-muted,#6E7376));margin:0}

.warn{border-radius:14px;padding:15px 18px;margin:16px 0 0;font-size:14px;line-height:1.5;border:1px solid var(--callout-border,#EBD3C4);background:var(--callout-bg,#FBF0E9);color:var(--callout-text,#8A3B18)}
.warn b{font-weight:700}

.room-list{list-style:none;padding:0;margin:14px 0 0}
.room-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--gray-200,var(--border,#E2DBD4));border-radius:12px;margin-bottom:9px;background:var(--surface,#FFFFFF);font-size:14px}
.room-list .room-btu{font:700 16px/1 'Barlow Condensed',Impact,sans-serif;color:var(--primary-color,var(--primary,#C1552C));font-variant-numeric:tabular-nums;white-space:nowrap}
.room-del{border:0;background:none;cursor:pointer;color:var(--gray-600,var(--text-muted,#6E7376));padding:4px;line-height:0;border-radius:7px}
.room-del:hover{color:var(--primary-color,var(--primary,#C1552C));background:var(--gray-100,var(--fill,#F2EDE8))}
.room-del svg{width:16px}
.room-empty{font-size:13px;color:var(--gray-600,var(--text-muted,#6E7376));margin:12px 0 0}
.btn-ghost{font:700 13.5px 'Source Serif 4',Georgia,serif;display:inline-flex;align-items:center;gap:7px;padding:11px 16px;border-radius:10px;border:1px solid var(--primary-color,var(--primary,#C1552C));background:none;color:var(--primary-color,var(--primary,#C1552C));cursor:pointer;transition:.2s}
.btn-ghost:hover{background:var(--primary-color,var(--primary,#C1552C));color:var(--on-primary,#FFFFFF)}
.btn-ghost svg{width:15px}

@media(max-width:850px){.size-scale{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.size-scale{grid-template-columns:repeat(2,1fr)}}

/* ============================================================================
   Quiz guidé — une question par écran, barre de progression, cartes-réponses.
   ============================================================================ */
.quiz{border:1px solid var(--gray-200,var(--border,#E2DBD4));border-radius:19px;background:var(--surface,#FFFFFF);padding:26px;box-shadow:var(--shadow)}
.quiz-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.quiz-step{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--gray-600,var(--text-muted,#6E7376))}
.quiz-back{border:0;background:none;cursor:pointer;font:600 13px 'Source Serif 4',Georgia,serif;color:var(--gray-600,var(--text-muted,#6E7376));display:inline-flex;align-items:center;gap:5px;padding:4px 6px;border-radius:8px}
.quiz-back:hover{color:var(--primary-color,var(--primary,#C1552C));background:var(--gray-100,var(--fill,#F2EDE8))}
.quiz-back svg{width:14px}
.quiz-back[hidden]{display:none}
.quiz-progress{height:6px;border-radius:99px;background:var(--gray-100,var(--fill,#F2EDE8));overflow:hidden;margin-bottom:24px}
.quiz-progress i{display:block;height:100%;border-radius:99px;background:var(--primary-color,var(--primary,#C1552C));transition:width .35s ease}
.quiz h3{font:700 clamp(23px,3.4vw,30px)/1.14 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.01em;margin:0 0 6px}
.quiz .q-help{font-size:14px;color:var(--gray-600,var(--text-muted,#6E7376));margin:0 0 20px}
.q-options{display:grid;gap:11px}
.q-option{display:block;width:100%;text-align:left;padding:16px 18px;border:1px solid var(--gray-200,var(--border,#E2DBD4));border-radius:13px;background:var(--surface,#FFFFFF);cursor:pointer;transition:.18s;font-family:'Source Serif 4',Georgia,serif}
.q-option:hover{border-color:var(--primary-color,var(--primary,#C1552C));background:var(--gray-100,var(--fill,#F2EDE8))}
.q-option:focus-visible{outline:2px solid var(--primary-color,var(--primary,#C1552C));outline-offset:2px}
.q-option b{display:block;font-size:15.5px;font-weight:700;color:var(--dark-color,var(--text,#2B2D2E));line-height:1.25}
.q-option span{display:block;font-size:13px;color:var(--gray-600,var(--text-muted,#6E7376));margin-top:4px;line-height:1.4}
.q-option[aria-pressed=true]{border-color:var(--primary-color,var(--primary,#C1552C));background:var(--callout-bg,#FBF0E9)}

.recap{margin:22px 0 0;border-top:1px solid var(--gray-200,var(--border,#E2DBD4));padding-top:16px}
.recap b{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--gray-600,var(--text-muted,#6E7376));margin-bottom:10px}
.recap ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.recap li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13.5px}
.recap li span{color:var(--gray-600,var(--text-muted,#6E7376))}
.recap li button{border:0;background:none;padding:0;cursor:pointer;font:700 13.5px 'Source Serif 4',Georgia,serif;color:var(--dark-color,var(--text,#2B2D2E));text-align:right;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--gray-300,var(--text-faint,#C9CDCF))}
.recap li button:hover{color:var(--primary-color,var(--primary,#C1552C))}

.podium{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 0}
.podium div{border:1px solid var(--gray-200,var(--border,#E2DBD4));border-radius:13px;padding:15px}
.podium div.is-first{border-color:var(--primary-color,var(--primary,#C1552C));box-shadow:0 0 0 2px rgba(193,85,44,.12)}
.podium .rank{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--gray-600,var(--text-muted,#6E7376))}
.podium .who{display:block;font:700 18px/1.1 'Barlow Condensed',Impact,sans-serif;margin:6px 0 5px;color:var(--dark-color,var(--text,#2B2D2E))}
.podium .why{font-size:12.5px;color:var(--gray-600,var(--text-muted,#6E7376));margin:0}

.checklist{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}
.checklist li{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5}
.checklist li svg{width:17px;flex:0 0 17px;margin-top:3px;color:var(--primary-color,var(--primary,#C1552C))}

.result-actions{display:flex;flex-wrap:wrap;gap:11px;margin:22px 0 0}

@media(max-width:560px){
  .quiz{padding:20px 17px;border-radius:16px}
  .podium{grid-template-columns:1fr}
  .recap li{flex-direction:column;gap:2px}
  .recap li button{text-align:left}
}

/* ============================================================================
   Verificatore bonus — cartes de mesures, badges d'éligibilité, tableau sources.
   ============================================================================ */
.bonus-card{border:1px solid var(--gray-200,var(--border,#E2DBD4));border-radius:16px;padding:21px;margin:0 0 14px;background:var(--surface,#FFFFFF)}
.bonus-card.is-out{opacity:.72;border-style:dashed}
.bonus-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.bonus-head h3{margin:0;font:700 20px/1.15 'Barlow Condensed',Impact,sans-serif;letter-spacing:.01em;text-transform:uppercase}
.tag{display:inline-block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:4px 9px;border-radius:99px;white-space:nowrap}
.tag-yes{background:var(--primary-color,var(--primary,#C1552C));color:var(--on-primary,#FFFFFF)}
.tag-no{background:var(--gray-100,var(--fill,#F2EDE8));color:var(--gray-600,var(--text-muted,#6E7376))}
.tag-alt{background:var(--secondary-color,var(--secondary,#3E6E8E));color:var(--on-primary,#FFFFFF)}
.bonus-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:15px 0 13px}
.bonus-facts div{background:var(--gray-100,var(--fill,#F2EDE8));border-radius:11px;padding:11px 13px}
.bonus-facts b{display:block;font:700 19px/1 'Barlow Condensed',Impact,sans-serif;color:var(--dark-color,var(--text,#2B2D2E));font-variant-numeric:tabular-nums;margin-bottom:4px}
.bonus-facts span{font-size:11.5px;color:var(--gray-600,var(--text-muted,#6E7376));line-height:1.3;display:block}
.bonus-card p{font-size:14px;margin:0 0 10px}
.bonus-src{font-size:12.5px;color:var(--gray-600,var(--text-muted,#6E7376));border-top:1px solid var(--gray-200,var(--border,#E2DBD4));padding-top:11px;margin:13px 0 0}
.bonus-src a{color:var(--primary-color,var(--primary,#C1552C));font-weight:700}
.stamp{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:var(--gray-600,var(--text-muted,#6E7376));background:var(--gray-100,var(--fill,#F2EDE8));padding:5px 11px;border-radius:99px}
.stamp svg{width:13px}
.calc-out{background:var(--callout-bg,#FBF0E9);border:1px solid var(--callout-border,#EBD3C4);border-radius:13px;padding:16px 18px;margin:13px 0 0;color:var(--callout-text,#8A3B18)}
.calc-out b{display:block;font:700 25px/1 'Barlow Condensed',Impact,sans-serif;font-variant-numeric:tabular-nums;margin:3px 0 5px}
.calc-out span{font-size:12px;display:block}
.calc-out small{display:block;font-size:12.5px;line-height:1.5;margin-top:9px}
@media(max-width:560px){.bonus-facts{grid-template-columns:1fr}.bonus-head h3{font-size:18px}}

/* ============================================================================
   Database codici errore — recherche, suggestions, fiches de résultat.
   ============================================================================ */
.search-wrap{position:relative}
.search-panel input[type=search]{width:100%;border:1px solid var(--gray-200,var(--border,#E2DBD4));border-radius:11px;padding:14px 15px;font:15px 'Source Serif 4',Georgia,serif;color:var(--dark-color,var(--text,#2B2D2E));background:var(--surface,#FFFFFF)}
.search-panel input[type=search]:focus{outline:2px solid var(--primary-color,var(--primary,#C1552C));outline-offset:1px}
.suggest{position:absolute;z-index:15;left:0;right:0;top:calc(100% + 6px);background:var(--surface,#FFFFFF);border:1px solid var(--gray-200,var(--border,#E2DBD4));border-radius:13px;box-shadow:var(--shadow);padding:7px;max-height:290px;overflow-y:auto}
.suggest[hidden]{display:none}
.suggest button{display:block;width:100%;text-align:left;border:0;background:none;cursor:pointer;padding:9px 11px;border-radius:9px;font-family:'Source Serif 4',Georgia,serif}
.suggest button:hover,.suggest button.is-active{background:var(--gray-100,var(--fill,#F2EDE8))}
.suggest b{font:700 14.5px 'Barlow Condensed',Impact,sans-serif;letter-spacing:.03em;color:var(--primary-color,var(--primary,#C1552C));margin-right:7px}
.suggest span{font-size:13px;color:var(--gray-600,var(--text-muted,#6E7376))}

.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 0;align-items:center}
.filter-row .lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--gray-600,var(--text-muted,#6E7376));margin-right:3px}

.code-card{border:1px solid var(--gray-200,var(--border,#E2DBD4));border-radius:16px;padding:21px;margin:0 0 14px;background:var(--surface,#FFFFFF)}
.code-card.urg-alta{border-color:var(--callout-border,#EBD3C4);background:var(--callout-bg,#FBF0E9)}
.code-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:11px}
.code-id{font:700 27px/1 'Barlow Condensed',Impact,sans-serif;letter-spacing:.02em;color:var(--primary-color,var(--primary,#C1552C));font-variant-numeric:tabular-nums}
.code-brand{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--gray-600,var(--text-muted,#6E7376));display:block;margin-top:3px}
.code-card h3{margin:0 0 12px;font:700 20px/1.2 'Barlow Condensed',Impact,sans-serif;letter-spacing:.01em;text-transform:uppercase;color:var(--dark-color,var(--text,#2B2D2E))}
.code-field{margin:0 0 11px;font-size:14px;line-height:1.55}
.code-field b{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--gray-600,var(--text-muted,#6E7376));margin-bottom:3px}
.code-card .code-src{font-size:12.5px;color:var(--gray-600,var(--text-muted,#6E7376));border-top:1px solid var(--gray-200,var(--border,#E2DBD4));padding-top:11px;margin:14px 0 0}

.cover-bar{height:7px;border-radius:99px;background:var(--gray-100,var(--fill,#F2EDE8));overflow:hidden;min-width:70px}
.cover-bar i{display:block;height:100%;border-radius:99px;background:var(--secondary-color,var(--secondary,#3E6E8E))}

@media(max-width:560px){.code-id{font-size:23px}.code-card{padding:17px}}

/* sous-menu : pont de survol + tolérance de sortie (le panneau ne se fermait pas
   assez vite… il se fermait TROP vite : le pointeur traversait un interstice mort). */
.sub-menu::before{content:'';position:absolute;left:0;right:0;top:-18px;height:18px}
.nav-item.has-sub::after{content:'';position:absolute;left:-14px;right:-14px;top:0;bottom:-10px;z-index:-1}
@media(max-width:850px){.nav-item{padding:0}.sub-menu::before,.nav-item.has-sub::after{display:none}}

/* ============================================================================
   Pages internes à la largeur de la home.
   Le .container fait déjà 1130px partout, mais .article-layout le découpait en
   « 1fr | 285px + 65px de gouttière » : le contenu tombait à ~780px alors que les
   bandes de la home occupent les 1130px. On passe donc le contenu en pleine
   largeur et on convertit le sommaire en barre d'index horizontale collante,
   placée sous le hero — la fonction de navigation est conservée, la largeur est
   alignée sur la home.
   ============================================================================ */
.article-layout{display:flex;flex-direction:column;gap:0;padding-top:34px}
.article-layout>article{order:1;min-width:0}
.article-layout>.toc{order:0}

.article-layout>.toc{
  position:sticky;top:88px;z-index:6;height:auto;
  display:flex;flex-wrap:wrap;align-items:center;gap:7px;
  padding:11px 14px;margin:0 0 26px;border-radius:13px;
  background:rgba(255,255,255,.94);backdrop-filter:blur(10px);
  border:1px solid var(--gray-200,var(--border,#E2DBD4));
  box-shadow:0 3px 14px rgba(43,45,46,.05);
}
.article-layout>.toc b{
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;
  color:var(--gray-600,var(--text-muted,#6E7376));margin-right:5px;flex:0 0 auto;
}
.article-layout>.toc a{
  display:inline-block;margin:0;padding:6px 12px;border-radius:99px;
  font-size:13px;font-weight:600;line-height:1.2;text-decoration:none;
  background:var(--gray-100,var(--fill,#F2EDE8));
  color:var(--dark-light,var(--text-secondary,#4A4E50));
  transition:.18s;
}
.article-layout>.toc a:hover{
  background:var(--primary-color,var(--primary,#C1552C));
  color:var(--on-primary,#FFFFFF);
}

/* Le contenu occupe désormais toute la largeur : on redonne de l'air aux blocs
   qui étaient dimensionnés pour une colonne étroite. */
.article-layout .kpi-row{grid-template-columns:repeat(3,1fr)}
.article-layout .tools-grid{grid-template-columns:repeat(3,1fr)}
.article-layout .code-list{grid-template-columns:repeat(3,1fr)}

@media(max-width:1000px){
  .article-layout .tools-grid,.article-layout .code-list{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:850px){
  .article-layout{padding-top:26px}
  .article-layout>.toc{display:none}
}
@media(max-width:560px){
  .article-layout .tools-grid,.article-layout .code-list,.article-layout .kpi-row{grid-template-columns:1fr}
}

/* ============================================================================
   Intégration des images du plan 07 : wordmark de marque + figures éditoriales.
   ============================================================================ */
.logo-img{display:block;height:34px;width:auto;max-width:230px;object-fit:contain}
.brand{gap:0}
.logo-img-footer{height:38px;max-width:250px}
@media(max-width:560px){.logo-img{height:29px;max-width:185px}}

.page-figure{margin:0 0 26px;border-radius:17px;overflow:hidden;background:var(--gray-100,var(--fill,#F2EDE8));border:1px solid var(--gray-200,var(--border,#E2DBD4))}
.page-figure img{display:block;width:100%;height:auto;aspect-ratio:1376/768;object-fit:cover}
.page-figure figcaption{font-size:13px;line-height:1.45;color:var(--gray-600,var(--text-muted,#6E7376));padding:11px 16px;background:var(--surface,#FFFFFF);border-top:1px solid var(--gray-200,var(--border,#E2DBD4))}
.page-figure-hero{margin-bottom:30px}
.article-layout>article>.page-figure:first-child{margin-top:0}
@media(max-width:560px){.page-figure{border-radius:13px;margin-bottom:20px}.page-figure figcaption{padding:9px 13px;font-size:12.5px}}
