@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/manrope-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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/manrope-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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{--ink:#1F1F1F;--muted:#5C5C5C;--line:#E2DFDA;--bg:#F6F5F2;--card:#FFFFFF;--or:#FF834F;--or-d:#CE3D00;--or-l:#FFF0E8;--loss:#C4312B;--gain:#B86E00;--blue:#1E6FBF;--blue-l:#EAF2FA;--ok:#1E7A3C;--r:16px}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 Manrope,system-ui,-apple-system,Segoe UI,sans-serif}
a{color:var(--or-d)}a:hover{color:#9E2F00}
img{max-width:100%;height:auto}
.wrap{max-width:1240px;margin:0 auto;padding:0 16px}
.narrow{max-width:780px}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 12px;border-radius:8px;z-index:20}.skip:focus{left:8px}
.muted{color:var(--muted)}.fine{font-size:12.5px;color:var(--muted);margin:8px 0 0}.small{font-size:13px}
h1,h2,h3{line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(30px,4.6vw,50px);font-weight:800;letter-spacing:-.02em}
h2{font-size:clamp(22px,2.6vw,30px);font-weight:800;letter-spacing:-.01em}
h3{font-size:18px;font-weight:800}
.lead{font-size:clamp(16px,1.6vw,19px);color:#3D3D3D;max-width:60ch}
/* entête */
.top{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:5}
.top .row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-weight:700}
.logo img{display:block;width:132px;height:auto}
.logo span{border-left:1px solid var(--line);padding-left:12px;font-size:14px;color:var(--muted)}
.top nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap;font-size:15px;font-weight:600}
.top nav a{color:var(--ink);text-decoration:none}.top nav a:hover{color:var(--or-d)}
.top nav{margin-left:auto}
.top .lang{border:1px solid var(--line);border-radius:999px;padding:6px 12px;color:var(--ink);text-decoration:none;font-size:15px;font-weight:600;white-space:nowrap}.top .lang:hover{border-color:var(--or)}
.hero-cta{display:none;flex-direction:column;align-items:flex-start;gap:8px;margin:16px 0 0}.hero-cta>span{font-size:13px;color:var(--muted)}
/* héros */
.hero{padding:40px 0 8px}
.hero h1{max-width:20ch}
/* calculateur */
.calc{padding:16px 0 56px}
.calc-grid{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}
.stage-col{flex:999 1 560px;min-width:0;position:sticky;top:12px}
.panel-col{flex:1 1 380px;min-width:0;display:flex;flex-direction:column;gap:16px}
.stage{position:relative;background:linear-gradient(#C9DAEA,#EEF3F8);border:1px solid var(--line);border-radius:22px;overflow:hidden;aspect-ratio:640/520}
.stage svg{display:block;width:100%;height:100%}
.stage g.enter{animation:rise .6s cubic-bezier(.2,.8,.2,1) both}
.stage.ete{background:linear-gradient(#BFDDF3,#F1F8FD)}.stage.cut{background:#FBF8F2}
.stage g.faded{opacity:.18!important;transition:opacity .4s}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.stage g.enter{animation:none}}
.badges{position:absolute;top:12px;left:12px;display:flex;gap:8px;flex-wrap:wrap}
.badges span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:700}
.badges .b-temp{background:var(--blue);border-color:var(--blue);color:#fff}
.badges .b-temp.hot{background:var(--gain);border-color:var(--gain)}
.b-hidden{position:absolute;top:50px;left:12px;font-size:12.5px;font-weight:600;color:var(--muted);background:rgba(255,255,255,.85);border-radius:8px;padding:3px 8px}
.b-cover{position:absolute;left:12px;bottom:12px;background:var(--ink);color:#fff;border-radius:12px;padding:8px 12px;font-size:13px;font-weight:700}
.callout{position:absolute;right:12px;bottom:12px;width:220px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:0 6px 18px rgba(0,0,0,.1);display:flex;flex-direction:column;gap:8px;font-size:12.5px}
.callout .lbl{font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:11.5px;color:var(--muted)}
.callout .layers{display:flex;height:42px;border:1px solid var(--ink);border-radius:6px;overflow:hidden}
.callout .l1{width:12%;background:#8C7A68}.callout .l2{width:8%;background:#D6CFC3}.callout .l3{width:50%;background:repeating-linear-gradient(45deg,#F6D7A7 0 6px,#EDC386 6px 12px);transition:width .4s}.callout .l4{flex:1;background:#F4F1EA}
.season{position:absolute;right:12px;top:12px;display:grid;grid-template-columns:1fr 1fr;gap:4px;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:12px;padding:4px}
.season button{min-height:40px;border:0;border-radius:9px;background:transparent;font:inherit;font-size:13px;font-weight:700;color:var(--muted);padding:0 12px;cursor:pointer}
.season button[aria-pressed=true]{background:var(--ink);color:#fff}
.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.kpi{border-radius:16px;padding:14px 16px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}
.kpi span{font-size:13px;font-weight:700;color:var(--muted)}
.kpi b{font-size:clamp(26px,3vw,34px);font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.kpi small{font-size:12.5px;color:var(--muted)}
.kpi.heat{border-top:4px solid var(--loss)}.kpi.cool{border-top:4px solid var(--blue)}
.steps{display:flex;gap:6px;flex-wrap:wrap}
.steps button{min-height:44px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:0 14px;font:inherit;font-size:14px;font-weight:700;color:var(--muted);cursor:pointer}
.steps button b{display:inline-flex;width:22px;height:22px;border-radius:50%;align-items:center;justify-content:center;background:var(--bg);font-size:12px;margin-right:4px}
.steps button[aria-current=step]{background:var(--ink);border-color:var(--ink);color:#fff}
.steps button[aria-current=step] b{background:var(--or);color:#fff}
.card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px}
.panel h2{font-size:24px}
.field{margin:16px 0;border:0;padding:0}
.lbl{display:block;font-size:14px;font-weight:700;margin-bottom:8px}
select,input[type=number],input[type=email],input[type=text]{width:100%;font:inherit;font-size:16px;padding:11px 12px;border:1px solid #BDB7AE;border-radius:12px;background:#fff;color:var(--ink);min-height:46px}
select:focus,input:focus,button:focus-visible,a:focus-visible{outline:3px solid rgba(255,131,79,.55);outline-offset:2px}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.seg.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.seg label{position:relative;flex:1 1 auto}
.seg input{position:absolute;opacity:0;inset:0;cursor:pointer}
.seg span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:44px;padding:6px 12px;border:1px solid #CFC9C0;border-radius:12px;font-weight:600;font-size:14.5px;background:#fff;cursor:pointer}
.seg input:checked+span{border:2px solid var(--or-d);background:var(--or-l);font-weight:800}
.seg input:focus-visible+span{outline:3px solid rgba(255,131,79,.55);outline-offset:2px}
.range{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:baseline}
.range label{font-size:14px;font-weight:700}
.range output{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}
.range input{grid-column:1/-1;width:100%;accent-color:var(--or-d);min-height:32px}
.wins{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.stepper{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:700;color:var(--muted)}
.stepper input{text-align:center;font-weight:800;color:var(--ink)}
.row2{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:end}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;margin-top:10px;cursor:pointer}
.check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--or-d);flex:none}
.detail{margin-top:14px;border-top:1px solid var(--line);padding-top:6px}
.detail summary{list-style:none;cursor:pointer}.detail summary::-webkit-details-marker{display:none}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.num{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:700}
.info{background:var(--blue-l);border-radius:12px;padding:10px 14px;font-size:14.5px}
.info p{margin:2px 0}
.nav{display:flex;gap:10px;margin-top:20px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:12px;font:inherit;font-weight:800;text-decoration:none;cursor:pointer;border:1px solid transparent}
.nav .btn{flex:1}
.btn.primary{background:var(--or-d);color:#fff}.btn.primary:hover{background:#A93200;color:#fff}
.btn.ghost{background:#fff;border-color:#BDB7AE;color:var(--ink)}
.btn:disabled{opacity:.4;cursor:default}
.bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.bars li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;font-size:14.5px}
.bars li span{font-weight:700}.bars li b{text-align:right;font-variant-numeric:tabular-nums}
.bars li i{grid-column:1/-1;height:10px;border-radius:6px;background:var(--bg);position:relative;overflow:hidden}
.bars li i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);border-radius:6px;background:var(--loss);transition:width .5s}
.bars.gain li i::after{background:var(--gain)}
.bars li em{grid-column:1/-1;font-style:normal;font-size:12.5px;color:var(--muted)}
.save{margin-top:18px;background:#EEF7F0;border-radius:14px;padding:14px 16px}
.save h4{margin:0 0 4px;font-size:14px}.save b{font-size:24px;color:var(--ok)}.save p{margin:6px 0 0;font-size:13.5px}
.rec{border:2px solid var(--or-d);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:8px}
.rec-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.badge{background:var(--or-d);color:#fff;font-size:12.5px;font-weight:800;border-radius:999px;padding:4px 10px}
.price{font-size:14px;color:var(--muted)}.price b{font-size:22px;color:var(--ink)}
.rec h3{margin:0;font-size:19px}.rec p{margin:0;font-size:14.5px}
.heads small{color:var(--muted)}
.meter{height:12px;background:var(--bg);border-radius:8px;overflow:hidden}.meter div{height:100%;width:var(--w);background:linear-gradient(90deg,var(--or),var(--or-d));border-radius:8px;transition:width .5s}
.cov{font-weight:700}
.warn{color:var(--loss);font-weight:600}.ok{color:var(--ok);font-weight:600}
.rec .btn{margin-top:6px}
.alt{font-size:13.5px!important;color:var(--muted)}
.qc{margin-top:14px;background:var(--or-l);border-radius:14px;padding:14px 16px;font-size:14.5px}
.qc h4{margin:0 0 4px}.qc p{margin:4px 0}
#subs h3{margin-top:22px}#subs h3 small{color:var(--muted);font-weight:600}
.subs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.subs li{border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:14px}
.subs p{margin:4px 0}
.tag{display:inline-block;font-size:12px;font-weight:800;border-radius:999px;padding:2px 9px}
.tag.ok{background:#E3F2E7;color:var(--ok)}.tag.no{background:#FBE7E5;color:#9C2620}.tag.unk{background:#EFEDE9;color:var(--muted)}
.mail h3{margin-bottom:4px}.mail .btn{width:100%;margin-top:14px}
.mail .num{margin-top:12px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.msg{min-height:1.4em;margin:10px 0 0;font-weight:700}.msg.ok{color:var(--ok)}.msg.err{color:var(--loss)}
.link{background:none;border:0;color:var(--or-d);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;padding:8px 0;min-height:44px}
input[aria-invalid=true]{border-color:var(--loss)}
/* contenu */
.method,.diy,.faq,.guides{padding:56px 0;border-top:1px solid var(--line)}
.method{background:#fff}
.cards{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;counter-reset:c}
.cards li{background:var(--bg);border-radius:16px;padding:18px;counter-increment:c}
.cards li::before{content:counter(c);display:inline-flex;width:30px;height:30px;border-radius:50%;background:var(--or);color:#fff;align-items:center;justify-content:center;font-weight:800;margin-bottom:10px}
.cards li p{margin:0;font-size:14.5px;color:#3D3D3D}
.diy-steps{list-style:none;padding:0;margin:24px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px}
.diy-steps li{display:flex;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}
.diy-steps li>b{flex:none;width:32px;height:32px;border-radius:10px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center}
.diy-steps h3{font-size:16px;margin:0 0 4px}.diy-steps p{margin:0;font-size:14px;color:#3D3D3D}
.qc-only{background:var(--or-l);border-radius:14px;padding:14px 16px;font-weight:600}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;margin:10px 0;padding:0 18px}
.faq summary{cursor:pointer;font-weight:800;padding:16px 0;min-height:44px}
.faq details p{margin:0 0 16px;color:#3D3D3D}
.g{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.gcard{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;text-decoration:none;color:var(--ink)}
.gcard:hover{border-color:var(--or)}.gcard p{margin:0;font-size:14.5px;color:var(--muted)}
.article{padding:32px 0 56px}
.article h1{font-size:clamp(28px,4vw,42px)}
.article h2{margin-top:1.6em}
.article ul{padding-left:1.2em}.article li{margin:6px 0}
.crumbs{font-size:14px;color:var(--muted);margin-bottom:16px}
.tbl{margin:20px 0;overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:14px}
.tbl figcaption{font-weight:700;padding:12px 14px 0;font-size:14.5px}
.tbl table{border-collapse:collapse;width:100%;font-size:14.5px;font-variant-numeric:tabular-nums}
.tbl th,.tbl td{padding:10px 14px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl th:first-child,.tbl td:first-child{text-align:left}
.tbl th small{font-weight:600;color:var(--muted)}
.cta{margin:28px 0}
.foot{background:var(--ink);color:#E9E6E1;padding:40px 0;font-size:14.5px}
.foot a{color:#FFB08C}
.foot .muted{color:#BDB8B0}
.foot-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.foot-row img{background:#fff;border-radius:8px;padding:6px 8px;width:120px}
@media (max-width:900px){
  .stage-col{position:sticky;top:0;z-index:4;flex-basis:100%;background:var(--bg);padding:6px 0 8px;margin:0 -16px;padding-left:16px;padding-right:16px;box-shadow:0 8px 12px -12px rgba(0,0,0,.25)}
  .stage{border-radius:14px;aspect-ratio:auto;height:min(38vh,62vw);min-height:200px}
  .stage-col .fine{display:none}
  .kpis{margin-top:6px;gap:8px}.kpi{padding:6px 10px;border-top-width:3px!important}.kpi span{font-size:11.5px}.kpi b{font-size:20px}.kpi small{display:none}
  .callout{display:none!important}
  .badges{top:8px;left:8px;gap:4px}.badges span{font-size:11.5px;padding:3px 8px}
  .b-hidden{display:none!important}
  .season{top:auto;bottom:8px;right:8px;padding:3px;border-radius:10px}.season button{min-height:32px;font-size:11.5px;padding:0 8px}
  .b-cover{display:none!important}
  .hero{padding:24px 0 0}
  .calc{padding-top:8px}
}
@media (max-width:900px){.hero-cta{display:flex}.hero-cta .btn{width:100%}}
@media (max-width:520px){.top nav a[rel]{display:none}.top .row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 12px;min-height:0;padding-top:10px}.top .lang{grid-column:2;grid-row:1}.top nav{grid-column:1/-1;grid-row:2;margin:0 -16px;padding:10px 16px;border-top:1px solid var(--line);justify-content:space-around;gap:8px;font-size:15px}.top .lang{font-size:14px;padding:5px 12px}.steps{flex-wrap:nowrap;gap:5px}.steps button{flex:1 1 auto;padding:0 8px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}.steps button b{margin-right:0}.steps button:not([aria-current]) span{display:none}.steps button[aria-current] span{margin-left:6px}.seg.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}.wins{grid-template-columns:repeat(2,minmax(0,1fr))}.logo span{display:none}.row2{grid-template-columns:1fr}}
/* v2 */
.v2 .wrap{max-width:1100px}
.v2 h1{max-width:24ch}
.split{display:flex;flex-wrap:wrap;gap:24px;align-items:center;margin:20px 0}
.split>*{flex:1 1 320px;min-width:0}
.mini-house{margin:0;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.mini-house svg{display:block;width:100%;height:auto}
.mini-house figcaption{font-size:13px;color:var(--muted);padding:8px 12px}
.kpis.two{margin:0 0 12px}
.rcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px;margin:16px 0}
.rcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:4px}
.rcard>b{font-size:18px}.rcard p{margin:0}
.split .rcard{margin-top:4px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:#fff;text-decoration:none;font-weight:700;font-size:14px;color:var(--ink)}
.chips a:hover{border-color:var(--or)}
.facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.facts li{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column}
.facts span{font-size:12.5px;color:var(--muted);font-weight:700}.facts b{font-size:22px}
.v2 details{background:#fff;border:1px solid var(--line);border-radius:14px;margin:10px 0;padding:0 18px}
.v2 details summary{cursor:pointer;font-weight:800;padding:14px 0;min-height:44px}
.v2 details p{margin:0 0 14px;color:#3D3D3D}
.v2 .qc{margin:16px 0}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px}
.conv{margin:16px 0}
.conv .out{margin:14px 0 4px;font-size:15px}.conv .out b{font-size:24px;color:var(--ok);margin-left:6px}
.tbl td a{text-decoration:none}
.gcard.hub{border-color:#F3C9B4;background:var(--or-l)}
/* v3 : pièces, deux systèmes */
.rooms{margin-top:14px;border:1px solid var(--line);border-radius:14px;padding:0 14px 12px}
.rooms summary{cursor:pointer;font-weight:800;padding:12px 0;min-height:44px;list-style:none}
.rooms summary::-webkit-details-marker{display:none}
.rooms summary::before{content:"+ ";color:var(--or-d)}
.rooms[open] summary::before{content:"− "}
#room-list{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:10px;counter-reset:r}
.room{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:end;background:var(--bg);border-radius:12px;padding:10px}
.room select,.room input{min-height:42px;padding:8px 10px;font-size:15px}
.room .rm{width:42px;height:42px;border-radius:10px;border:1px solid #BDB7AE;background:#fff;font-size:20px;line-height:1;cursor:pointer}
.room-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.sys{border-top:1px solid var(--line);padding-top:8px;margin-top:4px}
.sys p{margin:0 0 4px}
.room .rm{justify-self:end}
/* contenu : subventions et guides */
.updated{margin:-6px 0 14px;font-size:13px;color:var(--muted);font-weight:600}
.kpis.three{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 16px}
.kpi b.sm{font-size:17px;line-height:1.3;letter-spacing:0;margin-top:4px}
@media (max-width:640px){.kpis.three{grid-template-columns:1fr}}
.note{background:#FFF7E8;border:1px solid #F1DDB4;border-radius:12px;padding:12px 14px;font-size:15px}
.programs{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.prog{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px}
.prog h3{margin:0 0 2px;font-size:17px}.prog p{margin:6px 0}
.howto{counter-reset:s;list-style:none;padding:0}
.howto li{counter-increment:s;position:relative;padding:0 0 10px 46px}
.howto li::before{content:counter(s);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.howto li p{margin:4px 0 0}
.explore{padding:40px 0}.explore h3{margin:18px 0 8px;font-size:16px}

.info b{white-space:nowrap}
.bars .nb{display:inline-flex;width:20px;height:20px;border-radius:50%;background:#fff;border:1.6px solid var(--loss);color:var(--loss);font-size:11.5px;font-weight:800;align-items:center;justify-content:center;margin-right:8px;vertical-align:1px}
.bars.gain .nb{border-color:var(--gain);color:var(--gain)}

.hint{margin:6px 0 0;font-size:13px;color:var(--muted)}
.alt.diy{color:var(--or-d);font-weight:700}
.nav-prog{display:none}
.field.pulse{animation:pulse 1s ease-out}
@keyframes pulse{0%{box-shadow:0 0 0 6px #FFE3D6;background:#FFF4EE}100%{box-shadow:0 0 0 6px rgba(255,227,214,0);background:transparent}}
@media (max-width:900px){
  .nav{position:sticky;bottom:0;z-index:3;margin:18px -22px -22px;padding:10px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--line);border-radius:0 0 22px 22px;flex-wrap:wrap;box-shadow:0 -8px 16px -12px rgba(0,0,0,.18)}
  .nav-prog{display:flex;flex-direction:column;gap:6px;flex-basis:100%}
  .nav-prog i{display:block;height:4px;border-radius:4px;background:var(--line);position:relative;overflow:hidden}
  .nav-prog i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);background:var(--or);border-radius:4px;transition:width .4s}
  .nav-prog span{font-size:12.5px;font-weight:700;color:var(--muted)}
  .nav .btn.ghost{flex:0 0 auto;padding:0 16px}
  .nav .btn{min-height:50px}
  @media (prefers-reduced-motion:reduce){.field.pulse{animation:none}}
}
/* calcul rapide */
.quick{margin:22px 0 8px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 18px 12px;box-shadow:0 14px 34px -24px rgba(0,0,0,.35);max-width:1080px}
.quick-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px}.quick-head h2{font-size:20px;margin:0}.quick-head span{color:var(--muted);font-size:14px}
.quick-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr auto;gap:12px;align-items:end}
.quick label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:700;color:var(--muted)}
.quick select,.quick input{font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:12px;height:48px;padding:0 12px;width:100%;min-width:0}
.quick select:focus,.quick input:focus{outline:none;border-color:var(--or);box-shadow:0 0 0 3px var(--or-l)}
.quick input[aria-invalid=true]{border-color:var(--loss)}
.quick .btn{height:48px;white-space:nowrap}
.quick-err{color:var(--loss);font-size:14px;margin:8px 0 0}
.quick-or{margin:10px 0 0;font-size:14px}.quick-or a{font-weight:600}
.quick-note{background:var(--or-l);border-radius:12px;padding:12px 14px;margin:0 0 14px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.quick-note p{margin:0;font-size:14px;flex:1 1 260px}
@media (max-width:980px){.quick-grid{grid-template-columns:1fr 1fr}.quick-grid label:first-child{grid-column:1/-1}.quick .btn{grid-column:1/-1;width:100%}}
@media (max-width:900px){.hero-cta{display:none!important}.quick{margin-top:14px;padding:14px}}
.quick .btn span{margin-left:6px}
