
:root{--navy:#0b2b5b;--green:#159c8f;--mint:#eaf7f4;--ink:#18314f;--muted:#617287;--line:#dbe4ea;--bg:#f6f9fb}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:white;line-height:1.45}
a{color:inherit}.wrap{width:min(1160px,92%);margin:auto}.topbar{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid #e8eef2}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand-mark{width:48px;height:48px}.brand-name{display:block;font-size:25px;font-weight:800;color:var(--navy);line-height:1}.axial,.accent{color:var(--green)}.brand-sub{display:block;font-size:10px;font-weight:700;letter-spacing:1.5px;margin-top:5px}
.navlinks{display:flex;align-items:center;gap:28px}.navlinks>a{text-decoration:none;font-weight:700;font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:7px;border:1px solid var(--green);font-weight:800;text-decoration:none;cursor:pointer;background:#fff;color:var(--green)}.btn-primary{background:var(--green);color:#fff}.btn-outline{border-color:#b9c8d2;color:var(--navy)}
.hero{padding:64px 0 28px;background:linear-gradient(#fff,#f8fbfc)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:center}.hero h1{font-size:52px;line-height:1.05;margin:0 0 22px;color:var(--navy)}.hero p{font-size:19px;color:#52677d;max-width:650px}.hero-actions{display:flex;gap:14px;margin-top:30px}.hero-card{height:330px;border-radius:12px;position:relative;overflow:hidden;background:linear-gradient(145deg,#edf5f6 0 48%,#d8e5e5 48% 50%,#f5efe6 50%);box-shadow:0 14px 35px #18314f20}.room{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 60%,#d6e6e7 60%)}.window{position:absolute;right:34px;top:34px;width:150px;height:145px;background:linear-gradient(135deg,#c8e7f3,#f8fdff);border:10px solid #fff;box-shadow:inset 0 0 0 1px #cbd7dc}.sofa{position:absolute;left:38px;bottom:45px;width:235px;height:95px;border-radius:20px;background:#d8d2c9;box-shadow:0 12px 20px #0001}.plant{position:absolute;right:45px;bottom:34px;width:55px;height:105px;border-radius:50% 50% 10px 10px;background:linear-gradient(70deg,#3d7d62,#8bb17a)}.trust-float{position:absolute;left:25px;bottom:18px;background:#fff;padding:14px 18px;border-radius:9px;box-shadow:0 8px 24px #0002;font-size:12px}.trust-float b{display:block;color:var(--green);font-size:14px}
.quickbar{margin-top:45px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.quick{display:flex;gap:12px;align-items:center}.quick .ico,.theme-ico{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:var(--green);font-size:20px;font-weight:900}.quick b,.quick span{display:block}.quick span{font-size:12px;color:var(--muted)}
section{padding:54px 0}.section-title{text-align:center;color:var(--navy);font-size:30px}.diag-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.diag-card,.trust-card,.doc{border:1px solid var(--line);border-radius:9px;padding:22px;background:#fff;box-shadow:0 4px 15px #18314f0b}.diag-card{min-height:125px}.diag-card .big{font-size:26px;color:var(--green);display:block;margin-bottom:10px}.diag-card b,.diag-card small{display:block}.diag-card small{color:var(--muted);margin-top:5px}
.energy-icon{width:30px;height:28px;display:flex;flex-direction:column;gap:2px}.energy-icon i{height:3px;border-radius:2px;background:var(--green)}.energy-icon i:nth-child(2){width:80%}.energy-icon i:nth-child(3){width:60%}.energy-icon i:nth-child(4){width:40%}
.sim-cta{background:linear-gradient(105deg,#edf9f7,#f7fbfb);border:1px solid #cfe8e4;border-radius:12px;padding:30px;display:grid;grid-template-columns:1fr 1.7fr auto;align-items:center;gap:25px}.sim-cta h2{margin:0;color:var(--navy)}.sim-cta p{color:var(--muted)}
.trust-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;margin-top:32px}.trust-card{text-align:center}.trust-card .theme-ico{margin:0 auto 12px}.trust-card b,.trust-card small{display:block}.trust-card small{margin-top:8px;color:var(--muted)}
.coverage{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.mapbox{height:270px;border-radius:10px;background:radial-gradient(circle at 47% 48%,#159c8f 0 5px,transparent 6px),radial-gradient(circle at 47% 48%,#159c8f20 0 95px,transparent 96px),linear-gradient(25deg,#e7eef0 25%,transparent 25%) 0 0/55px 55px,linear-gradient(155deg,#eef3f4 25%,transparent 25%) 0 0/70px 70px,#f7f9f9;position:relative;overflow:hidden}.mapbox:after{content:"≈ 20 km";position:absolute;left:47%;top:48%;transform:translate(-50%,-50%);width:190px;height:190px;border:3px solid var(--green);border-radius:50%;display:grid;place-items:end center;padding-bottom:14px;color:var(--navy);font-weight:800}.coverbox{background:var(--navy);color:#fff;border-radius:10px;padding:35px}.coverbox h3{font-size:25px;margin-top:0}.docs{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.doc{text-align:center;font-size:14px}
.footer{background:#082952;color:#fff;padding:42px 0 20px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}.footer a{color:#fff;text-decoration:none}.footer h4{margin-top:0}.foot-note{border-top:1px solid #ffffff35;margin-top:30px;padding-top:16px;display:flex;justify-content:space-between;font-size:12px;color:#d4e1ed}
.sim-hero{padding:38px 0;background:linear-gradient(110deg,#0b2b5b,#134f6d);color:#fff}.sim-hero h1{margin:0 0 8px}.sim-shell{background:var(--bg);min-height:650px}.progress{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:22px}.step{padding:10px;border-bottom:3px solid #d6e0e6;text-align:center;font-size:12px;font-weight:700;color:#8796a5}.step.active{color:var(--green);border-color:var(--green)}.sim-card{background:#fff;border-radius:12px;padding:34px;box-shadow:0 8px 30px #18314f12}.hidden{display:none}.choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.choice{border:1px solid var(--line);border-radius:9px;padding:22px;text-align:center;cursor:pointer;min-height:120px}.choice:hover,.choice.selected{border:2px solid var(--green);background:#f0fbf9}.choice .icon{display:block;font-size:28px;margin-bottom:8px}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.field{margin-top:18px}.field label{display:block;font-weight:700;margin-bottom:7px}.field input,.field select{width:100%;padding:13px;border:1px solid #cbd8df;border-radius:7px;font-size:15px;background:#fff}.sim-actions{display:flex;justify-content:space-between;margin-top:30px}.result-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}.result-box{border:1px solid var(--line);border-radius:10px;padding:24px}.price{font-size:38px;color:var(--navy);font-weight:900}.lab-note{background:#fff8e7;border:1px solid #f0d697;padding:14px;border-radius:8px;margin-top:18px}.address-suggestions{border:1px solid #cbd8df;border-top:0;border-radius:0 0 7px 7px;background:#fff;max-height:180px;overflow:auto}.address-suggestions button{display:block;width:100%;text-align:left;padding:10px;border:0;background:#fff;cursor:pointer}.address-suggestions button:hover{background:#f1f7f8}
@media(max-width:850px){.navlinks>a:not(.btn){display:none}.hero-grid,.coverage,.result-grid{grid-template-columns:1fr}.hero h1{font-size:40px}.quickbar,.diag-grid,.trust-grid,.docs{grid-template-columns:repeat(2,1fr)}.sim-cta{grid-template-columns:1fr}.choice-grid{grid-template-columns:repeat(2,1fr)}.progress{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.quickbar,.diag-grid,.trust-grid,.docs,.field-grid,.choice-grid{grid-template-columns:1fr}.hero-actions{flex-direction:column}.footer-grid{grid-template-columns:1fr}.foot-note{display:block}.nav{height:70px}.brand-name{font-size:20px}}

/* V6 — visuel d'accueil validé : diagnostiqueur + tablette + tableau électrique */
.hero-card{
  background-image:url('assets/hero-diagnostiqueur-tableau-electrique.png');
  background-size:cover;
  background-position:center;
}
.hero-card .room,.hero-card .window,.hero-card .sofa,.hero-card .plant{display:none}
/* Retour à la représentation sobre de la zone d'intervention (pas de fausse carte photo) */
.mapbox{
  background:radial-gradient(circle at 47% 48%,#159c8f 0 5px,transparent 6px),
             radial-gradient(circle at 47% 48%,#159c8f20 0 95px,transparent 96px),
             linear-gradient(25deg,#e7eef0 25%,transparent 25%) 0 0/55px 55px,
             linear-gradient(155deg,#eef3f4 25%,transparent 25%) 0 0/70px 70px,
             #f7f9f9;
}

/* V7 — carte + pictogramme simulateur */
.sim-title{display:flex;align-items:center;gap:14px}
.sim-picto{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#dff4ef;color:#159c8f;font-size:24px;font-weight:900;letter-spacing:-5px;padding-right:5px;flex:0 0 auto}
.mapbox{height:270px;background:#f7faf9!important;border:1px solid #dbe4ea}
.mapbox:after{display:none!important}
.service-map{display:block;width:100%;height:100%}

/* V8 — pictogramme question + zone Montussan 30 km */
.human-question{position:relative;overflow:visible;letter-spacing:0!important;padding:0!important;background:#eef8f5!important}
.human-question .qmark{position:absolute;left:4px;top:-10px;font-size:44px;line-height:1;font-family:Arial,sans-serif;font-weight:900;color:#159c8f}
.human-question .head{position:absolute;width:12px;height:12px;border-radius:50%;background:#0b2b5b;right:8px;top:12px}
.human-question .body{position:absolute;width:17px;height:20px;border:4px solid #0b2b5b;border-top:0;border-radius:3px 3px 10px 10px;right:5px;top:25px;transform:rotate(-8deg)}
.mapbox{height:300px!important;background:#f5f8f6!important;border:1px solid #dbe4ea!important}
.service-map{width:100%;height:100%;display:block}

/* V9 — pictogramme réflexion + territoire Ambès / Libourne / Cadillac */
.think-picto{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#eaf7f4;color:#159c8f;flex:0 0 auto}
.think-picto svg{width:48px;height:48px;overflow:visible}
.territory-mapbox{height:320px!important;background:#f5f8f6!important;border:1px solid #dbe4ea!important;overflow:hidden}
.territory-mapbox:after{display:none!important}

/* V10 — point d'interrogation rouge + zone suivant Garonne/Dordogne */
.question-red{width:74px!important;height:74px!important;background:transparent!important;display:grid!important;place-items:center!important;flex:0 0 auto!important}
.question-red img{width:74px;height:74px;object-fit:contain;display:block}
.territory-mapbox{height:340px!important;background:#f6f8f5!important}

/* V11 — ambiance plus chaleureuse, sans perdre la sobriété Diag Axial */
:root{
  --warm:#fbf8f2;
  --warm-2:#f5f0e7;
  --warm-line:#e9e1d5;
}
body{background:var(--warm);}
.topbar{background:rgba(255,253,249,.96);box-shadow:0 2px 16px rgba(45,56,70,.06)}
.hero{padding:68px 0 32px;background:linear-gradient(120deg,#fffdf9 0%,#fbf7ef 58%,#f2f8f5 100%)}
.hero h1{letter-spacing:-1px}
.hero p{color:#5d6872;line-height:1.65}
.hero-card{border-radius:20px;box-shadow:0 18px 45px rgba(52,62,68,.16);border:1px solid rgba(255,255,255,.8)}
.hero-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,248,236,.08),transparent 50%);pointer-events:none}
.trust-float{border-radius:12px;background:rgba(255,253,249,.96);box-shadow:0 10px 28px rgba(31,45,54,.18)}
.quickbar{background:rgba(255,255,255,.62);border:1px solid var(--warm-line);border-radius:16px;padding:20px 22px;box-shadow:0 8px 28px rgba(41,54,65,.05)}
.quick .ico,.theme-ico{background:#e5f3ee}
section{background:#fffdf9}
section:nth-of-type(even){background:var(--warm)}
.section-title{margin-bottom:30px}
.diag-card,.trust-card,.doc{border-color:var(--warm-line);border-radius:14px;background:#fffefa;box-shadow:0 7px 22px rgba(54,60,65,.055);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.diag-card:hover,.trust-card:hover,.doc:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(54,60,65,.09);border-color:#cfe2db}
.sim-cta{background:linear-gradient(110deg,#f0f8f4,#fff9ef);border-color:#d9e7df;border-radius:18px;box-shadow:0 10px 30px rgba(54,60,65,.05)}
.coverage{gap:28px}.territory-mapbox{border-radius:16px!important;border-color:var(--warm-line)!important;box-shadow:0 8px 25px rgba(54,60,65,.05)}
.coverbox{border-radius:16px;background:linear-gradient(145deg,#0b2b5b,#123b63);box-shadow:0 12px 30px rgba(11,43,91,.16)}
.btn{border-radius:10px;transition:transform .16s ease,box-shadow .16s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{box-shadow:0 7px 18px rgba(21,156,143,.18)}
.footer{background:linear-gradient(135deg,#082952,#0b3158)}
@media(max-width:850px){.quickbar{padding:16px}.hero{padding-top:48px}}

/* V13 — références réglementaires/techniques, grand format */
.diag-card{min-height:196px!important;padding:24px!important}
.ref-icon{width:82px;height:82px!important;margin:0 0 16px!important;display:flex!important;align-items:center;justify-content:center!important}
.tech-ref{font-size:47px!important;border-radius:18px;background:#edf6f3;border:1px solid #d7ebe4;color:var(--navy)!important}
.pb-ref{font-family:Arial,sans-serif;font-size:38px!important;font-weight:900;color:#263238!important}
.dpe-ref{width:100px!important;display:flex!important;flex-direction:column;align-items:flex-start!important;gap:1px}
.dpe-ref span{height:10px;line-height:10px;color:white;font:bold 8px Arial;padding-left:5px;clip-path:polygon(0 0,86% 0,100% 50%,86% 100%,0 100%)}
.dpe-ref span:nth-child(1){width:47px;background:#319b55}.dpe-ref span:nth-child(2){width:55px;background:#59ad45}.dpe-ref span:nth-child(3){width:63px;background:#a6c93d}.dpe-ref span:nth-child(4){width:71px;background:#f0dc38}.dpe-ref span:nth-child(5){width:79px;background:#efad32}.dpe-ref span:nth-child(6){width:87px;background:#e96d32}.dpe-ref span:nth-child(7){width:95px;background:#cf3434}
.ghs08 .diamond{width:62px;height:62px;transform:rotate(45deg);border:5px solid #d71920;background:white;display:grid;place-items:center}
.ghs08 .person{transform:rotate(-45deg);font-size:22px;color:#111;position:relative;line-height:1}.ghs08 .person:after{content:"";display:block;width:28px;height:27px;background:#111;clip-path:polygon(50% 0,100% 100%,0 100%);margin:-1px auto 0}.ghs08 .person i{position:absolute;color:white;font-style:normal;font-size:14px;z-index:2;left:4px;top:22px}
.diag-card b{font-size:19px!important;color:var(--navy)}

/* V14 — visuels Amiante et Termites fournis par le client */
.image-ref{background:#fff!important;border:1px solid #e6e6e6;border-radius:16px;overflow:hidden}
.image-ref img{width:100%;height:100%;object-fit:contain;display:block}
.termite-ref img{transform:scale(1.08)}

/* V15 — optimisation smartphone uniquement.
   Aucun changement du simulateur, des liens ou de la logique fonctionnelle. */
@media (max-width: 640px){
  body{overflow-x:hidden}
  .wrap{width:min(94%,1120px)}
  section{padding-top:42px!important;padding-bottom:42px!important}

  /* Hero plus compact */
  .hero{padding-top:34px!important;padding-bottom:38px!important}
  .hero h1{font-size:34px!important;line-height:1.08!important;margin-bottom:14px!important}
  .hero p,.lead{font-size:16px!important;line-height:1.48!important}
  .hero .actions{gap:9px!important;margin-top:18px!important}
  .hero .btn{padding:11px 14px!important}

  /* Engagements : 2 x 2 */
  .quick,.quick-grid,.trust-grid,.benefits{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .quick>*,.quick-grid>*,.trust-grid>*,.benefits>*{
    min-width:0!important;
    padding:13px 10px!important;
  }
  .quick .ico,.theme-ico{
    width:46px!important;height:46px!important;
    font-size:22px!important;margin-bottom:7px!important;
  }

  /* Diagnostics : 2 cartes par ligne */
  .diag-grid,.diagnostics-grid,.cards{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .diag-card{
    min-height:0!important;
    padding:14px 11px!important;
    border-radius:14px!important;
    align-items:center!important;
    text-align:center!important;
  }
  .diag-card .big,.diag-card .ref-icon,.diag-card .image-ref{
    width:62px!important;height:62px!important;
    margin:0 auto 8px!important;
  }
  .diag-card .tech-ref{font-size:34px!important}
  .diag-card .dpe-ref{width:70px!important;height:62px!important}
  .diag-card .dpe-ref span{height:7px!important;line-height:7px!important;font-size:6px!important}
  .diag-card b{font-size:15px!important;line-height:1.15!important}
  .diag-card small,.diag-card p{
    font-size:11px!important;line-height:1.25!important;
    margin-top:5px!important;
  }
  .image-ref img{object-fit:contain!important}

  /* Titres moins envahissants */
  h2{font-size:28px!important;line-height:1.12!important}
  .sub{font-size:14px!important;margin-bottom:24px!important}

  /* Simulateur CTA compact */
  .sim-cta,.sim{
    padding:20px 16px!important;
    border-radius:16px!important;
  }
  .sim-title{gap:10px!important}
  .sim-title .question-red,.sim-title .question-red img{
    width:58px!important;height:58px!important;
  }

  /* Carte et autres blocs */
  .territory-mapbox,.mapbox{height:260px!important}
  footer{padding-top:28px!important;padding-bottom:28px!important}
}
@media (max-width: 390px){
  .diag-card{padding:12px 8px!important}
  .diag-card b{font-size:14px!important}
  .quick>*,.quick-grid>*,.trust-grid>*,.benefits>*{font-size:12px!important}
}

/* V16 — optimisation mobile finale : réduction de l'empilement.
   Ces règles ne s'appliquent qu'aux smartphones ; la version PC reste inchangée. */
@media (max-width: 640px){
  /* Engagements : vraies cartes 2 x 2, compactes */
  .quickbar{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    margin-top:24px!important;
    padding:12px!important;
  }
  .quick{
    display:flex!important;
    grid-template-columns:none!important;
    align-items:center!important;
    gap:9px!important;
    min-width:0!important;
    padding:8px 6px!important;
  }
  .quick .ico{
    width:40px!important;height:40px!important;
    flex:0 0 40px!important;
    margin:0!important;
    font-size:19px!important;
  }
  .quick b{font-size:13px!important;line-height:1.15!important}
  .quick span{font-size:10.5px!important;line-height:1.2!important;margin-top:2px!important}

  /* Diagnostics : conserver deux colonnes, avec moins de vide */
  #diagnostics{padding-top:34px!important;padding-bottom:34px!important}
  #diagnostics .section-title{font-size:27px!important;line-height:1.08!important;margin:0 0 24px!important}
  .diag-grid{gap:9px!important}
  .diag-card{padding:12px 9px!important}

  /* Documents du rendez-vous : 2 colonnes au lieu d'une longue pile */
  .docs{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .doc{
    min-height:112px!important;
    padding:15px 9px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:13px!important;
    line-height:1.28!important;
  }
  .docs .doc:last-child{grid-column:1 / -1!important;min-height:92px!important}
  .docs + *{margin-top:0!important}

  /* Eviter les coupures disgracieuses des grands titres */
  section .section-title{font-size:27px!important;line-height:1.08!important;margin-top:0!important;margin-bottom:24px!important}
}
@media (max-width: 390px){
  .quickbar{gap:8px!important;padding:10px!important}
  .quick{gap:7px!important;padding:7px 4px!important}
  .quick .ico{width:36px!important;height:36px!important;flex-basis:36px!important;font-size:17px!important}
  .quick b{font-size:12px!important}
  .quick span{font-size:9.5px!important}
  .doc{font-size:12px!important;padding:12px 7px!important}
}



/* V16.2 — un seul cartouche de certification, géré en HTML */
@media (max-width: 640px){
  .hero-card .trust-float{
    display:block!important;
    left:14px!important;
    right:auto!important;
    bottom:14px!important;
    max-width:calc(100% - 28px)!important;
    padding:12px 14px!important;
    font-size:12px!important;
    line-height:1.35!important;
    border-radius:12px!important;
  }
  .hero-card .trust-float b{
    font-size:14px!important;
    margin-bottom:3px!important;
  }
}
@media (min-width: 641px) and (max-width: 980px){
  .hero-card .trust-float{
    left:18px!important;
    bottom:16px!important;
    max-width:360px!important;
  }
}
