/* MD Confort — Palette : bleu Google Agenda #1A73E8 pour la marque et les liens, orange #F39407 pour les actions, gris Material. */
:root{
  --paper:#F8F9FA; --surface:#FFFFFF; --ink:#202124; --muted:#5F6368; --line:#DADCE0;
  --cold:#1A73E8; --cold-soft:#E8F0FE; --logo-blue:#185ABC; --hot:#F39407; --hot-hover:#DD8505; --hot-soft:#FEF1DD; --hot-text:#B36B00; --btn-ink:#FFFFFF;
  --night:#174EA6; --night-2:#1A5BBF; --on-night:#FFFFFF; --on-night-muted:#D2E3FC; --night-line:#3B73CC; --cold-on-night:#AECBFA;
  --ok:#1E8E3E;
  --f-display:"Sora","Segoe UI",system-ui,-apple-system,sans-serif;
  --f-body:"Commissioner","Segoe UI",system-ui,-apple-system,sans-serif;
  --r:10px; --r-lg:16px;
  --shadow:0 1px 2px rgba(60,64,67,.15),0 2px 6px 2px rgba(60,64,67,.08);
  --maxw:1200px;
  --c-clim:#1A73E8; --c-pac:#1E8E3E; --c-gaz:#F39407; --c-pv:#F9AB00; --c-ent:#9334E6; --c-dep:#D93025;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --c-clim:#8AB4F8; --c-pac:#81C995; --c-gaz:#FCAD70; --c-pv:#FDD663; --c-ent:#C58AF9; --c-dep:#F28B82;
  --paper:#202124; --surface:#292A2D; --ink:#E8EAED; --muted:#9AA0A6; --line:#3C4043;
  --cold:#8AB4F8; --cold-soft:#25324A; --logo-blue:#8AB4F8; --hot:#F6A73A; --hot-hover:#F9BA5E; --hot-soft:#3A2A12; --hot-text:#F6A73A; --btn-ink:#FFFFFF;
  --night:#0F2F6B; --night-2:#153A80; --on-night:#F1F5FA; --on-night-muted:#C6D7F5; --night-line:#2B4F94; --cold-on-night:#AECBFA;
  --ok:#81C995; --shadow:0 1px 2px rgba(0,0,0,.3),0 10px 30px rgba(0,0,0,.35); color-scheme:dark}}
:root[data-theme="dark"]{
  --c-clim:#8AB4F8; --c-pac:#81C995; --c-gaz:#FCAD70; --c-pv:#FDD663; --c-ent:#C58AF9; --c-dep:#F28B82;
  --paper:#202124; --surface:#292A2D; --ink:#E8EAED; --muted:#9AA0A6; --line:#3C4043;
  --cold:#8AB4F8; --cold-soft:#25324A; --logo-blue:#8AB4F8; --hot:#F6A73A; --hot-hover:#F9BA5E; --hot-soft:#3A2A12; --hot-text:#F6A73A; --btn-ink:#FFFFFF;
  --night:#0F2F6B; --night-2:#153A80; --on-night:#F1F5FA; --on-night-muted:#C6D7F5; --night-line:#2B4F94; --cold-on-night:#AECBFA;
  --ok:#81C995; --shadow:0 1px 2px rgba(0,0,0,.3),0 10px 30px rgba(0,0,0,.35); color-scheme:dark}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.6}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--surface)}
img{max-width:100%;height:auto}
a{color:var(--cold)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--hot);outline-offset:2px;border-radius:4px}
h1,h2,h3{font-family:var(--f-display);line-height:1.15;text-wrap:balance;margin:0;letter-spacing:-.015em;color:var(--ink)}
h1{font-size:clamp(2.1rem,4.4vw,3.4rem);font-weight:700}
h2{font-size:clamp(1.65rem,3vw,2.35rem);font-weight:700}
h3{font-size:1.2rem;font-weight:600}
p{margin:0}
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.narrow{max-width:820px}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--cold);margin-bottom:.6rem}
.eyebrow::before{content:"";width:18px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--cold),var(--c-pac))}
.lede{font-size:1.15rem;color:var(--muted);max-width:62ch}
.skip{position:absolute;left:-999px;top:0;background:var(--hot);color:#fff;padding:.6rem 1rem;z-index:100}
.skip:focus{left:8px;top:8px}
.ic{display:inline-flex;width:1.25em;height:1.25em;flex:none}.ic svg{width:100%;height:100%}
.ic.sm{width:1em;height:1em}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font:600 1rem/1 var(--f-body);padding:.85em 1.3em;border-radius:999px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .15s,transform .15s,border-color .15s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-hot{background:var(--hot);color:var(--btn-ink);font-weight:700;box-shadow:0 6px 18px color-mix(in srgb,var(--hot) 35%,transparent)}.btn-hot:hover{color:#202124;background:var(--hot-hover);transform:translateY(-2px);box-shadow:0 10px 24px color-mix(in srgb,var(--hot) 45%,transparent)}
.btn .ic{transition:transform .2s}.btn:hover .ic:last-child{transform:translateX(3px)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn-ghost:hover{border-color:var(--ink)}
.btn-ghost-inv{background:transparent;color:var(--on-night);border-color:var(--night-line)}.btn-ghost-inv:hover{border-color:var(--on-night)}
.btn-lg{font-size:1.08rem;padding:1em 1.4em}
.btn .ic{width:1.15em;height:1.15em}

/* top bar + header */
.topbar{background:var(--night);color:var(--on-night-muted);font-size:.82rem}
.topbar-in{display:flex;justify-content:space-between;gap:1rem;padding-block:.45rem;flex-wrap:wrap}
.topbar span{display:inline-flex;align-items:center;gap:.4em}
.topbar a{color:var(--on-night);font-weight:700;text-decoration:none}
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--surface);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;gap:1.2rem;padding-block:.7rem}
.logo{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--ink);flex:none}
.logo-mark{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:var(--night);color:#fff;font:700 .92rem/1 var(--f-display);letter-spacing:.02em;box-shadow:inset 0 0 0 3px var(--surface),0 0 0 2px var(--night)}
.logo-txt{font:700 1.3rem/1 var(--f-display);letter-spacing:-.01em;color:var(--ink)}
.logo-txt b{font-weight:600;margin-left:.25em;color:var(--logo-blue)}
.nav{display:flex;gap:0;margin-left:auto;flex-wrap:nowrap}
.nav a{color:var(--ink);text-decoration:none;font-weight:500;font-size:.9rem;padding:.5rem .55rem;border-radius:999px;white-space:nowrap}
.nav a:hover{background:var(--cold-soft)}
.nav a[aria-current="page"]{color:var(--cold);background:var(--cold-soft)}
.has-sub{position:relative;display:flex}
.caret{display:inline-block;width:.42em;height:.42em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:.4em;opacity:.6}
.sub{display:none;position:absolute;top:100%;left:0;min-width:240px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:.4rem;z-index:60}
.has-sub:hover .sub,.has-sub:focus-within .sub{display:grid}
.sub a{border-radius:10px!important;padding:.55rem .75rem!important}
.hdr-call{flex:none}
.nav-contact{display:inline-flex}
.burger{display:none;margin-left:auto;background:none;border:2px solid var(--line);border-radius:8px;width:44px;height:44px;cursor:pointer;padding:10px;flex-direction:column;justify-content:space-between}
.burger i{display:block;height:2px;background:var(--ink);border-radius:2px}
@media (max-width:1280px){
  .burger{display:flex}
  .hdr-call span{display:none}.hdr-call{padding:.75em}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--surface);border-bottom:1px solid var(--line);flex-direction:column;padding:.5rem max(16px,env(safe-area-inset-right,0px)) 1rem max(16px,env(safe-area-inset-left,0px));box-shadow:var(--shadow)}
  .nav.open{display:flex}
  .nav-contact{display:block}
  .has-sub{flex-direction:column}
  .caret{display:none}
  .sub{display:grid;position:static;border:0;box-shadow:none;padding:0 0 0 1rem;min-width:0;background:transparent}
  .sub a{font-size:.95rem!important;color:var(--muted)!important}
  .nav a{padding:.8rem .5rem;font-size:1.05rem;border-bottom:1px solid var(--line)}
  .hdr-in{position:relative}
  .hdr-call{order:3}
}
@media (max-width:640px){.topbar-r{display:none}}

