/* norellagg.com — Norell, les installateurs de l’air et du chauffage (27/10/2026) — palette Air / Ardoise / Glacier / Menthe, titres Schibsted Grotesk, texte Source Sans 3 */
@font-face{font-family:'Schibsted Grotesk';font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/schibsted-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Schibsted Grotesk';font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/schibsted-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/sourcesans3-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/sourcesans3-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
 --air:#F3F7FA;--ink:#1B2A3A;--mut:#4A5D70;--glacier:#B0CCE8;--gl:#E4EEF7;--gl2:#EAF1F7;--menthe:#24BEA9;--mp:#187C6F;--mph:#126558;
 --filet:#D6E0E9;--erreur:#A3262A;--trait:linear-gradient(var(--menthe),var(--menthe));
 --f-car:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;--f-t:"Schibsted Grotesk","Source Sans 3",system-ui,sans-serif;
 --ease:cubic-bezier(.2,.7,.2,1);--hh:72px}
/* ===== logotype : la bouche d'air traversée de trois filets ===== */
.brand{flex:none;white-space:nowrap;display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);line-height:1;padding:2px 0}
.lg-svg{flex:none;display:block}
.lg-t{display:flex;flex-direction:column;gap:5px}
.lg-t b{font:700 1.7rem/1 var(--f-t);letter-spacing:-.02em}
.lg-t small{font:600 .75rem/1 var(--f-car);color:var(--mut)}
/* ===== en-tête : un seul bouton d'action ===== */
.mn{display:flex;align-items:center;gap:2px}
.nv{position:relative;display:inline-flex;align-items:center;padding:10px 9px 12px;font-weight:600;font-size:.9375rem;color:var(--ink);text-decoration:none;white-space:nowrap}
.nv::after{content:"";position:absolute;left:9px;right:9px;bottom:3px;height:3px;background:var(--menthe);transform:scaleX(0);transform-origin:left;transition:transform 180ms var(--ease)}
.nv:hover::after,.nv[aria-current]::after{transform:scaleX(1)}
.nv:hover{color:var(--ink)}
.cta,.btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--menthe);color:var(--ink);border:0;border-radius:6px;padding:12px 20px;font:700 .9375rem/1.2 var(--f-car);text-decoration:none;cursor:pointer;min-height:44px;transition:background 180ms var(--ease)}
.cta:hover,.btn:hover{background:#1FA896;color:var(--ink)}
.mn .cta{margin-left:12px}
.btn.ghost{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.btn.ghost:hover{background:var(--gl);color:var(--ink)}
@media (max-width:1339px){
 .mn{display:none}
 .burger{display:block;position:relative}
 .top-short{display:inline-flex;padding:10px 14px;min-height:44px}
 .top-r{display:flex;align-items:center;gap:10px}
 .burger summary{list-style:none;cursor:pointer;padding:10px 14px;min-height:44px;font-weight:600;border:2px solid var(--ink);border-radius:6px;display:flex;align-items:center}
 .burger summary::-webkit-details-marker{display:none}
 .burger-p{position:absolute;right:0;top:56px;width:min(92vw,340px);background:#fff;border:1px solid var(--filet);border-radius:10px;padding:14px;display:grid;gap:4px;z-index:60}
 .burger-p h4{font-size:.8125rem;font-weight:600;color:var(--mut);margin:8px 8px 2px}
 .burger-p .nv{padding:10px 8px}
 .burger-p .nv::after{display:none}
}
@media (max-width:420px){.top-in{gap:8px}.lg-t b{font-size:1.45rem}.lg-t small{display:none}.top-short{padding:10px 11px;font-size:.875rem}.wrap{padding:0 18px}}
/* ===== héros : la maison qui respire ===== */
.hero{background:#fff;border-bottom:1px solid var(--filet);display:flex;align-items:center;min-height:min(calc(100vh - var(--hh)),704px);min-height:min(calc(100svh - var(--hh)),704px)}
.hero-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:40px;align-items:center;padding-top:56px;padding-bottom:56px}
.hero h1{font-size:clamp(2.2rem,min(3.6vw,6.4vh),3.4rem);text-wrap:balance;max-width:13em}
.hero .sub{font-size:1.125rem;color:var(--mut);max-width:34rem;margin:16px 0 20px}
.mention{font-size:.875rem;color:var(--mut);margin:14px 0 0;max-width:36rem}
.hero-f{min-width:0}
.maison{width:100%;height:auto;display:block;overflow:visible}
.maison .fond{fill:#fff}
.maison .mur,.maison .toit{fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.maison .sol-l{stroke:var(--ink);stroke-width:1.6;fill:none}
.maison .eq rect,.maison .eq path,.maison .eq circle{fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.maison .eq-vmc rect{fill:var(--glacier)}
.maison .eq.off{opacity:.18}
.maison .piece text{font:600 8px var(--f-car);fill:var(--mut)}
.maison .flux path{fill:none;stroke:var(--menthe);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7 9;animation:filet 5s linear infinite}
.maison .flux .fl2{animation-duration:6.5s;stroke:var(--mp)}.maison .flux .fl3{animation-duration:8s;stroke:var(--glacier);stroke-width:2.6}
.maison-h:hover .flux path{animation-duration:2s}
.maison-m .piece{display:none}.maison-m .flux path{animation:none;stroke-dasharray:none}
@keyframes filet{to{stroke-dashoffset:-64}}
@media (prefers-reduced-motion:reduce){.maison .flux path{animation:none!important}}
.jobs{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.job{display:grid;grid-template-columns:64px 1fr;gap:16px;padding:22px 24px;background:#fff;border:1px solid var(--filet);border-radius:6px;align-items:start}
.job svg.pic{width:56px;height:56px;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.job h3{font-size:1.25rem}
.job h3 a{color:var(--ink);text-decoration:none}.job h3 a:hover{text-decoration:underline}
.job .stat{margin:2px 0 6px;color:var(--mut);font-size:.9375rem}
.job .stat b{color:var(--ink);font-size:1.125rem}
.job p.d{margin:0 0 10px;font-size:.9375rem}
.stack{display:grid;gap:14px;align-content:center}
.stack .g{background:#fff;border:1px solid var(--filet);border-left:6px solid var(--menthe);border-radius:6px;padding:14px 18px}
.stack .g b{display:block;font:700 1.9rem/1.1 var(--f-t)}
.stack .g span{color:var(--mut);font-size:.9375rem}
@media (max-width:980px){
 .hero{min-height:0;align-items:flex-start}
 .hero-in{grid-template-columns:1fr;gap:18px;padding-top:20px;padding-bottom:22px}
 .hero h1{font-size:1.95rem}
 .hero .sub{font-size:1rem;margin:10px 0 14px}
 .hero-f{order:-1;max-width:420px;margin:0 auto;width:100%}
 .hero-f .maison{max-height:150px}
 .jobs{grid-template-columns:1fr}
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--air);color:var(--ink);font:400 16px/1.55 var(--f-car);display:flex;flex-direction:column;min-height:100vh;min-height:100svh}
main{flex:1 0 auto}
img,svg{max-width:100%}
a{color:var(--mp);text-underline-offset:3px}
a:hover{color:#126558}
:focus-visible{outline:none;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--mp);border-radius:4px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:10px 14px;z-index:99;border-radius:6px}
.skip:focus{left:8px}
.wrap{width:100%;max-width:75rem;margin:0 auto;padding:0 24px}
h1,h2,h3,h4{font-weight:800;letter-spacing:-.015em;line-height:1.12;margin:0;}
h1{font-size:clamp(2.1rem,4.4vw,3.05rem)}
h2{font-size:clamp(1.6rem,2.8vw,1.95rem)}
h3{font-size:1.25rem;font-weight:600;letter-spacing:-.005em}
p{margin:0 0 1em}
.num,.fl-n,.stat b{font-feature-settings:"tnum";font-weight:800}
.fine{font-size:.8125rem;color:var(--mut)}
/* ===== logotype : le « i » est un forage ===== */
/* ===== en-tête ===== */
.top{background:#fff;border-bottom:1px solid var(--filet);position:sticky;top:0;z-index:50}
.top .wrap{max-width:88rem}.top-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:var(--hh)}
.btn.big{padding:16px 28px;font-size:1.0625rem}
.burger{display:none}
.top-short{display:none}
/* ===== bandes ===== */
.b-g{background:var(--air)}.b-b{background:#fff}.b-n{background:var(--gl)}
.sec{padding:88px 0}.sec.tight{padding:56px 0}
@media (max-width:700px){.sec{padding:56px 0}.sec.tight{padding:40px 0}}
.sec-h{margin-bottom:24px;max-width:46rem}
.sec-h p{color:var(--mut);margin:12px 0 0}
.crumbs{font-size:.8125rem;color:var(--mut);margin:0 0 18px}
.crumbs a{color:var(--mut)}
.crumbs span[aria-hidden]{margin:0 4px}
.sb{display:grid;grid-template-columns:1.05fr 1.2fr auto;gap:0;background:#fff;border:2px solid var(--ink);border-radius:8px;max-width:46rem;overflow:hidden}
.sb label{display:block;padding:8px 14px 6px;border-right:2px solid var(--filet);min-width:0}
.sb label span{display:block;font-size:.75rem;font-weight:600;color:var(--mut)}
.sb input,.sb select{width:100%;border:0;background:transparent;font:600 1rem var(--f-car);color:var(--ink);padding:2px 0 4px;outline:none;min-height:30px;text-overflow:ellipsis}
.sb select{appearance:none;-webkit-appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231B272C' stroke-width='2'/%3E%3C/svg%3E") right 2px center/12px no-repeat;padding-right:18px}
.sb label:focus-within{background:var(--gl)}
.sb button{border:0;background:var(--mp);color:#fff;font:600 1rem var(--f-car);padding:0 22px;cursor:pointer;min-height:56px}
.sb button:hover{background:#126558}
.sb:focus-within{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--mp)}
.sb :focus-visible{box-shadow:none}
@media (max-width:760px){.sb{grid-template-columns:1fr}.sb label{border-right:0;border-bottom:2px solid var(--filet)}.sb button{min-height:50px}}
/* animation d'arrivée et eau qui circule (coupée sous reduced-motion) */
/* ===== deux réseaux ===== */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.chip{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1.5px solid var(--filet);border-radius:999px;padding:5px 12px;font-size:.875rem;font-weight:600;color:var(--ink);text-decoration:none;min-height:34px}
.chip:hover{border-color:var(--mp);color:var(--mp)}
.chip small{color:var(--mut);font-weight:400;}
.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.chip.on small{color:#fff}
/* ===== carte de France ===== */
.fr-grid{display:grid;grid-template-columns:7fr 5fr;gap:40px;align-items:center}
@media (max-width:900px){.fr-grid{grid-template-columns:1fr;gap:24px}}
.fr-map{position:relative}
.fr-map svg{width:100%;height:auto;display:block;max-height:78vh}
.fr-map .deps path{stroke:#fff;stroke-width:.8;transition:fill 150ms}
.fr-map .lv0{fill:#EEF3F7}.fr-map .lv1{fill:#DCE9F4}.fr-map .lv2{fill:#C4DAEC}.fr-map .lv3{fill:#A3C4E0}.fr-map .lv4{fill:#7FA9CE}.fr-map .lv5{fill:#5A8AB8}
.fr-map .deps a:hover path,.fr-map .deps a.on path{fill:var(--glacier)}
.fr-map .outline{stroke:var(--mut);stroke-width:1.2;fill:none;pointer-events:none}
.fr-map .pt circle,.fr-map .pt rect{stroke:#fff;stroke-width:1.5;cursor:pointer}
.fr-map .pt:hover circle,.fr-map .pt:hover rect,.fr-map .pt.on circle,.fr-map .pt.on rect{stroke:var(--ink);stroke-width:2.5}
.fr-tip{position:absolute;pointer-events:none;background:var(--ink);color:#fff;font-size:.8125rem;padding:5px 9px;border-radius:4px;transform:translate(-50%,-135%);opacity:0;transition:opacity 120ms;white-space:nowrap;z-index:3}
.legend{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-size:.8125rem;color:var(--mut);margin-top:12px}
.filt{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.filt button{font:600 .875rem var(--f-car);border:1.5px solid var(--filet);background:#fff;color:var(--ink);border-radius:999px;padding:6px 14px;cursor:pointer;min-height:36px}
.filt button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
/* ===== en-tête de page ===== */
.ph{background:#fff;border-bottom:1px solid var(--filet);padding:36px 0 40px}
.ph-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,26rem);gap:40px;align-items:center}
.ph.solo .ph-in{grid-template-columns:1fr}
@media (max-width:900px){.ph-in{grid-template-columns:1fr;gap:20px}.ph{padding:26px 0 30px}}
.ph h1{margin-bottom:14px;max-width:20em;text-wrap:balance}
.chapo{font:400 1.125rem/1.6 var(--f-car);color:var(--ink);max-width:40rem;margin:0 0 18px}
.ph-stats{display:flex;flex-wrap:wrap;gap:22px;margin:0 0 20px;font-size:.9375rem;color:var(--mut)}
.ph-stats b{font-size:1.5rem;color:var(--ink);margin-right:5px;}
.silh{width:100%;max-height:300px;display:block}
.silh path{fill:var(--gl);stroke:var(--ink);stroke-width:1.2}
/* ===== fiches en lignes ===== */
.rl{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;margin:0 0 14px}
.rl strong{font-size:1.125rem}
.rl span{color:var(--mut);font-size:.875rem}
.fls{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;background:#fff;border:1px solid var(--filet);padding:0}
.fls.one{grid-template-columns:1fr}
@media (max-width:900px){.fls{grid-template-columns:1fr}}
.fl{display:grid;grid-template-columns:8px 40px 1fr auto;gap:16px;padding:16px 16px 16px 0;border-bottom:1px solid var(--air);background:#fff;align-items:start}
.fl h3{font-size:1.0625rem;font-weight:600;margin:0 0 2px;line-height:1.3}
.fl h3 a{color:var(--ink);text-decoration:none}
.fl h3 a:hover{text-decoration:underline;color:var(--mp)}
.fl .act{margin:0;font-size:.875rem;color:var(--mut)}
.fl .ou{margin:4px 0 0;font-size:.875rem}
.fl .act+.ou{margin-top:2px}
.fl-n{font-size:1.125rem;color:var(--mut);text-align:right;min-width:2.2em}
.fl .loc{display:block;font:600 .8125rem var(--f-car);margin-top:4px;color:var(--mp)}

.pager{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 0}
.pager a,.pager span{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--filet);background:#fff;border-radius:6px;text-decoration:none;font-weight:600;color:var(--ink);padding:0 10px}
.pager [aria-current]{background:var(--ink);color:#fff;border-color:var(--ink)}
.mapbox{height:460px;background:#fff;border:2px solid var(--ink);border-radius:2px;z-index:1}
@media (max-width:700px){.mapbox{height:340px}}
.near h2{font-size:1.375rem;margin-bottom:6px}
.near p{font-size:.9375rem;color:var(--mut)}
.pin{width:30px;height:30px;display:grid;place-items:center;background:var(--mp);color:#fff;font:800 13px var(--f-car);border:2px solid #fff;box-shadow:0 0 0 1.5px var(--ink);border-radius:50%}
.pin.v{width:16px;height:16px;background:#fff;color:var(--ink);box-shadow:0 0 0 1.5px var(--mut);border-radius:50%;font-size:0}
.leaflet-tooltip{font-family:var(--f-car)}
.map-cap{display:block;font-size:.8125rem;color:var(--mut);margin-top:8px}
.tobar{display:none}
@media (max-width:900px){.tobar.on{display:flex;position:sticky;bottom:12px;justify-content:center;z-index:20;pointer-events:none}.tobar a{pointer-events:auto;background:var(--ink);color:#fff;border-radius:999px;padding:10px 18px;font-weight:600;font-size:.875rem;text-decoration:none;box-shadow:0 8px 20px -8px rgba(27,42,58,.5)}}
/* ===== prose ===== */
.prose>*{max-width:46rem}.wrap.prose{max-width:75rem}
.prose h2{margin:0 0 14px;font-size:1.65rem}
.prose h3{margin:26px 0 8px}
.prose p,.prose li{font-family:var(--f-car);font-size:1.0625rem;line-height:1.7}
.prose li{margin-bottom:6px}
.prose.pg h2{margin-top:34px}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
@media (max-width:900px){.cols2{grid-template-columns:1fr}}
.bars{display:grid;gap:10px;margin:18px 0 0}
.bars>div{display:grid;grid-template-columns:minmax(0,10rem) 1fr 3.4rem;gap:12px;align-items:center;font-size:.9375rem}
.bars .bar{height:12px;background:var(--gl2);position:relative;border:1px solid var(--filet)}
.bars .bar i{position:absolute;left:0;top:0;bottom:0;background-image:var(--m);background-color:#fff;border-right:3px solid var(--c)}
.bars b{text-align:right;}
/* ===== villes en cartes (département / région) ===== */
.vcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin:0;padding:0;list-style:none}
.vc{position:relative;display:block;background:#fff;border:1px solid var(--filet);padding:12px 14px 12px 24px;text-decoration:none;color:var(--ink);border-radius:2px}
.vc:hover{border-left-color:var(--mp);background:var(--gl)}
.vc b{display:block;font-weight:600}
.vc span{font-size:.8125rem;color:var(--mut)}
.deptmap{width:100%;height:auto;max-height:520px;display:block}
.deptmap .d{fill:var(--gl2);stroke:var(--mut);stroke-width:.8}
.deptmap .d.me{fill:var(--gl);stroke:var(--ink);stroke-width:1.4}
.deptmap .d.nb{fill:#EDF2F6}
.deptmap a circle{fill:var(--ink);stroke:#fff;stroke-width:1.2}
.deptmap a:hover circle{fill:var(--mp)}
.deptmap text{font-family:var(--f-car);font-weight:600;fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:3px}
/* ===== fiche entreprise ===== */
.fiche{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,26rem);gap:40px;padding:48px 24px}
@media (max-width:900px){.fiche{grid-template-columns:1fr;padding:32px 18px}}
.carte-id{background:#fff;border:1px solid var(--filet);border-left:8px solid var(--ink);padding:6px 22px 14px}
.carte-id dl{margin:0}
.carte-id dl>div{display:grid;grid-template-columns:9.5rem 1fr;gap:12px;padding:11px 0;border-bottom:1px solid var(--air)}
.carte-id dl>div:last-child{border:0}
.carte-id dt{color:var(--mut);font-size:.875rem}
.carte-id dd{margin:0;font-weight:600}
.carte-id dd.mono{font-feature-settings:"tnum"}
@media (max-width:520px){.carte-id dl>div{grid-template-columns:1fr;gap:2px}}
.notice{background:var(--gl);padding:18px 22px;margin:26px 0;border-left:4px solid var(--mp)}
.notice h3{font-size:1.0625rem;margin-bottom:6px}
.notice p{margin:0;font-size:.9375rem}
/* ===== formulaires ===== */
.f{display:block;margin:0 0 16px}
.f>span{display:block;font-size:.875rem;font-weight:600;margin-bottom:6px}
.in{width:100%;border:2px solid var(--ink);background:#fff;border-radius:6px;padding:12px 14px;font:400 1rem var(--f-car);color:var(--ink);min-height:48px}
.in:focus{outline:none;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--mp)}
textarea.in{min-height:110px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.875rem;margin:14px 0 18px}
.consent input{margin-top:3px;width:20px;height:20px;flex:none}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.error{background:#FBEAEA;border-left:4px solid var(--erreur);color:#7A1A1D;padding:10px 14px;margin:0 0 16px;font-weight:600}
.ok{background:#E6F2EA;border-left:4px solid #1E6B3A;color:#14502A;padding:10px 14px;margin:0 0 16px;font-weight:600}
.card{background:#fff;border:1px solid var(--filet);padding:26px;border-radius:2px}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}
@media (max-width:900px){.two{grid-template-columns:1fr;gap:28px}}
.empty{background:#fff;border:1px solid var(--filet);border-left:6px solid var(--mp);padding:28px;margin:10px 0 20px}
.empty h2{font-size:1.5rem;margin-bottom:8px}
/* ===== tunnel ===== */
body.tunnel{height:100vh;height:100svh;overflow:hidden}
body.tunnel main{display:flex;flex-direction:column;min-height:0}
.tn{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 22rem;gap:0;min-height:0}
.tn-main{display:flex;flex-direction:column;padding:22px 40px 22px 24px;min-height:0;max-width:62rem;width:100%;margin:0 auto}
.pipe{position:relative;margin:2px 0 20px}
.pipe-line{position:absolute;left:14px;right:14px;top:13px;height:8px;background:var(--gl2);border:1px solid #C5D2DE;border-radius:4px;overflow:hidden}
.pipe-line i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--mp);transition:width 300ms var(--ease)}
.pipe ol{position:relative;display:flex;justify-content:space-between;list-style:none;margin:0;padding:0}
.pipe li{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.8125rem;color:var(--mut);font-weight:600;min-width:0;flex:1}
.pipe li::before{content:"";width:28px;height:28px;border-radius:50%;background:#fff;border:3px solid #C5D2DE;box-sizing:border-box}
.pipe li.on::before{border-color:var(--mp)}
.pipe li.cur::before{background:var(--mp);box-shadow:0 0 0 4px var(--gl)}
.pipe li.on{color:var(--ink)}
.tn form{flex:1;display:flex;flex-direction:column;min-height:0}
.t-step{display:none;flex:1;flex-direction:column;min-height:0}
.t-step.on{display:flex}
.t-step h1,.t-step h2.q{font-size:clamp(1.7rem,3vw,2.3rem);margin-bottom:6px}
.t-step .h{color:var(--mut);margin:0 0 18px}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;flex:1;min-height:0;align-content:stretch;grid-auto-rows:minmax(0,1fr)}
.tiles.t3{grid-template-columns:repeat(3,1fr)}.tiles.t2{grid-template-columns:repeat(2,1fr)}
.tile{position:relative;display:flex}
.tile input{position:absolute;opacity:0;inset:0;cursor:pointer;z-index:2;margin:0}
.tile>span{position:relative;overflow:hidden;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;background:#fff;border:2px solid var(--filet);border-radius:14px;padding:22px 10px 14px;font-weight:600;font-size:1.0625rem;box-shadow:0 1px 0 #DCE3E1,0 8px 24px -12px rgba(27,42,58,.25);transition:transform 180ms var(--ease),border-color 180ms}
.tile:hover>span{transform:translateY(-3px)}
.tile input:checked+span{border-color:var(--c,var(--ink));background:var(--gl)}
.tile input:focus-visible+span{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--mp)}
.tile svg{width:clamp(48px,12vh,120px);height:clamp(48px,12vh,120px);fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tile small{display:block;font-weight:400;font-size:.875rem;color:var(--mut);margin-top:2px}
.t-step .alt{margin-top:12px;font-size:.9375rem}
.t-step .alt label{cursor:pointer;color:var(--mp);text-decoration:underline;font-weight:600}
.t-step .alt input{position:absolute;opacity:0}
.t-fill{flex:1;display:flex;flex-direction:column;justify-content:center;gap:16px;max-width:36rem}
.t-fill .chips{margin-top:4px}
button.chip{cursor:pointer;font-family:var(--f-car)}
.t-nav{display:flex;align-items:center;gap:14px;padding-top:16px}
.t-nav .back{background:none;border:0;font:600 1rem var(--f-car);color:var(--mut);cursor:pointer;padding:10px 6px;min-height:44px;text-decoration:underline}
.t-nav .btn{margin-left:auto}
.t-foot{margin:8px 0 0;font-size:.8125rem;color:var(--mut)}
.tn-side{background:var(--air);border-left:1px solid var(--filet);padding:26px 24px;display:flex;flex-direction:column;gap:16px;min-height:0;overflow:hidden}
.tn-side h2{font-size:1.125rem}
.reas{list-style:none;margin:0;padding:0;display:grid;gap:12px;font-size:.9375rem}
.reas li{padding-left:34px;position:relative}
.reas li::before{content:"";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid var(--mp)}
.reas li::after{content:"";position:absolute;left:7px;top:8px;width:8px;height:4px;border-left:2.5px solid var(--mp);border-bottom:2.5px solid var(--mp);transform:rotate(-45deg)}
.m-reas{display:none}
@media (max-width:980px){
 .tn{grid-template-columns:1fr}
 .tn-side{display:none}
 .tn-main{padding:14px 18px 14px}
 .m-reas{display:block;font-size:.8125rem;color:var(--mut);margin:8px 0 0}
 .tiles,.tiles.t3{grid-template-columns:1fr 1fr}
 .tiles.t3 .tile:last-child:nth-child(odd){grid-column:1/-1}
 .pipe li span{display:none}
 .pipe{margin-bottom:12px}
 .tile>span{font-size:.9375rem;padding:8px 6px;gap:6px}
 .tile svg{width:clamp(36px,7vh,60px);height:clamp(36px,7vh,60px)}
 .t-step .h{margin-bottom:10px;font-size:.9375rem}
}
@media (max-height:760px){.tile small{display:none}.tile svg{width:clamp(34px,6vh,60px);height:clamp(34px,6vh,60px)}.t-step .h{display:none}}
@media (max-height:620px){.tile svg{display:none}}
/* ===== outil ===== */
.tool{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:32px;align-items:start}
@media (max-width:900px){.tool{grid-template-columns:1fr}}
.res{background:#fff;border:2px solid var(--ink);padding:24px}
.res ul{padding-left:20px;margin:10px 0}
.res li{margin-bottom:6px}
.jauge{height:16px;background:var(--gl2);border:1px solid #C5D2DE;margin:10px 0 18px;position:relative}
.jauge i{position:absolute;left:0;top:0;bottom:0;background-image:var(--trait);background-color:#fff;border-right:4px solid var(--mp);transition:width 300ms var(--ease)}
/* ===== carnet / articles ===== */
.tick{background:var(--gl);color:var(--ink);border-block:1px solid var(--filet);overflow:hidden;white-space:nowrap;font-size:.875rem}
.tick-t{display:inline-block;padding:10px 0;animation:tick 60s linear infinite}
.tick:hover .tick-t{animation-play-state:paused}
.tick a{color:var(--ink);text-decoration:none;margin-right:34px}
.tick a::before{content:"";display:inline-block;width:8px;height:8px;margin-right:10px;background:var(--mp);border-radius:50%}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.tick-t{animation:none}.tick{overflow-x:auto}}
.une{display:grid;grid-template-columns:7fr 5fr;gap:0;background:#fff;border:1px solid var(--filet)}
.une-img{display:block;min-height:300px;background:var(--gl2)}
.une-img img{width:100%;height:100%;object-fit:cover;display:block}
.une-t{padding:30px 32px;display:flex;flex-direction:column;justify-content:center}
.une-t h2{font-size:1.75rem;margin:8px 0 10px}
.une-t h2 a{color:var(--ink);text-decoration:none}
@media (max-width:900px){.une{grid-template-columns:minmax(0,1fr)}.une-img{min-height:0;aspect-ratio:16/9}}
.cat-tag{display:inline-block;background:#fff;color:var(--ink);border:1.5px solid var(--c,var(--ink));padding:3px 10px;font-weight:600;font-size:.8125rem;border-radius:2px}
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin:0}
.cat{position:relative;display:block;background:#fff;border:1px solid var(--filet);text-decoration:none;color:var(--ink);padding:26px 18px 18px}.cat::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:8px;background-image:var(--m);background-color:#fff;border:1px solid var(--filet);border-bottom:0}
.cat:hover{background:var(--gl)}
.cat h3{font-size:1.125rem;margin:0 0 4px}
.cat p{margin:0;font-size:.875rem;color:var(--mut)}
.cat b{font-size:.8125rem;color:var(--mut);font-weight:600}
.arts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:980px){.arts{grid-template-columns:1fr 1fr}}@media (max-width:620px){.arts{grid-template-columns:1fr}}
.ac{background:#fff;border:1px solid var(--filet);display:flex;flex-direction:column}
.ac-img{display:block;aspect-ratio:16/9;background:var(--gl2);overflow:hidden}
.ac-img img{width:100%;height:100%;object-fit:cover;display:block}
.ac-b{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.ac h3{font-size:1.0625rem;line-height:1.3}
.ac h3 a{color:var(--ink);text-decoration:none}
.ac h3 a:hover{text-decoration:underline}
.ac .ex{font-size:.875rem;color:var(--mut);margin:0}
.ac .meta{margin-top:auto;font-size:.8125rem;color:var(--mut)}
.art-h{background:var(--air);padding:40px 0 36px;border-bottom:1px solid var(--filet);position:relative}
.art-h::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:5px;background-image:var(--m);background-color:#fff}
.art-h-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,28rem);gap:40px;align-items:center}
.art-h h1{font-size:clamp(1.85rem,3.6vw,3.05rem);margin:12px 0 14px;text-wrap:balance}
.art-h figure{margin:0}
.art-h figure img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.art-h figcaption{font-size:.75rem;color:var(--mut);margin-top:6px}
@media (max-width:900px){.art-h-in{grid-template-columns:1fr;gap:20px}.art-h{padding:26px 0}}
.byline{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);margin:4px 0 0}
.byline small{display:block;color:var(--mut);font-size:.8125rem}
.eq-ph{flex:none;width:44px;height:44px;aspect-ratio:1/1;border-radius:50%;object-fit:cover;display:block;background:var(--gl2)}
.eq-ph.lg{width:96px;height:96px}.eq-ph.xl{width:132px;height:132px}
.art-wrap{display:grid;grid-template-columns:17rem minmax(0,1fr);gap:48px;padding-top:40px;padding-bottom:56px;align-items:start}
.art-wrap>*{min-width:0}
@media (max-width:980px){.art-wrap{grid-template-columns:1fr;gap:24px;padding-top:24px}.art-side{order:-1}}
.art-side{position:sticky;top:96px;align-self:start;display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0}
@media (max-width:980px){.art-side{position:static}}
.sb-box{min-width:0;background:#fff;border:1px solid var(--filet);padding:16px 18px}
.sb-box h3{font-size:.9375rem;margin:0 0 10px}
.toc{list-style:none;margin:0;padding:0 0 0 22px;position:relative}
.toc::before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:4px;background:var(--gl2);border:1px solid #C5D2DE}
.toc-fill{position:absolute;left:8px;top:6px;width:2px;height:0;background:var(--mp);transition:height 200ms}
.toc li{position:relative;margin:0 0 9px}
.toc li::before{content:"";position:absolute;left:-22px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid #8FA3B5}
.toc li.on::before{background:var(--mp);border-color:var(--mp)}
.toc a{display:block;color:var(--ink);text-decoration:none;font-size:.875rem;line-height:1.35}
.toc a span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.side-form .in{min-height:42px;padding:8px 10px;margin-bottom:8px}
.side-form .btn{width:100%}
.art-body{font:400 1.125rem/1.65 var(--f-car);max-width:46rem}
.art-body p{margin:0 0 1.15em}
.art-body h2{font:800 1.9rem/1.15 var(--f-car);margin:2em 0 .6em;scroll-margin-top:96px}
.art-body h3{font:600 1.3rem/1.25 var(--f-car);margin:1.6em 0 .5em}
.art-body img{height:auto;display:block;margin:1.4em auto}
.art-body figure{margin:1.6em 0}
.art-body figcaption{font:400 .8125rem var(--f-car);color:var(--mut)}
.art-body table{border-collapse:collapse;width:100%;font:400 .9375rem var(--f-car);display:block;overflow-x:auto}
.art-body td,.art-body th{border:1px solid var(--filet);padding:8px 10px;text-align:left}
.art-body a{overflow-wrap:anywhere}
.art-body blockquote{margin:1.4em 0;padding:4px 0 4px 20px;border-left:4px solid var(--glacier);color:var(--mut)}
.wide-box{margin:1.8em 0;padding:18px 22px;font-family:var(--f-car);font-size:1.0625rem}
.wide-box b{display:block;font:800 1rem var(--f-car);margin-bottom:6px}
.wide-box p{margin:0}
.know{background:var(--gl);position:relative;padding-top:26px}
.retain{background:#fff;border:1px solid var(--filet);border-left:4px solid var(--mp)}
.attn{background:#fff;border:1px solid var(--filet);border-left:4px solid var(--mp)}
.infog{margin:2em 0;background:#fff;border:1px solid var(--filet);padding:20px 22px;font-family:var(--f-car)}
.infog h3{margin:0 0 4px!important;font-size:1.125rem!important}
.infog>p{font:400 .875rem var(--f-car)!important;color:var(--mut);margin:0 0 14px!important}
.leg{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:14px}
.leg div{border:1px solid var(--filet);border-top:5px solid var(--c);padding:8px 10px;font-size:.8125rem}
.leg b{display:block;font-size:1.25rem;}
.route{margin:1.6em 0;background:#fff;border:1px solid var(--filet);padding:16px 22px;font-family:var(--f-car)}
.inline-form{margin:2.2em 0;background:#fff;border:2px solid var(--ink)}
.inline-form::before{content:"";display:block;height:8px;background-image:var(--trait);background-color:#fff;border-bottom:2px solid var(--ink)}
.inline-form>div{padding:20px 24px 24px}
.inline-form h3{font:800 1.35rem var(--f-car)!important;margin:0 0 6px!important}
.inline-form p{font:400 .9375rem var(--f-car)}
.inline-form form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;margin-top:12px}
@media (max-width:700px){.inline-form form{grid-template-columns:1fr}}
.faq{margin:2.4em 0 1em;font-family:var(--f-car)}
.faq h2{margin:0 0 14px!important}
.faq details{background:#fff;border:1px solid var(--filet);margin-bottom:8px}
.faq summary{cursor:pointer;list-style:none;padding:14px 16px;font-weight:600;font-size:1rem;display:flex;gap:12px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"";flex:none;width:26px;height:26px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'%3E%3Ccircle cx='13' cy='13' r='11' fill='none' stroke='%231B272C' stroke-width='2'/%3E%3Cpath d='M5 13h16' stroke='%230F5C99' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform 200ms var(--ease)}
.faq details[open] summary::before{transform:rotate(90deg)}
.faq .a{padding:0 16px 16px 54px;font-family:var(--f-car);font-size:1rem}
.srcbox{margin:2em 0;background:#fff;border:1px solid var(--filet);padding:16px 22px;font-family:var(--f-car)}
.srcbox h2{font-size:1.2rem!important;margin:0 0 10px!important}
.src-list{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;gap:8px}
.src-list li{counter-increment:s;display:grid;grid-template-columns:28px 1fr;gap:10px;font-size:.9375rem;font-family:var(--f-car)!important}
.src-list li::before{content:counter(s);width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;font-size:.75rem;font-weight:600;display:grid;place-items:center}
.src-t{font-weight:600;overflow-wrap:anywhere}
.src-m{display:block;font-size:.8125rem;color:var(--mut);overflow-wrap:anywhere}
.authorbox{display:flex;gap:18px;align-items:flex-start;margin:2.4em 0 0;padding:18px 20px;background:#fff;border:1px solid var(--filet);font-family:var(--f-car)}
.authorbox h3{margin:0 0 2px;font-size:1.125rem}.authorbox p{margin:0 0 6px;font-size:.9375rem}
.role{color:var(--mut)}
.eq-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.eq-card{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--filet);padding:22px;text-decoration:none;color:var(--ink)}
.eq-card:hover{background:var(--gl)}
.eq-card h2{font-size:1.25rem}
.eq-head{display:flex;gap:26px;align-items:center}
@media (max-width:620px){.eq-head{flex-direction:column;align-items:flex-start}}
/* ===== pied compact ===== */
.foot{background:var(--air);border-top:6px solid #fff;position:relative;margin-top:0;font-size:.875rem}
.foot::before{content:"";position:absolute;left:0;right:0;top:-6px;height:6px;background-image:var(--trait);background-color:#fff}
.foot-in{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:28px;padding:28px 24px 18px}
@media (max-width:900px){.foot-in{grid-template-columns:1fr 1fr;gap:20px;padding:22px 18px 12px}}
@media (max-width:520px){.foot-in{grid-template-columns:1fr 1fr}.foot-in>div:first-child{grid-column:1/-1}}
.foot p{margin:8px 0 0;color:var(--mut);max-width:28rem}
.foot h4{font-size:.8125rem;font-weight:800;margin:0 0 8px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:3px}
.foot li a{color:var(--ink);text-decoration:none;display:inline-block;padding:3px 0}
.foot li a:hover{text-decoration:underline}
.foot-fine{padding:10px 24px 16px;color:var(--mut);font-size:.8125rem;border-top:1px solid var(--filet);max-width:75rem;margin:0 auto}
/* ===== 404 ===== */
.nf{padding:64px 0}
.nf svg{max-width:420px;width:100%}
::selection{background:var(--glacier)}


@media (max-width:980px){.art-side .side-form{display:none}.toc{padding-left:22px}}

.fr-grid.top{align-items:start}.fr-grid.top>div:first-child{position:sticky;top:96px}
@media (max-width:900px){.fr-grid.top>div:first-child{position:static}}
.tbl{width:100%;border-collapse:collapse;margin:14px 0 8px;font-family:var(--f-car);font-size:.9375rem;display:block;overflow-x:auto}
.tbl th,.tbl td{border-bottom:1px solid var(--filet);padding:9px 12px;text-align:left;vertical-align:top}
.tbl th{font-size:.8125rem;color:var(--mut);font-weight:600;border-bottom:2px solid var(--ink)}
.tbl td:last-child,.tbl th:last-child{text-align:right;}


.tiles.grp[hidden]{display:none}
.situ{margin-top:18px}.situ .deptmap{max-height:260px}
.deptmap .d.nb{fill:#EDF2F6;stroke:#8FA3B5}
.nf .sb{grid-template-columns:1fr}.nf .sb label{border-right:0;border-bottom:2px solid var(--filet)}

.deptmap .d{vector-effect:non-scaling-stroke}.deptmap .d.me{stroke-width:2px}.deptmap .d{stroke-width:1px}


.une>*{min-width:0}.une-t{overflow-wrap:anywhere}
.toc li{margin-bottom:7px}.toc a{font-size:.8125rem}
.deptmap circle{vector-effect:non-scaling-stroke}

.toc li::before{left:-20px}.toc a span{-webkit-line-clamp:3}

.leaflet-tile-pane{filter:grayscale(1) contrast(.88) brightness(1.06)}
.deptmap text{vector-effect:non-scaling-stroke;stroke-width:3px}
/* ===== pastille RGE (contraste 4,5:1 : blanc sur menthe profonde) ===== */
.rge{display:inline-block;background:var(--mp);color:#fff;font:700 .6875rem/1 var(--f-car);letter-spacing:.04em;padding:3px 6px;border-radius:3px;vertical-align:2px}
/* ===== liste à gauche, carte de l'air à droite ===== */
.lst{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:start}
.lst-l,.lst-r{min-width:0}
.lst-r{position:sticky;top:calc(var(--hh) + 16px)}
.lst .mapbox{height:min(520px,calc(100vh - var(--hh) - 130px))}
@media (max-width:900px){.lst{grid-template-columns:1fr;gap:24px}.lst-r{position:static}.lst .mapbox{height:340px}}
.fl{display:grid;grid-template-columns:40px 1fr auto;gap:14px;padding:16px;border-bottom:1px solid var(--air);background:#fff;align-items:start;position:relative}
.fl-pic svg{width:34px;height:34px;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
.fl.hot{background:var(--gl)}
.fl:hover{background:var(--gl2)}
.fl-n .num{display:inline-grid;place-items:center;min-width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;font-size:.875rem}
.fl .loc{text-align:right}
.pin{width:30px;height:30px;display:grid;place-items:center;background:var(--mp);color:#fff;font:700 13px var(--f-car);border:2px solid #fff;box-shadow:0 0 0 1.5px var(--ink);border-radius:50%;transition:transform 150ms}
.pin.hot{transform:scale(1.25);background:var(--ink)}
.pin.v{width:16px;height:16px;background:#fff;color:var(--ink);box-shadow:0 0 0 1.5px var(--mut);border-radius:50%;font-size:0}
.filet-l{position:fixed;left:0;top:0;width:100vw;height:100vh;pointer-events:none;z-index:40;display:none}
.filet-l.on{display:block}
.filet-l line{stroke:var(--menthe);stroke-width:2;stroke-linecap:round}
.filet-l circle{fill:var(--menthe)}
@media (max-width:900px){.filet-l{display:none!important}}
.fr-map .pt circle{stroke:#fff;stroke-width:1.5;cursor:pointer;fill:var(--mp)}
.fr-map .pt.t-chauffage circle{fill:var(--ink)}.fr-map .pt.t-clim circle{fill:#4F7CA8}.fr-map .pt.t-solaire circle{fill:var(--menthe)}
.fr-map .pt:hover circle{stroke:var(--ink);stroke-width:2.5}
.fr-map.f-vmc .pt:not(.t-vmc),.fr-map.f-chauffage .pt:not(.t-chauffage),.fr-map.f-clim .pt:not(.t-clim),.fr-map.f-solaire .pt:not(.t-solaire){opacity:.12;pointer-events:none}
.legend{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-size:.8125rem;color:var(--mut);margin-top:12px}
.legend i{display:inline-block;width:12px;height:12px;vertical-align:-1px;margin-right:5px;background:var(--mp);border-radius:50%}
.etapes{list-style:none;margin:20px 0 8px;padding:0;display:grid;gap:0;max-width:46rem}
.etapes>li{position:relative;padding:0 0 24px 40px}
.etapes>li::before{content:"";position:absolute;left:8px;top:22px;bottom:0;width:2px;background:var(--glacier)}
.etapes>li::after{content:"";position:absolute;left:0;top:5px;width:18px;height:18px;border-radius:50%;background:var(--menthe);box-shadow:0 0 0 4px var(--gl)}
.etapes>li:last-child::before{display:none}
.etapes>li>b{display:block;font:700 1.25rem/1.25 var(--f-t);margin:0 0 6px}
.etapes>li p{margin:0 0 10px}
.tbl tr.tot td{border-bottom:2px solid var(--glacier)}
.barh{display:grid;grid-template-columns:10rem 1fr;gap:12px;align-items:center;margin:0 0 10px;font-size:.9375rem}
.barh .tb{height:18px;border:1.5px solid var(--ink);border-radius:9px;background:#fff;position:relative;overflow:hidden}
.barh .tb i{position:absolute;left:0;top:0;bottom:0;background:var(--c)}
@media (max-width:520px){.barh{grid-template-columns:1fr;gap:4px}}
.res .big{font-size:1.0625rem;margin:6px 0}.res .big b{font:700 1.7rem/1.1 var(--f-t);margin-right:4px}
.tile svg.pic{width:clamp(44px,11vh,96px);height:clamp(44px,11vh,96px)}
.tile input:checked+span{border-color:var(--mp);background:var(--gl)}
.tn-side .maison{max-width:100%;margin-top:auto}
.pipe-line i{background:var(--menthe)}
.pipe li.on::before{border-color:var(--menthe)}.pipe li.cur::before{background:var(--menthe);box-shadow:0 0 0 4px var(--gl)}
.toc-fill{background:var(--menthe)}.toc li.on::before{background:var(--menthe);border-color:var(--menthe)}
.tick a::before{background:var(--menthe)}
.know{position:relative;border-top:4px solid var(--menthe)}
.cat{border-top:4px solid var(--menthe)}
.art-h{border-bottom:4px solid var(--menthe)}
.vc{border-left:6px solid var(--menthe)}
.carte-id{border-left:8px solid var(--menthe)}
.cat-tag{border-color:var(--mp);color:var(--mph)}
.leg div{border-top:5px solid var(--c)}
.foot{border-top:4px solid var(--menthe)}
.foot .lg-t b{font-size:1.4rem}
.foot .lg-svg{width:34px;height:28px}
.inline-form{border-top:4px solid var(--menthe)}
.eq-ph{object-fit:cover;background:var(--gl)}
.nf .maison{max-width:420px}
.nf{padding:64px 0}
.fl-n .loc{display:block;margin-top:6px}
.sec,.ph{scroll-margin-top:90px}
body{font-size:17px}
h1,h2,h3,h4,.num,.stat b,.fl-n,.ph-stats b,.leg b,.pager a,.pager span,.tile>span,.eq-card h2{font-family:var(--f-t)}
h1,h2{font-weight:700}
h3{font-weight:600}
.prose p,.prose li{font-size:1.125rem;line-height:1.65}
.art-body{font-size:1.1875rem;line-height:1.6}
.chapo{font-family:var(--f-car);font-size:1.1875rem}
.leaflet-tile-pane{filter:grayscale(1) contrast(.9) brightness(1.05)}
.sb select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231B2A3A' stroke-width='2'/%3E%3C/svg%3E")}
.sb button{background:var(--menthe);color:var(--ink);font-weight:700}.sb button:hover{background:#1FA896}
/* écrans courts (AN-0073) : le héros tient dans 1440×780 */
@media (min-width:981px) and (max-height:820px){.hero-in{padding-top:20px;padding-bottom:20px}.hero .sub{margin:10px 0 14px}.mention{margin-top:10px}}
@media (max-height:950px) and (min-width:981px){.hero h1{font-size:clamp(2rem,min(3.4vw,6vh),3rem)}}

/* 27/10 AN-0063 : seule la carte « Trouver » colle, le sommaire défile */
@media (min-width:981px){.art-side{position:static;display:block;align-self:stretch}.art-side>.sb-box{margin-bottom:16px}.art-side>.side-form{position:sticky;top:96px}}

/* ===== 28/10 PEAUFINER (retours Mathias BE-0080…0085) ===== */
/* contraste : plus de noir sur menthe — fond ardoise-vert foncé, texte blanc (≥ 7:1) */
.cta,.btn,.sb button,.tn-side .btn{background:var(--mph);color:#fff}
.cta:hover,.btn:hover,.sb button:hover{background:#0C4A40;color:#fff}
.btn.ghost{background:#fff;color:var(--ink)}.btn.ghost:hover{background:var(--gl);color:var(--ink)}
.rge{background:var(--mph);color:#fff}
/* article : tout le panneau latéral (sommaire + formulaire) colle et suit jusqu'en bas */
@media (min-width:981px){
 .art-side{position:static;display:block;align-self:stretch}
 .art-side>.side-form{position:sticky;top:calc(var(--hh) + 12px)}
 .art-side.fits{position:sticky;top:calc(var(--hh) + 12px);align-self:start}
 .art-side.fits>.side-form{position:static}
}
.readbar{position:fixed;left:0;top:0;height:4px;width:100%;z-index:80;background:transparent;pointer-events:none}
.readbar i{display:block;height:100%;width:0;background:var(--menthe);transition:width 120ms linear}
.rt{display:flex;align-items:center;gap:12px}
.rt svg{flex:none}
.rt b{display:block;font:700 1.05rem/1.2 var(--f-t)}
.rt small{display:block;color:var(--mut);font-size:.8125rem}
.rt-bar{height:6px;border-radius:3px;background:var(--gl2);border:1px solid #C5D2DE;margin-top:10px;overflow:hidden}
.rt-bar i{display:block;height:100%;width:0;background:var(--mp);transition:width 160ms linear}
.rt-end{display:none;color:var(--mp);font-weight:700}
/* pages de texte : jamais un mur — cartes à pictogramme, deux colonnes, étapes numérotées, barres */
.wrap.prose.cards{max-width:75rem}
.cards>*{max-width:none}
.pgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch}
.pc{position:relative;background:#fff;border:1px solid var(--filet);border-top:4px solid var(--menthe);border-radius:8px;padding:26px 28px 22px;display:flex;flex-direction:column;min-width:0}
.pc.wide{grid-column:1/-1}
.pc:nth-child(3n+2){border-top-color:var(--glacier)}
.pc:nth-child(3n){border-top-color:var(--mp)}
.pc-h{display:flex;align-items:center;gap:14px;margin:0 0 14px}
.pc-ic{flex:none;width:46px;height:46px;border-radius:50%;background:var(--gl);display:grid;place-items:center;color:var(--mp)}
.pc-ic svg{width:24px;height:24px}
.pc-h h2,.pc-h h3{margin:0!important;font-size:1.3rem;line-height:1.2}
.pc p,.pc li{font-size:1.0625rem;line-height:1.6;max-width:none}
.pc p:last-child{margin-bottom:0}
.pc .lead{font-size:1.125rem;font-weight:600;color:var(--ink);border-left:4px solid var(--menthe);padding-left:14px;margin:0 0 14px}
.pc ol{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;gap:12px}
.pc.wide ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px}
.pc ol li{counter-increment:s;position:relative;padding:12px 14px 12px 58px;background:var(--air);border-radius:6px;margin:0}
.pc ol li::before{content:counter(s);position:absolute;left:14px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:var(--mph);color:#fff;font:700 1rem/32px var(--f-t);text-align:center}
.pc .tbl{display:table;border:0;margin:6px 0 0}
.pc .tbl thead{display:none}
.pc .tbl tr{display:grid;grid-template-columns:minmax(0,1fr) 4.5rem;grid-template-rows:auto 8px;column-gap:12px;padding:7px 0;border-bottom:1px solid var(--filet)}
.pc .tbl td{border:0;padding:0}
.pc .tbl td:first-child{grid-column:1}
.pc .tbl td:last-child{grid-column:2;font-weight:700;text-align:right;font-family:var(--f-t)}
.pc .tbl .bar{grid-column:1/-1;grid-row:2;height:8px;border-radius:4px;background:var(--gl2);overflow:hidden;margin-top:5px}
.pc .tbl .bar i{display:block;height:100%;background:var(--mp);border-radius:4px}
.pc.alert{background:var(--gl);border-top-color:var(--mp)}
@media (max-width:860px){.pgrid{grid-template-columns:1fr}.pc{padding:20px 18px}.pc.wide ol{grid-template-columns:1fr}.pc-h h2{font-size:1.2rem}}
/* fiche : la colonne carte ne reste plus à moitié vide */
.fiche aside{display:grid;gap:16px;align-content:start}
.glance{background:#fff;border:1px solid var(--filet);border-left:6px solid var(--menthe);border-radius:6px;padding:16px 20px}
.glance h3{margin:0 0 12px;font-size:1rem}
.glance ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.glance li{display:flex;align-items:baseline;gap:12px;margin:0}
.glance b{font:700 1.7rem/1 var(--f-t);min-width:3.4rem}
.glance span{color:var(--mut);font-size:.9375rem;line-height:1.35}
.glance a{color:var(--mp)}
.pc .tbl td.bar{grid-column:1/-1;grid-row:2;text-align:left;font-weight:400}
.pc .lead{font-weight:500}
/* « Choisir son sujet » : 6 rubriques en grandes tuiles numérotées, 3 par ligne (plus d'orpheline) */
.cats{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;counter-reset:rb}
.cat{counter-increment:rb;display:flex;flex-direction:column;gap:6px;min-height:178px;padding:22px 22px 18px;border:0;border-left:8px solid var(--mp);border-radius:0 10px 10px 0;overflow:hidden;box-shadow:0 1px 0 var(--filet)}
.cat::before{display:none}
.cat::after{content:counter(rb,decimal-leading-zero);position:absolute;right:14px;top:4px;font:800 3.6rem/1 var(--f-t);color:rgba(24,124,111,.14)}
.cat:nth-child(6n+1){background:#E3F4F0}.cat:nth-child(6n+2){background:#E4EEF7;border-left-color:#4F82B3}
.cat:nth-child(6n+3){background:#F3F7FA}.cat:nth-child(6n+4){background:#E8F3E6;border-left-color:#4F8F4A}
.cat:nth-child(6n+5){background:#EEF0F7;border-left-color:#5B67A8}.cat:nth-child(6n+6){background:#E6F1F4;border-left-color:#2E8AA0}
.cat h3{font-size:1.25rem;max-width:80%}
.cat p{font-size:.9375rem;color:var(--ink);flex:1}
.cat b{align-self:flex-start;background:#fff;border-radius:99px;padding:4px 12px;color:var(--ink);font-size:.8125rem;box-shadow:0 0 0 1px var(--filet)}
.cat:hover{transform:translateY(-3px);box-shadow:0 8px 18px rgba(27,42,58,.12);background:#fff}
@media (max-width:900px){.cats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cats{grid-template-columns:1fr}.cat{min-height:0}}
.cols{column-count:2;column-gap:36px}.cols p{break-inside:avoid-column;margin-top:0}
@media (max-width:860px){.cols{column-count:1}}
.pgrid+.fine,.cards>.fine{margin-top:18px}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}
.kpis div{background:var(--gl);border-radius:8px;padding:12px 14px;border-left:5px solid var(--menthe)}
.kpis b{display:block;font:800 1.9rem/1.05 var(--f-t);color:var(--ink)}
.kpis span{font-size:.875rem;color:var(--mut);line-height:1.3;display:block;margin-top:2px}
@media (max-width:700px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 28/10/2026 — correctifs de recette : colonne de carte sans espace perdu. */
@media (min-width:901px){
 .lst-r{align-self:stretch;position:static;display:flex;flex-direction:column}
 .lst .mapbox{flex:1;min-height:min(520px,calc(100vh - var(--hh) - 130px));height:auto}
}
/* Le sommaire reste joint au temps de lecture, y compris après recalcul du premier écran. */
.art-side>.sb-box{margin-top:0}

/* 29/10 AN-0033 : lien sur fond glacier = 4,30:1 avec --mp ; --mph passe (>= 6:1) */
.sec.b-n .prose a,.sec.b-n p a{color:var(--mph)}
