/* IsoCompare — the renovation workbench. Shared tokens also skin the catalogue. */
:root{--ink:#203b30;--ink-2:#526057;--ink-3:#697469;--surface:#fffefb;--surface-2:#f4f1e8;--surface-3:#e8e7dc;--border:#dedfd3;--brand:#285740;--brand-hover:#1a402e;--brand-soft:#e9efe5;--pop:#f6a344;--shell:#203b30;--on-shell:#fffdf5;--orange:#ef9139;--orange-hover:#f8a950;--on-orange:#243729}
[data-theme=dark]{--ink:#f6f2e8;--ink-2:#d0d6ca;--ink-3:#a7b1a1;--surface:#18271f;--surface-2:#213328;--surface-3:#2c4232;--border:#435345;--brand:#b4d0a3;--brand-hover:#d0e5be;--brand-soft:#304634;--on-brand:#15241a}
.container{max-width:1320px}
h1,h2,h3{overflow-wrap:normal}
.site-header{background:var(--surface);color:var(--ink);box-shadow:none;border-bottom:1px solid var(--border)}
.utility{background:var(--shell);color:#e6eddf;border:0;font-size:.72rem;letter-spacing:.04em}
.header-row{min-height:88px;gap:30px}
.brand{display:inline-flex;align-items:center;font-size:1.6rem;letter-spacing:-.065em}
.brand span{color:var(--brand)}
.site-footer .brand span{color:var(--pop)}
.brand-symbol{width:33px;height:33px;margin-right:10px;color:var(--brand);flex-shrink:0}
.nav-list{gap:22px}
.nav-list>li>a{text-transform:none;font-family:Inter,system-ui,sans-serif;font-size:.79rem;letter-spacing:0;font-weight:600}
.site-header a:hover{color:var(--brand)}
.nav-list .sub-menu{background:var(--surface);border:1px solid var(--border)}
.icon-button:hover{background:var(--surface-3)}
.button{border-radius:5px;min-height:49px;padding:13px 20px;font-size:.82rem;transition:background .18s,transform .18s}
.button-orange{background:var(--orange);border-color:var(--orange);color:var(--on-orange);font-weight:800}
.button-orange:hover{background:var(--orange-hover);border-color:var(--orange-hover);color:var(--on-orange);transform:translateY(-2px)}
.eyebrow{font-size:.69rem;letter-spacing:.14em;font-weight:750}
.workshop-hero{background:var(--surface-2)}
.workshop-hero:before{display:none}
.workshop-hero .hero-grid{grid-template-columns:.92fr 1.08fr;gap:60px;padding-block:62px 70px}
.workshop-hero h1{font-size:clamp(2.7rem,4.55vw,4.35rem);line-height:1.03;max-width:12ch;letter-spacing:-.05em;margin-block:23px}
.workshop-hero .hero-copy>p:not(.eyebrow){font-size:1rem;line-height:1.85;max-width:43ch}
.workshop-hero .eyebrow{display:flex;align-items:center;gap:12px;font-size:.65rem;color:var(--brand)}
.eyebrow-line{height:2px;width:27px;background:var(--orange)}
.workshop-hero .actions{align-items:center;gap:20px}
.hero-secondary{font-size:.76rem;font-weight:700;border-bottom:1px solid var(--ink);padding-block:8px}
.hero-secondary span{margin-left:8px}
.hero-signature{display:flex;align-items:center;gap:12px;margin-top:34px}
.hero-signature>span{border:1px solid var(--border);border-radius:50%;width:34px;height:34px;display:grid;place-items:center;color:var(--brand)}
.hero-signature p{font-size:.7rem;line-height:1.7;margin:0;color:var(--ink-2)}
.hero-visual{position:relative;min-width:0}
.workshop-hero .hero-image{aspect-ratio:1.17;border-radius:3px;box-shadow:14px 14px 0 #d9d4bc7a}
.hero-image img{object-position:45% center}
.hero-photo-label{position:absolute;top:20px;left:20px;background:#fffdf0ed;padding:8px 12px;font-size:.6rem;font-weight:700;letter-spacing:.12em;color:#203b30}
.hero-note{position:absolute;left:-26px;bottom:26px;display:flex;gap:16px;align-items:center;background:var(--surface);padding:20px 25px;border:1px solid var(--border);box-shadow:0 10px 30px #182f1c12;transform:rotate(-2deg);max-width:calc(100% + 12px)}
.note-symbol{font-size:2rem;color:var(--brand)}
.hero-note strong{display:block;font-family:Archivo,sans-serif;font-size:.95rem}
.hero-note div>span{font-size:.66rem;color:var(--ink-2)}
.workshop-strip{background:var(--shell);color:var(--on-shell)}
.workshop-strip>.container{display:flex;justify-content:space-between;gap:24px;padding-block:23px}
.workshop-strip span{font-size:.77rem}
.workshop-strip b{font-family:Archivo,sans-serif;color:var(--pop);font-weight:500;margin-right:15px;font-size:.8rem}
.section{padding-block:70px}
.section-heading h2{font-size:clamp(1.7rem,2.5vw,2.3rem)}
.section-heading>a{font-size:.76rem}
.section-intro{font-size:.9rem;max-width:85ch;margin-top:-10px;line-height:1.8}
.paroi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.project-card{padding:20px 24px 23px;border-radius:4px;background:var(--surface);transition:background .18s,transform .18s}
.project-card:hover{background:var(--surface-2);transform:translateY(-3px)}
.project-number{display:flex;justify-content:space-between;font-size:.65rem;font-family:Archivo,sans-serif;color:var(--ink-3);letter-spacing:.08em}
.project-number>span{font-size:1.1rem;color:var(--brand)}
.project-card svg{width:82px;height:65px;margin-block:15px 14px}
.project-highlight{stroke:var(--orange)}
.project-card h3{font-size:1rem;min-height:2.4em;max-width:18ch;line-height:1.2}
.project-card p{font-size:.7rem;color:var(--ink-2);margin:5px 0 0}
.project-card p span{float:right}
.advisor{background:var(--shell);color:var(--on-shell);display:grid;grid-template-columns:1fr 1fr;gap:42px;padding:44px;border-radius:6px;position:relative;overflow:hidden}
.advisor .eyebrow{color:#c8daa8}
.advisor-intro h2{font-size:clamp(1.8rem,3vw,2.65rem);letter-spacing:-.04em}
.advisor-intro>p:not(.eyebrow){font-size:.86rem;max-width:43ch;color:#d0dacc}
.ruler{display:flex;justify-content:space-between;max-width:360px;padding-top:23px;margin-top:30px;background:repeating-linear-gradient(90deg,#c8daa866 0,#c8daa866 1px,transparent 1px,transparent 10px) left top/100% 12px no-repeat;border-top:1px solid #c8daa866;font-size:.64rem;color:#c8daa8}
.advisor-controls{background:var(--surface);color:var(--ink);padding:28px;border-radius:4px;align-self:center}
.advisor-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.advisor .field label{font-size:.73rem;line-height:1.6;font-weight:700;margin-bottom:8px}
.advisor input,.advisor select{border-radius:3px;border:1px solid var(--border);background:var(--surface-2);color:var(--ink);width:100%;min-height:47px;padding:10px;font-size:.85rem}
.advisor .field small{display:block;font-size:.65rem;line-height:1.55;margin-top:8px}
.advisor-target{font-size:.7rem;margin-bottom:20px}
.advisor-target summary{cursor:pointer;color:var(--ink-2)}
.advisor-target .field{margin-top:16px}
.advisor-controls .button{width:100%;justify-content:space-between}
.advisor-results{grid-column:1/-1;padding-top:30px;border-top:1px solid #ffffff33}
.advisor-results>p{font-size:.85rem;max-width:100ch}
.advisor-results h3{font-size:1.4rem}
.advisor-results .retail-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-block:25px}
.advisor-results .retail-disclosure{color:#d0dacc}
.advisor-alert{border-left:3px solid var(--orange);padding:15px;background:#ffffff0c}
.advisor-alternatives summary{cursor:pointer;font-weight:650;font-size:.82rem;padding-block:20px}
.advisor-alternatives>p{font-size:.82rem}
.retail-selection{background:var(--surface-2)}
.retail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.retail-card{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:5px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.retail-material{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;gap:10px;background:#ede6cc;color:#4c4b30;border-bottom:1px solid #00000008}
.retail-material>span{font-size:.63rem;text-transform:uppercase;letter-spacing:.05em;max-width:12ch;font-weight:700}
.retail-material>strong{font:700 2rem/1 Archivo,sans-serif;white-space:nowrap}
.retail-material small{font:500 .65rem Inter,sans-serif;color:inherit;margin-left:3px}
.retail-material.fibre-de-bois{background:#e4cdae;color:#5a452c}
.retail-material.polyurethane{background:#e0e6e4;color:#3b514b}
.retail-material.laine-de-roche{background:#dfe2d3;color:#4b5740}
.retail-body{padding:21px;display:flex;flex-direction:column;flex:1}
.retail-merchant{font-size:.63rem;color:var(--ink-2);margin-bottom:10px;display:flex;justify-content:space-between}
.retail-card h3{font-size:1.03rem;line-height:1.3;margin-bottom:19px}
.retail-specs{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--border);padding-block:12px;margin-bottom:15px}
.retail-specs small{display:block;font-size:.62rem;margin-bottom:2px}
.retail-specs strong{font-size:.95rem;font-weight:700;font-variant-numeric:tabular-nums}
.retail-note{font-size:.72rem;line-height:1.7;color:var(--ink-2);margin-bottom:20px}
.retail-price{margin-top:auto;font-size:.73rem;padding-top:3px}
.retail-price strong{font:750 1.22rem Archivo,sans-serif}
.retail-price small{display:block;font-size:.59rem;margin-top:5px;line-height:1.6}
.retail-card .button{font-size:.67rem;padding:10px 12px;min-height:42px;justify-content:space-between;border-color:var(--ink-3)}
.retail-disclosure{font-size:.69rem;color:var(--ink-2);line-height:1.8;margin:25px 0 0;max-width:115ch}
.materials-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.materials-grid figure{margin:0;min-width:0}
.materials-grid img{aspect-ratio:1.05;object-fit:cover;border-radius:4px}
.materials-grid figcaption{font-size:.62rem;color:var(--ink-3);margin-top:8px}
.materials-grid h2{font-size:clamp(1.6rem,2.6vw,2.35rem);margin-bottom:28px}
.material-lesson{display:flex;gap:24px;border-top:1px solid var(--border);padding-top:18px;margin-top:18px}
.material-lesson>span{font:700 .72rem Archivo,sans-serif;color:var(--brand);white-space:nowrap;width:45px;flex-shrink:0;padding-top:3px}
.material-lesson h3{font-size:.92rem;margin-bottom:8px}
.material-lesson p{font-size:.79rem;color:var(--ink-2);margin-bottom:4px;line-height:1.8}
.materials-grid .text-link{display:inline-block;margin-top:23px;font-size:.77rem}
.workshop-cta{background:var(--surface-2);border-top:1px solid var(--border);padding-block:50px}
.workshop-cta>.container{display:flex;justify-content:space-between;align-items:center;gap:30px}
.workshop-cta h2{margin:0;font-size:clamp(1.6rem,2.5vw,2.2rem)}
.card-image,.variant-card,.paroi-card:not(.project-card),.term-card,.podium-card,.comparateur-form{border-radius:5px}
@media(max-width:1199px){.header-row{gap:20px}.nav-list{gap:13px}.nav-list>li>a{font-size:.7rem}.brand{font-size:1.4rem}.workshop-hero .hero-grid{gap:38px}.workshop-hero .actions{gap:12px}.retail-grid{gap:15px}.retail-body{padding:17px}.materials-grid{gap:40px}}
@media(max-width:1000px){.site-header #primary-nav{background:var(--surface);color:var(--ink)}.header-row{min-height:74px}.retail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.advisor{gap:25px;padding:30px}.advisor-fields{grid-template-columns:1fr;gap:0}.paroi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workshop-strip span{font-size:.66rem}.workshop-strip b{margin-right:8px}.hero-note{left:-10px;padding:15px}.advisor-results .retail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.container{width:calc(100% - 36px)}.header-row{gap:8px;min-height:66px}.brand{font-size:1.28rem}.brand-symbol{width:27px;height:27px;margin-right:6px}.header-tools{gap:0}.icon-button{width:33px}.workshop-hero .hero-grid{grid-template-columns:1fr;padding-block:35px 42px;gap:30px}.workshop-hero h1{font-size:clamp(2.6rem,10.5vw,4.2rem);max-width:13ch}.workshop-hero .hero-copy>p:not(.eyebrow){font-size:.89rem}.workshop-hero .eyebrow{font-size:.59rem}.workshop-hero .actions{gap:15px}.hero-signature{margin-top:23px}.workshop-hero .hero-image{aspect-ratio:1.45;box-shadow:8px 8px 0 #d9d4bc7a}.hero-note{left:12px;bottom:18px;padding:12px 16px;max-width:calc(100% - 24px)}.hero-note strong{font-size:.8rem}.hero-note div>span{font-size:.6rem}.hero-photo-label{top:14px;left:14px;font-size:.5rem}.workshop-strip>.container{flex-wrap:wrap;gap:12px;padding-block:20px}.workshop-strip span{font-size:.7rem;width:100%}.workshop-strip b{margin-right:14px}.section{padding-block:44px}.section-heading{align-items:center}.section-heading h2{font-size:1.65rem}.section-heading>a{font-size:.66rem}.project-card{padding:15px}.project-card h3{font-size:.88rem}.project-card p{font-size:.62rem}.project-card svg{width:65px;height:54px;margin-block:10px}.paroi-grid{gap:12px}.advisor{grid-template-columns:1fr;padding:25px 20px;gap:25px;margin-bottom:44px}.advisor-intro h2{font-size:2rem}.advisor-controls{padding:21px}.ruler{margin-top:22px}.advisor-fields{grid-template-columns:1fr 1fr;gap:12px}.advisor .field label{font-size:.68rem}.advisor select,.advisor input{font-size:.77rem}.advisor-results{min-width:0}.advisor-results .retail-grid{grid-template-columns:1fr}.retail-grid{gap:14px}.retail-material{padding:15px 12px;flex-wrap:wrap}.retail-material>strong{font-size:1.6rem}.retail-material>span{font-size:.55rem}.retail-body{padding:14px}.retail-card h3{font-size:.9rem}.retail-note{font-size:.67rem}.retail-card .button{font-size:.6rem;padding:9px 8px;gap:4px}.retail-specs strong{font-size:.82rem}.retail-price strong{font-size:1.04rem}.materials-grid{grid-template-columns:1fr;gap:28px}.materials-grid img{aspect-ratio:1.4}.material-lesson{gap:18px}.workshop-cta>.container{display:block}.workshop-cta .button{margin-top:25px}}
@media(max-width:370px){.brand-symbol{display:none}.advisor-fields{grid-template-columns:1fr}.retail-grid{grid-template-columns:1fr}}
@media(max-width:600px){.retail-grid{grid-template-columns:1fr}.retail-material{padding:17px 21px}.retail-material>span{max-width:none;font-size:.65rem}.retail-body{padding:21px}.retail-card h3{font-size:1.1rem}.retail-note{font-size:.8rem}.retail-merchant{font-size:.7rem}.retail-specs strong{font-size:1rem}.retail-specs small{font-size:.7rem}.retail-card .button{font-size:.77rem;min-height:46px;padding:12px}.retail-price strong{font-size:1.25rem}.retail-price small{font-size:.68rem}}

/* Calculettes */
.calc-hub{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.calc-hub-advisor{background:var(--brand-soft);border-color:var(--brand)}
.calc-layout{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:40px;align-items:start}
.calc-form{position:static}
.calc-form .checkbox{display:flex;gap:8px;align-items:center;font-size:.85rem;margin-bottom:8px}
.calc-form .button{width:100%}
.calc-form .calc-layer{border-top:1px solid var(--border);padding-top:14px;margin-bottom:10px}
.calc-form .calc-layer legend{font-size:.85rem}
.field-row.calc-two{grid-template-columns:1fr 1fr}
.calc-output{background:var(--shell);color:var(--on-shell);border-radius:6px;padding:32px;min-width:0}
.calc-output p{font-size:.9rem;max-width:70ch}
.calc-output .text-link{color:var(--pop)}
.calc-output .retail-disclosure{color:#d0dacc}
.calc-figure{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-bottom:18px}
.calc-figure small{flex-basis:100%;color:#c8daa8;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.calc-figure strong{font:750 clamp(1.6rem,3.4vw,2.4rem)/1.1 Archivo,sans-serif;letter-spacing:-.02em;overflow-wrap:anywhere}
.calc-table{width:100%;border-collapse:collapse;font-size:.82rem;margin:8px 0 4px;font-variant-numeric:tabular-nums}
.calc-table th,.calc-table td{text-align:left;padding:9px 8px;border-bottom:1px solid #ffffff26;font-weight:500}
.calc-table td:last-child{text-align:right;white-space:nowrap}
.calc-table thead th{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#c8daa8}
.calc-table small{color:#c8daa8}
.calc-others{margin-top:48px}
.calc-others h2{font-size:1.1rem}
.calc-others ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px 28px}
.retail-offers{list-style:none;padding:0;margin:0 0 14px;font-size:.74rem}
.retail-offers li{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 0;border-bottom:1px dashed var(--border)}
.retail-offers li:first-child{font-weight:700}
.retail-offers a{color:var(--brand);font-weight:650}
.retail-chantier{background:var(--surface-2);border-radius:4px;padding:10px 12px;font-size:.72rem;margin-bottom:14px}
.retail-chantier strong{font:750 1.05rem Archivo,sans-serif}
.advisor-cheapest{border-left:3px solid var(--orange);padding:12px 16px;background:#ffffff0c;font-size:.88rem}
@media(max-width:1199px){.calc-hub{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.calc-layout{grid-template-columns:1fr;gap:24px}}
@media(max-width:600px){.calc-hub{grid-template-columns:1fr}.calc-output{padding:22px 18px}.field-row.calc-two{grid-template-columns:1fr 1fr;gap:10px}}
.advisor-zone{grid-column:1/-1}
.retail-material.polystyrene-expanse,.retail-material.polystyrene-extrude{background:#dde4ea;color:#36495a}
.retail-material.ouate-de-cellulose,.retail-material.autre{background:#e6e1d6;color:#51493a}