.crumbs{font-size:.85rem;color:var(--muted);padding-block:.9rem;display:flex;flex-wrap:wrap;gap:.4rem}
.crumbs a{color:var(--muted)}.crumbs .sep{opacity:.5}

/* hero (home) */
.hero{background:linear-gradient(180deg,var(--cold-soft) 0%,var(--paper) 100%);color:var(--ink);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;width:620px;height:620px;right:-160px;top:-220px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--c-gaz) 18%,transparent) 0%,transparent 65%);pointer-events:none}
.hero::after{content:"";position:absolute;width:520px;height:520px;left:-200px;bottom:-260px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--c-pac) 14%,transparent) 0%,transparent 65%);pointer-events:none}
.hero-in{position:relative;z-index:1}
.hero-in > div:first-child{animation:rise .7s ease-out both}
.quote-wrap{position:relative;animation:rise .7s .15s ease-out both}
@keyframes rise{from{transform:translateY(14px);opacity:.35}to{transform:none;opacity:1}}
.float-badge{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:.45rem .8rem;box-shadow:var(--shadow);animation:bob 4s ease-in-out infinite}
.float-badge .ic{color:var(--c-pac)}
.fb1{top:-16px;right:18px}.fb2{bottom:-16px;left:-14px;animation-delay:-2s}.fb2 .ic{color:var(--c-gaz)}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media (max-width:900px){.fb2{left:10px}}
.hero-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:3rem;padding-block:4rem 4.5rem;align-items:start}
.hero h1 .hot,.hero h1 .cold{white-space:nowrap;background-repeat:no-repeat;background-size:100% .32em;background-position:0 88%}
.hero h1 .hot{color:var(--hot);background-image:linear-gradient(color-mix(in srgb,var(--c-gaz) 22%,transparent),color-mix(in srgb,var(--c-gaz) 22%,transparent))}
.hero h1 .cold{color:var(--cold);background-image:linear-gradient(color-mix(in srgb,var(--cold) 20%,transparent),color-mix(in srgb,var(--cold) 20%,transparent))}
.hero .lede{margin-top:1.2rem}
.hero .btn-ghost-inv,.page-hero .btn-ghost-inv{color:var(--ink);border-color:var(--line);background:var(--surface)}
.hero .btn-ghost-inv:hover,.page-hero .btn-ghost-inv:hover{border-color:var(--cold)}
.hero-points{list-style:none;padding:0;margin:1.6rem 0 0;display:grid;gap:.55rem}
.hero-points li{display:flex;gap:.6rem;align-items:flex-start;font-weight:500}
.hero-points .ic{color:var(--cold);margin-top:.15em}
.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}
.hero-phone{display:flex;flex-direction:column;margin-top:1.4rem;color:var(--muted);font-size:.9rem}
.hero-phone strong{font:700 1.8rem/1.2 var(--f-display);color:var(--ink);user-select:all}
@media (max-width:900px){.hero-in{grid-template-columns:1fr;gap:2.2rem;padding-block:2.6rem 3rem}}

