/* ============================================================
   SOLUTION PARE-BRISE — v12 "Architecture Artisan"
   Héros bleu nuit + carte blanche · accent orange élégant · sections aérées
   ============================================================ */
:root{
  --navy:#0E2440;--navy-2:#16345C;--navy-3:#0A1B31;
  --ink:#14263B;--sub:#5B6B7A;
  --bg:#FFFFFF;--bg-soft:#F6F8FB;--band:#EDF3FA;
  --line:#E6EBF1;--line-navy:#24436E;
  --accent:#ED7226;--accent-d:#CE5B15;--accent-tint:#FDEFE4;
  --wa:#25D366;--star:#F2B33D;
  --r:16px;--r-sm:11px;--maxw:1120px;
  --shadow:0 6px 24px rgba(14,36,64,.08);
  --shadow-lg:0 18px 48px rgba(14,36,64,.14);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Barlow',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;font-size:1.05rem;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
svg{max-width:100%;flex:none}
a{color:var(--accent-d)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
.center{text-align:center}

/* ---------- Typo ---------- */
h1,h2,h3,.brand-txt{font-family:'Barlow Condensed','Arial Narrow',sans-serif;line-height:1.08;letter-spacing:.2px}
h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:800}
h2{font-size:clamp(1.5rem,3.4vw,2.3rem);font-weight:800;margin-bottom:.6rem}
h3{font-size:1.2rem;font-weight:700;margin-bottom:.3rem}
p{margin-bottom:1rem}
ul,ol{margin:0 0 1rem 1.3rem}
li{margin-bottom:.45rem}
.kicker{display:inline-block;font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:.8rem;color:var(--accent);margin-bottom:.9rem}
.hl{background:var(--accent);color:#fff;padding:.02em .25em;border-radius:.18em;font-style:normal}
.u{position:relative}
.u::after{content:"";position:absolute;left:0;right:0;bottom:-.18em;height:.34em;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 12" preserveAspectRatio="none"><path d="M2 9c30-7 60-7 116-3" fill="none" stroke="%23ED7226" stroke-width="4" stroke-linecap="round"/></svg>') center/100% 100% no-repeat}
.lead{font-size:1.12rem;color:var(--sub)}
.stars{color:var(--star);letter-spacing:2px}

/* ---------- Bandeau promo + header ---------- */
.promo{background:var(--navy-3);text-align:center;padding:.5rem .9rem}
.promo a{color:#fff;text-decoration:none;font-size:.9rem}
.promo a strong{color:var(--accent);font-weight:800}
.promo svg{vertical-align:-3px;margin-right:.3rem;color:var(--accent)}
header.site{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.navbar{display:flex;align-items:center;gap:14px;padding:.5rem 22px;max-width:var(--maxw);margin:0 auto}
.brand{display:flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--ink)}
.brand img{height:52px;width:auto;flex:none}
.brand-txt{font-size:1.08rem;font-weight:800;text-transform:uppercase;line-height:1.02;white-space:nowrap}
.brand-txt small{display:block;font-size:.58rem;letter-spacing:.3em;color:var(--accent-d);font-weight:700}
nav.main{margin-left:auto}
nav.main ul{display:flex;gap:1.15rem;list-style:none;margin:0;align-items:center}
nav.main li{position:relative}
nav.main a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.92rem;position:relative;padding:.3rem 0;white-space:nowrap}
nav.main a.top::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--accent);transition:right .2s}
nav.main a.top:hover::after,nav.main a.top.on::after{right:0}
nav.main a.top.on{color:var(--accent-d)}
nav.main .caret{font-size:.62rem;opacity:.55}
nav.main .sub{display:none;position:absolute;top:100%;left:-10px;min-width:235px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:.4rem 0;z-index:100;margin:0;list-style:none}
nav.main li.has-sub:hover > .sub,nav.main li.has-sub:focus-within > .sub{display:block}
nav.main .sub li{border:0!important}
nav.main .sub a{display:block;padding:.5rem 1rem;font-size:.92rem}
nav.main .sub a::after{display:none}
nav.main .sub a:hover{background:var(--bg-soft);color:var(--accent-d)}
nav.main .sub a.on{background:var(--accent-tint);color:var(--accent-d);font-weight:700}
.nav-call{display:inline-flex;align-items:center;gap:.4rem;background:var(--accent-tint);border:1.5px solid #F4CBA6;color:var(--accent-d)!important;padding:.48rem .9rem;border-radius:999px;font-weight:800;font-size:.93rem;text-decoration:none;white-space:nowrap;flex:none;transition:background .15s}
.nav-call:hover{background:#FBE2CC}
.nav-rdv{background:var(--navy);border:1.5px solid var(--navy);border-radius:999px;padding:.48rem .95rem!important;color:#fff!important;font-weight:700!important}
.nav-rdv::after{display:none!important}
.nav-rdv:hover{background:var(--navy-2)}
.nav-rdv svg,.nav-call svg{vertical-align:-3px;margin-right:.1rem}
#nav-toggle{display:none}
.burger{display:none;margin-left:auto;cursor:pointer;border:1.5px solid var(--line);border-radius:10px;padding:.5rem .7rem;font-weight:700;background:#fff}
@media (max-width:1080px){
  nav.main{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);display:none;box-shadow:var(--shadow);max-height:calc(100vh - 110px);overflow:auto}
  nav.main ul{flex-direction:column;gap:0;padding:.4rem 0;align-items:stretch}
  nav.main li{border-top:1px solid var(--line);margin:0}
  nav.main a{display:block;padding:.85rem 22px}
  nav.main a.top::after{display:none}
  nav.main a.top.on{border-left:3px solid var(--accent);padding-left:19px;background:var(--accent-tint)}
  nav.main .sub{display:block;position:static;box-shadow:none;border:0;border-radius:0;background:var(--bg-soft);padding:.15rem 0;min-width:0}
  nav.main .sub a{padding:.55rem 22px .55rem 38px}
  nav.main .caret{display:none}
  #nav-toggle:checked ~ nav.main{display:block}
  .burger{display:block}
  .nav-call.desktop{display:none}
}

/* ---------- HÉROS bleu nuit + carte blanche ---------- */
.hero{position:relative;color:#fff;overflow:hidden;padding:clamp(2.6rem,6vw,4.2rem) 0 clamp(2.4rem,5vw,3.6rem);
  background:radial-gradient(900px 460px at 88% -10%,rgba(237,114,38,.16),transparent 55%),
             linear-gradient(150deg,var(--navy-3),var(--navy) 55%,var(--navy-3))}
.hero::before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;right:-120px;top:-120px;background:rgba(237,114,38,.18);filter:blur(2px)}
.hero::after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;left:-70px;bottom:-70px;background:rgba(237,114,38,.1)}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.15fr .95fr;gap:2.4rem;align-items:center;z-index:1}
@media (max-width:940px){.hero .wrap{grid-template-columns:1fr;gap:1.9rem}}
.hero h1{color:#fff;text-wrap:balance}
.hero h1 .crack{display:block;width:180px;margin-top:.6rem}
.hero .lead{color:#BFD2E6;max-width:32em}
.hero .proof{font-weight:600;font-size:.94rem;margin-top:.6rem;color:#D8E5F2}
.hero a{color:#fff}
.badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.badge{display:inline-flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.07);border:1px solid var(--line-navy);color:#D8E5F2;border-radius:999px;padding:.3rem .8rem;font-size:.82rem;font-weight:600;white-space:nowrap}
.badge::before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--accent)}

/* Carte blanche du héros (offre / vérificateur) */
.offer,.hero .locator{background:#fff;color:var(--ink);border:0;border-radius:var(--r);box-shadow:var(--shadow-lg)}
.offer{position:relative;padding:clamp(1.2rem,2.6vw,1.6rem)}
.offer::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;border-radius:var(--r) var(--r) 0 0;background:var(--accent)}
.offer .tag{display:inline-block;background:var(--accent-tint);color:var(--accent-d);font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;border-radius:999px;padding:.22rem .7rem;margin-bottom:.65rem}
.offer h3{color:var(--ink);font-size:1.3rem}
.offer ul{list-style:none;margin:0 0 .95rem}
.offer li{padding-left:1.65rem;position:relative;margin-bottom:.45rem;color:var(--ink)}
.offer li::before{content:"";position:absolute;left:0;top:.32rem;width:1rem;height:1rem;border-radius:50%;background:var(--accent);
  -webkit-mask:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="black" d="M8 0a8 8 0 100 16A8 8 0 008 0zm3.7 6.1l-4.2 4.4a.9.9 0 01-1.3 0L4.3 8.5a.9.9 0 111.3-1.2l1.2 1.3 3.5-3.7a.9.9 0 111.4 1.2z"/></svg>') center/contain no-repeat;
          mask:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="black" d="M8 0a8 8 0 100 16A8 8 0 008 0zm3.7 6.1l-4.2 4.4a.9.9 0 01-1.3 0L4.3 8.5a.9.9 0 111.3-1.2l1.2 1.3 3.5-3.7a.9.9 0 111.4 1.2z"/></svg>') center/contain no-repeat}
.offer-links{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;align-items:center;margin:.65rem 0 0;font-size:.89rem}
.offer-links a{color:var(--sub)!important;text-decoration:none;font-weight:600;border-bottom:1px solid var(--line);padding-bottom:1px}
.offer-links a:hover{color:var(--accent-d)!important;border-color:var(--accent)}
.offer-links span{color:var(--line)}
.offer-links svg{vertical-align:-3px;margin-right:.1rem}
.offer .fine{color:var(--sub);font-size:.82rem;margin:.55rem 0 0;text-align:center}

/* ---------- Boutons ---------- */
.btn-call{display:block;text-align:center;background:var(--accent);color:#fff!important;text-decoration:none;
  font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.05em;
  font-size:clamp(1.08rem,2.3vw,1.28rem);line-height:1.2;white-space:nowrap;padding:.85rem 1.2rem;border-radius:12px;
  box-shadow:0 8px 22px rgba(237,114,38,.3);transition:background .15s,transform .15s}
.btn-call:hover{background:var(--accent-d);transform:translateY(-2px)}
.btn-call .sub{display:block;font-family:'Barlow',sans-serif;font-weight:600;font-size:.76rem;letter-spacing:.02em;text-transform:none;opacity:.93;margin-top:.1rem}
.btn-call svg{vertical-align:-3px;margin-right:.2rem}
.btn-duo{display:grid;gap:.5rem}
.btn-fixe{background:#fff;color:var(--accent-d)!important;border:1.5px solid var(--accent);box-shadow:none}
.btn-fixe:hover{background:var(--accent-tint)}
.btn-wa{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.55rem;background:#F0FBF4;border:1px solid #BFE8CD;color:#177A3E!important;text-decoration:none;font-weight:600;font-size:.92rem;border-radius:11px;padding:.6rem 1rem;transition:background .15s}
.btn-wa:hover{background:#E2F7EA}
.btn-wa svg{width:17px;height:17px;fill:currentColor;vertical-align:-3px}
.btn-rdv{display:block;text-align:center;margin-top:.55rem;background:var(--navy);border:1.5px solid var(--navy);color:#fff!important;text-decoration:none;font-weight:600;font-size:.92rem;border-radius:11px;padding:.6rem 1rem;transition:background .15s}
.btn-rdv:hover{background:var(--navy-2)}
.btn-rdv svg{vertical-align:-3px;margin-right:.2rem}
.pill-tel{display:inline-flex;align-items:center;gap:.45rem;background:var(--accent-tint);border:1.5px solid #F4CBA6;color:var(--accent-d);
  font-weight:800;text-decoration:none;border-radius:999px;padding:.6rem 1.25rem;font-size:1.02rem;transition:background .15s}
.pill-tel:hover{background:#FBE2CC}
.pill-tel svg{vertical-align:-3px}
.btn-center{max-width:340px;margin:1.5rem auto 0}

/* ---------- Bandes CTA ---------- */
.cta-band{background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--r);
  padding:clamp(1.05rem,2.4vw,1.4rem);margin:1.9rem 0 .3rem;display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;box-shadow:var(--shadow)}
.cta-band p{margin:0;color:var(--sub)}
.cta-band strong{color:var(--ink)}
.band-btns{display:grid;gap:.5rem}
.band-btns .btn-call{font-size:1rem;padding:.62rem 1rem}
@media (max-width:740px){.cta-band{grid-template-columns:1fr}}

/* ---------- Sections ---------- */
section.block{padding:clamp(2.2rem,5vw,3.4rem) 0}
section.alt{background:var(--bg-soft)}
section.band{background:var(--band)}
section.night{background:linear-gradient(150deg,var(--navy-3),var(--navy));color:#D8E5F2}
section.night h2,section.night h3{color:#fff}
section.night p{color:#BFD2E6}
.crack-divider{display:none}

/* ---------- Tuiles services (photo + pastille) ---------- */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.6rem 1.2rem;margin-top:1.6rem}
.tile{position:relative;display:block;text-decoration:none;color:var(--ink)}
.tile .card-media{margin:0;aspect-ratio:16/9;border-radius:var(--r);border:1.5px dashed #D5DDE6;background:linear-gradient(135deg,#F2F5F9,#E9EEF5);display:grid;place-content:center;justify-items:center;gap:.3rem;color:#93A2B2;transition:transform .16s,box-shadow .16s}
.tile:hover .card-media{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.tile .card-media em{font-size:.77rem;font-style:normal;color:#8795A3;text-align:center;padding:0 .6rem}
.tile .pill{position:absolute;left:50%;bottom:-0.9rem;transform:translateX(-50%);display:inline-flex;align-items:center;gap:.4rem;
  background:#fff;border:1px solid var(--line);border-radius:999px;padding:.42rem .95rem;font-weight:700;font-size:.92rem;white-space:nowrap;box-shadow:var(--shadow)}
.tile .pill svg{color:var(--accent-d)}
.tiles .tile{margin-bottom:.9rem}

/* ---------- Chiffres ---------- */
.stats-big{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;margin:0 auto;max-width:900px}
.stat{text-align:center;padding:.6rem}
.stat b{display:block;font-family:'Barlow Condensed',sans-serif;font-size:2.7rem;font-weight:800;color:var(--navy);line-height:1.05}
.stat span{font-size:.92rem;color:var(--sub)}

/* ---------- Split 2 colonnes ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem;align-items:center}
@media (max-width:880px){.split{grid-template-columns:1fr}}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:1.6rem}

/* ---------- Grille assureurs ---------- */
.ins-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
@media (max-width:520px){.ins-grid{grid-template-columns:repeat(2,1fr)}}
.ins-grid span{display:grid;place-items:center;background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;
  padding:.8rem .5rem;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.02rem;color:#33475E;letter-spacing:.03em;text-align:center}
.ins-grid span img{max-height:30px;width:auto}
.ins-grid span.more-ins{background:var(--accent-tint);border-color:#F4CBA6;color:var(--accent-d)}

/* ---------- Liste à coches ---------- */
.check-list{list-style:none;margin:1rem 0 0;display:grid;gap:.55rem;text-align:left}
.check-list li{display:flex;gap:.7rem;align-items:flex-start;font-size:1rem}
.check-list li::before{content:"";flex:none;margin-top:.22rem;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--accent);
  -webkit-mask:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="black" d="M8 0a8 8 0 100 16A8 8 0 008 0zm3.7 6.1l-4.2 4.4a.9.9 0 01-1.3 0L4.3 8.5a.9.9 0 111.3-1.2l1.2 1.3 3.5-3.7a.9.9 0 111.4 1.2z"/></svg>') center/contain no-repeat;
          mask:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="black" d="M8 0a8 8 0 100 16A8 8 0 008 0zm3.7 6.1l-4.2 4.4a.9.9 0 01-1.3 0L4.3 8.5a.9.9 0 111.3-1.2l1.2 1.3 3.5-3.7a.9.9 0 111.4 1.2z"/></svg>') center/contain no-repeat}
section.night .check-list li::before{background:#fff}
.duo-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem;margin-top:1.6rem;align-items:stretch}
@media (max-width:880px){.duo-cards{grid-template-columns:1fr}}
.duo-cards .panel .btn-call{margin-top:1.1rem}
.panel-navy{background:linear-gradient(150deg,var(--navy),var(--navy-2));color:#D8E5F2;border:0;border-radius:var(--r);box-shadow:var(--shadow-lg);padding:1.6rem}
.panel-navy h3{color:#fff}
.panel-navy .check-list li{color:#D8E5F2}
.panel-navy .check-list li::before{background:var(--accent)}

/* ---------- Villes ---------- */
.city-pills{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem;margin-top:1rem}
.city-pills a{display:block;text-align:center;background:var(--navy);color:#fff;text-decoration:none;font-weight:600;font-size:.93rem;
  border-radius:999px;padding:.55rem .7rem;transition:background .15s;white-space:nowrap}
.city-pills a:hover{background:var(--accent);color:#fff}
.city-pills a.soft{background:var(--bg-soft);color:var(--ink);border:1px solid var(--line)}
.city-pills a.soft:hover{background:var(--accent-tint);color:var(--accent-d);border-color:#F4CBA6}

/* ---------- Avis ---------- */
.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.2rem;margin-top:1.4rem}
blockquote.review{position:relative;background:#fff;border-radius:var(--r);padding:1.35rem 1.2rem 1.1rem;font-style:italic;color:var(--sub);box-shadow:var(--shadow-lg);border:1px solid var(--line)}
section.night blockquote.review{border:0}
blockquote.review .r-stars{color:var(--star);font-style:normal;letter-spacing:2px;font-size:.9rem}
blockquote.review footer{font-style:normal;font-weight:700;color:var(--ink);margin-top:.55rem}

/* ---------- Engagements ---------- */
.engage{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.2rem;margin-top:1.6rem}
.engage div{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.4rem 1.2rem;text-align:center;box-shadow:var(--shadow)}
.engage .eico{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:0 auto .8rem}
.engage div:nth-child(1) .eico{background:#EAF2FE;color:#2563EB}
.engage div:nth-child(2) .eico{background:var(--accent-tint);color:var(--accent-d)}
.engage div:nth-child(3) .eico{background:#F3EDFE;color:#7C3AED}
.engage div:nth-child(4) .eico{background:#FDEEF3;color:#DB2777}
.engage p{color:var(--sub);font-size:.93rem;margin:0}

/* ---------- CTA urgence ---------- */
.urgent{text-align:center}
.urgent h2{font-size:clamp(1.7rem,4vw,2.6rem)}
.urgent .btn-call{display:inline-block;margin-top:1.2rem;min-width:300px}

/* ---------- FAQ / étapes ---------- */
details.faq{background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);margin-bottom:.7rem;overflow:hidden;transition:box-shadow .15s}
details.faq[open]{box-shadow:var(--shadow)}
details.faq summary{cursor:pointer;font-weight:700;padding:1rem 2.9rem 1rem 1.15rem;list-style:none;position:relative}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"";position:absolute;right:1.1rem;top:50%;width:.8rem;height:.8rem;transform:translateY(-60%) rotate(45deg);border-right:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);transition:transform .2s}
details.faq[open] summary::after{transform:translateY(-30%) rotate(225deg)}
details.faq .a{padding:0 1.15rem 1rem;color:var(--sub)}
.steps{list-style:none;margin:1.2rem 0 0;counter-reset:s;display:grid;gap:.8rem}
.steps li{counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:.95rem 1.1rem .95rem 3.6rem;position:relative;box-shadow:var(--shadow)}
.steps li::before{content:counter(s);position:absolute;left:.95rem;top:50%;transform:translateY(-50%);font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.15rem;color:#fff;width:1.9rem;height:1.9rem;border-radius:10px;background:var(--accent);display:grid;place-items:center}

/* ---------- Vérificateur ---------- */
.locator{padding:1.15rem 1.15rem 1.25rem;position:relative}
.locator h2{font-size:1.2rem;margin-bottom:.15rem;text-transform:none;letter-spacing:.2px;color:var(--ink)}
.locator .loc-sub{color:var(--sub);font-size:.88rem;margin-bottom:.7rem}
.loc-row{display:flex;gap:.5rem;position:relative}
.loc-field{flex:1;position:relative;display:flex;align-items:center;background:#fff;border:1.5px solid var(--line);border-radius:11px}
.loc-field:focus-within{border-color:var(--accent)}
.loc-field .pin{flex:none;margin-left:.7rem;color:var(--accent-d)}
.loc-field input{flex:1;border:0;padding:.78rem .75rem;font:inherit;font-size:.97rem;border-radius:11px;min-width:0;background:transparent;color:var(--ink)}
.loc-field input:focus{outline:none}
.loc-row .go{flex:none;background:var(--accent);color:#fff;border:0;border-radius:11px;padding:.78rem 1.1rem;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.05rem;text-transform:uppercase;cursor:pointer;box-shadow:0 6px 16px rgba(237,114,38,.28);transition:background .15s}
.loc-row .go:hover{background:var(--accent-d)}
@media (max-width:560px){.loc-row{flex-wrap:wrap}.loc-row .go{width:100%}}
.loc-geo{display:inline-flex;align-items:center;gap:.35rem;margin-top:.55rem;background:none;border:0;color:var(--sub);font:inherit;font-size:.87rem;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:0}
.loc-geo:hover{color:var(--accent-d)}
.loc-geo svg{color:var(--accent-d)}
.loc-sug{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow-lg);z-index:30;overflow:hidden;display:none}
.loc-sug.on{display:block}
.loc-sug button{display:block;width:100%;text-align:left;background:none;border:0;padding:.65rem .9rem;font:inherit;font-size:.93rem;color:var(--ink);cursor:pointer;border-top:1px solid var(--bg-soft)}
.loc-sug button:first-child{border-top:0}
.loc-sug button:hover{background:var(--bg-soft)}
.loc-sug button small{color:var(--sub)}
.loc-result{margin-top:.8rem;border-radius:11px;padding:.95rem 1rem;display:none;animation:locin .3s ease;color:var(--ink)}
.loc-result.on{display:block}
@keyframes locin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.loc-result.ok{background:#F1FAF4;border:1px solid #BFE8CD}
.loc-result.far{background:var(--bg-soft);border:1px solid var(--line)}
.loc-result h3{font-size:1.06rem;margin-bottom:.2rem;color:var(--ink)}
.loc-result h3 svg{vertical-align:-4px;margin-right:.2rem;color:#1FA355}
.loc-result p{color:var(--sub);font-size:.91rem;margin-bottom:.6rem}
.loc-result .chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.7rem}
.loc-result .chip{background:#fff;border:1px solid #BFE8CD;color:#177A3E;border-radius:999px;padding:.22rem .68rem;font-size:.79rem;font-weight:700;white-space:nowrap}
.loc-result .btn-call{font-size:1rem;padding:.6rem 1rem}

/* ---------- Média / formulaires / blog / divers ---------- */
.media{position:relative;aspect-ratio:16/9;margin:0;border-radius:var(--r);overflow:hidden;border:1.5px dashed #D5DDE6;background:linear-gradient(135deg,#F2F5F9,#E9EEF5);display:grid;place-content:center;justify-items:center;gap:.45rem;color:#93A2B2;text-align:center;padding:1rem}
.media figcaption{font-size:.84rem;color:#8795A3;max-width:26em}
.media-accent{background:linear-gradient(150deg,var(--navy),var(--navy-2));border:0;color:#9FB6CF}
.media-accent figcaption{color:#9FB6CF}
.grid2col{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}
@media (max-width:840px){.grid2col{grid-template-columns:1fr}}
.media-duo{align-items:stretch;margin-bottom:1.1rem}
.card-media{display:grid;place-content:center;justify-items:center;gap:.3rem;aspect-ratio:16/9;border-radius:10px;margin-bottom:.9rem;border:1.5px dashed #D5DDE6;background:linear-gradient(135deg,#F2F5F9,#E9EEF5);color:#93A2B2}
.card-media em{font-size:.77rem;font-style:normal;color:#8795A3;text-align:center;padding:0 .6rem}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem;margin-top:1.4rem}
.card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.15rem;text-decoration:none;color:var(--ink);display:block;box-shadow:var(--shadow);transition:transform .16s,box-shadow .16s}
.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.card h3{font-size:1.12rem}
.card p{color:var(--sub);margin:0;font-size:.94rem}
.card .more{display:inline-block;margin-top:.55rem;color:var(--accent-d);font-weight:700;font-size:.92rem}
.card .ico{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;margin-bottom:.8rem;background:var(--accent-tint);color:var(--accent-d)}
.trust{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 2.2rem;margin-top:.4rem;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust span{color:var(--sub);font-size:.94rem;font-weight:600}
.trust b{color:var(--ink);font-family:'Barlow Condensed',sans-serif;font-size:1.12rem;font-weight:800}
.zone-cols{columns:2;gap:2.4rem}
@media (max-width:720px){.zone-cols{columns:1}}
.legal-box{background:var(--bg-soft);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--r-sm);padding:1.05rem 1.25rem;font-size:.95rem}
.map-embed{border:0;width:100%;height:330px;border-radius:var(--r);box-shadow:var(--shadow)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:1.4rem}
form.callback,form.rdv{display:grid;gap:.95rem;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.6rem;box-shadow:var(--shadow)}
form.callback{max-width:540px}
form.rdv{max-width:660px}
form.rdv .grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:600px){form.rdv .grid2{grid-template-columns:1fr}}
form.callback label,form.rdv label{font-weight:700;font-size:.92rem;display:block;margin-bottom:.28rem}
form.rdv label .opt{font-weight:400;color:var(--sub)}
form.callback input,form.callback select,form.callback textarea,form.rdv input,form.rdv select,form.rdv textarea{width:100%;padding:.75rem .85rem;border:1.5px solid var(--line);border-radius:10px;font:inherit;background:#fff;transition:border-color .15s}
form.callback :focus,form.rdv :focus{border-color:var(--accent);outline:none}
form.rdv input[type=file]{padding:.55rem;border-style:dashed;background:var(--bg-soft);cursor:pointer}
form.callback button,form.rdv button{background:var(--accent);color:#fff;border:0;border-radius:11px;padding:.95rem;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.2rem;text-transform:uppercase;cursor:pointer;box-shadow:0 8px 20px rgba(237,114,38,.28);transition:background .15s,transform .15s}
form.callback button:hover,form.rdv button:hover{background:var(--accent-d);transform:translateY(-2px)}
form.rdv button svg{vertical-align:-3px;margin-right:.25rem}
form.callback .rgpd,form.rdv .rgpd{font-size:.82rem;color:var(--sub);margin:0}
.rdv-ok{background:#F1FAF4;border:1.5px solid #BFE8CD;border-radius:var(--r);padding:1.2rem 1.3rem;margin-bottom:1.4rem}
.rdv-ok h3{color:#177A3E}
.rdv-ok h3 svg{vertical-align:-4px;margin-right:.2rem}
.post-meta{color:var(--sub);font-size:.9rem;margin-bottom:1rem}
article.post .wrap{max-width:800px}
.post-card{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.4rem;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .16s,box-shadow .16s}
.post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.post-card .tag{display:inline-block;background:var(--accent-tint);color:var(--accent-d);font-weight:700;font-size:.78rem;border-radius:999px;padding:.18rem .65rem;margin-bottom:.55rem}
.post-card p{color:var(--sub);margin:0;font-size:.95rem}
.post-card .more{display:inline-block;margin-top:.6rem;color:var(--accent-d);font-weight:700}
.fb-band{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.3rem;display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;box-shadow:var(--shadow);margin-top:1.5rem}
.fb-band p{margin:0;color:var(--sub)}
.fb-band strong{color:var(--ink)}
.fb-band a.fb-btn{background:#1877F2;color:#fff;text-decoration:none;font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;font-size:1rem;border-radius:11px;padding:.65rem 1.05rem;white-space:nowrap;display:inline-block;transition:transform .15s}
.fb-band a.fb-btn:hover{transform:translateY(-2px)}
.fb-band a.fb-btn svg{vertical-align:-3px;margin-right:.2rem}
@media (max-width:740px){.fb-band{grid-template-columns:1fr}}
section.night .fb-band{background:rgba(255,255,255,.06);border-color:var(--line-navy)}
section.night .fb-band p{color:#BFD2E6}
section.night .fb-band strong{color:#fff}

/* ---------- Footer bleu nuit ---------- */
footer.site{background:linear-gradient(150deg,var(--navy-3),var(--navy));color:#BFD2E6;margin-top:3rem;position:relative}
footer.site::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--accent),transparent 70%)}
footer.site .wrap{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:2rem;padding:2.6rem 22px 2rem}
@media (max-width:840px){footer.site .wrap{grid-template-columns:1fr}}
footer.site img.f-logo{height:66px;width:auto;margin-bottom:.7rem;background:#fff;border-radius:10px;padding:.3rem .55rem}
footer.site h3{color:#fff;text-transform:uppercase;letter-spacing:.4px;font-size:1.02rem}
footer.site a{color:#BFD2E6;text-decoration:none}
footer.site a:hover{color:#fff;text-decoration:underline}
footer.site ul{list-style:none;margin:0}
footer.site li{margin-bottom:.4rem}
footer.site .flist{list-style:none;margin:0 0 .8rem}
footer.site .flist li{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}
footer.site .flist svg{flex:none;color:var(--accent)}
footer.site .legal{border-top:1px solid rgba(255,255,255,.14);text-align:center;padding:.95rem;font-size:.83rem;opacity:.85}

/* ---------- Flottants ---------- */
.wa-float{position:fixed;right:16px;bottom:16px;z-index:90;width:48px;height:48px;border-radius:50%;background:var(--wa);display:grid;place-items:center;box-shadow:0 8px 20px rgba(14,36,64,.25);transition:transform .15s}
.wa-float:hover{transform:scale(1.06)}
.wa-float svg{width:25px;height:25px}
.callbar{display:none}
@media (max-width:940px){
  .wa-float{bottom:82px}
  .callbar{display:block;position:fixed;left:12px;right:12px;bottom:12px;z-index:90;border-radius:999px;background:var(--accent);text-align:center;padding:.8rem 1rem;box-shadow:0 12px 28px rgba(237,114,38,.4)}
  .callbar a{color:#fff;text-decoration:none;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.2rem;text-transform:uppercase;letter-spacing:.03em;display:inline-flex;align-items:center;gap:.5rem}
  .callbar .dot{width:.55rem;height:.55rem;border-radius:50%;background:#fff;animation:pulse 1.6s ease-in-out infinite}
  @keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.75)}}
  body{padding-bottom:5.2rem}
}

/* ---------- Apparition / accessibilité ---------- */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}


/* ---------- Correctifs & épuré v13 ---------- */
.navbar{flex-wrap:nowrap;min-height:64px}
.hero .lead{margin-bottom:.4rem}
.media-stack{display:grid;gap:1rem}
.media-stack .media{aspect-ratio:16/8}
.engage p{font-size:.9rem}
.engage h3{font-size:1.08rem}
.split .lead{font-size:1.05rem;margin-bottom:1.1rem}
h2 .u{padding-bottom:.05em}
@media (max-width:400px){.hero h1{font-size:1.7rem}}


/* ---------- Images réelles dans les emplacements ---------- */
.media-img{margin:0;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-lg)}
.media-img img{width:100%;height:auto;display:block}


/* ---------- Photos réelles ---------- */
.card-media.has-img,.media.has-img{border:0;background:none;padding:0;display:block;overflow:hidden}
.card-media.has-img img,.media.has-img img{width:100%;height:100%;object-fit:cover;display:block}
.tile:hover .card-media.has-img{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.media-img{margin:0;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-lg)}
.media-img img{width:100%;height:auto;display:block}
.media-img figcaption{background:#fff;border-top:1px solid var(--line);padding:.6rem .9rem;font-size:.86rem;color:var(--sub);text-align:center}
.ba-tag{display:inline-block;background:var(--accent-tint);color:var(--accent-d);border:1px solid #F4CBA6;border-radius:999px;
  padding:.2rem .7rem;font-size:.8rem;font-weight:700;margin-bottom:.5rem}


/* ================= HEADER RESPONSIVE (v17) ================= */
.rdv-in-menu{display:none}
.promo-tail{display:inline}

@media (min-width:1081px){
  .navbar .nav-call{order:2}
  .navbar .desktop-only{order:3}
}

@media (max-width:1080px){
  /* Ordre mobile : logo · téléphone rond · burger */
  .navbar{gap:10px}
  .navbar .nav-call{order:2;margin-left:auto;width:42px;height:42px;padding:0;justify-content:center;border-radius:50%}
  .navbar .nav-call .ncall-txt{display:none}
  .navbar .desktop-only{display:none}
  .burger{order:3;margin-left:0;padding:.45rem .6rem;font-size:.95rem}
  /* Le RDV descend dans le menu, en bouton pleine largeur */
  .rdv-in-menu{display:block;border-top:1px solid var(--line)}
  .rdv-in-menu a{display:block;margin:.85rem 22px 1rem;padding:.85rem 1rem!important;text-align:center;
    background:var(--navy);color:#fff!important;border-radius:12px;font-weight:800;
    font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:1.15rem;letter-spacing:.03em}
  .rdv-in-menu a:hover{background:var(--navy-2)}
  .rdv-in-menu a::after{display:none!important}
  .rdv-in-menu a svg{vertical-align:-3px;margin-right:.35rem}
}
@media (max-width:560px){
  .promo-tail{display:none}
  .promo a{font-size:.85rem}
  .brand img{height:44px}
  .navbar{padding:.4rem 16px;min-height:58px}
  .wrap{padding:0 16px}
}


/* ---------- Mur des assurances (v18) ---------- */
.ins-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}
@media (max-width:900px){.ins-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:480px){.ins-grid{grid-template-columns:repeat(2,1fr)}}
.ins-grid span{display:grid;place-items:center;min-height:66px;background:#fff;border:1px solid var(--line);border-radius:10px;
  padding:.55rem .4rem;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.02rem;letter-spacing:.06em;
  text-transform:uppercase;color:#54677C;text-align:center;line-height:1.1;transition:border-color .15s,color .15s,transform .15s}
.ins-grid span:hover{border-color:#F4CBA6;color:var(--navy);transform:translateY(-2px)}
.ins-grid span em{display:block;font-style:normal;font-size:.68rem;letter-spacing:.14em;color:var(--sub);margin-top:.1rem}
.ins-grid span.more-ins{background:var(--accent-tint);border-color:#F4CBA6;color:var(--accent-d);font-size:.92rem}
.ins-note{margin:.9rem 0 0;font-size:.85rem;color:var(--sub);text-align:center}


/* ---------- Logos officiels des assureurs (v20) ---------- */
.ins-grid span.has-logo{padding:.45rem .5rem;background:#fff;min-height:74px}
.ins-grid span.has-logo img{width:100%;height:auto;max-height:52px;object-fit:contain;
  opacity:.94;transition:opacity .18s,transform .18s}
.ins-grid span.has-logo:hover img{opacity:1;transform:scale(1.04)}
@media (max-width:480px){.ins-grid span.has-logo{min-height:62px}.ins-grid span.has-logo img{max-height:42px}}

/* ================= HÉROS v21 : logo, cadeau, téléphone, offres ================= */
.hero .wrap{grid-template-columns:1fr 1.05fr;gap:2.6rem;align-items:center}
@media (max-width:940px){.hero .wrap{grid-template-columns:1fr}}
.hero-logo{height:136px;width:auto;margin:0 0 1.1rem;filter:drop-shadow(0 10px 26px rgba(0,0,0,.35))}
@media (max-width:940px){.hero-logo{height:112px}}
@media (max-width:480px){.hero-logo{height:92px}}
.hero .kicker{font-size:1.02rem;letter-spacing:.1em;color:#fff;background:rgba(237,114,38,.18);
  border:1px solid rgba(237,114,38,.5);border-radius:999px;padding:.4rem 1rem;margin-bottom:1rem}
.hero h1{font-size:clamp(2.1rem,5.2vw,3.6rem)}
.hero .lead{font-size:1.16rem}

/* Bloc téléphone bien visible */
.tel-box{display:inline-flex;align-items:center;gap:.9rem;margin:1.2rem 0 .3rem;text-decoration:none;
  background:#fff;border-radius:16px;padding:.85rem 1.5rem .85rem 1.2rem;box-shadow:0 12px 30px rgba(0,0,0,.28);
  border-left:6px solid var(--accent);transition:transform .16s,box-shadow .16s}
.tel-box:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(0,0,0,.34)}
.tel-box svg{width:34px;height:34px;color:var(--accent);flex:none}
.tel-box span{display:block;line-height:1.15}
.tel-box small{display:block;font-size:.82rem;color:var(--sub);font-weight:600;margin-bottom:.1rem}
.tel-box strong{display:block;font-family:'Barlow Condensed',sans-serif;font-size:clamp(1.9rem,4.4vw,2.5rem);
  font-weight:800;color:var(--navy);letter-spacing:.02em}
@media (max-width:400px){.tel-box{padding:.75rem 1rem;gap:.65rem}.tel-box svg{width:28px;height:28px}}

/* Offres en tête, empilées à droite */
.hero-offers{display:grid;gap:1rem}
.hero-offers figure{margin:0;border-radius:var(--r);overflow:hidden;box-shadow:0 16px 40px rgba(0,0,0,.32);
  transition:transform .18s}
.hero-offers figure:hover{transform:translateY(-3px)}
.hero-offers img{width:100%;height:auto;display:block}

/* Bande outils : géoloc + RDV */
.band-tools{background:var(--band);padding:2rem 0}
.tools-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:1.4rem;align-items:stretch}
@media (max-width:880px){.tools-grid{grid-template-columns:1fr}}
.band-tools .locator{margin-top:0;height:100%}
.rdv-panel{background:linear-gradient(150deg,var(--navy),var(--navy-2));color:#D8E5F2;border-radius:var(--r);
  padding:1.3rem 1.4rem;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:center}
.rdv-panel h2{color:#fff;font-size:1.25rem;text-transform:none;letter-spacing:.2px;margin-bottom:.3rem}
.rdv-panel p{color:#BFD2E6;font-size:.94rem;margin-bottom:1rem}
.rdv-panel .btn-call{font-size:1.15rem}
.rdv-panel .btn-wa{background:rgba(37,211,102,.12);border-color:rgba(37,211,102,.5);color:#CFF5DE!important}

/* ================= AJUSTEMENTS CLIENT v22 ================= */

/* 1. Bandeau d'annonce : même présence que l'offre orange */
.promo{background:var(--accent);padding:.75rem 1rem}
.promo a{color:#fff;font-size:1.05rem;font-weight:600;letter-spacing:.01em}
.promo a strong{color:#fff;font-weight:800}
.promo svg{color:#fff;width:20px;height:20px;vertical-align:-4px;margin-right:.45rem}
@media (max-width:560px){.promo{padding:.6rem .8rem}.promo a{font-size:.95rem}}

/* 2. Barre de menu : logo horizontal plus lisible */
.brand img.logo-h{height:58px}
@media (max-width:1080px){.brand img.logo-h{height:52px}}
@media (max-width:480px){.brand img.logo-h{height:46px}}

/* 3. Logo du héros nettement plus grand */
.hero-logo{height:190px;margin-bottom:1.2rem}
@media (max-width:940px){.hero-logo{height:150px}}
@media (max-width:480px){.hero-logo{height:120px}}

/* 4. Accroche CADEAU centrée et plus présente */
.hero{text-align:center}
.hero .wrap{text-align:left}
.hero > .wrap > div:first-child{text-align:center}
.hero .kicker{font-size:1.12rem;letter-spacing:.08em;padding:.5rem 1.3rem;line-height:1.35}
.hero .kicker em{font-style:normal;opacity:.85;padding:0 .15em}
.hero .lead{margin-left:auto;margin-right:auto}
.hero h1 .nb{white-space:nowrap}
@media (max-width:520px){.hero h1 .nb{white-space:normal}.hero .kicker{font-size:1rem}}

/* 5. Téléphones : mobile + fixe, centrés */
.tel-wrap{margin:1.4rem 0 .4rem}
.tel-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.08em;
  font-size:1.12rem;color:#fff;margin-bottom:.7rem}
.tel-duo{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
.tel-box{margin:0;padding:.75rem 1.25rem .75rem 1rem;gap:.75rem}
.tel-box svg{width:30px;height:30px}
.tel-box strong{font-size:clamp(1.6rem,3.6vw,2.05rem)}
.tel-box.tel-fixe{border-left-color:var(--navy)}
.tel-box.tel-fixe svg{color:var(--navy)}
@media (max-width:520px){.tel-duo{flex-direction:column;align-items:stretch}.tel-box{justify-content:center}}

.hero-offers{text-align:left}
.hero .locator,.hero .offer{text-align:left}
