:root{
  --c0:#FFFFFF;--c1:#F6FAF7;--c2:#E4EDE7;--c3:#C9D8CF;
  --c7:#55665D;--c8:#22342B;--c9:#0B2A1F;
  --cta:#0B8A4B;--cta-h:#08703C;
  --sun:#FFB800;--sun-bg:#FFF4D1;--leaf:#16B364;
  --grad:linear-gradient(135deg,#0B2A1F 0%,#0E4A33 55%,#137A4C 100%);
  --blue:#1F4FA8;--blue-bg:#EAF0FB;--yel:#8A6A00;--yel-bg:#FFF6D6;
  --r:12px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
 color:var(--c8);background:var(--c1);line-height:1.64;font-size:16px;-webkit-font-smoothing:antialiased}
h1,h2,h3{color:var(--c9);line-height:1.13;letter-spacing:-.035em;font-weight:760}
h4{color:var(--c9);font-weight:700;letter-spacing:-.02em}
a{color:var(--cta)}
.w{max-width:1140px;margin:0 auto;padding:0 24px}
svg{display:block}
img,svg{max-width:100%}

.btn{display:inline-block;background:var(--cta);color:#fff;border:none;border-radius:var(--r);
 padding:16px 30px;font-family:inherit;font-size:1rem;font-weight:650;cursor:pointer;
 text-decoration:none;text-align:center;transition:background .14s;letter-spacing:-.012em}
.btn:hover{background:var(--cta-h)}
.btn:disabled{background:var(--c3);cursor:not-allowed}
.btn.full{display:block;width:100%}
.btn.ghost{background:#fff;color:var(--c9);border:1.5px solid var(--c3)}
.btn.ghost:hover{border-color:var(--c9)}
.rs{font-size:.83rem;color:var(--c7);text-align:center;margin-top:12px}

/* en-tête */
.hd{position:sticky;top:0;z-index:60;background:rgba(250,249,246,.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--c2)}
.hd-in{max-width:1140px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.lg{display:flex;align-items:center;gap:10px;color:var(--c9);text-decoration:none}
.lg .mk{width:34px;height:34px;border-radius:9px;background:var(--c9);color:#fff;display:grid;place-items:center;font-size:.68rem;font-weight:700}
.lg b{display:block;font-size:.98rem;font-weight:760;letter-spacing:-.03em;line-height:1.15}
.lg i{font-style:normal;font-size:.71rem;color:var(--c7);font-weight:500}
.nav{display:flex;gap:22px;align-items:center}
.nav a{color:var(--c8);text-decoration:none;font-size:.92rem;font-weight:600}
.nav a:hover,.nav a[aria-current]{color:var(--c9);text-decoration:underline;text-underline-offset:4px}
.hd .btn{padding:10px 18px;font-size:.9rem;white-space:nowrap}
@media(max-width:520px){.lg i{display:none}.hd .btn{padding:9px 14px}}
html,body{overflow-x:hidden}
@media(max-width:900px){.nav{display:none}}

/* fil d'Ariane */
.bc{font-size:.84rem;color:var(--c7);padding-top:18px;padding-bottom:14px}
.bc a{color:var(--c7)}
.bc span{margin:0 6px}

/* hero */
.hero{padding:62px 0 0;text-align:center;background:var(--grad);color:#fff;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,184,0,.55) 0%,rgba(255,184,0,0) 70%);pointer-events:none}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:var(--c1)}
.hero .w{position:relative;z-index:1}
.hero h1{color:#fff}
.hero h1 em{font-style:normal;color:var(--sun)}
.tagline{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);
 color:#fff;padding:7px 16px;border-radius:100px;font-size:.84rem;font-weight:600;margin-bottom:24px}
.hero h1{font-size:3.2rem;max-width:20ch;margin:0 auto 18px}
.hero .sub{font-size:1.14rem;color:rgba(255,255,255,.82);max-width:60ch;margin:0 auto 30px}
.tri{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;font-size:.95rem;color:#fff;margin-bottom:44px}
.tri span{display:flex;align-items:center;gap:9px}
.tri svg{color:var(--sun)}

/* formulaire */
.fmw{max-width:860px;margin:0 auto;position:relative;z-index:2}
.fm{background:#fff;border-radius:18px;border:1px solid var(--c2);box-shadow:0 26px 66px -28px rgba(26,24,20,.42);overflow:hidden;text-align:left;scroll-margin-top:90px}
.fm-hd{padding:24px 32px 0;display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap}
.fm-hd .tt{font-size:1.2rem;font-weight:760;color:var(--c9);letter-spacing:-.03em}
.fm-hd .ct{font-size:.78rem;font-weight:650;color:var(--c7);letter-spacing:.06em;font-variant-numeric:tabular-nums}
.fm-line{height:2px;background:var(--c2);margin:16px 32px 0;border-radius:2px;overflow:hidden}
.fm-line i{display:block;height:100%;background:linear-gradient(90deg,var(--leaf),var(--sun));transition:width .32s cubic-bezier(.4,0,.2,1)}
.fm-b{padding:24px 32px 32px}
.lbl{display:block;font-size:1.05rem;font-weight:700;color:var(--c9);margin-bottom:18px;letter-spacing:-.025em}
.sub2{font-size:.86rem;color:var(--c7);margin:-10px 0 16px}
.opts{display:grid;gap:10px}
.opts.q2{grid-template-columns:repeat(2,1fr)}
.opts.q3{grid-template-columns:repeat(3,1fr)}
.opts.q4{grid-template-columns:repeat(4,1fr)}
.opts.q6{grid-template-columns:repeat(6,1fr)}
.op{border:1.5px solid var(--c2);border-radius:14px;padding:18px 14px;cursor:pointer;font-size:.95rem;
 font-family:inherit;color:var(--c8);background:#fff;text-align:center;transition:.13s;font-weight:500;
 display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px}
.op small{font-size:.8rem;color:var(--c7);font-weight:500}
.op svg{color:var(--cta)}
.op:hover{border-color:var(--c3);background:var(--c1)}
.op.on{border-color:var(--cta);background:#EAF7EF;font-weight:650;box-shadow:0 0 0 3px rgba(11,138,75,.12)}
.op.row{flex-direction:row;justify-content:space-between;text-align:left}
.fld{width:100%;border:1.5px solid var(--c2);border-radius:14px;padding:14px 16px;font-size:1rem;
 font-family:inherit;color:var(--c8);background:#fff;transition:.12s}
.fld::placeholder{color:#A29D93}
.fld:focus{outline:none;border-color:var(--c9);box-shadow:0 0 0 3px rgba(26,24,20,.06)}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.back{background:none;border:none;color:var(--c7);font-family:inherit;font-size:.88rem;font-weight:600;cursor:pointer;padding:0;margin-bottom:16px;display:flex;align-items:center;gap:6px}
.cs{display:block;margin-top:7px;font-size:11.5px;line-height:1.45;opacity:.8}.cs a{color:inherit;text-decoration:underline}
.trap{position:absolute;left:-9999px;width:0;height:0;opacity:0}
.msg{border-radius:14px;padding:22px 22px;background:var(--c1);border:1px solid var(--c2)}
.msg h3{font-size:1.12rem;margin-bottom:8px}
.msg p{color:var(--c7);font-size:.95rem;margin-bottom:10px}
.msg p:last-child{margin-bottom:0}
.pill{display:inline-block;border-radius:100px;padding:4px 12px;font-size:.8rem;font-weight:700;letter-spacing:.02em}
.pill.b{background:var(--blue-bg);color:var(--blue)}
.pill.j{background:var(--yel-bg);color:var(--yel)}
.done{display:none;padding:54px 32px;text-align:center}
.done .ck{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--c3);display:grid;place-items:center;margin:0 auto 16px;color:var(--c9)}
.done h3{font-size:1.22rem;margin-bottom:8px}
.done p{color:var(--c7);font-size:.95rem}
.err{display:none;margin:0 32px 28px;padding:18px 20px;border-radius:14px;background:#fff4f2;border:1px solid #f3c9bf}
.err h3{font-size:1rem;margin-bottom:6px}
.err p{font-size:.92rem;color:var(--c8)}
@media(max-width:760px){
 .opts.q3,.opts.q4{grid-template-columns:1fr 1fr}
 .opts.q6{grid-template-columns:repeat(3,1fr)}
 .f2{grid-template-columns:1fr}
 .fm-hd,.fm-b{padding-left:20px;padding-right:20px}.fm-line{margin-left:20px;margin-right:20px}
}

/* sections */
.s{padding:88px 0}
.s.wht{background:#fff;border-top:1px solid var(--c2);border-bottom:1px solid var(--c2)}
.s.first{padding-top:104px}
.h2b{max-width:700px;margin-bottom:44px}
.h2b.c{margin-left:auto;margin-right:auto;text-align:center}
.kk{font-size:.78rem;font-weight:700;color:var(--cta);letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}
.h2b h2{font-size:2.35rem;margin-bottom:14px}
.h2b p{color:var(--c7);font-size:1.07rem}

.g2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:#fff;border:1px solid var(--c2);border-radius:18px;padding:30px 28px}
.card h3,.card .h3{font-size:1.24rem;margin-bottom:10px}
.card p{color:var(--c7);font-size:.97rem;margin-bottom:14px}
.card p:last-child{margin-bottom:0}
.card .kk{margin-bottom:10px}
a.card{display:block;text-decoration:none;transition:.15s}
a.card:hover{border-color:var(--c3);transform:translateY(-3px);box-shadow:0 18px 44px -24px rgba(26,24,20,.42)}
.go{font-size:.92rem;font-weight:650;color:var(--c9);display:inline-flex;align-items:center;gap:6px}
@media(max-width:880px){.g2,.g3{grid-template-columns:1fr}}

/* tableau des plafonds */
.tblw{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--c2);border-radius:16px;background:#fff}
table.pl{width:100%;border-collapse:collapse;font-size:.95rem;min-width:520px;font-variant-numeric:tabular-nums}
table.pl caption{caption-side:top;text-align:left;padding:16px 18px 6px;font-weight:700;color:var(--c9)}
table.pl th,table.pl td{padding:12px 16px;border-bottom:1px solid var(--c2);text-align:right}
table.pl th:first-child,table.pl td:first-child{text-align:left}
table.pl td:not(:first-child){white-space:nowrap}
table.pl thead th{font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:var(--c7)}
table.pl tbody tr:last-child td{border-bottom:none}
table.pl .b{color:var(--blue);font-weight:700}
table.pl .j{color:var(--yel);font-weight:700}
.note{font-size:.86rem;color:var(--c7);margin-top:12px}

/* simulateur */
.sim{background:#fff;border:1px solid var(--c2);border-radius:18px;padding:30px 28px}
.sim .f2{margin-bottom:16px}
.sim label{display:block;font-size:.88rem;font-weight:650;color:var(--c9);margin-bottom:6px}
.sim select.fld,.sim input.fld{appearance:auto}
.sim-out{margin-top:6px;border-top:1px solid var(--c2);padding-top:18px;min-height:64px}
.sim-out p{color:var(--c8)}

/* chiffres clés */
.nums{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.num{background:#fff;border:1px solid var(--c2);border-radius:18px;padding:32px 28px}
.num .v{font-size:2.8rem;font-weight:780;color:var(--c9);letter-spacing:-.05em;line-height:1}
.num .k{font-size:1rem;color:var(--c8);font-weight:650;margin-top:12px}
.num .d{font-size:.92rem;color:var(--c7);margin-top:5px}
@media(max-width:880px){.nums{grid-template-columns:1fr}}

/* frise */
.fr{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--c3);margin-top:8px}
.fre{padding:28px 24px 0;border-right:1px solid var(--c2);position:relative}
.fre:last-child{border-right:none}
.fre::before{content:"";position:absolute;top:-7px;left:24px;width:12px;height:12px;border-radius:50%;background:var(--sun);box-shadow:0 0 0 4px var(--sun-bg)}
.fre .n{font-size:.78rem;font-weight:700;letter-spacing:.09em;color:var(--c7);margin-bottom:10px}
.fre h3{font-size:1.06rem;margin-bottom:9px}
.fre p{color:var(--c7);font-size:.94rem}
@media(max-width:880px){.fr{grid-template-columns:1fr;border-top:none}
 .fre{border-right:none;border-left:2px solid var(--c3);padding:6px 0 28px 26px}
 .fre::before{top:6px;left:-7px}}

/* bandeau CTA */
.bd{background:#fff;border-top:1px solid var(--c2);border-bottom:1px solid var(--c2)}
.bd-in{max-width:1140px;margin:0 auto;padding:54px 24px;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.bd h2{font-size:1.75rem;margin-bottom:9px}
.bd p{color:var(--c7);font-size:1.02rem;max-width:56ch}
.bd .btn{flex:none}

/* alerte */
.alert{border-left:3px solid #C98A00;background:#FFF9EA;border-radius:0 12px 12px 0;padding:16px 20px;color:var(--c8);font-size:.96rem;margin:0 0 28px}
.alert b{color:var(--c9)}

/* article */
.art{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:56px;align-items:start}
.art>*{min-width:0}
.tx h2{font-size:1.6rem;margin:42px 0 14px}
.tx h2:first-child{margin-top:0}
.tx h3{font-size:1.2rem;margin:28px 0 10px}
.tx p{color:var(--c7);margin-bottom:14px}
.tx ul,.tx ol{display:grid;gap:10px;margin:14px 0 18px;padding-left:22px;color:var(--c7)}
.tx strong{color:var(--c9)}
.tx .tblw{margin:16px 0 18px}
.tx .enc{border-left:2px solid var(--c3);padding:4px 0 4px 20px;margin:20px 0;color:var(--c8);font-size:.98rem}
.toc{border:1px solid var(--c2);border-radius:18px;padding:24px;position:sticky;top:88px;background:#fff}
.toc b{display:block;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--c7);margin-bottom:14px}
.toc a{display:block;color:var(--c8);text-decoration:none;font-size:.9rem;padding:7px 0;border-bottom:1px solid var(--c2)}
.toc a:last-of-type{border-bottom:none}
@media(max-width:940px){.art{grid-template-columns:minmax(0,1fr)}.toc{display:none}}

/* réponse courte (GEO) */
.tldr{background:#fff;border:1px solid var(--c2);border-radius:16px;padding:22px 24px;margin-bottom:34px}
.tldr b{display:block;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;color:var(--c7);margin-bottom:8px}
.tldr p{color:var(--c8);margin:0}
.tldr ul{margin:8px 0 0;padding-left:20px;color:var(--c8);display:grid;gap:6px}

/* départements */
.zn-l{display:flex;flex-wrap:wrap;gap:8px}
.zn-d{border:1px solid var(--c3);border-radius:100px;padding:6px 14px;font-size:.9rem;color:var(--c8);white-space:nowrap;text-decoration:none;background:#fff}
a.zn-d:hover{border-color:var(--c9)}
.zn-d b{font-variant-numeric:tabular-nums;color:var(--c7);font-weight:650;margin-right:6px}

/* FAQ */
.faq{max-width:820px}
.faq details{border-bottom:1px solid var(--c2)}
.faq summary{padding:22px 0;cursor:pointer;font-weight:650;font-size:1.04rem;color:var(--c9);list-style:none;display:flex;justify-content:space-between;gap:22px;align-items:center;letter-spacing:-.02em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:9px;height:9px;border-right:1.6px solid var(--c7);border-bottom:1.6px solid var(--c7);transform:rotate(45deg);flex:none;transition:.2s;margin-right:5px}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq .a{padding:0 0 24px;color:var(--c7);font-size:.98rem}
.faq .a p{margin-bottom:11px}.faq .a p:last-child{margin-bottom:0}

/* bas de page */
.fin{background:var(--grad);text-align:center}
.fin-in{max-width:660px;margin:0 auto;padding:88px 24px}
.fin h2{color:#fff;font-size:2.4rem;margin-bottom:16px}
.fin p{color:rgba(255,255,255,.72);font-size:1.08rem;margin-bottom:30px}
.fin .rs{color:rgba(255,255,255,.5)}
.ft{background:var(--c9);border-top:1px solid rgba(255,255,255,.09);padding:34px 0 30px;color:rgba(255,255,255,.6)}
.ft-in{max-width:1140px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px}
.ft .lg b{color:#fff}.ft .lg i{color:rgba(255,255,255,.5)}
.ft .lg .mk{background:#fff;color:var(--c9)}
.ft h4{color:#fff;font-size:.86rem;margin-bottom:10px;letter-spacing:0}
.ft a{display:block;color:rgba(255,255,255,.62);text-decoration:none;font-size:.86rem;padding:3px 0}
.ft a:hover{color:#fff}
.ft-l{max-width:1140px;margin:24px auto 0;padding:18px 24px 0;border-top:1px solid rgba(255,255,255,.07);font-size:.76rem;color:rgba(255,255,255,.4);line-height:1.6}
@media(max-width:880px){.ft-in{grid-template-columns:1fr 1fr}}

/* barre mobile */
.sk{display:none;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--c2);padding:10px 14px;gap:10px;z-index:70;box-shadow:0 -4px 18px rgba(0,0,0,.07)}
.sk .tl2{flex:none;padding:14px 16px;border:1px solid var(--c3);border-radius:var(--r);color:var(--c9);text-decoration:none;font-weight:650;font-size:.92rem}
.sk .btn{flex:1;padding:14px}

@media(max-width:760px){
  .sk{display:flex}body{padding-bottom:74px}
  .s{padding:60px 0}.s.first{padding-top:78px}
  .hero{padding-top:40px}.hero h1{font-size:2.1rem;max-width:100%}
  .tri{gap:14px;font-size:.9rem;margin-bottom:32px}
  .h2b{margin-bottom:32px}.h2b h2{font-size:1.85rem}
  .fin h2{font-size:1.9rem}.fin-in{padding:60px 24px}
  .bd-in{padding:42px 24px}.bd h2{font-size:1.45rem}
}

/* bandeau cookies */
.tefc{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:#0d1520;color:#eef2f7;padding:18px 20px;display:flex;gap:20px;align-items:center;justify-content:center;flex-wrap:wrap;box-shadow:0 -8px 30px rgba(0,0,0,.28);font-size:14px;line-height:1.45}
.tefc[hidden]{display:none}.tefc-t{max-width:620px}.tefc-t strong{display:block;margin-bottom:4px;font-size:15px}.tefc-t p{margin:0;color:#b9c4d2}.tefc-t a{color:#eef2f7;text-decoration:underline}
.tefc-b{display:flex;gap:10px;flex-wrap:wrap}.tefc button{font:inherit;cursor:pointer;border-radius:9px;padding:11px 18px;border:1px solid transparent}
.tefc-p{background:#eef2f7;color:#0d1520;font-weight:600}.tefc-s{background:0 0;color:#eef2f7;border-color:#44546b}.tefc-s:hover{border-color:#8697ad}
@media(max-width:680px){.tefc{flex-direction:column;align-items:stretch;padding:16px}.tefc button{flex:1}}

/* accessibilité */
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:#fff;color:#000;padding:12px 18px;border-radius:0 0 8px 0;font-weight:650;text-decoration:none}
.skip:focus{left:0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:4px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* touches « énergie » */
.ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:#EAF7EF;color:var(--cta);margin-bottom:16px}
.ic.sun{background:var(--sun-bg);color:#B07A00}
.num .v{background:linear-gradient(90deg,var(--cta),#3BAA5C);-webkit-background-clip:text;background-clip:text;color:transparent}
.badge{display:inline-flex;align-items:center;gap:6px;background:var(--sun-bg);color:#7A5600;border-radius:100px;padding:4px 12px;font-size:.8rem;font-weight:700}
.hd .btn{background:var(--cta)}