/* thermostat scale */
.thermo{margin-top:2.4rem;max-width:560px}
.thermo-bar{position:relative;height:10px;border-radius:5px;background:linear-gradient(90deg,#5B9BD5,#BFD9F0 45%,#F3D9C4 60%,#E9A77E)}
.thermo-ticks{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted);margin-top:.45rem;font-variant-numeric:tabular-nums}
.thermo-mk{position:absolute;top:-32px;transform:translateX(-50%);font-size:.72rem;font-weight:600;white-space:nowrap;color:var(--ink)}
.thermo-mk{animation:pulse 2.6s ease-in-out infinite}.thermo-mk+.thermo-mk{animation-delay:-1.3s}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.6}}
.thermo-mk::after{content:"";position:absolute;left:50%;top:20px;width:2px;height:20px;background:var(--ink);transform:translateX(-50%)}
.thermo-cap{font-size:.8rem;color:var(--muted);margin-top:.8rem}
.thermo{padding-top:30px}

/* quote card */
.quote{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.6rem;box-shadow:var(--shadow);min-width:0}
.quote h2{font-size:1.5rem}
.quote-sub{color:var(--muted);font-size:.92rem;margin-top:.3rem}
.steps-dots{display:flex;gap:.4rem;margin:1rem 0 1.1rem}
.steps-dots i{flex:1;height:4px;border-radius:2px;background:var(--line)}
.steps-dots i.on{background:var(--hot)}
.q-label{font-weight:700;font-size:.95rem;margin-bottom:.6rem}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.choice{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;padding:.9rem;border:2px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink);font:600 .95rem/1.2 var(--f-body);cursor:pointer;text-align:left}
.choice .ic{color:var(--c,var(--cold));width:1.6em;height:1.6em}
.choice:hover{border-color:var(--c,var(--cold));transform:translateY(-2px)}
.choice{transition:border-color .15s,transform .15s}
.choice[aria-pressed="true"]{border-color:var(--hot);background:var(--hot-soft)}
.choice[aria-pressed="true"] .ic{color:var(--hot)}
.q-row{display:flex;gap:.6rem;margin-top:1.1rem;justify-content:space-between}
.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.8rem}
.field label{font-size:.88rem;font-weight:600}
.field input,.field select,.field textarea{font:inherit;font-size:1rem;padding:.75rem .85rem;border:2px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink);width:100%}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--cold);outline:none}
.field-2{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.consent{display:flex;gap:.5rem;font-size:.8rem;color:var(--muted);align-items:flex-start;margin:.3rem 0 .9rem}
.consent input{margin-top:.25rem;flex:none}
.err{color:#C0392B;font-size:.85rem;font-weight:600;min-height:1.2em}
.done{text-align:left}
.done h3{font-size:1.7rem;margin-bottom:.4rem}
.done p{color:var(--muted);margin-bottom:.8rem}
.done .recap{background:var(--paper);border-radius:var(--r);padding:.8rem 1rem;font-size:.9rem;margin-bottom:1rem;white-space:pre-line}
.done .btn{width:100%;margin-bottom:.5rem}
.copy-line{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.9rem;border:1px dashed var(--line);border-radius:var(--r);padding:.5rem .7rem}
.copy-line code{font-family:inherit;font-weight:700;user-select:all;overflow-wrap:anywhere}
.copy-btn{background:none;border:0;color:var(--cold);font:600 .85rem var(--f-body);cursor:pointer}
@media (max-width:420px){.choice-grid,.field-2{grid-template-columns:1fr}}

/* reassurance */
.reassure{background:var(--surface);border-block:1px solid var(--line)}
.reassure-in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;padding-block:1.3rem}
.re-item{display:flex;gap:.8rem;align-items:center}
.re-item > .ic{width:2.6rem;height:2.6rem;padding:.55rem;border-radius:50%;color:var(--c);background:color-mix(in srgb,var(--c) 14%,var(--surface))}
.re-item strong{display:block;font-size:.95rem}.re-item span{color:var(--muted);font-size:.85rem}
@media (max-width:900px){.reassure-in{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:460px){.reassure-in{grid-template-columns:1fr}}

/* sections */
.sec{padding-block:4.5rem}
.sec-alt{background:var(--surface);border-block:1px solid var(--line)}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.2rem;flex-wrap:wrap}
.sec-head .lede{margin-top:.6rem}

/* service cards */
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.svc{display:flex;flex-direction:column;gap:.7rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.6rem;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}
.svc:hover{border-color:color-mix(in srgb,var(--c,var(--cold)) 45%,var(--line));transform:translateY(-4px);box-shadow:var(--shadow)}
.svc .ic{width:3rem;height:3rem;color:var(--c,var(--cold));background:color-mix(in srgb,var(--c,var(--cold)) 13%,var(--surface));border-radius:14px;padding:.6rem;transition:transform .25s}
.svc:hover .ic{transform:rotate(-6deg) scale(1.08)}
.svc{position:relative;overflow:hidden}
.svc::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--c,var(--cold));transform:scaleX(0);transform-origin:left;transition:transform .3s}
.svc:hover::before{transform:scaleX(1)}
.svc h3{font-size:1.3rem}
.svc p{color:var(--muted);font-size:.97rem}
.svc ul{list-style:none;padding:0;margin:0;display:grid;gap:.3rem;font-size:.92rem}
.svc li::before{content:"✓ ";color:var(--c,var(--cold));font-weight:700}
.svc .more{margin-top:auto;font-weight:600;color:var(--c,var(--cold));display:inline-flex;gap:.4em;align-items:center}
@media (max-width:960px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.svc-grid{grid-template-columns:1fr}}

