:root{
  --blue:#006bff;
  --blue2:#0394ff;
  --yellow:#ffcc00;
  --orange:#ff9d00;
  --text:#040404;
  --muted:#1b2a57;
  --card:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  color:var(--text);
  background:#f7fbff;
  padding-bottom:98px;
}
a{text-decoration:none;color:inherit}
.page{
  width:100%;
  max-width:864px;
  margin:0 auto;
  min-height:100vh;
  background:
    radial-gradient(circle at -5% 38%, rgba(255,198,0,.55) 0 18%, transparent 38%),
    radial-gradient(circle at 108% 48%, rgba(0,129,255,.9) 0 18%, rgba(0,129,255,.2) 30%, transparent 49%),
    linear-gradient(120deg,#fff7df 0%,#ffffff 38%,#eef8ff 70%,#72c2ff 100%);
  overflow:hidden;
}
.topbar{
  position:sticky;
  top:0;
  z-index:80;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:18px 18px 16px;
  min-height:104px;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid #eef1f5;
  box-shadow:0 4px 18px rgba(0,0,0,.05);
  backdrop-filter:blur(10px);
}
.brand img{
  display:block;
  width:190px;
  max-width:45vw;
  height:auto;
}
.top-actions{display:flex;gap:16px;align-items:center}
.icon-btn{
  width:72px;
  height:72px;
  border-radius:18px;
  border:1px solid #e2e6ee;
  background:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.09);
  display:grid;
  place-items:center;
  color:#000;
}
.icon-btn svg{width:34px;height:34px;fill:currentColor}
.menu-btn{color:#177ce8;cursor:pointer}
.nav{
  position:absolute;
  right:18px;
  top:96px;
  display:none;
  flex-direction:column;
  gap:8px;
  background:#fff;
  padding:14px;
  border-radius:16px;
  box-shadow:0 12px 28px rgba(0,0,0,.16);
  font-weight:900;
}
.nav.open{display:flex}
.nav a{padding:9px 20px;border-radius:10px;background:#f5f8ff}
.hero{
  display:grid;
  grid-template-columns:46% 54%;
  gap:12px;
  align-items:center;
  padding:34px 24px 12px;
}
.hero-logo img{
  display:block;
  width:100%;
  max-width:350px;
  height:auto;
  margin:0 auto;
  mix-blend-mode:multiply;
}
.hero-text{
  padding:6px 0;
}
.hero-text h1,.location,.subtitle{
  margin:0 0 16px;
  font-weight:1000;
  letter-spacing:-1px;
  line-height:1.12;
}
.hero-text h1{font-size:clamp(26px,5.8vw,47px)}
.location{font-size:clamp(21px,4.7vw,36px)}
.location span{color:#0062ff}
.subtitle{font-size:clamp(20px,4.3vw,34px)}
.quick{
  display:flex;
  align-items:center;
  gap:10px;
  margin:10px 0 0;
  color:#101010;
  font-size:clamp(13px,2.45vw,19px);
  line-height:1.45;
}
.quick span{font-size:32px;color:#006bff}
.quick b{color:#006bff}
.cta-wrap{padding:20px 8.5% 22px}
.main-call{
  display:flex;
  align-items:center;
  gap:20px;
  min-height:104px;
  border-radius:22px;
  padding:18px 22px;
  background:linear-gradient(90deg,#ffac00,#ffd814);
  box-shadow:0 12px 0 #ff9700,0 22px 30px rgba(255,151,0,.28);
  font-weight:1000;
}
.phone-round{
  min-width:72px;
  height:72px;
  border-radius:50%;
  background:#000;
  color:#ffc400;
  display:grid;
  place-items:center;
}
.phone-round svg{width:38px;height:38px;fill:currentColor}
.call-text strong{
  display:block;
  font-size:clamp(26px,5vw,48px);
  line-height:1.05;
}
.call-text small{
  display:block;
  margin-top:7px;
  font-size:clamp(14px,2.8vw,22px);
}
.main-call em{
  margin-left:auto;
  width:48px;
  height:48px;
  border-radius:50%;
  background:#fff;
  color:#f0a000;
  font-style:normal;
  display:grid;
  place-items:center;
  font-size:46px;
  line-height:.8;
}
.blink{animation:pulse 1.1s infinite}
.blink-soft{animation:pulseSoft 1.25s infinite}
@keyframes pulse{
  0%,100%{transform:scale(1);filter:brightness(1)}
  50%{transform:scale(1.035);filter:brightness(1.1)}
}
@keyframes pulseSoft{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.07)}
}
.trust{
  margin:0 5.5% 22px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  background:#fff;
  border-radius:34px;
  box-shadow:0 10px 25px rgba(0,0,0,.14);
  overflow:hidden;
}
.trust div{
  display:grid;
  grid-template-columns:48px 1fr;
  column-gap:10px;
  align-items:center;
  padding:14px 12px;
  border-right:1px solid #d6dae4;
}
.trust div:last-child{border-right:0}
.trust-icon{
  grid-row:1/3;
  width:48px;height:48px;border-radius:50%;
  display:grid;place-items:center;
  font-size:30px;font-weight:900;
}
.pin{color:#006bff}
.medal{color:#ffb900}
.shield{color:#006bff}
.trust strong{font-size:13px;line-height:1.1}
.trust small{font-size:13px;color:#15265c;font-weight:700;line-height:1.25}
.services{
  display:grid;
  gap:14px;
  margin:0 5.8% 22px;
}
.service-card{
  position:relative;
  display:grid;
  grid-template-columns:110px 1fr 28px;
  gap:18px;
  align-items:center;
  background:#fff;
  border-radius:20px;
  padding:16px 18px;
  min-height:128px;
  box-shadow:0 9px 22px rgba(0,0,0,.11);
  overflow:hidden;
}
.service-card:after{
  content:"";
  position:absolute;
  right:-56px;bottom:-76px;
  width:185px;height:185px;border-radius:50%;
  background:linear-gradient(135deg,transparent 38%,rgba(0,103,255,.95));
}
.electric-card:after{background:linear-gradient(135deg,transparent 38%,rgba(255,204,0,.95))}
.renovation-card:after{background:linear-gradient(135deg,transparent 38%,rgba(170,177,194,.55))}
.service-icon{
  position:relative;
  z-index:1;
  width:96px;height:96px;border-radius:50%;
  background:#fff;
  display:grid;place-items:center;
  box-shadow:0 7px 18px rgba(0,0,0,.15);
  font-size:52px;
}
.service-card h2{margin:0;font-size:clamp(24px,4.5vw,37px);line-height:1.03;font-weight:1000}
.service-card p{margin:6px 0;font-size:clamp(13px,2.4vw,17px);font-weight:900}
.service-card small{display:block;color:#0735b5;font-size:clamp(14px,2.5vw,18px);font-weight:800;line-height:1.45}
.arrow{
  position:relative;
  z-index:1;
  color:#006bff;
  font-size:62px;
  font-weight:900;
  line-height:1;
}
.features{
  margin:0 5.8% 18px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:#dce4f1;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 8px 19px rgba(0,0,0,.06);
}
.features div{
  background:rgba(255,255,255,.94);
  min-height:112px;
  padding:14px 8px;
  text-align:center;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;
}
.features b{font-size:29px;color:#006bff}
.features strong{font-size:12px;line-height:1.15}
.features small{font-size:12px;color:#15265c;font-weight:700;line-height:1.25}
.zone{
  margin:0 5.8% 18px;
  display:grid;
  grid-template-columns:34% 1fr;
  gap:12px;
  align-items:center;
  background:rgba(255,255,255,.93);
  border-radius:22px;
  padding:16px;
  box-shadow:0 8px 18px rgba(0,0,0,.07);
}
.map{
  min-height:95px;
  color:#ffb800;
  font-size:54px;
  display:grid;
  place-items:center;
  background:radial-gradient(circle,#edf5ff 0 20%,transparent 60%);
}
.zone h2,.quote h2{
  margin:0;
  color:#004eea;
  font-size:clamp(22px,4.4vw,30px);
  line-height:1.1;
}
.zone p,.quote p{
  margin:6px 0 10px;
  color:#1746bc;
  font-weight:800;
}
.chips{display:flex;flex-wrap:wrap;gap:7px;justify-content:center}
.chips span{
  background:#eef3ff;
  color:#0740d4;
  border-radius:999px;
  padding:7px 15px;
  font-weight:900;
  font-size:13px;
}
.quote{
  margin:0 5.8% 26px;
  background:rgba(255,255,255,.95);
  border-radius:22px;
  padding:20px 16px;
  text-align:center;
  box-shadow:0 8px 18px rgba(0,0,0,.08);
}
.quote form{display:grid;gap:12px;margin-top:14px}
.quote input,.quote select,.quote textarea{
  width:100%;
  border:1px solid #d9e2f1;
  border-radius:14px;
  padding:15px;
  font:inherit;
  font-size:16px;
  background:#fff;
}
.quote textarea{resize:vertical}
.hidden{display:none}
.quote button{
  border:0;
  border-radius:16px;
  padding:17px;
  color:#fff;
  font-size:18px;
  font-weight:1000;
  background:linear-gradient(90deg,#0874ff,#0054d9);
  box-shadow:0 8px 18px rgba(0,103,255,.25);
}
.bottom-bar{
  position:fixed;
  left:50%;
  transform:translateX(-50%);
  bottom:0;
  z-index:90;
  width:100%;
  max-width:864px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:10px 22px 12px;
  background:rgba(255,255,255,.96);
  box-shadow:0 -8px 26px rgba(0,0,0,.15);
}
.bottom-bar a{
  min-height:70px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:10px 14px;
  font-size:20px;
  font-weight:1000;
  line-height:1.05;
}
.bottom-bar small{display:block;font-size:13px;margin-top:5px}
.bottom-icon{width:33px;height:33px;display:grid;place-items:center}
.bottom-icon svg{width:32px;height:32px;fill:currentColor}
.bottom-call{background:linear-gradient(90deg,#ffb000,#ffd400);color:#000}
.bottom-devis{background:linear-gradient(90deg,#0874ff,#0054d9);color:#fff}
@media(max-width:560px){
  .topbar{min-height:82px;padding:12px 14px}
  .brand img{width:150px;max-width:43vw}
  .icon-btn{width:58px;height:58px;border-radius:16px}
  .icon-btn svg{width:29px;height:29px}
  .top-actions{gap:10px}
  .nav{top:76px}
  .hero{grid-template-columns:45% 55%;gap:8px;padding:28px 16px 10px}
  .hero-text h1{font-size:21px;margin-bottom:10px}
  .location{font-size:18px;margin-bottom:10px}
  .subtitle{font-size:17px;margin-bottom:6px}
  .quick{font-size:11.5px;gap:4px}
  .quick span{font-size:22px}
  .cta-wrap{padding:14px 15px 18px}
  .main-call{min-height:82px;border-radius:20px;padding:15px 14px;gap:12px;box-shadow:0 9px 0 #ff9700,0 18px 24px rgba(255,151,0,.25)}
  .phone-round{min-width:54px;height:54px}
  .phone-round svg{width:30px;height:30px}
  .call-text strong{font-size:24px}
  .call-text small{font-size:13px}
  .main-call em{display:none}
  .trust{margin-left:14px;margin-right:14px;border-radius:22px}
  .trust div{grid-template-columns:36px 1fr;padding:12px 8px;column-gap:6px}
  .trust-icon{width:36px;height:36px;font-size:22px}
  .trust strong{font-size:9.5px}
  .trust small{font-size:9.5px}
  .services{margin-left:14px;margin-right:14px}
  .service-card{grid-template-columns:72px 1fr 18px;gap:10px;min-height:110px;padding:13px 12px;border-radius:16px}
  .service-icon{width:66px;height:66px;font-size:36px}
  .service-card h2{font-size:20px}
  .service-card p{font-size:11.5px}
  .service-card small{font-size:12px}
  .arrow{font-size:44px}
  .features{margin-left:14px;margin-right:14px}
  .features div{min-height:96px;padding:11px 4px}
  .features b{font-size:24px}
  .features strong{font-size:9.5px}
  .features small{font-size:9.2px}
  .zone{margin-left:14px;margin-right:14px;grid-template-columns:32% 1fr;padding:12px}
  .zone h2,.quote h2{font-size:18px}
  .zone p,.quote p{font-size:13px}
  .chips span{font-size:10.5px;padding:6px 10px}
  .quote{margin-left:14px;margin-right:14px}
  .bottom-bar{padding:9px 12px 10px;gap:9px}
  .bottom-bar a{font-size:16px;min-height:68px;border-radius:14px;padding:9px 10px;gap:8px}
  .bottom-bar small{font-size:12px}
  .bottom-icon,.bottom-icon svg{width:27px;height:27px}
}
@media(max-width:380px){
  .hero-text h1{font-size:18px}
  .location{font-size:16px}
  .subtitle{font-size:15px}
  .quick{display:none}
  .call-text strong{font-size:21px}
  .call-text small{font-size:12px}
}


.hero-logo img{
  background: transparent !important;
  mix-blend-mode: multiply;
}
.brand img{
  background: transparent !important;
}
.renov-int{
  margin: -2px 0 14px;
  font-weight: 1000;
  letter-spacing: -1px;
  line-height: 1.08;
  font-size: clamp(18px,4.2vw,32px);
}
@media(max-width:560px){
  .renov-int{
    font-size: 16px;
    margin-bottom: 9px;
  }
}


.hero-text{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.hero-kicker{
  margin:0 0 10px;
  font-size:12px;
  font-weight:900;
  letter-spacing:1.6px;
  color:#0a4fd8;
  background:rgba(255,255,255,.72);
  border:1px solid #dbe6ff;
  border-radius:999px;
  padding:7px 12px;
}
.hero-text h1{
  margin-bottom:8px;
}
.renov-int{
  margin:0 0 10px;
  font-weight:1000;
  letter-spacing:-.8px;
  line-height:1.08;
  font-size:clamp(18px,4.2vw,32px);
}
.location{
  margin:0 0 10px;
  font-size:clamp(18px,4.1vw,31px);
}
.location span{white-space:nowrap}
.subtitle{
  margin:0 0 14px;
  font-size:clamp(19px,4.2vw,31px);
}
.hero-benefits{
  width:100%;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.benefit-item{
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.benefit-icon{
  width:34px;
  height:34px;
  min-width:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#0b67ff;
  background:#eef4ff;
  font-size:18px;
  font-weight:900;
}
.benefit-item p{
  margin:0;
  line-height:1.15;
}
.benefit-item strong{
  display:block;
  font-size:17px;
  color:#111;
}
.benefit-item small{
  display:block;
  margin-top:3px;
  font-size:14px;
  font-weight:700;
  color:#34405f;
}
.quick{display:none}
@media(max-width:560px){
  .hero-kicker{
    font-size:10px;
    letter-spacing:1.1px;
    padding:6px 9px;
    margin-bottom:8px;
  }
  .renov-int{font-size:16px;margin-bottom:8px}
  .location{font-size:16px;margin-bottom:8px}
  .subtitle{font-size:16px;margin-bottom:10px}
  .hero-benefits{gap:8px}
  .benefit-item{gap:8px}
  .benefit-icon{width:28px;height:28px;min-width:28px;font-size:15px}
  .benefit-item strong{font-size:12px}
  .benefit-item small{font-size:11px;line-height:1.2}
}


/* ===== v6 hero cleanup ===== */
.hero{
  align-items:center !important;
  padding:24px 16px 6px !important;
  gap:10px !important;
}
.hero-logo{
  align-self:center;
}
.hero-logo img{
  display:block;
  width:100%;
  max-width:290px;
  height:auto;
  margin:0 auto;
}
.hero-text{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:0;
}
.hero-text h1{
  margin:0 0 8px !important;
  font-weight:1000;
  letter-spacing:-1px;
  line-height:1.03;
  font-size:clamp(22px,5vw,42px);
}
.subservice{
  margin:0 0 10px !important;
  font-size:clamp(18px,4.1vw,28px);
  line-height:1.05;
  letter-spacing:-0.5px;
  font-weight:1000 !important;
}
.subservice strong{
  font-weight:1000 !important;
}
.renov-int{
  margin:0 0 10px !important;
  font-size:clamp(18px,3.8vw,27px);
  line-height:1.08;
  font-weight:1000 !important;
  letter-spacing:-0.6px;
}
.location{
  margin:0 0 8px !important;
  font-size:clamp(18px,4vw,29px);
  line-height:1.06;
  font-weight:1000 !important;
  color:#111 !important;
}
.hero-benefits{
  margin:0 !important;
  font-size:clamp(12px,2.5vw,17px);
  line-height:1.4;
  font-weight:700;
  color:#111;
}
.hero-benefits b{
  color:#006bff;
}
.cta-wrap{
  padding-top:8px !important;
}
@media(max-width:560px){
  .hero{
    grid-template-columns:41% 59% !important;
    padding:18px 14px 4px !important;
    gap:8px !important;
  }
  .hero-logo img{
    max-width:250px;
  }
  .hero-text h1{
    font-size:20px !important;
    margin-bottom:6px !important;
  }
  .subservice{
    font-size:16px !important;
    margin-bottom:7px !important;
  }
  .renov-int{
    font-size:14px !important;
    margin-bottom:7px !important;
  }
  .location{
    font-size:14px !important;
    margin-bottom:7px !important;
  }
  .hero-benefits{
    font-size:11px !important;
  }
}
@media(max-width:390px){
  .hero{
    grid-template-columns:42% 58% !important;
  }
  .hero-text h1{
    font-size:18px !important;
  }
  .subservice{
    font-size:15px !important;
  }
  .renov-int{
    font-size:13px !important;
  }
  .location{
    font-size:13px !important;
  }
  .hero-benefits{
    font-size:10.5px !important;
  }
}


/* ===== v8 premium hero ===== */
.hero{
  align-items:center !important;
  padding:18px 14px 4px !important;
  gap:10px !important;
}
.hero-logo img{
  display:block;
  width:100%;
  max-width:285px;
  height:auto;
  margin:0 auto;
}
.hero-text-pro{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:0;
}
.hero-badges{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:0 0 10px;
}
.hero-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  font-family:Arial, Helvetica, sans-serif;
  font-weight:900;
  font-size:11px;
  letter-spacing:.3px;
  box-shadow:0 6px 14px rgba(0,0,0,.10);
}
.badge-dark{
  background:#111;
  color:#fff;
}
.badge-blue{
  background:linear-gradient(90deg,#0a73ff,#2b95ff);
  color:#fff;
}
.hero-text-pro h1{
  margin:0 0 10px !important;
  font-family:"Arial Black", Arial, Helvetica, sans-serif;
  font-weight:1000;
  letter-spacing:-1.1px;
  line-height:1.02;
  font-size:clamp(22px,5vw,41px);
  color:#060606;
}
.hero-text-pro h1 span{
  color:#0a73ff;
  white-space:nowrap;
}
.hero-highlight{
  margin:0 0 8px !important;
  display:inline-block;
  padding:8px 12px;
  border-radius:14px;
  background:linear-gradient(90deg,#ffd347,#ffbf00);
  color:#111;
  font-family:"Arial Black", Arial, Helvetica, sans-serif;
  font-size:clamp(15px,3.5vw,24px);
  font-weight:1000;
  letter-spacing:-0.4px;
  line-height:1.05;
  box-shadow:0 8px 18px rgba(255,180,0,.22);
}
.hero-subline{
  margin:0 0 8px !important;
  color:#0b0b0b;
  font-family:"Arial Black", Arial, Helvetica, sans-serif;
  font-size:clamp(16px,3.7vw,24px);
  font-weight:1000;
  letter-spacing:-0.5px;
  line-height:1.06;
}
.hero-location{
  margin:0 0 7px !important;
  color:#0a73ff;
  font-family:"Arial Black", Arial, Helvetica, sans-serif;
  font-size:clamp(15px,3.5vw,22px);
  font-weight:1000;
  letter-spacing:-0.3px;
  line-height:1.06;
}
.hero-benefits-pro{
  margin:0 !important;
  color:#1a1a1a;
  font-size:clamp(11px,2.45vw,16px);
  line-height:1.35;
  font-weight:800;
}
.cta-wrap{
  padding-top:6px !important;
}
@media(max-width:560px){
  .hero{
    grid-template-columns:40% 60% !important;
    padding:16px 14px 2px !important;
    gap:8px !important;
  }
  .hero-logo img{
    max-width:248px;
  }
  .hero-badges{
    gap:5px;
    margin-bottom:8px;
  }
  .hero-badge{
    min-height:24px;
    padding:5px 8px;
    font-size:9px;
  }
  .hero-text-pro h1{
    font-size:18px !important;
    margin-bottom:8px !important;
  }
  .hero-highlight{
    font-size:13px !important;
    padding:6px 9px;
    margin-bottom:7px !important;
    border-radius:11px;
  }
  .hero-subline{
    font-size:13px !important;
    margin-bottom:6px !important;
  }
  .hero-location{
    font-size:12px !important;
    margin-bottom:6px !important;
  }
  .hero-benefits-pro{
    font-size:10px !important;
  }
}
@media(max-width:390px){
  .hero{
    grid-template-columns:40% 60% !important;
  }
  .hero-text-pro h1{
    font-size:17px !important;
  }
  .hero-highlight{
    font-size:12px !important;
  }
  .hero-subline{
    font-size:12px !important;
  }
  .hero-location{
    font-size:11px !important;
  }
  .hero-benefits-pro{
    font-size:9.7px !important;
  }
}


/* ===== v9 serrurerie secondary ===== */
.hero-text-pro h1{
  white-space:nowrap;
}
.serrurerie-card:after{
  background:linear-gradient(135deg,transparent 38%,rgba(35,45,60,.82));
}
.service-icon.serrurerie{
  color:#1f2d3d;
}
@media(max-width:560px){
  .hero-text-pro h1{
    white-space:normal;
    font-size:17px !important;
    line-height:1.04;
  }
}
