:root{
  --bg:#EEF5F2; --surface:#FFFFFF; --ink:#0E2A35; --muted:#47606A; --line:#CFE0DA;
  --low:#FF4B2B; --mid:#FFB300; --full:#14B26B; --deep:#0E2A35; --volt:#FFD400;
  --display:'Big Shoulders Display','Arial Narrow',Impact,sans-serif;
  --body:'Figtree',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){ --bg:#0A171D; --surface:#12252E; --ink:#EAF4F1; --muted:#A3BCB5; --line:#21404B; }
}
:root[data-theme="dark"]{ --bg:#0A171D; --surface:#12252E; --ink:#EAF4F1; --muted:#A3BCB5; --line:#21404B; }
html{scroll-padding-top:env(safe-area-inset-top,0px);height:100%}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.55;-webkit-text-size-adjust:100%}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--mid);outline-offset:3px}
.wrap{width:100%;max-width:1080px;margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:var(--display);line-height:.98;margin:0}
[hidden]{display:none!important}

/* EN-TÊTE */
.top{background:var(--deep);color:#fff;position:sticky;top:env(safe-area-inset-top,0px);z-index:20}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;padding-bottom:10px}
a.brand{text-decoration:none;display:inline-block}
.brand{font-family:var(--display);font-weight:900;font-size:1.7rem;letter-spacing:.01em;background:none;border:0;cursor:pointer;padding:0;color:#fff}
.brand span{color:var(--volt)}
nav.main{display:flex;gap:4px}
nav.main a{text-decoration:none;display:inline-block;background:none;border:0;cursor:pointer;color:#CBE0D9;font-weight:600;padding:8px 12px;border-radius:999px}
nav.main a:hover{color:#fff}
nav.main a[aria-current="page"]{background:rgba(255,255,255,.14);color:#fff}
.top .tel{display:none;background:var(--volt);color:var(--deep);text-decoration:none;font-family:var(--display);font-weight:900;font-size:1.5rem;letter-spacing:.02em;padding:6px 18px;border-radius:10px}
@media (max-width:760px){
  .top .wrap{flex-wrap:wrap}
  nav.main{order:3;width:100%;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
  nav.main a{white-space:nowrap}
  .top .tel{display:inline-block;font-size:1.3rem;padding:5px 14px}
}
@media (min-width:761px){ .top .tel{display:inline-block} }

/* HERO */
.hero{background:var(--deep);color:#fff}
.hero .wrap{padding-top:44px;padding-bottom:60px}
.hero h1{font-size:clamp(3.2rem,11vw,6.8rem);font-weight:900;max-width:12ch}
.lead{font-size:1.2rem;max-width:32em;margin:20px 0 28px;color:#CBE0D9}
.gauge{display:flex;align-items:center;max-width:460px;margin:0 0 30px}
.cells{flex:1;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:8px;border:4px solid #fff;border-radius:12px}
.cell{height:44px;border-radius:5px;background:rgba(255,255,255,.12);animation:charge .5s ease-out forwards;animation-delay:calc(var(--i) * .35s + .3s)}
.cell:nth-child(1){--c:var(--low);background:var(--low);animation:none}
.cell:nth-child(2){--c:#FF8A1F} .cell:nth-child(3){--c:var(--mid)} .cell:nth-child(4){--c:#7ACB4A} .cell:nth-child(5){--c:var(--full)}
@keyframes charge{to{background:var(--c)}}
.tip{width:12px;height:30px;background:#fff;border-radius:0 6px 6px 0;margin-left:-1px}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.call{display:inline-flex;flex-direction:column;text-decoration:none;background:var(--volt);color:var(--deep);padding:16px 30px 14px;border-radius:14px}
.call small{font-weight:600;font-size:1rem}
.call b{font-family:var(--display);font-weight:900;font-size:clamp(2.6rem,10vw,4rem);line-height:1;letter-spacing:.02em}
.call:hover{background:#FFE34D}
.ghost{background:transparent;border:3px solid #fff;color:#fff;font-weight:700;padding:14px 22px;border-radius:14px;cursor:pointer}
.ghost:hover{background:rgba(255,255,255,.12)}
.facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;padding:0;list-style:none}
.facts li{background:rgba(255,255,255,.1);padding:7px 14px;border-radius:999px;font-weight:600;font-size:.95rem}

/* SECTIONS */
section.s{padding:64px 0}
section.s.alt{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
h2{font-size:clamp(2.4rem,7vw,3.8rem);font-weight:800;margin-bottom:12px}
.intro{color:var(--muted);max-width:36em;margin:0 0 32px}
.pagehead{background:var(--deep);color:#fff;padding:44px 0 40px}
.pagehead h1{font-size:clamp(2.8rem,9vw,5rem);font-weight:900}
.pagehead p{color:#CBE0D9;max-width:34em;margin:12px 0 0;font-size:1.15rem}

.rows{display:grid;gap:14px}
.row{display:grid;grid-template-columns:14px 1fr;background:var(--surface);border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.row i{background:var(--c)}
.row div{padding:20px 24px}
.row h3{font-size:2rem;font-weight:800;margin-bottom:4px}
.row p{margin:0;color:var(--muted)}
.row .more{margin-top:10px}

.checks{list-style:none;margin:0;padding:0;display:grid;gap:12px;max-width:40em}
.checks li{display:flex;gap:14px;align-items:flex-start}
.checks li::before{content:"";flex:0 0 14px;height:14px;margin-top:8px;border-radius:50%;background:var(--low)}
.checks li:nth-child(n+2)::before{background:var(--mid)}

.steps{list-style:none;margin:0;padding:0;display:grid;gap:18px;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:start}
.steps li::before{content:counter(s);font-family:var(--display);font-weight:900;font-size:2.6rem;line-height:1;width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:var(--full);color:#fff}
.steps h3{font-size:1.9rem;font-weight:800}
.steps p{margin:2px 0 0;color:var(--muted)}

/* Diagnostic */
.diag{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px}
.diag h3{font-size:2rem;font-weight:800;margin-bottom:6px}
.opts{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.opts button{border:2px solid var(--ink);background:transparent;border-radius:999px;padding:10px 18px;font-weight:600;cursor:pointer}
.opts button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.result{border-left:8px solid var(--c,var(--line));padding:6px 0 6px 16px;min-height:1.5em}
.result p{margin:0 0 10px}
.result a{display:inline-block;background:var(--volt);color:var(--deep);font-weight:700;text-decoration:none;padding:10px 18px;border-radius:10px}

/* FAQ */
details{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:0 20px;margin-bottom:10px}
summary{cursor:pointer;font-weight:700;padding:16px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--display);font-size:1.8rem;line-height:1}
details[open] summary::after{content:"–"}
details p{margin:0 0 16px;color:var(--muted)}

/* ZONES */
.depts{display:grid;gap:12px;grid-template-columns:1fr 1fr}
.dept{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.dept b{display:block;font-family:var(--display);font-size:2.6rem;font-weight:900;line-height:1;color:var(--full)}
.dept span{font-weight:600}



@media (min-width:760px){ .depts{grid-template-columns:repeat(4,1fr)} }

/* TARIFS */
.prices{display:grid;gap:14px}
.price{background:var(--surface);border:1px solid var(--line);border-top:10px solid var(--c);border-radius:6px 6px 16px 16px;padding:20px 24px}
.price h3{font-size:1.9rem;font-weight:800}
.price .amt{font-family:var(--display);font-weight:900;font-size:3rem;line-height:1;margin:8px 0 6px}
.price .amt small{font-family:var(--body);font-size:1rem;font-weight:600;color:var(--muted)}
.price p{margin:0;color:var(--muted)}
@media (min-width:760px){ .prices{grid-template-columns:repeat(3,1fr)} }
.note{max-width:42em;border-left:6px solid var(--mid);background:var(--surface);padding:16px 20px;border-radius:4px 12px 12px 4px;margin-top:24px}

/* CONTACT */
.cgrid{display:grid;gap:24px}
@media (min-width:860px){ .cgrid{grid-template-columns:1fr 1fr} }
.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px}
.card h2{font-size:2.4rem}
.card .call{width:100%;text-align:center;margin-top:10px}
label{display:block;font-weight:600;margin:14px 0 6px}
input{width:100%;font:inherit;padding:12px 14px;border-radius:10px;border:2px solid var(--line);background:var(--bg);color:var(--ink)}
input:focus{border-color:var(--full);outline:none}
.btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.btn{border:0;cursor:pointer;font-weight:700;padding:13px 20px;border-radius:12px;text-decoration:none;display:inline-block}
.btn.sms{background:var(--full);color:#062217}
.btn.wa{background:var(--deep);color:#fff}
.small{font-size:.95rem;color:var(--muted);margin:12px 0 0}

/* APPEL FINAL + PIED */
.final{background:var(--full);color:#062217;text-align:center;padding:56px 0}
.final h2{margin-bottom:20px}
.final .call{background:var(--deep);color:#fff}
.final .call:hover{background:#17404F}
footer{padding:26px 0 40px;color:var(--muted);font-size:.95rem}
footer .wrap{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}

.legal{max-width:46em}
.legal h2{font-size:2.2rem;margin:34px 0 8px}
.legal p,.legal li{color:var(--muted);margin:0 0 8px}
.legal b{color:var(--ink)}
.legal ul{padding-left:20px;margin:0}
.todo{background:var(--mid);color:#14213D;padding:1px 6px;border-radius:4px;font-weight:600}
footer a{color:inherit}
footer button{background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;color:inherit}
.bar{display:none}
@media (max-width:720px){
  body{padding-bottom:88px}
  .bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:var(--deep)}
  .bar a{flex:1;text-align:center;text-decoration:none;background:var(--volt);color:var(--deep);font-family:var(--display);font-weight:900;font-size:1.8rem;letter-spacing:.02em;padding:10px;border-radius:12px}
}
@media (min-width:760px){ .rows.two{grid-template-columns:1fr 1fr} }
@media (prefers-reduced-motion:reduce){ .cell{animation:none;background:var(--c)} }

a.ghost{display:inline-block;text-decoration:none}
.crumbs{font-size:.95rem;margin:0 0 14px;color:#CBE0D9}
.crumbs a{color:#fff}
.chips{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0 0 18px;list-style:none}
.chips a{display:inline-block;background:var(--surface);border:2px solid var(--line);border-radius:999px;padding:9px 16px;font-weight:600;text-decoration:none}
.chips a:hover{border-color:var(--full)}
.chips a.star{background:var(--deep);border-color:var(--deep);color:#fff}
.local p{max-width:40em;margin:0 0 14px}
.zgroup{margin-top:36px}
.zgroup h2{font-size:clamp(2rem,6vw,3rem)}
.foot-zones{display:block;margin-top:22px;font-size:.95rem}
.foot-zones b{display:block;margin:10px 0 4px;color:var(--ink)}
.foot-zones a{display:inline-block;margin:0 14px 4px 0}
.pagehead .cta-row{margin-top:24px}
.call,.call b,.call small,.top .tel,.bar a{white-space:nowrap}
.brand{font-size:1.5rem}
@media (max-width:480px){ .brand{font-size:1.3rem;line-height:1.05;text-align:left} }
@media (min-width:761px){ .brand{font-size:1.7rem} }
.call b{font-size:clamp(2rem,9vw,4rem)}
.call{max-width:100%}
@media (max-width:480px){
  .call{padding:14px 18px 12px}
  .call small{font-size:.95rem}
  .top .tel{font-size:1.2rem;padding:5px 12px}
  .bar a{font-size:clamp(1.4rem,6.5vw,1.8rem)}
}
@media (max-width:720px){
  body{padding-bottom:104px}
  .bar a{display:flex;flex-direction:column;align-items:center;line-height:1;padding:8px 10px 10px;font-size:1.7rem}
  .bar a small{font-family:var(--body);font-weight:600;font-size:.85rem;letter-spacing:0;margin-bottom:3px}
  .bar a b{font-weight:900;font-size:clamp(1.5rem,7.5vw,1.8rem);letter-spacing:.02em}
  .wa-float{bottom:calc(102px + env(safe-area-inset-bottom,0px))!important}
}
.wa-float{position:fixed;right:14px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;display:flex;align-items:center;gap:8px;background:#25D366;color:#062217;font-weight:700;font-size:1rem;line-height:1;padding:12px 18px 12px 14px;border-radius:999px;text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,.28)}
.wa-float:hover{background:#3BE07A}
.wa-float svg{width:26px;height:26px;flex:none}
@media (max-width:720px){ .wa-float{bottom:calc(86px + env(safe-area-inset-bottom,0px))} }
.article h2{font-size:clamp(1.9rem,5.5vw,2.6rem);margin:36px 0 10px}
.article h2:first-child{margin-top:0}
.article p{max-width:40em;margin:0 0 14px}
.article ul{max-width:40em;padding-left:22px;margin:0 0 14px}
.article li{margin-bottom:8px}
.callout{background:var(--deep);color:#fff;border-radius:16px;padding:26px;margin-top:36px;max-width:40em}
.callout h2{margin:0 0 10px!important;color:#fff;font-size:clamp(1.9rem,5.5vw,2.4rem)}
.callout p{color:#CBE0D9}