/* human band */
.human{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:center}
.human-quote{font:600 clamp(1.5rem,2.8vw,2.1rem)/1.3 var(--f-display);letter-spacing:-.01em}
.human-quote em{font-style:normal;color:var(--cold)}
.promise-list{display:grid;gap:1rem}
.promise{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:start}
.promise .ic{width:2rem;height:2rem;color:var(--ok);margin-top:.1rem}
.promise strong{display:block;font-size:1.05rem}
.promise span{color:var(--muted);font-size:.95rem}
@media (max-width:860px){.human{grid-template-columns:1fr;gap:2rem}}

/* process */
.process{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;counter-reset:st}
.process li{counter-increment:st;border-top:2px solid var(--line);padding-top:1rem}
.process li:nth-child(1){--c:var(--c-clim)}.process li:nth-child(2){--c:var(--c-pac)}.process li:nth-child(3){--c:var(--c-ent)}.process li:nth-child(4){--c:var(--c-gaz)}.process li:nth-child(5){--c:var(--c-pv)}
.process li{border-top-color:color-mix(in srgb,var(--c) 40%,var(--line))}
.process li::before{content:counter(st);display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:50%;background:var(--c);color:#fff;font:700 1rem/1 var(--f-display);margin:-2.2rem 0 .8rem}
.process strong{display:block;font-size:1.05rem;margin-bottom:.25rem}
.process span{color:var(--muted);font-size:.93rem}
@media (max-width:900px){.process{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.process{grid-template-columns:1fr}}

/* offer band */
.offer{position:relative;overflow:hidden;background-image:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--c-pac) 30%,transparent) 0,transparent 40%),radial-gradient(circle at 0% 100%,color-mix(in srgb,var(--cold) 35%,transparent) 0,transparent 45%);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:2rem;background:var(--night);color:var(--on-night);border-radius:var(--r-lg);padding:2.4rem;align-items:center}
.offer h2{color:var(--on-night)}
.offer .eyebrow,.cta-band .eyebrow{color:var(--cold-on-night)}
.offer p{color:var(--on-night-muted);margin-top:.8rem}
.offer ul{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}
.offer li{display:flex;gap:.6rem;align-items:flex-start}
.offer li .ic{color:var(--cold-on-night);margin-top:.15em}
.offer .btn{margin-top:1.4rem}
@media (max-width:820px){.offer{grid-template-columns:1fr;padding:1.6rem}}

