/* Easy Clean : refonte. Palette et polices reprises du site d'origine (bleu #1a6bbf, vert #2ecc8a, anthracite #2b2d36). */
:root{
  --bleu:#1a6bbf;--bleu-dk:#155da3;--bleu-clair:#e8f1fb;--vert:#2ecc8a;--vert-dk:#137a4e;
  --anthracite:#2b2d36;--gris:#6b7280;--gris-clair:#f1f3f5;--blanc:#ffffff;--ligne:#e5e7eb;
  --head:"Barlow Condensed","Barlow",system-ui,sans-serif;--font:"Barlow",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --r:16px;--sh:0 10px 30px rgba(26,40,60,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;font-family:var(--font);font-size:17px;line-height:1.65;color:var(--anthracite);background:var(--blanc);-webkit-font-smoothing:antialiased;padding-bottom:64px}
img{max-width:100%;height:auto;display:block}
a{color:var(--bleu)}
h1,h2,h3{font-family:var(--head);line-height:1.1;margin:0 0 .5em;color:var(--anthracite);text-wrap:balance}
h1{font-size:clamp(38px,5.6vw,62px);font-weight:800;letter-spacing:-.01em}
h2{font-size:clamp(30px,3.8vw,44px);font-weight:700}
h3{font-size:24px;font-weight:700}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--bleu);outline-offset:3px;border-radius:6px}
.wrap{width:min(1180px,100%);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.narrow{width:min(860px,100%)}
.center{text-align:center}.muted{color:var(--gris)}
.kick{font-family:var(--head);font-weight:700;font-size:16px;letter-spacing:.14em;text-transform:uppercase;color:var(--bleu);margin:0 0 10px}
.kick-w{color:#bfe0ff}

/* Boutons */
.btn{display:inline-flex;align-items:center;gap:10px;justify-content:center;font:600 16px/1 var(--font);padding:14px 22px;border-radius:12px;border:2px solid transparent;text-decoration:none;cursor:pointer;transition:background .18s,transform .18s,box-shadow .18s,color .18s}
.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.btn-blue{background:var(--bleu);color:#fff}
.btn-blue:hover{background:var(--bleu-dk);transform:translateY(-1px);box-shadow:0 8px 20px rgba(26,107,191,.28)}
.btn-line{background:#fff;border-color:var(--ligne);color:var(--anthracite)}
.btn-line:hover{border-color:var(--bleu);color:var(--bleu)}
.btn-lg{padding:17px 26px;font-size:17px}

/* En-tête */
.hd{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 1px 0 var(--ligne)}
.topbar{background:var(--anthracite);color:#d7dae0;font-size:14px}
.topbar .wrap{display:flex;justify-content:space-between;gap:16px;padding-top:6px;padding-bottom:6px}
.topbar a{color:#fff;text-decoration:none;font-weight:600;display:inline-flex;gap:6px;align-items:center}
.topbar svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hd-in{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:8px;padding-bottom:8px}
.logo img{width:56px;height:auto}
.nav{display:flex;align-items:center;gap:22px}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:6px;align-items:center}
.nav a{text-decoration:none;color:var(--anthracite);font-weight:500;padding:10px 12px;border-radius:10px;display:block}
.nav a:hover,.nav a[aria-current]{color:var(--bleu);background:var(--bleu-clair)}
.nav .nav-cta{color:#fff;padding:12px 18px}
.nav .nav-cta:hover{color:#fff;background:var(--bleu-dk)}
.has-sub{position:relative}
.sub{position:absolute;left:0;top:100%;min-width:270px;background:#fff;border:1px solid var(--ligne);border-radius:14px;box-shadow:var(--sh);padding:8px;display:none!important;flex-direction:column;align-items:stretch!important;gap:0!important}
.has-sub:hover .sub,.has-sub:focus-within .sub{display:flex!important}
.sub a{padding:10px 12px}
.burger{display:none;width:46px;height:46px;border:1px solid var(--ligne);background:#fff;border-radius:12px;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.burger span{display:block;width:22px;height:2px;background:var(--anthracite);transition:transform .2s,opacity .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Hero */
.hero{background:linear-gradient(180deg,var(--bleu-clair),#fff 92%);padding:clamp(28px,5vw,64px) 0 clamp(36px,5vw,72px)}
.hero-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,4vw,64px);align-items:center}
.hero-txt .lead,.intro p{font-size:19px;color:#434654}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}
.trust-mini{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:8px;font-weight:500}
.trust-mini li{display:flex;gap:10px;align-items:center}
.trust-mini svg,.ticks svg{width:22px;height:22px;flex:none;padding:4px;border-radius:50%;background:var(--vert);fill:none;stroke:#fff;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}
.hero-img{position:relative}
.hero-img img{border-radius:24px;aspect-ratio:4/5;object-fit:cover;width:100%;box-shadow:var(--sh)}
.hero-img-sm{max-width:420px;justify-self:center;width:100%}
.badge-f{position:absolute;left:-18px;bottom:28px;background:#fff;border-radius:14px;padding:12px 16px;box-shadow:var(--sh);max-width:260px;border-left:5px solid var(--vert)}
.badge-f strong{display:block;font-family:var(--head);font-size:26px;color:var(--bleu);line-height:1}
.badge-f span{font-size:14px;color:var(--gris);line-height:1.35;display:block;margin-top:4px}
.crumb{font-size:14px;color:var(--gris);margin-bottom:14px}
.crumb a{color:var(--gris)}
.hero-faq{padding-bottom:28px}
.hero-faq .lead{max-width:680px}
.strip{background:var(--anthracite);color:#fff}
.strip-in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding-top:20px;padding-bottom:20px}
.strip strong{display:block;font-family:var(--head);font-size:28px;line-height:1.1;color:var(--vert)}
.strip span{font-size:14.5px;color:#cfd3da}

/* Sections */
.sec{padding:clamp(44px,6vw,84px) 0}
.sec-grey{background:var(--gris-clair)}
.sec-blue{background:linear-gradient(160deg,var(--bleu),var(--bleu-dk));color:#fff}
.sec-blue h2{color:#fff}
.sub-lead{font-size:19px;color:var(--gris);max-width:640px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}
.cards-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:#fff;border:1px solid var(--ligne);border-radius:var(--r);overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s}
.card:hover{transform:translateY(-4px);box-shadow:var(--sh);border-color:#cfe2f6}
.card img{aspect-ratio:4/3;object-fit:cover;width:100%}
.card-b{padding:18px 20px 20px;display:flex;flex-direction:column;gap:6px;flex:1}
.card-b h3{margin:0;font-size:25px}
.card-b p{margin:0;color:var(--gris);font-size:16px}
.more{margin-top:auto;padding-top:10px;color:var(--bleu);font-weight:600;display:inline-flex;gap:8px;align-items:center}
.more svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.card:hover .more svg{transform:translateX(4px)}
.card-more{background:var(--bleu-clair);justify-content:center}
.split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,5vw,64px);align-items:center}
.split-rev{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.rounded{border-radius:24px;aspect-ratio:4/5;object-fit:cover;width:100%;box-shadow:var(--sh)}
.feat{list-style:none;margin:18px 0 24px;padding:0;display:grid;gap:14px}
.feat li{padding-left:34px;position:relative}
.feat li::before{content:"";position:absolute;left:0;top:5px;width:22px;height:22px;border-radius:50%;background:var(--vert) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'><path d='M6 12.5l4 4 8-9'/></svg>") center/14px no-repeat}
.note-card{background:#fff;border:1px solid var(--ligne);border-radius:var(--r);padding:24px 26px;box-shadow:var(--sh)}
.center-card{margin-top:36px;text-align:center}
.steps{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:s}
.steps li{background:#fff;border:1px solid var(--ligne);border-radius:var(--r);padding:26px 24px}
.steps span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--bleu);color:#fff;font:700 22px var(--head);margin-bottom:14px}
.steps h3{font-size:25px}.steps p{color:var(--gris);margin:0}

/* Zones, références, avis */
.zones{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:center}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.chips li{background:#fff;border:1px solid var(--ligne);border-radius:999px;padding:8px 16px;font-weight:500}
.logos{list-style:none;margin:28px 0;padding:0;display:flex;flex-wrap:wrap;gap:28px 44px;align-items:center;justify-content:center}
.logos img{height:44px;width:auto;max-width:150px;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .2s,opacity .2s}
.logos img:hover{filter:none;opacity:1}
.rv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0}
.rv{margin:0;background:#fff;border:1px solid var(--ligne);border-radius:var(--r);padding:24px;box-shadow:var(--sh);display:flex;flex-direction:column;gap:12px}
.stars{color:#f59e0b;letter-spacing:3px;font-size:20px}
.rv blockquote{margin:0;font-size:16.5px}
.rv figcaption{margin-top:auto;font-weight:600}
.rv figcaption span{display:block;font-weight:400;font-size:14px;color:var(--gris)}

/* FAQ */
.faq{display:grid;gap:12px;margin:24px 0}
.qa{background:#fff;border:1px solid var(--ligne);border-radius:14px;padding:0 20px}
.qa summary{cursor:pointer;list-style:none;padding:18px 34px 18px 0;font-weight:600;font-size:18px;position:relative}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:26px;color:var(--bleu);transition:transform .2s}
.qa[open] summary::after{content:"–"}
.qa p{margin:0 0 18px;color:#434654}

/* Pages service */
.prose{width:min(860px,100%)}
.prose h2{margin-top:0}
.prose h3{margin-top:1.4em;color:var(--bleu-dk)}
.answer{font-size:19px;font-weight:500;background:var(--bleu-clair);padding:18px 22px;border-radius:14px;border-left:5px solid var(--bleu)}
.ticks{list-style:none;margin:20px 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}
.ticks li{display:flex;gap:12px;align-items:flex-start}
.ticks svg{margin-top:3px}
.mini-steps{padding-left:22px;display:grid;gap:8px;margin:18px 0}
.mini-steps li::marker{color:var(--bleu);font-weight:700}
.fine-note{font-size:15px;color:var(--gris);background:var(--gris-clair);padding:12px 16px;border-radius:10px}
.why{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.why li{background:#fff;border:1px solid var(--ligne);border-radius:var(--r);padding:22px}
.why h3{font-size:22px;margin-bottom:8px}.why p{margin:0;color:var(--gris);font-size:16px}

/* Contact */
.contact{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,5vw,64px);align-items:start}
.contact-txt p{color:#e3effb}
.cl{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}
.cl li{display:flex;gap:12px;align-items:center}
.cl svg{width:22px;height:22px;fill:none;stroke:#bfe0ff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.cl a{color:#fff;font-weight:600}
.form{background:#fff;color:var(--anthracite);border-radius:20px;padding:26px;box-shadow:0 20px 50px rgba(0,0,0,.2);display:grid;gap:14px}
.fg{display:grid;gap:6px}.fg2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fg label{font-weight:600;font-size:15px}
.form input,.form select,.form textarea{font:inherit;width:100%;padding:13px 14px;border:1px solid #cdd2da;border-radius:10px;background:#fff;color:var(--anthracite)}
.form input:focus,.form select:focus,.form textarea:focus{outline:3px solid var(--bleu-clair);border-color:var(--bleu)}
.form .invalid{border-color:#d9483b}
.hp{position:absolute;left:-9999px;opacity:0;height:0}
.fine{font-size:13.5px;color:var(--gris);margin:0}
.ok{background:#e3f8ef;color:var(--vert-dk);padding:12px 14px;border-radius:10px;font-weight:600;margin:0}
.err{background:#fdecea;color:#a3271c;padding:12px 14px;border-radius:10px;margin:0}

/* Pied de page */
.ft{background:var(--anthracite);color:#cfd3da;padding:48px 0 20px}
.ft a{color:#fff;text-decoration:none}.ft a:hover{text-decoration:underline}
.ft-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px}
.ft img{background:#fff;border-radius:12px;padding:6px;margin-bottom:12px}
.ft h2{font-size:22px;color:#fff;margin-bottom:12px}
.ft ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ft-bot{margin-top:28px;padding-top:18px;border-top:1px solid #444856;font-size:14px}
.todo{background:#fff3c4;padding:0 4px;border-radius:4px}

/* Barre mobile */
.mbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--ligne);padding:8px max(12px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));gap:8px;box-shadow:0 -6px 20px rgba(0,0,0,.08)}
.mbar a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:12px;font-weight:600;text-decoration:none;color:var(--anthracite);background:var(--gris-clair)}
.mbar svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mbar .m-dev{background:var(--bleu);color:#fff}

/* Responsive */
@media(max-width:1000px){
  .cards,.cards-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .why{grid-template-columns:repeat(2,minmax(0,1fr))}
  .strip-in{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .burger{display:flex}
  .nav{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--ligne);box-shadow:var(--sh);flex-direction:column;align-items:stretch;gap:8px;padding:12px max(20px,env(safe-area-inset-left,0px)) 18px;display:none;max-height:calc(100vh - 120px);overflow-y:auto}
  .nav.open{display:flex}
  .nav ul{flex-direction:column;align-items:stretch}
  .sub{position:static;display:flex!important;border:0;box-shadow:none;padding:0 0 0 12px;min-width:0}
  .nav .nav-cta{text-align:center}
  .hero-in,.split,.split-rev,.zones,.contact{grid-template-columns:minmax(0,1fr)}
  .hero-img{order:-1;max-width:380px;margin:0 auto 6px}
  .badge-f{left:10px;bottom:16px}
  .steps,.rv-grid,.ft-grid{grid-template-columns:minmax(0,1fr)}
  .topbar span{display:none}.topbar .wrap{justify-content:flex-end}
  .mbar{display:flex}
}
@media(max-width:600px){
  body{font-size:16.5px}
  .cards,.cards-4,.why,.ticks,.fg2{grid-template-columns:minmax(0,1fr)}
  .strip-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .cta-row .btn{width:100%}
  .form{padding:20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Pages dédiées : prestations, zones, blog, bandeau d'appel */
.btn-white{background:#fff;color:var(--bleu-dk)}
.btn-white:hover{background:var(--bleu-clair)}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.band{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.band h2{margin-bottom:6px}.band p{margin:0;color:#d9e9fa}
.band-act{display:flex;gap:12px;flex-wrap:wrap}
.linklist{list-style:none;margin:12px 0 18px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 24px}
.linklist a{font-weight:500}
.prow{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(20px,4vw,48px);align-items:center;padding:28px 0;border-bottom:1px solid var(--ligne)}
.prow:last-of-type{border-bottom:0}
.prow-rev{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.prow-rev .prow-img{order:2}
.prow-img img{border-radius:20px;aspect-ratio:4/3;object-fit:cover;width:100%;box-shadow:var(--sh)}
.prow h2{margin-bottom:8px}.prow h2 a{color:inherit;text-decoration:none}.prow h2 a:hover{color:var(--bleu)}
.ticks-1{grid-template-columns:1fr}
.zg{margin:22px 0}.zg h3{color:var(--bleu-dk)}
.tagc{align-self:flex-start;background:var(--bleu-clair);color:var(--bleu-dk);font-size:13px;font-weight:600;border-radius:999px;padding:2px 10px}
.meta{color:var(--gris);font-size:15px;margin:0}
.article h2{margin-top:1.6em;font-size:clamp(26px,3vw,34px)}
.article p{font-size:18px}
.art-img{aspect-ratio:3/2;margin-bottom:24px}
@media(max-width:900px){.prow,.prow-rev{grid-template-columns:minmax(0,1fr)}.prow-rev .prow-img{order:0}}
@media(max-width:600px){.linklist{grid-template-columns:minmax(0,1fr)}.band-act .btn{width:100%}}
