:root{
    --petrol-900:#0F2027;
    --petrol-700:#1C3A3D;
    --petrol-600:#244548;
    --copper:#C97B3D;
    --copper-light:#E3A468;
    --brass:#E8DCC8;
    --cream:#F6F3EC;
    --water:#2F8F7A;
    --ink:#0B1A1E;
    --line: rgba(232,220,200,0.14);
    --line-soft: rgba(15,32,39,0.10);
    --shadow-copper: 0 10px 30px -8px rgba(201,123,61,0.45);
    --max: 1180px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--cream);
    color:var(--ink);
    font-family:'Poppins',system-ui,sans-serif;
    -webkit-font-smoothing:antialiased;
    line-height:1.5;
  }
  h1,h2,h3,.display{
    font-family:'Poppins',sans-serif;
    font-weight:600;
    letter-spacing:-0.02em;
    margin:0;
  }
  a{color:inherit;text-decoration:none;}
  ul{margin:0;padding:0;list-style:none;}
  img,svg{display:block;max-width:100%;}
  .wrap{max-width:var(--max);margin:0 inline auto;padding:0 32px;margin-left:auto;margin-right:auto;}

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important;}
  }

  :focus-visible{
    outline:3px solid var(--copper);
    outline-offset:3px;
    border-radius:4px;
  }

  /* ---------- TOPBAR ---------- */
  .topbar{
    position:sticky;top:0;z-index:50;
    background:var(--petrol-900);
    border-bottom:1px solid var(--line);
  }
  .topbar-inner{
    max-width:var(--max);margin:0 auto;padding:14px 32px;
    display:flex;align-items:center;justify-content:space-between;
    color:var(--brass);
  }
  .brand{
    display:flex;align-items:center;gap:10px;
    font-family:'Poppins',sans-serif;font-weight:600;font-size:1.05rem;color:var(--brass);
  }
  .brand-mark{width:28px;height:28px;flex:none;}
  .topbar-actions{display:flex;align-items:center;gap:14px;}
  .topbar-contact{
    font-size:0.9rem;
    font-weight:600;
    color:var(--brass);
    padding:9px 4px;
    border-bottom:1px solid var(--line);
  }
  .topbar-contact:hover{color:var(--copper-light);border-color:var(--copper-light);}
  .topbar-call{
    display:flex;align-items:center;gap:10px;
    background:var(--copper);
    color:var(--ink);
    font-weight:700;
    padding:9px 18px;
    border-radius:999px;
    font-size:0.92rem;
    letter-spacing:0.01em;
    box-shadow:var(--shadow-copper);
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .topbar-call:hover{transform:translateY(-1px);box-shadow:0 14px 32px -8px rgba(201,123,61,0.6);}

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    background:
      radial-gradient(ellipse 900px 500px at 85% -10%, rgba(201,123,61,0.14), transparent 60%),
      linear-gradient(180deg, #FBF9F4 0%, var(--cream) 100%);
    color:var(--petrol-900);
    overflow:hidden;
    padding:84px 0 0;
    border-bottom:1px solid var(--line-soft);
  }
  .pipe-art{
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:0.5;
  }
  .hero-inner{
    position:relative;
    max-width:var(--max);margin:0 auto;padding:0 32px;
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    gap:48px;
    align-items:center;
    padding-bottom:64px;
  }
  .eyebrow{
    display:inline-flex;align-items:center;gap:8px;
    font-size:0.78rem;
    text-transform:uppercase;
    letter-spacing:0.14em;
    color:var(--copper);
    font-weight:600;
    margin-bottom:22px;
  }
  .eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--water);box-shadow:0 0 0 3px rgba(47,143,122,0.2);animation:pulse 2.4s ease-in-out infinite;}
  @keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.35;}}

  .hero h1{
    font-size:clamp(2.3rem, 4.6vw, 3.6rem);
    line-height:1.06;
    color:var(--petrol-900);
    max-width:13ch;
  }
  .hero h1 em{
    font-style:normal;
    color:var(--copper);
  }
  .hero p.lede{
    margin-top:22px;
    font-size:1.08rem;
    color:#4B5A5C;
    max-width:42ch;
    line-height:1.6;
  }
  .hero-ctas{
    margin-top:34px;
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    align-items:center;
  }
  .btn-primary{
    display:inline-flex;align-items:center;gap:10px;
    background:var(--copper);
    color:#fff;
    font-weight:700;
    font-size:1.05rem;
    padding:16px 26px;
    border-radius:12px;
    box-shadow:var(--shadow-copper);
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 36px -8px rgba(201,123,61,0.62);}
  .btn-primary svg{flex:none;}
  .btn-secondary{
    display:inline-flex;align-items:center;gap:8px;
    color:var(--petrol-900);
    font-weight:600;
    font-size:0.95rem;
    padding:14px 6px;
    border-bottom:1px solid var(--line-soft);
  }
  .btn-secondary:hover{border-color:var(--copper);color:var(--copper);}

  .hero-stats{
    margin-top:46px;
    display:flex;
    gap:32px;
    flex-wrap:wrap;
  }
  .stat .num{font-family:'Poppins',sans-serif;font-size:1.7rem;color:var(--petrol-900);font-weight:600;}
  .stat .lbl{font-size:0.8rem;color:#6B7878;margin-top:2px;letter-spacing:0.02em;}

  .hero-panel{
    position:relative;
    background:#fff;
    border:1px solid var(--line-soft);
    border-radius:20px;
    padding:32px;
    box-shadow:0 24px 60px -24px rgba(15,32,39,0.18);
  }
  .hero-panel-label{
    font-size:0.78rem;text-transform:uppercase;letter-spacing:0.12em;
    color:var(--copper);font-weight:600;margin-bottom:18px;
  }
  .hero-panel-num{
    font-family:'Poppins',sans-serif;
    font-size:clamp(2.1rem,3.6vw,2.7rem);
    color:var(--petrol-900);
    font-weight:600;
    letter-spacing:-0.01em;
  }
  .hero-panel-sub{color:#6B7878;font-size:0.92rem;margin-top:8px;}
  .hero-panel-list{margin-top:24px;display:flex;flex-direction:column;gap:12px;}
  .hero-panel-list li{
    display:flex;align-items:center;gap:10px;
    font-size:0.92rem;color:#3A4546;
  }
  .hero-panel-list svg{flex:none;color:var(--water);}

  /* ---------- SECTION GENERIC ---------- */
  section{padding:88px 0;}
  .section-light{background:var(--cream);}
  .section-deep{background:var(--petrol-700);color:var(--brass);}
  .section-head{max-width:640px;margin-bottom:52px;}
  .section-eyebrow{
    font-size:0.78rem;text-transform:uppercase;letter-spacing:0.14em;
    color:var(--copper);font-weight:700;margin-bottom:14px;display:block;
  }
  .section-deep .section-eyebrow{color:var(--copper-light);}
  .section-head h2{font-size:clamp(1.7rem,2.6vw,2.3rem);color:var(--petrol-900);}
  .section-deep .section-head h2{color:var(--brass);}
  .section-head p{margin-top:14px;color:#4B5A5C;font-size:1.02rem;line-height:1.65;max-width:46ch;}
  .section-deep .section-head p{color:rgba(232,220,200,0.72);}

  /* ---------- FEATURE STRIP (after hero) ---------- */
  .feature-strip{
    background:var(--petrol-900);
    padding:0;
  }
  .feature-strip-inner{
    max-width:var(--max);margin:0 auto;padding:0 32px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
  }
  .feature{
    display:flex;align-items:flex-start;gap:14px;
    padding:30px 26px;
    border-right:1px solid var(--line);
  }
  .feature:last-child{border-right:none;}
  .feature-ico{
    width:40px;height:40px;flex:none;
    border-radius:11px;
    background:rgba(201,123,61,0.16);
    color:var(--copper-light);
    display:flex;align-items:center;justify-content:center;
  }
  .feature h3{
    font-family:'Poppins',sans-serif;font-weight:600;font-size:0.98rem;
    color:var(--brass);margin:0 0 4px;
  }
  .feature p{font-size:0.84rem;color:rgba(232,220,200,0.62);margin:0;line-height:1.45;}

  /* ---------- MID-PAGE CTA BAND ---------- */
  .cta-band{
    background:
      radial-gradient(ellipse 600px 300px at 15% 50%, rgba(201,123,61,0.18), transparent 60%),
      linear-gradient(135deg, var(--copper) 0%, #B0652C 100%);
    border-radius:24px;
    padding:44px 48px;
    display:flex;align-items:center;justify-content:space-between;gap:32px;
    flex-wrap:wrap;
    box-shadow:0 24px 50px -22px rgba(201,123,61,0.6);
  }
  .cta-band-text h3{
    font-family:'Poppins',sans-serif;font-weight:700;
    font-size:clamp(1.3rem,2.2vw,1.7rem);color:#fff;margin:0;letter-spacing:-0.01em;
  }
  .cta-band-text p{margin:8px 0 0;color:rgba(255,255,255,0.88);font-size:1rem;}
  .cta-band-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
  .btn-on-copper{
    display:inline-flex;align-items:center;gap:10px;
    background:#fff;color:var(--petrol-900);
    font-weight:700;font-size:1.05rem;
    padding:15px 26px;border-radius:12px;
    box-shadow:0 10px 24px -10px rgba(0,0,0,0.4);
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .btn-on-copper:hover{transform:translateY(-2px);box-shadow:0 16px 30px -10px rgba(0,0,0,0.45);}
  .btn-ghost-copper{
    display:inline-flex;align-items:center;gap:8px;
    color:#fff;font-weight:600;font-size:0.98rem;
    padding:14px 22px;border:1.5px solid rgba(255,255,255,0.55);border-radius:12px;
    transition:background .18s ease, border-color .18s ease;
  }
  .btn-ghost-copper:hover{background:rgba(255,255,255,0.14);border-color:#fff;}

  /* inline section CTA link */
  .inline-cta{
    display:inline-flex;align-items:center;gap:9px;
    margin-top:24px;
    background:var(--copper);color:#fff;font-weight:700;font-size:0.98rem;
    padding:13px 22px;border-radius:11px;
    box-shadow:var(--shadow-copper);
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .inline-cta:hover{transform:translateY(-2px);box-shadow:0 16px 34px -8px rgba(201,123,61,0.6);}
  .section-deep .inline-cta{background:var(--copper);color:#fff;}

  /* ---------- POURQUOI (why-choose) ---------- */
  .pourquoi-grid{
    display:grid;
    grid-template-columns:0.92fr 1.08fr;
    gap:60px;
    align-items:start;
  }
  .pourquoi-intro p{color:#4B5A5C;line-height:1.7;font-size:1.02rem;}
  .pourquoi-intro p + p{margin-top:14px;}
  .pourquoi-phone{
    margin-top:28px;
    padding:20px 22px;
    background:#fff;
    border:1px solid var(--line-soft);
    border-radius:14px;
    box-shadow:0 16px 40px -26px rgba(15,32,39,0.3);
  }
  .pourquoi-phone .label{font-size:0.8rem;color:#6B7878;display:block;margin-bottom:8px;}
  .pourquoi-phone a{
    display:inline-flex;align-items:center;gap:10px;
    font-family:'Poppins',sans-serif;font-weight:700;font-size:1.5rem;
    color:var(--petrol-900);letter-spacing:-0.01em;
  }
  .pourquoi-phone a svg{color:var(--copper);flex:none;}
  .pourquoi-phone a:hover{color:var(--copper);}

  .benefit-list{display:flex;flex-direction:column;gap:14px;}
  .benefit-card{
    display:flex;align-items:center;gap:18px;
    background:#fff;
    border:1px solid var(--line-soft);
    border-radius:14px;
    padding:20px 22px;
    transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
  }
  .benefit-card:hover{
    transform:translateX(4px);
    border-color:rgba(201,123,61,0.4);
    box-shadow:0 14px 36px -22px rgba(201,123,61,0.5);
  }
  .benefit-ico{
    width:46px;height:46px;flex:none;
    border-radius:12px;
    background:linear-gradient(135deg, rgba(201,123,61,0.16), rgba(201,123,61,0.06));
    color:var(--copper);
    display:flex;align-items:center;justify-content:center;
  }
  .benefit-card p{
    margin:0;font-size:0.98rem;color:var(--petrol-900);line-height:1.45;
  }
  .benefit-card p strong{color:var(--petrol-900);}

  /* ---------- SERVICE TILES (dark) ---------- */
  .services-head{text-align:center;max-width:680px;margin:0 auto 48px;}
  .services-head .section-eyebrow{color:var(--copper-light);}
  .services-head h2{color:var(--brass);font-size:clamp(1.7rem,2.6vw,2.3rem);}
  .services-head p{color:rgba(232,220,200,0.75);line-height:1.65;margin-top:14px;}
  .service-tiles{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(250px, 1fr));
    gap:14px;
  }
  .service-tile{
    display:flex;align-items:center;gap:15px;
    background:rgba(232,220,200,0.045);
    border:1px solid var(--line);
    border-radius:14px;
    padding:17px 18px;
    transition:transform .16s ease, background .16s ease, border-color .16s ease;
  }
  .service-tile:hover{
    transform:translateY(-3px);
    background:rgba(201,123,61,0.12);
    border-color:rgba(201,123,61,0.5);
  }
  .service-tile-ico{
    width:40px;height:40px;flex:none;
    border-radius:11px;
    background:rgba(201,123,61,0.16);
    color:var(--copper-light);
    display:flex;align-items:center;justify-content:center;
  }
  .service-tile span{
    font-weight:600;font-size:0.94rem;color:var(--brass);line-height:1.3;
  }
  .services-foot{
    text-align:center;color:rgba(232,220,200,0.7);
    margin:40px auto 0;max-width:56ch;font-size:1rem;
  }

  /* ---------- COMMUNES GRID (no svg/map) ---------- */
  .communes-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
  }
  .commune-card{
    display:flex;align-items:center;gap:13px;
    background:rgba(232,220,200,0.05);
    border:1px solid var(--line);
    border-radius:12px;
    padding:15px 16px;
    transition:transform .16s ease, background .16s ease, border-color .16s ease;
  }
  .commune-card:hover{
    transform:translateY(-2px);
    background:rgba(201,123,61,0.12);
    border-color:rgba(201,123,61,0.5);
  }
  .commune-dot{
    width:11px;height:11px;flex:none;border-radius:50%;
    background:var(--copper-light);
    box-shadow:0 0 0 4px rgba(201,123,61,0.16);
  }
  .commune-card .name{font-weight:600;font-size:0.95rem;color:var(--brass);line-height:1.25;}
  .commune-card.base{
    grid-column:1 / -1;
    border-color:rgba(201,123,61,0.55);
    background:linear-gradient(135deg, rgba(201,123,61,0.2), rgba(201,123,61,0.07));
  }
  .commune-card.base .commune-dot{background:var(--copper);box-shadow:0 0 0 5px rgba(201,123,61,0.22);}
  .commune-card.base .tag{
    display:block;font-size:0.68rem;text-transform:uppercase;letter-spacing:0.1em;
    color:var(--copper-light);font-weight:700;margin-top:3px;
  }

  /* services grid */
  .services-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    background:var(--line-soft);
    border:1px solid var(--line-soft);
    border-radius:18px;
    overflow:hidden;
  }
  .service-card{
    background:var(--cream);
    padding:30px 26px;
    transition:background .2s ease;
  }
  .service-card:hover{background:#fffdf8;}
  .service-icon{
    width:42px;height:42px;
    color:var(--copper);
    margin-bottom:18px;
  }
  .service-card h3{
    font-family:'Poppins',sans-serif;
    font-weight:700;
    font-size:1rem;
    color:var(--petrol-900);
    margin-bottom:8px;
  }
  .service-card p{font-size:0.9rem;color:#5C6A6B;line-height:1.55;margin:0;}

  /* urgence band */
  .urgence{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:56px;
    align-items:center;
  }
  .urgence-art{
    position:relative;
    aspect-ratio:4/3;
    border-radius:20px;
    overflow:hidden;
    background:linear-gradient(160deg, var(--petrol-900), var(--petrol-600));
  }
  .urgence ol{
    display:flex;flex-direction:column;gap:26px;
    counter-reset:step;
  }
  .urgence ol li{
    counter-increment:step;
    display:grid;
    grid-template-columns:auto 1fr;
    gap:18px;
    align-items:start;
  }
  .urgence ol li::before{
    content:counter(step);
    font-family:'Poppins',sans-serif;
    font-weight:600;
    font-size:1.1rem;
    color:var(--copper);
    width:40px;height:40px;
    border:1.5px solid var(--copper);
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    flex:none;
  }
  .urgence-step h4{font-family:'Poppins',sans-serif;font-weight:700;font-size:1rem;color:var(--petrol-900);margin:0 0 4px;}
  .urgence-step p{margin:0;font-size:0.92rem;color:#5C6A6B;line-height:1.55;}

  /* zone map */
  .zone-map{
    position:relative;
    padding:60px 40px;
    border-radius:24px;
    background:linear-gradient(160deg, var(--petrol-900), #0a161a);
    overflow:hidden;
  }
  .zone-svg{width:100%;height:auto;}
  .zone-caption{
    text-align:center;color:rgba(232,220,200,0.55);font-size:0.85rem;margin-top:18px;letter-spacing:0.02em;
  }

  /* why us */
  .why-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:28px;
  }
  .why-item{padding-top:20px;border-top:2px solid var(--copper);}
  .why-item .why-num{font-family:'Poppins',sans-serif;color:rgba(232,220,200,0.4);font-size:0.85rem;margin-bottom:10px;display:block;}
  .why-item p{font-size:0.95rem;color:rgba(232,220,200,0.86);line-height:1.5;margin:0;font-weight:500;}

  /* full service list */
  .checklist{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px 36px;
  }
  .checklist li{
    display:flex;align-items:baseline;gap:12px;
    font-size:0.98rem;color:var(--petrol-900);
    padding:14px 0;
    border-bottom:1px solid var(--line-soft);
  }
  .checklist li svg{flex:none;color:var(--copper);transform:translateY(2px);}

  /* content images */
  .img-frame{
    border-radius:18px;
    overflow:hidden;
    position:relative;
    background:var(--petrol-600);
  }
  .img-frame img{
    width:100%;height:100%;object-fit:cover;display:block;
  }
  .hero-media{
    aspect-ratio:4/5;
    box-shadow:0 30px 60px -24px rgba(15,32,39,0.28);
    border:1px solid var(--line-soft);
  }
  .split-media{
    display:grid;
    grid-template-columns:0.9fr 1.1fr;
    gap:48px;
    align-items:center;
  }
  .split-media.reverse{grid-template-columns:1.1fr 0.9fr;}
  .split-media.reverse .img-frame{order:2;}
  .split-media .img-frame{aspect-ratio:5/4;}
  .img-caption{
    margin-top:12px;font-size:0.82rem;color:#6B7878;letter-spacing:0.01em;
  }
  .section-deep .img-caption{color:rgba(232,220,200,0.5);}
  .triple-media{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    margin-top:48px;
  }
  .triple-media .img-frame{aspect-ratio:3/4;}
  @media (max-width:900px){
    .split-media,.split-media.reverse{grid-template-columns:1fr;}
    .split-media.reverse .img-frame{order:0;}
    .triple-media{grid-template-columns:1fr;}
  }

  /* final CTA */
  .cta-final{
    background:
      radial-gradient(ellipse 700px 400px at 50% 0%, rgba(201,123,61,0.18), transparent 65%),
      var(--petrol-900);
    color:var(--brass);
    text-align:center;
    padding:96px 0;
  }
  .cta-final h2{font-size:clamp(1.9rem,3.4vw,2.6rem);max-width:18ch;margin:0 auto;color:var(--brass);}
  .cta-final p{margin:18px auto 0;color:rgba(232,220,200,0.72);max-width:42ch;font-size:1.05rem;}
  .cta-final .btn-primary{margin-top:36px;font-size:1.3rem;padding:20px 38px;}

  footer{
    background:#0a161a;
    color:rgba(232,220,200,0.55);
    padding:40px 0;
    font-size:0.85rem;
  }
  .footer-inner{
    max-width:var(--max);margin:0 auto;padding:0 32px;
    display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;
  }
  .footer-communes{display:flex;flex-wrap:wrap;gap:6px 16px;}
  .footer-communes a:hover{color:var(--copper-light);}

  /* ---------- CONTACT ---------- */
  .contact-wrap{
    display:grid;
    grid-template-columns:0.85fr 1.15fr;
    gap:56px;
    align-items:start;
  }
  .contact-info h2{color:var(--brass);}
  .contact-info p{color:rgba(232,220,200,0.72);margin-top:14px;line-height:1.65;max-width:38ch;}
  .contact-call{
    display:inline-flex;align-items:center;gap:10px;
    margin-top:28px;
    color:var(--brass);
    font-weight:600;
    font-size:1.1rem;
    border-bottom:1px solid var(--line);
    padding-bottom:6px;
  }
  .contact-call svg{color:var(--copper-light);flex:none;}
  .contact-call:hover{color:var(--copper-light);border-color:var(--copper-light);}

  .contact-form{
    background:#fff;
    border-radius:20px;
    padding:38px;
    box-shadow:0 30px 60px -28px rgba(0,0,0,0.35);
    position:relative;
  }
  .form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
  }
  .form-field{margin-bottom:18px;}
  .form-field label{
    display:block;
    font-size:0.82rem;
    font-weight:600;
    color:var(--petrol-900);
    margin-bottom:7px;
  }
  .form-field label .req{color:var(--copper);margin-left:2px;}
  .form-field input,
  .form-field textarea{
    width:100%;
    border:1.5px solid #DDE3E0;
    border-radius:10px;
    padding:12px 14px;
    font-family:'Poppins',sans-serif;
    font-size:0.95rem;
    color:var(--ink);
    background:#FAFAF7;
    transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
  }
  .form-field input:focus,
  .form-field textarea:focus{
    outline:none;
    border-color:var(--copper);
    background:#fff;
    box-shadow:0 0 0 3px rgba(201,123,61,0.14);
  }
  .form-field textarea{resize:vertical;min-height:110px;}
  .form-field.invalid input,
  .form-field.invalid textarea{
    border-color:#D9534F;
    background:#FFF7F6;
  }
  .field-error{
    display:none;
    font-size:0.76rem;
    color:#C0392B;
    margin-top:6px;
    font-weight:500;
  }
  .form-field.invalid .field-error{display:block;}

  /* service-type pills */
  .form-types{margin-bottom:22px;}
  .form-types legend{
    font-size:0.82rem;font-weight:600;color:var(--petrol-900);
    margin-bottom:10px;padding:0;
  }
  .type-pills{display:flex;flex-wrap:wrap;gap:10px;border:none;padding:0;margin:0;}
  .type-pill{position:relative;}
  .type-pill input{position:absolute;opacity:0;width:0;height:0;}
  .type-pill span{
    display:inline-flex;align-items:center;gap:7px;
    border:1.5px solid #DDE3E0;
    border-radius:999px;
    padding:9px 16px;
    font-size:0.86rem;
    font-weight:500;
    color:#4B5A5C;
    cursor:pointer;
    transition:all .15s ease;
    user-select:none;
  }
  .type-pill span::before{
    content:"";width:7px;height:7px;border-radius:50%;background:#C7CFCC;transition:background .15s ease;
  }
  .type-pill input:checked + span{
    border-color:var(--copper);
    background:#FCF3EA;
    color:var(--petrol-900);
    font-weight:600;
  }
  .type-pill input:checked + span::before{background:var(--copper);}
  .type-pill input:focus-visible + span{outline:3px solid var(--copper);outline-offset:2px;}

  .form-submit{
    width:100%;
    display:inline-flex;align-items:center;justify-content:center;gap:10px;
    background:var(--copper);
    color:#fff;
    font-weight:700;
    font-size:1.02rem;
    padding:15px 24px;
    border:none;
    border-radius:12px;
    cursor:pointer;
    box-shadow:var(--shadow-copper);
    transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
    font-family:'Poppins',sans-serif;
  }
  .form-submit:hover{transform:translateY(-2px);box-shadow:0 16px 36px -8px rgba(201,123,61,0.62);}
  .form-submit:disabled{opacity:0.7;cursor:default;transform:none;}
  .form-submit .spinner{
    width:16px;height:16px;border-radius:50%;
    border:2px solid rgba(255,255,255,0.4);border-top-color:#fff;
    animation:spin .7s linear infinite;
  }
  @keyframes spin{to{transform:rotate(360deg);}}
  .form-note{
    margin-top:14px;
    font-size:0.8rem;
    color:#8A9494;
    text-align:center;
  }
  .form-consent{
    display:flex;align-items:flex-start;gap:9px;
    font-size:0.78rem;color:#6B7878;line-height:1.45;
    margin-bottom:20px;
  }
  .form-consent input{
    margin-top:2px;width:16px;height:16px;flex:none;accent-color:var(--copper);
  }
  /* honeypot — hidden from humans */
  .hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

  /* success panel */
  .form-success{
    display:none;
    text-align:center;
    padding:30px 10px;
  }
  .form-success.show{display:block;animation:fadeUp .4s ease;}
  @keyframes fadeUp{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
  .form-success .check{
    width:62px;height:62px;border-radius:50%;
    background:#E7F5EF;color:var(--water);
    display:flex;align-items:center;justify-content:center;
    margin:0 auto 18px;
  }
  .form-success h3{font-size:1.25rem;color:var(--petrol-900);margin-bottom:8px;font-family:'Poppins',sans-serif;}
  .form-success p{color:#5C6A6B;font-size:0.95rem;line-height:1.6;max-width:34ch;margin:0 auto;}
  .form-success .success-call{
    display:inline-flex;align-items:center;gap:8px;margin-top:22px;
    color:var(--copper);font-weight:700;font-size:1.05rem;
  }

  /* ---------- FLOATING WHATSAPP ---------- */
  .whatsapp-fab{
    position:fixed;
    bottom:24px;
    right:24px;
    z-index:60;
    width:60px;height:60px;
    border-radius:50%;
    background:#25D366;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 12px 28px -8px rgba(0,0,0,0.4);
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .whatsapp-fab:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 16px 34px -8px rgba(0,0,0,0.45);}
  .whatsapp-fab svg{width:30px;height:30px;}
  .whatsapp-fab::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:50%;
    background:#25D366;
    opacity:0.5;
    animation:wa-pulse 2.2s ease-out infinite;
  }
  @keyframes wa-pulse{
    0%{transform:scale(1);opacity:0.5;}
    100%{transform:scale(1.6);opacity:0;}
  }
  @media (prefers-reduced-motion: reduce){
    .whatsapp-fab::before{animation:none;display:none;}
  }

  /* ---------- RESPONSIVE ---------- */
  @media (max-width:980px){
    .hero-inner{grid-template-columns:1fr;}
    .hero-text{order:2;}
    .hero-media-pos{order:1;}
    .hero-panel{order:-1;}
    .services-grid{grid-template-columns:repeat(2,1fr);}
    .urgence{grid-template-columns:1fr;}
    .why-grid{grid-template-columns:repeat(2,1fr);}
    .checklist{grid-template-columns:1fr;}
    .contact-wrap{grid-template-columns:1fr;gap:40px;}
    .feature-strip-inner{grid-template-columns:1fr 1fr;}
    .feature:nth-child(2){border-right:none;}
    .feature{border-bottom:1px solid var(--line);}
    .feature:nth-child(3),.feature:nth-child(4){border-bottom:none;}
    .cta-band{padding:36px 32px;}
    .pourquoi-grid{grid-template-columns:1fr;gap:40px;}
  }
  @media (max-width:620px){
    .wrap,.hero-inner,.footer-inner{padding-left:20px;padding-right:20px;}
    section{padding:64px 0;}
    .services-grid{grid-template-columns:1fr;}
    .why-grid{grid-template-columns:1fr 1fr;}
    .hero-stats{gap:22px;}
    .zone-map{padding:36px 18px;}
    .contact-form{padding:26px;}
    .form-row{grid-template-columns:1fr;}
    .whatsapp-fab{width:54px;height:54px;bottom:18px;right:18px;}
    .feature-strip-inner{grid-template-columns:1fr;}
    .feature{border-right:none;border-bottom:1px solid var(--line);padding:22px 4px;}
    .feature:last-child{border-bottom:none;}
    .cta-band{padding:30px 24px;flex-direction:column;align-items:flex-start;}
    .cta-band-actions{width:100%;}
    .cta-band-actions .btn-on-copper{flex:1;justify-content:center;}

    /* compact topbar */
    .topbar-inner{padding:11px 16px;gap:12px;}
    .brand{font-size:0.92rem;line-height:1.15;gap:8px;}
    .brand-mark{width:24px;height:24px;}
    .topbar-actions{gap:10px;}
    .topbar-call span.label{display:none;}
    .topbar-call{
      width:42px;height:42px;padding:0;
      border-radius:50%;justify-content:center;flex:none;
    }
  }
  @media (max-width:420px){
    .topbar-inner{padding:10px 14px;}
    .brand{font-size:0.86rem;}
    .topbar-contact{font-size:0.84rem;padding:8px 2px;}
    .topbar-actions{gap:8px;}
  }