/* tool: estimator */
.tool{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:2rem}
.tool-out{background:var(--cold-soft);border-radius:var(--r);padding:1.4rem;display:flex;flex-direction:column;gap:.5rem;justify-content:center}
.tool-out .big{font:700 2.8rem/1 var(--f-display);color:var(--cold);font-variant-numeric:tabular-nums}
.tool-out small{color:var(--muted)}
.range{width:100%;accent-color:var(--cold)}
.seg{display:flex;flex-wrap:wrap;gap:.4rem}
.seg button{font:600 .9rem var(--f-body);padding:.55rem .8rem;border:2px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);cursor:pointer}
.seg button[aria-pressed="true"]{border-color:var(--hot);background:var(--hot-soft)}
@media (max-width:760px){.tool{grid-template-columns:1fr;padding:1.3rem}}

/* zones */
.zone-cloud{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}
.zone-cloud li{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:.4rem .9rem;font-size:.92rem;font-weight:500}
.zone-cloud li a{color:inherit;text-decoration:none}
.zone-cloud li.z-hot{border-color:color-mix(in srgb,var(--cold) 40%,var(--line));background:var(--cold-soft)}.zone-cloud li.z-hot a{color:var(--cold);font-weight:600}
.zone-cloud li:hover{border-color:var(--cold)}
.zone-box a{color:var(--cold);font-weight:600}
.zone-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem}
.zone-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.4rem}
.zone-box h3{font-size:1.2rem;margin-bottom:.4rem}
.zone-box p{color:var(--muted);font-size:.95rem;margin-bottom:.8rem}
.zone-box ul{list-style:none;padding:0;margin:0;columns:2;column-gap:1rem;font-size:.93rem}
.zone-box li{break-inside:avoid;padding:.15rem 0}

/* brands */
.brands{padding-block:2.4rem;border-top:1px solid var(--line);background:var(--paper)}
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.brand-list{list-style:none;padding:0;margin:0;display:flex;gap:.7rem;width:max-content;animation:slide 40s linear infinite}
.marquee:hover .brand-list{animation-play-state:paused}
@keyframes slide{to{transform:translateX(calc(-50% - .35rem))}}
.brand-list li{display:flex;align-items:center;justify-content:center;text-align:center;height:64px;min-width:170px;padding:0 1.2rem;flex:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);font:600 .98rem/1.2 var(--f-display);color:var(--muted)}
@media (prefers-reduced-motion:reduce){.brand-list{animation:none;flex-wrap:wrap;width:auto}.brand-list li[aria-hidden]{display:none}}

/* faq */
.faq{display:grid;gap:.6rem;margin-top:1.6rem}
.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:0 1.2rem}
.faq-item summary{cursor:pointer;font-weight:700;padding:1.1rem 2rem 1.1rem 0;list-style:none;position:relative}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:0;top:.9rem;font:500 1.5rem/1 var(--f-display);color:var(--cold)}
.faq-item[open] summary::after{content:"–"}
.faq-a{padding-bottom:1.1rem;color:var(--muted)}
.faq-a p+p{margin-top:.6rem}

/* page hero (inner) */
.page-hero{background:linear-gradient(180deg,var(--cold-soft) 0%,var(--paper) 100%);color:var(--ink);padding-block:3rem 3.4rem;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(2rem,4.2vw,3.1rem)}
.page-hero .lede{margin-top:1rem}
.page-hero .hero-actions{margin-top:1.6rem}
.ph-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:2.5rem;align-items:center}
.ph-facts{list-style:none;padding:1.4rem;margin:0;display:grid;gap:.8rem;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow)}
.ph-facts li{display:flex;gap:.6rem;align-items:flex-start}
.ph-facts .ic{color:var(--cold);margin-top:.15em}
@media (max-width:860px){.ph-grid{grid-template-columns:1fr}}

/* prose */
.prose{max-width:72ch}
.prose h2{font-size:clamp(1.4rem,2.4vw,1.8rem);margin:2.4rem 0 .9rem}
.prose h3{margin:1.6rem 0 .5rem;font-size:1.15rem}
.prose p,.prose ul,.prose ol{margin:0 0 1rem}
.prose ul,.prose ol{padding-left:1.2rem}
.prose li{margin-bottom:.35rem}
.two-col{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:3rem;align-items:start}
.sticky-side{position:sticky;top:110px;display:grid;gap:1rem}
@media (max-width:900px){.two-col{grid-template-columns:1fr}.sticky-side{position:static}}
.side-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.3rem;min-width:0}
.side-t{font:600 1.05rem/1.2 var(--f-display);margin-bottom:.7rem}
.side-box ol,.side-box ul{margin:0;padding-left:1.1rem;font-size:.93rem;display:grid;gap:.3rem}
.side-cta{background:var(--night);color:var(--on-night);border-color:var(--night)}
.side-cta .side-t{color:var(--on-night)}
.side-cta p{color:var(--on-night-muted);font-size:.93rem;margin-bottom:1rem}
.side-cta .btn{width:100%}
.side-link{display:inline-flex;gap:.4em;align-items:center;margin-top:.9rem;color:var(--cold-on-night);font-weight:600;font-size:.92rem}
.table-wrap{overflow-x:auto;margin:0 0 1.2rem;border:1px solid var(--line);border-radius:var(--r)}
table{border-collapse:collapse;width:100%;font-size:.94rem;background:var(--surface)}
th,td{text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--line);vertical-align:top}
th{font-weight:700;background:var(--cold-soft)}
td.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.note{font-size:.85rem;color:var(--muted)}
.callout{border-left:4px solid var(--cold);background:var(--hot-soft);padding:1rem 1.2rem;border-radius:0 var(--r) var(--r) 0;margin:0 0 1.2rem}

/* offers row in service pages */
.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.offer-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.5rem;display:flex;flex-direction:column;gap:.6rem}
.offer-card h3{font-size:1.25rem}
.offer-card p{color:var(--muted);font-size:.96rem}
.offer-card ul{list-style:none;padding:0;margin:0;display:grid;gap:.35rem;font-size:.93rem}
.offer-card li{display:flex;gap:.45rem}.offer-card li .ic{color:var(--cold);margin-top:.2em}
.offer-card > .ic{width:2.6rem;height:2.6rem;color:var(--cold);background:var(--cold-soft);border-radius:12px;padding:.5rem}
.offer-card .btn{margin-top:auto;align-self:flex-start}
@media (max-width:900px){.offer-grid{grid-template-columns:1fr}}

/* blog */
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.post-card{display:flex;flex-direction:column;gap:.6rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.5rem;text-decoration:none;color:var(--ink);transition:border-color .15s}
.post-card:hover{border-color:var(--cold);box-shadow:var(--shadow)}
.post-ic{width:2.2rem;height:2.2rem;color:var(--cold)}.post-ic svg{width:100%;height:100%}
.post-card h3{font-size:1.15rem;line-height:1.3}
.post-card p{color:var(--muted);font-size:.94rem}
.post-card .more{margin-top:auto;color:var(--cold);font-weight:700;display:inline-flex;gap:.4em;align-items:center}
.tag{display:inline-block;align-self:flex-start;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cold);background:var(--cold-soft);padding:.25rem .55rem;border-radius:6px}
@media (max-width:960px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.post-grid{grid-template-columns:1fr}}
.mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem;margin-top:1.4rem}
.mini-card{display:flex;flex-direction:column;gap:.5rem;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:1.1rem;text-decoration:none;color:var(--ink)}
.mini-card:hover{border-color:var(--cold)}
.mini-card strong{font-size:1rem;line-height:1.3}

/* article */
.art-hero{padding-block:2.6rem 2rem}
.art-hero h1{font-size:clamp(1.9rem,4vw,2.9rem);margin:.8rem 0 1rem}
.art-meta{font-size:.88rem;color:var(--muted);margin-top:1rem}
.art-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:3rem;padding-bottom:3rem;align-items:start}
.art-side{position:sticky;top:110px;display:grid;gap:1rem}
.art-body{max-width:72ch;min-width:0}
.art-body h2{font-size:clamp(1.4rem,2.4vw,1.8rem);margin:2.4rem 0 .9rem}
.art-body h3{margin:1.5rem 0 .5rem;font-size:1.15rem}
.art-body p,.art-body ul,.art-body ol{margin:0 0 1rem}
.art-body ul,.art-body ol{padding-left:1.2rem}
.art-body li{margin-bottom:.35rem}
.tldr{background:var(--cold-soft);border-radius:var(--r-lg);padding:1.2rem 1.4rem}
.tldr strong{font:600 1.05rem var(--f-display)}
.tldr ul{margin:.5rem 0 0}
@media (max-width:960px){.art-grid{grid-template-columns:1fr}.art-side{position:static}}

/* cta band */
.cta-band{background:var(--night);background-image:radial-gradient(circle at 90% 20%,color-mix(in srgb,var(--c-gaz) 25%,transparent) 0,transparent 35%),radial-gradient(circle at 10% 90%,color-mix(in srgb,var(--cold) 40%,transparent) 0,transparent 40%);color:var(--on-night);padding-block:3.8rem}
.cta-in{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}
.cta-in h2{color:var(--on-night);max-width:26ch}
.cta-in p{color:var(--on-night-muted);margin-top:.7rem;max-width:56ch}
.cta-actions{display:flex;gap:.8rem;flex-wrap:wrap}

/* contact page */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:2.5rem;align-items:start}
.contact-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.8rem;min-width:0}
.info-list{list-style:none;padding:0;margin:0;display:grid;gap:1rem}
.info-list li{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:start}
.info-list .ic{width:1.6rem;height:1.6rem;color:var(--cold)}
.info-list strong{display:block}
.info-list span{color:var(--muted);font-size:.95rem;overflow-wrap:anywhere}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}

/* legal */
.legal h2{font-size:1.7rem;margin:2.2rem 0 .7rem}
.legal p,.legal ul{margin:0 0 .9rem}
.todo{background:var(--hot-soft);color:var(--ink);padding:0 .3em;border-radius:4px;font-weight:600}

/* footer */
.ftr{background:var(--night);color:var(--on-night-muted);padding-block:3.4rem 0;font-size:.94rem}
.ftr-grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(4,minmax(0,1fr));gap:2rem}
.ftr .logo,.ftr .logo-txt{color:var(--on-night)}.ftr .logo-txt b{color:var(--cold-on-night)}
.ftr .logo-mark{background:#fff;color:var(--night);box-shadow:inset 0 0 0 3px var(--night),0 0 0 2px #fff}
.ftr-about p{margin:1rem 0 1.2rem;max-width:38ch}
.ftr h3{font-size:1rem;color:var(--on-night);margin-bottom:.8rem}
.ftr ul{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}
.ftr a{color:var(--on-night-muted);text-decoration:none}.ftr a:hover{color:var(--on-night)}
.ftr a.btn-hot{color:#fff}.ftr a.btn-hot:hover{color:#202124}
.ftr-contact li{display:flex;gap:.5rem;align-items:flex-start;overflow-wrap:anywhere}
.ftr-contact .ic{color:var(--cold-on-night);margin-top:.25em}
.ftr-small{font-size:.8rem;margin-top:1rem}
.ftr-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--night-line);margin-top:2.6rem;padding-block:1.2rem;font-size:.8rem}
@media (max-width:1000px){.ftr-grid{grid-template-columns:1fr 1fr}.ftr-about{grid-column:1/-1}}
@media (max-width:460px){.ftr-grid{grid-template-columns:1fr}}

/* mobile action bar */
.mobibar{display:none}
@media (max-width:760px){
  .mobibar{display:grid;grid-template-columns:1fr 1.3fr;gap:.5rem;position:fixed;left:0;right:0;bottom:0;z-index:55;background:var(--surface);border-top:1px solid var(--line);padding:.6rem max(12px,env(safe-area-inset-right,0px)) calc(.6rem + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));box-shadow:0 -6px 20px rgba(13,27,42,.12)}
  .mobibar .btn{width:100%}
  body{padding-bottom:76px}
  .sec{padding-block:3.2rem}
}
.svc-more{margin-top:1.4rem;color:var(--muted);font-size:.95rem}.svc-more a{font-weight:600}

/* illustrations équipements */
.illus{display:block;width:100%;height:auto;overflow:visible}
.il-body{fill:var(--surface);stroke:var(--line);stroke-width:2.2}
.il-soft{fill:var(--line)}
.il-dark{fill:var(--cold-soft);stroke:var(--line);stroke-width:1.2}
.il-led{fill:var(--c-pac)}
.il-air{fill:none;stroke:var(--cold);stroke-width:3;stroke-linecap:round;stroke-dasharray:7 9;opacity:.85;animation:il-air 1.6s linear infinite}
.il-air.a2{opacity:.6;animation-duration:1.9s}.il-air.a3{opacity:.4;animation-duration:2.2s}
@keyframes il-air{to{stroke-dashoffset:-32}}
.il-grille{fill:var(--cold-soft);stroke:var(--line);stroke-width:2}
.il-blade{fill:var(--cold);opacity:.85}
.il-hub{fill:var(--surface);stroke:var(--cold);stroke-width:2}
.il-fan{animation:il-spin 1.4s linear infinite}
@keyframes il-spin{to{transform:rotate(360deg)}}
.il-line{stroke:var(--line);stroke-width:2.2;stroke-linecap:round}
.il-temp{font:700 13px var(--f-display);fill:var(--cold)}
.il-knob{fill:var(--surface);stroke:var(--muted);stroke-width:1.6}
.il-window{fill:color-mix(in srgb,var(--hot) 12%,var(--surface));stroke:var(--line);stroke-width:1.6}
.il-flame{fill:var(--hot);transform-origin:100px 98px;animation:il-flick 1.3s ease-in-out infinite}
@keyframes il-flick{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.12) scaleX(.94)}}
.il-pipe{fill:none;stroke:var(--muted);stroke-width:4;stroke-linecap:round}
.il-pipe.hot{stroke:var(--hot)}.il-pipe.cold{stroke:var(--cold)}
.il-pipe.flow{stroke-dasharray:4 5;animation:il-air 1s linear infinite}
.il-drop{fill:var(--cold)}
.il-sun{fill:var(--c-pv)}
.il-ray{stroke:var(--c-pv);stroke-width:3;stroke-linecap:round}
.il-rays{animation:il-spin 14s linear infinite}
.il-panel{fill:#1F4FA3;stroke:#163C7E;stroke-width:2;stroke-linejoin:round}
.il-cell{stroke:#8DB3F0;stroke-width:1.3;opacity:.8}
.il-shine{fill:#fff;opacity:.14;animation:il-shine 4s ease-in-out infinite}
@keyframes il-shine{0%,100%{opacity:.08}50%{opacity:.26}}
.il-badge.ok{fill:var(--c-pac)}.il-badge.fix{fill:var(--c-dep)}
.svc-ill{display:block;background:color-mix(in srgb,var(--c,var(--cold)) 8%,var(--surface));border-radius:12px;padding:.9rem 1.4rem .6rem;margin:-.4rem -.4rem .3rem;transition:background .25s}
.svc-ill .illus{max-height:120px}
.svc:hover .svc-ill{background:color-mix(in srgb,var(--c,var(--cold)) 14%,var(--surface))}
.svc-ill-card .il-fan,.svc-ill-card .il-air,.svc-ill-card .il-rays{animation-play-state:paused}
.svc-ill-card:hover .il-fan,.svc-ill-card:hover .il-air,.svc-ill-card:hover .il-rays{animation-play-state:running}
.ph-side{display:grid;gap:1rem;min-width:0}
.ph-ill{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.2rem 2rem;box-shadow:var(--shadow)}
.ph-ill .illus{max-height:170px;margin:0 auto}
@media (max-width:860px){.ph-ill{padding:1rem 1.4rem}.ph-ill .illus{max-height:140px}}

.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.il-air.hide{display:none}
@media (max-width:1500px){.hdr-call span{display:none}.hdr-call{padding:.75em}}
