
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#f4f4f0;background:#0c1118}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.header{position:sticky;top:0;z-index:10;background:rgba(8,12,18,.92);backdrop-filter:blur(12px);display:flex;justify-content:space-between;align-items:center;padding:22px 7%;border-bottom:1px solid rgba(255,255,255,.08)}.logo{font-weight:800;color:white}.logo span{display:inline-block;width:0;height:0;border-left:16px solid transparent;border-right:16px solid transparent;border-bottom:24px solid #c8a35f;margin-right:10px;vertical-align:middle}nav{display:flex;gap:28px;align-items:center;text-transform:uppercase;font-size:13px;letter-spacing:.08em;color:#d8dee8}.nav-cta{background:#c8a35f;color:#111;padding:14px 22px;font-weight:800}.hero{position:relative;min-height:690px;display:flex;align-items:center;padding:0 7%;overflow:hidden}.hero-bg,.drone:before,.photo-card,.projects article div,.serviceHeroBg{background-size:cover;background-position:center}.hero-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(8,12,18,.92),rgba(8,12,18,.64),rgba(8,12,18,.18)),url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1800&q=90');z-index:-1;animation:slowZoom 18s ease-in-out infinite alternate}@keyframes slowZoom{from{transform:scale(1)}to{transform:scale(1.06)}}.hero-content{max-width:900px}.badges{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:28px}.badges span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);padding:18px 28px;text-transform:uppercase;font-size:12px;letter-spacing:.08em;color:#f3d58d}h1{font-size:62px;line-height:1.02;margin:0 0 22px;color:white}h2{font-size:44px;line-height:1.08;margin:8px 0 24px;color:white}h3{color:white}.hero p,.section>p,.about p,.contact p,.serviceIntro p{font-size:18px;line-height:1.6;color:#cbd5e1;max-width:780px}.buttons{display:flex;gap:20px;flex-wrap:wrap;margin-top:38px}.btn{display:inline-block;padding:18px 34px;text-transform:uppercase;font-weight:800;letter-spacing:.05em;border:1px solid rgba(255,255,255,.25)}.primary{background:#c8a35f;color:#111;border-color:#c8a35f}.secondary{background:rgba(255,255,255,.06);color:white}.section{padding:95px 7%}.light{background:#111820;text-align:center}.eyebrow{text-transform:uppercase;letter-spacing:.25em;font-size:12px!important;color:#c8a35f!important}.service-grid{max-width:1150px;margin:45px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.service-grid a,.service-grid article{background:#18212d;border:1px solid rgba(255,255,255,.08);padding:28px;font-weight:700;color:#eef2f7;transition:.25s}.service-grid a:hover{transform:translateY(-6px);border-color:#c8a35f}.drone{position:relative;color:white;padding:110px 7%;overflow:hidden}.drone:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(8,12,18,.78),rgba(8,12,18,.80)),url('https://images.unsplash.com/photo-1473968512647-3e447244af8f?auto=format&fit=crop&w=1800&q=90');z-index:-2}.drone-content{position:relative}.drone h2{max-width:900px;text-transform:uppercase}.drone p{max-width:900px;color:#f2f2f2}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:40px 0}.features div{background:rgba(13,18,25,.78);padding:24px;border-bottom:3px solid #c8a35f}.features h3{text-transform:uppercase;font-size:16px}.features p{font-size:14px;color:#d5dbe5}.about{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;background:#0c1118}.values{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px}.values span{border-top:2px solid #c8a35f;padding:18px;background:#141c26}.values small{display:block;color:#aeb8c5;margin-top:8px}.photo-card{min-height:470px;border-radius:18px;background-image:url('https://images.unsplash.com/photo-1600607688969-a5bfcd646154?auto=format&fit=crop&w=1800&q=90');box-shadow:0 30px 80px rgba(0,0,0,.35)}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;text-align:left}.projects article{background:#18212d;padding:16px;border:1px solid rgba(255,255,255,.08)}.projects article div{height:220px;margin-bottom:20px}.projects article:nth-child(1) div{background-image:url('https://images.unsplash.com/photo-1560518883-ce09059eeffa?auto=format&fit=crop&w=1200&q=90')}.projects article:nth-child(2) div{background-image:url('https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=1200&q=90')}.projects article:nth-child(3) div{background-image:url('https://images.unsplash.com/photo-1503387762-592deb58ef4e?auto=format&fit=crop&w=1200&q=90')}.projects article:nth-child(4) div{background-image:url('https://images.unsplash.com/photo-1613545325278-f24b0cae1224?auto=format&fit=crop&w=1200&q=90')}.projects article:nth-child(5) div{background-image:url('https://images.unsplash.com/photo-1632759145351-1d592919f522?auto=format&fit=crop&w=1200&q=90')}.projects article:nth-child(6) div{background-image:url('https://images.unsplash.com/photo-1473968512647-3e447244af8f?auto=format&fit=crop&w=1800&q=90')}.projects h3{font-size:26px;margin:0 0 8px;color:white}.projects p{color:#c3ccd8}.more-btn{margin-top:35px}.testimonials{text-align:center;background:#0c1118}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:45px;text-align:left}blockquote{margin:0;padding:30px;border-top:2px solid #c8a35f;background:#141c26;color:#cbd5e1;line-height:1.6}blockquote b{display:block;margin-top:25px;color:white}.contact{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:90px 7%;background:#202832;color:white}.contact p{color:#d7dde5}.contact-line a{color:white;text-decoration:underline}form{display:grid;gap:16px}input,textarea,select{width:100%;padding:18px;border:0;font-size:16px;background:#fff;color:#111}textarea{min-height:140px}button,.whatsapp{padding:18px;background:#f4f4ef;border:0;font-weight:800;text-transform:uppercase;cursor:pointer;text-align:center}.whatsapp{background:#25d366;color:#07140b}footer{display:flex;justify-content:space-between;gap:20px;padding:28px 7%;background:#05070a;color:white}.floating-call{position:fixed;right:18px;bottom:18px;background:#c8a35f;color:#111;padding:15px 22px;border-radius:999px;font-weight:800;z-index:20;box-shadow:0 12px 35px rgba(0,0,0,.25)}.serviceHero{position:relative;min-height:540px;display:flex;align-items:center;padding:130px 7% 70px;overflow:hidden}.serviceHeroBg{position:absolute;inset:0;z-index:-1;filter:saturate(1.05)}.serviceHeroBg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,12,18,.92),rgba(8,12,18,.62),rgba(8,12,18,.20))}.serviceHero .inner{max-width:900px}.serviceHero p{font-size:20px;line-height:1.65;color:#dce4ee}.serviceIntro{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;background:#0c1118}.introPhoto{min-height:420px;border-radius:24px;background-size:cover;background-position:center;box-shadow:0 25px 70px rgba(0,0,0,.35)}.beforeAfterGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:45px}.baCard{background:#18212d;border:1px solid rgba(255,255,255,.08);padding:14px;text-align:left}.baPair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.baPair div{min-height:250px;background-size:cover;background-position:center;position:relative}.baPair span{position:absolute;left:10px;top:10px;background:#c8a35f;color:#111;padding:7px 10px;font-size:11px;font-weight:900;text-transform:uppercase}.baCard h3{font-size:24px;margin:18px 0 8px}.baCard p{color:#cbd5e1;line-height:1.55}.gallery-full{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.gallery-card{background:#18212d;padding:16px;border:1px solid rgba(255,255,255,.08)}.gallery-card div{height:300px;background-size:cover;background-position:center;margin-bottom:18px}.gallery-card h3{color:white}@media(max-width:850px){.header{align-items:flex-start;gap:18px;flex-direction:column}nav{flex-wrap:wrap;gap:14px}h1{font-size:40px}h2{font-size:34px}.service-grid,.features,.projects,.review-grid,.about,.contact,.gallery-full,.beforeAfterGrid,.serviceIntro{grid-template-columns:1fr}.hero{min-height:620px}.section{padding:70px 6%}footer{flex-direction:column}.serviceHero{min-height:520px}}

/* Nouvelle section blanche style Haute-Savoie / Suisse */
.alpine-white-section{
  background:#fff;
  color:#101722;
  min-height:720px;
  position:relative;
  overflow:hidden;
  padding:0;
}
.alpine-white-section:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.92),rgba(255,255,255,.25)),
    url('https://images.unsplash.com/photo-1506905925346-21bda4d32df4?auto=format&fit=crop&w=1800&q=90');
  background-size:cover;
  background-position:center;
  opacity:.72;
}
.alpine-content{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:60px;
  align-items:center;
  padding:105px 7%;
  min-height:720px;
}
.alpine-text h2{
  color:#101722;
  font-size:52px;
  line-height:1.05;
  max-width:680px;
  margin:14px 0 18px;
}
.alpine-text p{
  color:#1f2937;
  font-size:18px;
  line-height:1.75;
  max-width:680px;
}
.gold-line{
  width:92px;
  height:3px;
  background:#c8a35f;
  margin:0 0 28px;
}
.alpine-values{
  margin-top:36px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  border:1px solid #e5e7eb;
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(8px);
}
.alpine-values div{
  padding:28px;
  border-right:1px solid #e5e7eb;
  border-bottom:1px solid #e5e7eb;
}
.alpine-values div:nth-child(2),
.alpine-values div:nth-child(4){
  border-right:0;
}
.alpine-values div:nth-child(3),
.alpine-values div:nth-child(4){
  border-bottom:0;
}
.alpine-values span{
  display:inline-block;
  color:#c8a35f;
  font-size:34px;
  margin-right:18px;
  vertical-align:middle;
}
.alpine-values b{
  display:inline-block;
  color:#111827;
  font-size:18px;
}
.alpine-values small{
  display:block;
  color:#374151;
  margin-top:8px;
  padding-left:54px;
}
.alpine-image{
  min-height:520px;
  border-radius:22px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,0)),
    url('assets/couvreur-alpes-montagne.png');
  background-size:cover;
  background-position:center;
  box-shadow:0 35px 90px rgba(15,23,42,.18);
  border:1px solid rgba(255,255,255,.75);
}
@media(max-width:850px){
  .alpine-content{
    grid-template-columns:1fr;
    padding:70px 6%;
  }
  .alpine-text h2{
    font-size:36px;
  }
  .alpine-values{
    grid-template-columns:1fr;
  }
  .alpine-values div,
  .alpine-values div:nth-child(2),
  .alpine-values div:nth-child(3),
  .alpine-values div:nth-child(4){
    border-right:0;
    border-bottom:1px solid #e5e7eb;
  }
  .alpine-image{
    min-height:360px;
  }
}

/* Galerie style maquette blanche, uniquement sur l'accueil */
.home-gallery-section{
  background:#fff;
  color:#070b11;
  padding:95px 3%;
  text-align:left;
}
.home-gallery-section .eyebrow{
  color:#57606b!important;
}
.home-gallery-section h2{
  color:#070b11;
  font-size:56px;
  line-height:1;
  margin:10px 0 42px;
  letter-spacing:-.04em;
}
.home-gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:38px;
}
.home-gallery-card{
  background:#f4f4f2;
  border:0;
  overflow:hidden;
  min-height:430px;
}
.home-gallery-card .home-gallery-img{
  height:160px;
  background-size:cover;
  background-position:center;
}
.home-gallery-card .home-gallery-body{
  padding:30px 26px;
  position:relative;
}
.home-gallery-card h3{
  color:#05070a;
  font-size:34px;
  line-height:1.05;
  margin:0 48px 16px 0;
  letter-spacing:-.04em;
}
.home-gallery-card p{
  color:#101722;
  font-size:16px;
  line-height:1.45;
  margin:0;
}
.home-gallery-card .num{
  position:absolute;
  top:34px;
  right:25px;
  color:#05070a;
  font-size:24px;
  font-weight:800;
}
.home-gallery-card:nth-child(1) .home-gallery-img{background-image:url('https://images.unsplash.com/photo-1560518883-ce09059eeffa?auto=format&fit=crop&w=900&q=90')}
.home-gallery-card:nth-child(2) .home-gallery-img{background-image:url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=900&q=90')}
.home-gallery-card:nth-child(3) .home-gallery-img{background-image:url('https://images.unsplash.com/photo-1600607688969-a5bfcd646154?auto=format&fit=crop&w=900&q=90')}
.home-gallery-card:nth-child(4) .home-gallery-img{background-image:url('https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=900&q=90')}
.home-gallery-card:nth-child(5) .home-gallery-img{background-image:url('https://images.unsplash.com/photo-1632759145351-1d592919f522?auto=format&fit=crop&w=900&q=90')}
.home-gallery-card:nth-child(6) .home-gallery-img{background-image:url('https://images.unsplash.com/photo-1613545325278-f24b0cae1224?auto=format&fit=crop&w=900&q=90')}

@media(max-width:1000px){
  .home-gallery-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .home-gallery-grid{grid-template-columns:1fr}
  .home-gallery-section h2{font-size:38px}
}


/* ===== MOBILE PREMIUM - CM Couverture ===== */
.mobile-bottom-bar{
  display:none;
}

@media(max-width:850px){
  body{
    overflow-x:hidden;
  }

  .header{
    position:fixed;
    top:0;
    left:0;
    right:0;
    padding:14px 18px;
    background:rgba(8,12,18,.94);
    gap:10px;
  }

  .logo{
    font-size:17px;
  }

  .logo span{
    border-left-width:11px;
    border-right-width:11px;
    border-bottom-width:17px;
  }

  nav{
    width:100%;
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding-bottom:3px;
    font-size:10px;
    white-space:nowrap;
    scrollbar-width:none;
  }

  nav::-webkit-scrollbar{
    display:none;
  }

  .nav-cta{
    padding:9px 12px;
  }

  .hero{
    min-height:640px;
    padding:135px 22px 55px;
    align-items:flex-end;
  }

  .hero-bg{
    background-position:center;
  }

  .hero-content{
    max-width:100%;
  }

  .badges{
    gap:8px;
    margin-bottom:18px;
  }

  .badges span{
    padding:9px 12px;
    font-size:10px;
    letter-spacing:.05em;
  }

  h1{
    font-size:38px;
    line-height:1.02;
    letter-spacing:-.04em;
    margin-bottom:16px;
  }

  h2{
    font-size:30px;
    line-height:1.08;
    letter-spacing:-.03em;
  }

  .hero p,
  .section>p,
  .about p,
  .contact p,
  .serviceIntro p{
    font-size:15.5px;
    line-height:1.65;
  }

  .buttons{
    gap:10px;
    margin-top:24px;
  }

  .btn{
    padding:14px 17px;
    font-size:11px;
    width:auto;
  }

  .section{
    padding:58px 20px;
  }

  .service-grid{
    display:flex;
    overflow-x:auto;
    gap:12px;
    margin-top:28px;
    padding-bottom:8px;
    scroll-snap-type:x mandatory;
  }

  .service-grid a,
  .service-grid article{
    min-width:205px;
    padding:22px;
    scroll-snap-align:start;
    border-radius:16px;
  }

  .drone{
    padding:65px 22px;
  }

  .features{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin:25px 0;
  }

  .features div{
    padding:16px;
  }

  .features h3{
    font-size:13px;
  }

  .features p{
    font-size:12.5px;
  }

  .alpine-white-section{
    min-height:auto;
  }

  .alpine-white-section:before{
    background:
      linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.94)),
      url('https://images.unsplash.com/photo-1506905925346-21bda4d32df4?auto=format&fit=crop&w=1100&q=90');
    opacity:1;
  }

  .alpine-content{
    display:flex;
    flex-direction:column;
    gap:26px;
    min-height:auto;
    padding:62px 20px;
  }

  .alpine-text{
    order:2;
  }

  .alpine-image{
    order:1;
    width:100%;
    min-height:310px;
    border-radius:22px;
    background-position:center;
    box-shadow:0 18px 45px rgba(15,23,42,.16);
  }

  .alpine-text h2{
    font-size:31px;
    line-height:1.08;
    margin:10px 0 14px;
  }

  .alpine-text p{
    font-size:15.5px;
    line-height:1.65;
  }

  .gold-line{
    width:70px;
    margin-bottom:18px;
  }

  .alpine-values{
    grid-template-columns:1fr 1fr;
    gap:10px;
    border:0;
    background:transparent;
    margin-top:24px;
  }

  .alpine-values div,
  .alpine-values div:nth-child(2),
  .alpine-values div:nth-child(3),
  .alpine-values div:nth-child(4){
    border:1px solid #e5e7eb;
    border-radius:16px;
    padding:16px;
    background:rgba(255,255,255,.86);
  }

  .alpine-values span{
    font-size:22px;
    margin-right:8px;
  }

  .alpine-values b{
    font-size:14px;
  }

  .alpine-values small{
    font-size:12px;
    padding-left:0;
    margin-top:5px;
  }

  .home-gallery-section{
    padding:58px 20px;
  }

  .home-gallery-section h2{
    font-size:33px;
    margin-bottom:28px;
  }

  .home-gallery-grid{
    display:flex;
    overflow-x:auto;
    gap:16px;
    scroll-snap-type:x mandatory;
    padding-bottom:12px;
  }

  .home-gallery-card{
    min-width:285px;
    min-height:auto;
    border-radius:22px;
    overflow:hidden;
    scroll-snap-align:start;
    box-shadow:0 14px 35px rgba(15,23,42,.12);
  }

  .home-gallery-card .home-gallery-img{
    height:185px;
  }

  .home-gallery-card .home-gallery-body{
    padding:22px 20px 24px;
  }

  .home-gallery-card h3{
    font-size:25px;
    line-height:1.05;
    margin-right:34px;
  }

  .home-gallery-card p{
    font-size:14px;
  }

  .home-gallery-card .num{
    font-size:18px;
    top:24px;
    right:20px;
  }

  .testimonials{
    padding-bottom:40px;
  }

  .review-grid{
    display:flex;
    overflow-x:auto;
    gap:14px;
    scroll-snap-type:x mandatory;
    padding-bottom:10px;
  }

  blockquote{
    min-width:285px;
    scroll-snap-align:start;
    border-radius:18px;
    padding:22px;
  }

  .contact{
    grid-template-columns:1fr;
    padding:58px 20px 95px;
  }

  input,textarea,select{
    padding:16px;
    border-radius:12px;
  }

  footer{
    padding:28px 20px 88px;
    font-size:13px;
  }

  .floating-call{
    display:none;
  }

  .mobile-bottom-bar{
    position:fixed;
    left:12px;
    right:12px;
    bottom:12px;
    z-index:100;
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:8px;
    background:rgba(8,12,18,.92);
    border:1px solid rgba(255,255,255,.12);
    backdrop-filter:blur(14px);
    padding:8px;
    border-radius:18px;
    box-shadow:0 18px 50px rgba(0,0,0,.28);
  }

  .mobile-bottom-bar a{
    text-align:center;
    padding:12px 8px;
    border-radius:12px;
    font-size:12px;
    font-weight:800;
    color:#fff;
    background:#141c26;
  }

  .mobile-bottom-bar a:nth-child(2){
    background:#25d366;
    color:#07140b;
  }

  .mobile-bottom-bar a:nth-child(3){
    background:#c8a35f;
    color:#111;
  }
}


/* ===== SECTION SERVICES PREMIUM BLANCHE ===== */
.premium-services-section{
  background:#fff;
  color:#0b1118;
  padding:90px 4% 105px;
}
.premium-services-section .eyebrow{
  color:#c8a35f!important;
  margin:0 0 10px;
}
.premium-services-section h2{
  color:#0b1118;
  font-size:44px;
  line-height:1.1;
  margin:0 0 48px;
  font-family:Arial,Helvetica,sans-serif;
  letter-spacing:-.03em;
}
.premium-services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.premium-service-card{
  background:#f6f6f4;
  overflow:hidden;
  color:#0b1118;
  box-shadow:0 18px 50px rgba(15,23,42,.08);
  transition:.28s ease;
  border:1px solid #eeeeea;
}
.premium-service-card:hover{
  transform:translateY(-6px);
  box-shadow:0 26px 70px rgba(15,23,42,.14);
}
.premium-service-img{
  height:265px;
  background-size:cover;
  background-position:center;
}
.premium-service-body{
  position:relative;
  padding:30px 82px 34px 34px;
  min-height:165px;
}
.premium-service-body .num{
  position:absolute;
  left:34px;
  top:34px;
  font-size:22px;
  color:#c8a35f;
  font-weight:500;
}
.premium-service-body h3{
  color:#0b1118;
  font-size:21px;
  line-height:1.15;
  margin:0 0 14px 58px;
  text-transform:uppercase;
  letter-spacing:-.01em;
}
.premium-service-body p{
  color:#1f2937;
  font-size:15.5px;
  line-height:1.55;
  margin:0 0 0 58px;
}
.premium-service-arrow{
  position:absolute;
  right:28px;
  top:58px;
  width:46px;
  height:46px;
  border:1px solid #c8a35f;
  color:#c8a35f;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  line-height:1;
}
.premium-service-card:nth-child(1) .premium-service-img{
  background-image:url('https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=1200&q=90');
}
.premium-service-card:nth-child(2) .premium-service-img{
  background-image:url('https://images.unsplash.com/photo-1560518883-ce09059eeffa?auto=format&fit=crop&w=1200&q=90');
}
.premium-service-card:nth-child(3) .premium-service-img{
  background-image:url('https://images.unsplash.com/photo-1503387762-592deb58ef4e?auto=format&fit=crop&w=1200&q=90');
}
.premium-service-card:nth-child(4) .premium-service-img{
  background-image:url('https://images.unsplash.com/photo-1473968512647-3e447244af8f?auto=format&fit=crop&w=1200&q=90');
}
.premium-service-card:nth-child(5) .premium-service-img{
  background-image:url('https://images.unsplash.com/photo-1632759145351-1d592919f522?auto=format&fit=crop&w=1200&q=90');
}
.premium-service-card:nth-child(6) .premium-service-img{
  background-image:url('https://images.unsplash.com/photo-1613545325278-f24b0cae1224?auto=format&fit=crop&w=1200&q=90');
}

@media(max-width:900px){
  .premium-services-section{
    padding:62px 20px 72px;
  }
  .premium-services-section h2{
    font-size:32px;
    margin-bottom:28px;
  }
  .premium-services-grid{
    display:flex;
    overflow-x:auto;
    gap:16px;
    scroll-snap-type:x mandatory;
    padding-bottom:12px;
  }
  .premium-service-card{
    min-width:310px;
    scroll-snap-align:start;
    border-radius:18px;
  }
  .premium-service-img{
    height:205px;
  }
  .premium-service-body{
    padding:24px 62px 26px 22px;
    min-height:150px;
  }
  .premium-service-body .num{
    left:22px;
    top:26px;
    font-size:18px;
  }
  .premium-service-body h3{
    font-size:18px;
    margin-left:48px;
  }
  .premium-service-body p{
    font-size:14px;
    margin-left:48px;
  }
  .premium-service-arrow{
    right:18px;
    top:50px;
    width:38px;
    height:38px;
    font-size:22px;
  }
}

/* Photos de services réalistes créées et intégrées localement */
.premium-service-card:nth-child(1) .premium-service-img{background-image:url('assets/service-toiture-realiste.png')!important;}
.premium-service-card:nth-child(2) .premium-service-img{background-image:url('assets/service-facade-realiste.png')!important;}
.premium-service-card:nth-child(3) .premium-service-img{background-image:url('assets/service-charpente-realiste.png')!important;}
.premium-service-card:nth-child(4) .premium-service-img{background-image:url('assets/service-drone-realiste.png')!important;}
.premium-service-card:nth-child(5) .premium-service-img{background-image:url('assets/service-zinguerie-realiste.png')!important;}
.premium-service-card:nth-child(6) .premium-service-img{background-image:url('assets/service-velux-realiste.png')!important;}

/* Rendu plus propre pour la section services */
.premium-service-img{
  height:285px;
  background-size:cover;
  background-position:center;
}
@media(max-width:900px){
  .premium-service-img{height:210px;}
}


/* ===== PAGE SERVICES FINALE EXACTE ===== */
.services-page-final{
  background:#fff;
  color:#0b1118;
  padding:115px 4% 115px;
  min-height:100vh;
}
.services-page-final .eyebrow{
  color:#c8a35f!important;
  margin:0 0 10px;
}
.services-page-final h1{
  color:#0b1118;
  font-size:44px;
  line-height:1.1;
  margin:0 0 48px;
  font-family:Arial,Helvetica,sans-serif;
  letter-spacing:-.03em;
}
.services-page-grid{
  max-width:1420px;
  margin:0 auto;
}
.services-page-final .premium-service-card{
  background:#f6f6f4;
  border:0;
}
.services-page-final .premium-service-img{
  height:265px;
}
.services-page-final .premium-service-body{
  background:#f6f6f4;
}
@media(max-width:900px){
  .services-page-final{
    padding:120px 20px 70px;
  }
  .services-page-final h1{
    font-size:32px;
    margin-bottom:30px;
  }
  .services-page-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
    overflow:visible;
  }
  .services-page-final .premium-service-card{
    min-width:0;
    width:100%;
  }
}


/* ===== PAGE INSPECTION DRONE PREMIUM CORRIGÉE ===== */
.drone-premium-hero{
  position:relative;
  min-height:720px;
  display:flex;
  align-items:center;
  overflow:hidden;
  padding:150px 7% 95px;
  background:#05070a;
}
.drone-premium-bg{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(90deg,rgba(5,7,10,.92),rgba(5,7,10,.62),rgba(5,7,10,.22)),
    url('https://images.unsplash.com/photo-1473968512647-3e447244af8f?auto=format&fit=crop&w=1800&q=90');
  background-size:cover;
  background-position:center;
  animation:droneLuxuryZoom 12s ease-in-out infinite alternate;
}
@keyframes droneLuxuryZoom{
  from{transform:scale(1);}
  to{transform:scale(1.22) translateX(-35px);}
}
.drone-premium-content{
  position:relative;
  z-index:2;
  max-width:880px;
}
.drone-premium-content .eyebrow{
  color:#c8a35f!important;
}
.drone-premium-content h1{
  color:#fff;
  font-size:72px;
  line-height:.95;
  letter-spacing:-.055em;
  margin:18px 0 24px;
}
.drone-premium-content p{
  color:#e5e7eb;
  font-size:21px;
  line-height:1.65;
  max-width:780px;
}
.drone-premium-actions{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  margin-top:36px;
}
.drone-premium-white{
  background:#fff;
  color:#0b1118;
  padding:95px 7%;
}
.drone-premium-white h2{
  color:#0b1118;
  font-size:48px;
  line-height:1.05;
  max-width:760px;
  margin:0 0 18px;
}
.drone-premium-white .intro{
  color:#374151;
  font-size:18px;
  line-height:1.7;
  max-width:820px;
  margin-bottom:42px;
}
.drone-advantage-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.drone-advantage{
  background:#f6f6f4;
  border-top:3px solid #c8a35f;
  padding:30px;
  min-height:190px;
}
.drone-advantage span{
  color:#c8a35f;
  font-size:34px;
  display:block;
  margin-bottom:18px;
}
.drone-advantage h3{
  color:#0b1118;
  font-size:18px;
  text-transform:uppercase;
  margin:0 0 12px;
}
.drone-advantage p{
  color:#374151;
  line-height:1.55;
  margin:0;
}
.drone-premium-cta{
  margin-top:42px;
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}
@media(max-width:850px){
  .drone-premium-hero{
    min-height:640px;
    padding:135px 22px 70px;
    align-items:flex-end;
  }
  .drone-premium-content h1{
    font-size:42px;
    line-height:1.02;
  }
  .drone-premium-content p{
    font-size:16px;
  }
  .drone-premium-white{
    padding:62px 20px 95px;
  }
  .drone-premium-white h2{
    font-size:32px;
  }
  .drone-premium-white .intro{
    font-size:15.5px;
  }
  .drone-advantage-grid{
    grid-template-columns:1fr 1fr;
    gap:12px;
  }
  .drone-advantage{
    padding:20px;
    min-height:160px;
  }
  .drone-advantage span{
    font-size:26px;
  }
  .drone-advantage h3{
    font-size:14px;
  }
  .drone-advantage p{
    font-size:13px;
  }
}


/* ===== V15 — MOBILE PLUS COMPACT / PREMIUM ===== */
@media(max-width:850px){

  h1{
    font-size:34px!important;
    line-height:1.04!important;
    letter-spacing:-.04em;
  }

  h2{
    font-size:28px!important;
    line-height:1.08!important;
    letter-spacing:-.035em;
  }

  h3{
    font-size:18px!important;
    line-height:1.15!important;
  }

  .hero{
    min-height:590px!important;
    padding-top:120px!important;
    padding-bottom:42px!important;
  }

  .hero p,
  .section>p,
  .about p,
  .contact p,
  .serviceIntro p,
  .alpine-text p,
  .drone-premium-content p,
  .drone-premium-white .intro{
    font-size:14.5px!important;
    line-height:1.58!important;
  }

  .badges{
    margin-bottom:14px!important;
  }

  .badges span{
    padding:8px 10px!important;
    font-size:9.5px!important;
  }

  .buttons{
    margin-top:20px!important;
    gap:8px!important;
  }

  .btn{
    padding:12px 15px!important;
    font-size:10.5px!important;
    letter-spacing:.04em!important;
  }

  .section{
    padding-top:48px!important;
    padding-bottom:52px!important;
  }

  .premium-services-section,
  .services-page-final{
    padding-top:52px!important;
    padding-bottom:58px!important;
  }

  .premium-services-section h2,
  .services-page-final h1{
    font-size:28px!important;
    margin-bottom:24px!important;
  }

  .premium-services-grid,
  .service-grid,
  .home-gallery-grid{
    gap:12px!important;
  }

  .premium-service-card,
  .home-gallery-card{
    min-width:275px!important;
    border-radius:16px!important;
  }

  .premium-service-img,
  .home-gallery-card .home-gallery-img{
    height:175px!important;
  }

  .premium-service-body,
  .home-gallery-card .home-gallery-body{
    padding:18px 54px 20px 18px!important;
    min-height:128px!important;
  }

  .premium-service-body .num,
  .home-gallery-card .num{
    font-size:16px!important;
    top:20px!important;
    right:18px!important;
  }

  .premium-service-body h3,
  .home-gallery-card h3{
    font-size:17px!important;
    margin-bottom:8px!important;
  }

  .premium-service-body p,
  .home-gallery-card p{
    font-size:13px!important;
    line-height:1.42!important;
  }

  .premium-service-arrow{
    width:34px!important;
    height:34px!important;
    font-size:20px!important;
    right:16px!important;
    top:50px!important;
  }

  .features{
    gap:9px!important;
  }

  .features div{
    padding:14px!important;
  }

  .features h3{
    font-size:12.5px!important;
  }

  .features p{
    font-size:12px!important;
    line-height:1.45!important;
  }

  .alpine-content{
    padding-top:50px!important;
    padding-bottom:52px!important;
    gap:20px!important;
  }

  .alpine-image{
    min-height:260px!important;
    border-radius:18px!important;
  }

  .alpine-text h2{
    font-size:29px!important;
  }

  .alpine-values{
    gap:8px!important;
    margin-top:18px!important;
  }

  .alpine-values div{
    padding:13px!important;
    border-radius:13px!important;
  }

  .alpine-values span{
    font-size:19px!important;
  }

  .alpine-values b{
    font-size:13px!important;
  }

  .alpine-values small{
    font-size:11.5px!important;
  }

  .drone-premium-hero{
    min-height:585px!important;
    padding-top:120px!important;
    padding-bottom:55px!important;
  }

  .drone-premium-content h1{
    font-size:36px!important;
  }

  .drone-premium-white{
    padding-top:48px!important;
    padding-bottom:74px!important;
  }

  .drone-advantage{
    padding:16px!important;
    min-height:140px!important;
  }

  .drone-advantage span{
    font-size:22px!important;
    margin-bottom:10px!important;
  }

  .drone-advantage h3{
    font-size:12.5px!important;
  }

  .drone-advantage p{
    font-size:12px!important;
  }

  .contact{
    padding-top:48px!important;
    padding-bottom:92px!important;
  }

  input, textarea, select{
    padding:13px!important;
    font-size:14px!important;
  }

  textarea{
    min-height:112px!important;
  }

  .mobile-bottom-bar{
    left:10px!important;
    right:10px!important;
    bottom:9px!important;
    padding:7px!important;
  }

  .mobile-bottom-bar a{
    padding:10px 6px!important;
    font-size:11px!important;
  }
}


/* ===== V16 — PHOTOS RÉELLES INTÉGRÉES PAR SERVICE ===== */
.premium-service-card:nth-child(1) .premium-service-img{
  background-image:url('assets/toiture-nettoyage-avant-apres.jpg')!important;
  background-position:center!important;
}
.premium-service-card:nth-child(2) .premium-service-img{
  background-image:url('assets/facade-pierre-renovee.jpg')!important;
  background-position:center!important;
}
.premium-service-card:nth-child(3) .premium-service-img{
  background-image:url('assets/pergola-carport.jpg')!important;
  background-position:center!important;
}
.premium-service-card:nth-child(4) .premium-service-img{
  background-image:url('assets/pergola-terrasse-1.jpg')!important;
  background-position:center!important;
}
.premium-service-card:nth-child(5) .premium-service-img{
  background-image:url('assets/zinguerie-inox.jpg')!important;
  background-position:center!important;
}
.premium-service-card:nth-child(6) .premium-service-img{
  background-image:url('assets/velux-avant-apres.jpg')!important;
  background-position:center!important;
}

/* Galerie accueil si présente */
.home-gallery-card:nth-child(1) .home-gallery-img{background-image:url('assets/toiture-nettoyage-avant-apres.jpg')!important;}
.home-gallery-card:nth-child(2) .home-gallery-img{background-image:url('assets/facade-pierre-renovee.jpg')!important;}
.home-gallery-card:nth-child(3) .home-gallery-img{background-image:url('assets/pergola-terrasse-2.jpg')!important;}
.home-gallery-card:nth-child(4) .home-gallery-img{background-image:url('assets/pergola-carport.jpg')!important;}
.home-gallery-card:nth-child(5) .home-gallery-img{background-image:url('assets/zinguerie-inox.jpg')!important;}
.home-gallery-card:nth-child(6) .home-gallery-img{background-image:url('assets/velux-avant-apres.jpg')!important;}

/* Cartes génériques de projets si présentes */
.projects article:nth-child(1) div{background-image:url('assets/toiture-nettoyage-avant-apres.jpg')!important;}
.projects article:nth-child(2) div{background-image:url('assets/facade-pierre-renovee.jpg')!important;}
.projects article:nth-child(3) div{background-image:url('assets/pergola-terrasse-1.jpg')!important;}
.projects article:nth-child(4) div{background-image:url('assets/pergola-carport.jpg')!important;}
.projects article:nth-child(5) div{background-image:url('assets/zinguerie-inox.jpg')!important;}
.projects article:nth-child(6) div{background-image:url('assets/velux-avant-apres.jpg')!important;}

/* Galerie page réalisations */
.real-gallery-section{
  background:#fff;
  color:#0b1118;
  padding:95px 4%;
}
.real-gallery-section .eyebrow{
  color:#c8a35f!important;
}
.real-gallery-section h1,
.real-gallery-section h2{
  color:#0b1118;
  font-size:46px;
  line-height:1.08;
  margin:0 0 42px;
}
.real-gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.real-gallery-card{
  background:#f6f6f4;
  overflow:hidden;
  box-shadow:0 18px 45px rgba(15,23,42,.08);
}
.real-gallery-img{
  height:300px;
  background-size:cover;
  background-position:center;
}
.real-gallery-body{
  padding:26px;
}
.real-gallery-body span{
  color:#c8a35f;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.real-gallery-body h3{
  color:#0b1118;
  font-size:26px;
  margin:10px 0;
}
.real-gallery-body p{
  color:#374151;
  line-height:1.55;
}
.real-gallery-card:nth-child(1) .real-gallery-img{background-image:url('assets/toiture-nettoyage-avant-apres.jpg');}
.real-gallery-card:nth-child(2) .real-gallery-img{background-image:url('assets/facade-pierre-renovee.jpg');}
.real-gallery-card:nth-child(3) .real-gallery-img{background-image:url('assets/pergola-terrasse-2.jpg');}
.real-gallery-card:nth-child(4) .real-gallery-img{background-image:url('assets/pergola-carport.jpg');}
.real-gallery-card:nth-child(5) .real-gallery-img{background-image:url('assets/zinguerie-inox.jpg');}
.real-gallery-card:nth-child(6) .real-gallery-img{background-image:url('assets/velux-avant-apres.jpg');}

@media(max-width:850px){
  .real-gallery-section{padding:62px 20px 90px;}
  .real-gallery-section h1,.real-gallery-section h2{font-size:30px;}
  .real-gallery-grid{grid-template-columns:1fr;gap:18px;}
  .real-gallery-img{height:240px;}
}


/* ===== V17 FINALE — SERVICES PREMIUM + VRAIES RÉALISATIONS ===== */

/* On garde les photos premium pour les services */
.premium-services-section{
  background:#fff!important;
}
.premium-service-card{
  border-radius:0!important;
}
.premium-service-card:nth-child(1) .premium-service-img{
  background-image:url('assets/service-toiture-realiste.png')!important;
}
.premium-service-card:nth-child(2) .premium-service-img{
  background-image:url('assets/service-facade-realiste.png')!important;
}
.premium-service-card:nth-child(3) .premium-service-img{
  background-image:url('assets/service-charpente-realiste.png')!important;
}
.premium-service-card:nth-child(4) .premium-service-img{
  background-image:url('assets/service-drone-realiste.png')!important;
}
.premium-service-card:nth-child(5) .premium-service-img{
  background-image:url('assets/service-zinguerie-realiste.png')!important;
}
.premium-service-card:nth-child(6) .premium-service-img{
  background-image:url('assets/service-velux-realiste.png')!important;
}

/* Section accueil avant/après avec vraies photos */
.final-before-after{
  background:#fff;
  color:#0b1118;
  padding:95px 4% 110px;
}
.final-before-after .eyebrow{
  color:#64748b!important;
  letter-spacing:.35em;
}
.final-before-after h2{
  color:#0b1118;
  font-size:56px;
  line-height:1;
  margin:8px 0 44px;
  letter-spacing:-.05em;
}
.final-ba-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:34px;
}
.final-ba-card{
  background:#f4f4f2;
  color:#0b1118;
  overflow:hidden;
  min-height:430px;
  transition:.25s ease;
}
.final-ba-card:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 55px rgba(15,23,42,.10);
}
.final-ba-img{
  height:165px;
  background-size:cover;
  background-position:center;
}
.final-ba-body{
  position:relative;
  padding:28px 30px;
}
.final-ba-body .num{
  position:absolute;
  right:26px;
  top:30px;
  font-size:24px;
  font-weight:800;
  color:#0b1118;
}
.final-ba-body h3{
  color:#0b1118;
  font-size:34px;
  line-height:1.05;
  margin:0 54px 18px 0;
  letter-spacing:-.04em;
}
.final-ba-body p{
  color:#1f2937;
  font-size:16px;
  line-height:1.5;
}
.final-ba-card:nth-child(1) .final-ba-img{background-image:url('assets/toiture-nettoyage-avant-apres.jpg');}
.final-ba-card:nth-child(2) .final-ba-img{background-image:url('assets/facade-pierre-renovee.jpg');}
.final-ba-card:nth-child(3) .final-ba-img{background-image:url('assets/pergola-terrasse-2.jpg');}
.final-ba-card:nth-child(4) .final-ba-img{background-image:url('assets/pergola-carport.jpg');}
.final-ba-card:nth-child(5) .final-ba-img{background-image:url('assets/zinguerie-inox.jpg');}
.final-ba-card:nth-child(6) .final-ba-img{background-image:url('assets/velux-avant-apres.jpg');}

/* Pages services premium détaillées */
.service-detail-premium{
  background:#05070a;
  color:#fff;
}
.service-detail-hero{
  min-height:520px;
  display:flex;
  align-items:center;
  padding:130px 7% 80px;
  position:relative;
  overflow:hidden;
}
.service-detail-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  opacity:.55;
  transform:scale(1.05);
}
.service-detail-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(5,7,10,.94),rgba(5,7,10,.62),rgba(5,7,10,.20));
}
.service-detail-inner{
  position:relative;
  z-index:1;
  max-width:860px;
}
.service-detail-inner h1{
  color:#fff;
  font-size:62px;
  line-height:1;
  margin:10px 0 18px;
}
.service-detail-inner p{
  color:#e5e7eb;
  font-size:19px;
  line-height:1.65;
}
.service-proof{
  background:#fff;
  color:#0b1118;
  padding:90px 7%;
}
.service-proof h2{
  color:#0b1118;
  font-size:44px;
  margin:0 0 24px;
}
.service-proof p{
  color:#374151;
  font-size:17px;
  line-height:1.7;
}
.proof-grid{
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:34px;
  align-items:stretch;
  margin-top:38px;
}
.proof-main,
.proof-side{
  background:#f6f6f4;
  overflow:hidden;
}
.proof-img{
  min-height:420px;
  background-size:cover;
  background-position:center;
}
.proof-side .proof-img{
  min-height:220px;
}
.proof-text{
  padding:26px;
}
.proof-text span{
  color:#c8a35f;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:12px;
}
.proof-text h3{
  color:#0b1118;
  font-size:28px;
  margin:10px 0;
}
.proof-cta{
  background:#101722;
  color:#fff;
  padding:70px 7%;
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center;
}
.proof-cta h2{
  margin:0;
  color:#fff;
}
.proof-cta p{
  color:#cbd5e1;
}
.hero-toiture:before{background-image:url('assets/service-toiture-realiste.png');}
.hero-facade:before{background-image:url('assets/service-facade-realiste.png');}
.hero-charpente:before{background-image:url('assets/service-charpente-realiste.png');}
.hero-zinguerie:before{background-image:url('assets/service-zinguerie-realiste.png');}
.hero-velux:before{background-image:url('assets/service-velux-realiste.png');}

@media(max-width:850px){
  .final-before-after{padding:58px 20px 92px;}
  .final-before-after h2{font-size:34px;}
  .final-ba-grid{
    display:flex;
    overflow-x:auto;
    gap:16px;
    scroll-snap-type:x mandatory;
  }
  .final-ba-card{
    min-width:285px;
    min-height:360px;
    scroll-snap-align:start;
    border-radius:18px;
  }
  .final-ba-img{height:175px;}
  .final-ba-body{padding:22px;}
  .final-ba-body h3{font-size:25px;}
  .final-ba-body p{font-size:14px;}
  .service-detail-hero{
    min-height:520px;
    padding:125px 22px 60px;
    align-items:flex-end;
  }
  .service-detail-inner h1{font-size:36px;}
  .service-detail-inner p{font-size:15px;}
  .service-proof{padding:58px 20px;}
  .service-proof h2{font-size:30px;}
  .proof-grid{grid-template-columns:1fr;gap:18px;}
  .proof-img{min-height:280px;}
  .proof-side .proof-img{min-height:220px;}
  .proof-cta{
    padding:45px 20px 95px;
    flex-direction:column;
    align-items:flex-start;
  }
}


/* ===== V18 — GRAND VISUEL AVANT / APRÈS PREMIUM ===== */
.premium-collage-section{
  background:#fff;
  color:#0b1118;
  padding:90px 4% 110px;
}
.premium-collage-section .eyebrow{
  color:#c8a35f!important;
  text-align:center;
}
.premium-collage-section h2{
  color:#0b1118;
  text-align:center;
  font-size:58px;
  line-height:1;
  letter-spacing:-.05em;
  margin:8px 0 8px;
}
.premium-collage-section .subtitle{
  color:#374151;
  text-align:center;
  font-size:18px;
  margin:0 0 42px;
}
.premium-collage-wrap{
  max-width:1500px;
  margin:0 auto;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 32px 90px rgba(15,23,42,.14);
  border:1px solid #eee;
  background:#fff;
}
.premium-collage-wrap img{
  width:100%;
  display:block;
}
.premium-collage-cta{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:34px;
}
@media(max-width:850px){
  .premium-collage-section{
    padding:58px 16px 94px;
  }
  .premium-collage-section h2{
    font-size:34px;
  }
  .premium-collage-section .subtitle{
    font-size:14px;
    margin-bottom:24px;
  }
  .premium-collage-wrap{
    border-radius:14px;
  }
}


/* ===== VERSION FINALE V18 — AVANT/APRÈS + SERVICES ===== */
.v18-ba-final {
  background:#fff;
  color:#0b1118;
  padding:90px 5% 105px;
}
.v18-ba-final .v18-head {
  max-width:900px;
  margin:0 auto 42px;
  text-align:center;
}
.v18-ba-final .eyebrow {
  color:#c8a35f!important;
  font-weight:900;
  letter-spacing:.30em;
  text-transform:uppercase;
}
.v18-ba-final h2 {
  color:#0b1118;
  font-size:56px;
  line-height:1;
  letter-spacing:-.055em;
  margin:10px 0 14px;
}
.v18-ba-final .v18-head p {
  color:#475569;
  font-size:18px;
  line-height:1.65;
  margin:0;
}
.v18-ba-grid {
  max-width:1500px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.v18-ba-card {
  background:#fff;
  border:1px solid #e8e6e1;
  border-radius:18px;
  overflow:hidden;
  color:#0b1118;
  text-decoration:none;
  box-shadow:0 22px 60px rgba(15,23,42,.10);
  transition:.25s ease;
}
.v18-ba-card:hover {
  transform:translateY(-6px);
  box-shadow:0 34px 85px rgba(15,23,42,.15);
}
.v18-ba-img {
  height:285px;
  background-size:cover;
  background-position:center;
  position:relative;
}
.v18-ba-img:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(5,7,10,.20));
}
.v18-ba-badge {
  position:absolute;
  left:16px;
  bottom:14px;
  z-index:2;
  background:#0b1118;
  color:#fff;
  padding:8px 12px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.v18-ba-card-body {
  padding:24px 24px 28px;
}
.v18-ba-card-body small {
  color:#c8a35f;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:900;
}
.v18-ba-card-body h3 {
  color:#0b1118;
  font-size:24px;
  line-height:1.1;
  margin:10px 0 10px;
  letter-spacing:-.025em;
}
.v18-ba-card-body p {
  color:#374151;
  font-size:15px;
  line-height:1.55;
  margin:0 0 16px;
}
.v18-more {
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#c8a35f;
  color:#07101b;
  padding:11px 15px;
  border-radius:8px;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.v18-cta-final {
  max-width:1500px;
  margin:32px auto 0;
  background:linear-gradient(90deg,#07101b,#121b29);
  border-radius:18px;
  padding:32px 36px;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:24px;
  color:#fff;
}
.v18-cta-final h3 {
  color:#fff;
  font-size:30px;
  margin:0 0 6px;
}
.v18-cta-final p {
  color:#cbd5e1;
  margin:0;
}
.v18-points {
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  margin-top:12px;
  color:#e5e7eb;
  font-size:14px;
}
.v18-points span:before {
  content:"✓ ";
  color:#c8a35f;
  font-weight:900;
}
@media(max-width:1100px) {
  .v18-ba-grid {grid-template-columns:repeat(2,1fr);}
}
@media(max-width:850px) {
  .v18-ba-final {
    padding:58px 18px 95px;
  }
  .v18-ba-final h2 {
    font-size:34px;
  }
  .v18-ba-final .v18-head p {
    font-size:14.5px;
  }
  .v18-ba-grid {
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:16px;
    padding-bottom:12px;
  }
  .v18-ba-card {
    min-width:300px;
    scroll-snap-align:start;
  }
  .v18-ba-img {
    height:220px;
  }
  .v18-ba-card-body h3 {
    font-size:20px;
  }
  .v18-ba-card-body p {
    font-size:13.5px;
  }
  .v18-cta-final {
    grid-template-columns:1fr;
    padding:24px;
  }
  .v18-cta-final h3 {
    font-size:22px;
  }
}


/* Correction : aucun titre HTML au-dessus du visuel Avant/Après */
.v18-ba-final > .v18-head,
.section-avant-apres-validee > .section-head,
.premium-collage-section > .eyebrow,
.premium-collage-section > h2,
.premium-collage-section > .subtitle {
  display:none!important;
}

.v18-ba-final,
.section-avant-apres-validee,
.premium-collage-section {
  padding-top:70px!important;
}

/* FINAL: uniquement les 4 images des cartes Nos services / prestations */
.service-html-card[href="service-toiture.html"],
.premium-service-card[href="service-toiture.html"],
a[href="service-toiture.html"].service-card {
  background-image:url('assets/toiture-avant-apres.jpg')!important;
}
.service-html-card[href="service-facade.html"],
.premium-service-card[href="service-facade.html"],
a[href="service-facade.html"].service-card {
  background-image:url('assets/facade-avant-apres.jpg')!important;
}
.service-html-card[href="service-charpente.html"],
.premium-service-card[href="service-charpente.html"],
a[href="service-charpente.html"].service-card {
  background-image:url('assets/charpente-avant-apres.jpg')!important;
}
.service-html-card[href="service-velux-gouttieres.html"],
.premium-service-card[href="service-velux-gouttieres.html"],
a[href="service-velux-gouttieres.html"].service-card {
  background-image:url('assets/portail-avant-apres.jpg')!important;
}

/* ===== PAGES SERVICES FINALISÉES — ACCUEIL INTACT ===== */
.service-info-clean {
  background:#fff;
  color:#0b1118;
  padding:80px 7% 90px;
}
.service-info-clean .inner {
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:46px;
  align-items:start;
}
.service-info-clean .eyebrow {
  color:#c8a35f!important;
  font-weight:900;
  letter-spacing:.25em;
  text-transform:uppercase;
}
.service-info-clean h2 {
  color:#0b1118;
  font-size:44px;
  line-height:1.05;
  letter-spacing:-.045em;
  margin:10px 0 18px;
}
.service-info-clean p {
  color:#475569;
  font-size:17px;
  line-height:1.75;
  margin:0 0 14px;
}
.service-list-clean {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.service-list-clean div {
  background:#f7f7f4;
  border:1px solid #ececea;
  border-radius:16px;
  padding:18px 20px;
  color:#0b1118;
  font-weight:800;
}
.service-list-clean span {
  color:#c8a35f;
  margin-right:8px;
}
.service-actions-clean {
  margin-top:28px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.service-actions-clean a {
  text-decoration:none;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  padding:15px 20px;
  border-radius:10px;
  font-size:13px;
}
.service-actions-clean .gold {
  background:#c8a35f;
  color:#07101b;
}
.service-actions-clean .dark {
  background:#0b1118;
  color:#fff;
}
.final-cta-service {
  background:#fff;
  padding:0 7% 95px;
}
.final-cta-service .box {
  max-width:1180px;
  margin:0 auto;
  background:linear-gradient(90deg,#07101b,#121b29);
  border-radius:22px;
  color:#fff;
  padding:34px 38px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:center;
  box-shadow:0 28px 80px rgba(15,23,42,.18);
}
.final-cta-service h3 {
  color:#fff;
  font-size:30px;
  margin:0 0 8px;
}
.final-cta-service p {
  color:#cbd5e1;
  margin:0;
}
.final-cta-service .points {
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin-top:12px;
  color:#e5e7eb;
  font-size:14px;
}
.final-cta-service .points span:before {
  content:"✓ ";
  color:#c8a35f;
  font-weight:900;
}
.final-cta-service a {
  text-decoration:none;
  background:#c8a35f;
  color:#07101b;
  padding:16px 22px;
  border-radius:10px;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.06em;
}
@media(max-width:850px){
  .service-info-clean {
    padding:56px 20px 70px;
  }
  .service-info-clean .inner {
    grid-template-columns:1fr;
    gap:24px;
  }
  .service-info-clean h2 {
    font-size:31px;
  }
  .service-info-clean p {
    font-size:14.5px;
  }
  .service-list-clean {
    grid-template-columns:1fr;
  }
  .service-actions-clean a {
    width:100%;
    text-align:center;
  }
  .final-cta-service {
    padding:0 20px 90px;
  }
  .final-cta-service .box {
    grid-template-columns:1fr;
    padding:26px;
  }
  .final-cta-service h3 {
    font-size:23px;
  }
}


/* ===== V24 FINALE ===== */

/* Page Réalisations simplifiée */
.realisations-final-page {
  background:#fff;
  color:#0b1118;
  padding:120px 6% 95px;
}

.realisations-final-head {
  max-width:950px;
  margin:0 auto 42px;
  text-align:center;
}

.realisations-final-head .eyebrow {
  color:#c8a35f!important;
  font-weight:900;
  letter-spacing:.28em;
  text-transform:uppercase;
}

.realisations-final-head h1 {
  color:#0b1118;
  font-size:56px;
  line-height:1;
  letter-spacing:-.055em;
  margin:10px 0 16px;
}

.realisations-final-head p {
  color:#475569;
  font-size:18px;
  line-height:1.65;
  margin:0;
}

.realisations-final-image {
  max-width:1500px;
  margin:0 auto;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 32px 95px rgba(15,23,42,.14);
  border:1px solid #e8e6e1;
  background:#fff;
}

.realisations-final-image img {
  width:100%;
  display:block;
}

/* Suppression définitive des gros blocs noirs CTA sur pages services */
.final-cta-service,
.clean-service-action,
.proof-cta,
.service-premium-cta {
  display:none!important;
}

/* Petite ligne bénéfices discrète sous les boutons service */
.service-mini-proof {
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  margin-top:18px;
  color:#64748b;
  font-size:13px;
  font-weight:800;
}

.service-mini-proof span {
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.service-mini-proof span:before {
  content:"✓";
  color:#c8a35f;
  font-weight:900;
}

@media(max-width:850px){
  .realisations-final-page {
    padding:92px 18px 85px;
  }
  .realisations-final-head h1 {
    font-size:36px;
  }
  .realisations-final-head p {
    font-size:14.5px;
  }
  .realisations-final-image {
    border-radius:16px;
  }
  .service-mini-proof {
    font-size:12px;
    gap:10px;
  }
}

/* ===== Slider avis clients — remplacement unique Satisfaction Client ===== */
.testimonials-slider-section {
  background:#fff;
  color:#0b1118;
  padding:90px 6% 105px;
  overflow:hidden;
}

.testimonials-slider-head {
  max-width:900px;
  margin:0 auto 42px;
  text-align:center;
}

.testimonials-slider-head .eyebrow {
  color:#c8a35f!important;
  font-weight:900;
  letter-spacing:.28em;
  text-transform:uppercase;
}

.testimonials-slider-head h2 {
  color:#0b1118;
  font-size:52px;
  line-height:1;
  letter-spacing:-.05em;
  margin:10px 0 14px;
}

.testimonials-slider-head p {
  color:#475569;
  font-size:17px;
  line-height:1.6;
  margin:0;
}

.testimonials-track-wrap {
  max-width:1500px;
  margin:0 auto;
  overflow:hidden;
}

.testimonials-track {
  display:flex;
  gap:22px;
  width:max-content;
  animation:testimonialSlide 42s linear infinite;
}

.testimonials-track:hover {
  animation-play-state:paused;
}

.testimonial-card {
  width:340px;
  min-height:340px;
  background:#f7f7f4;
  border:1px solid #e8e6e1;
  border-radius:22px;
  padding:28px;
  box-shadow:0 20px 55px rgba(15,23,42,.08);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.testimonial-stars {
  color:#c8a35f;
  letter-spacing:2px;
  font-size:18px;
  margin-bottom:16px;
}

.testimonial-rating {
  color:#64748b;
  font-size:13px;
  font-weight:900;
  margin-bottom:14px;
}

.testimonial-card p {
  color:#374151;
  font-size:15px;
  line-height:1.62;
  margin:0 0 22px;
}

.testimonial-author {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:auto;
}

.testimonial-author strong {
  color:#0b1118;
  font-size:17px;
}

.testimonial-author span {
  color:#64748b;
  font-size:13px;
}

.testimonial-badge {
  margin-top:30px;
  text-align:center;
  color:#64748b;
  font-size:13px;
  font-weight:800;
}

.testimonial-badge strong {
  color:#0b1118;
}

@keyframes testimonialSlide {
  from { transform:translateX(0); }
  to { transform:translateX(-50%); }
}

@media(max-width:850px){
  .testimonials-slider-section {
    padding:62px 18px 92px;
  }
  .testimonials-slider-head h2 {
    font-size:34px;
  }
  .testimonials-slider-head p {
    font-size:14.5px;
  }
  .testimonial-card {
    width:300px;
    min-height:300px;
    padding:24px;
  }
  .testimonial-card p {
    font-size:13.7px;
  }
  .testimonials-track {
    animation-duration:48s;
  }
}


/* ===== Logo final CM Couverture intégré ===== */
.logo-final-link,
.brand.logo-final-link {
  display:flex!important;
  align-items:center!important;
  text-decoration:none!important;
  line-height:0!important;
}

.site-logo-img {
  height:54px;
  width:auto;
  max-width:210px;
  object-fit:contain;
  display:block;
  border-radius:6px;
  background:#fff;
  padding:4px 8px;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}

.footer-logo-final .site-logo-img,
footer .site-logo-img {
  height:64px;
  max-width:240px;
}

@media(max-width:850px){
  .site-logo-img {
    height:42px;
    max-width:165px;
    padding:3px 6px;
  }
}


/* ===== Finition carte zone d'intervention ===== */
.map-zone-section{
  background:#fff;
  color:#0b1118;
  padding:70px 6% 85px;
}

.map-zone-inner{
  max-width:1300px;
  margin:0 auto;
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:34px;
  align-items:center;
}

.map-zone-text .eyebrow{
  color:#c8a35f!important;
  font-weight:900;
  letter-spacing:.26em;
  text-transform:uppercase;
}

.map-zone-text h2{
  color:#0b1118;
  font-size:38px;
  line-height:1.05;
  letter-spacing:-.04em;
  margin:10px 0 14px;
}

.map-zone-text p{
  color:#475569;
  font-size:16px;
  line-height:1.7;
  margin:0 0 18px;
}

.map-zone-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.map-zone-tags span{
  background:#f7f7f4;
  border:1px solid #e8e6e1;
  color:#0b1118;
  padding:9px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
}

.map-zone-box{
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(15,23,42,.13);
  border:1px solid #e8e6e1;
  background:#f7f7f4;
  min-height:330px;
}

.map-zone-box iframe{
  width:100%;
  height:350px;
  border:0;
  display:block;
  filter:saturate(.92) contrast(1.02);
}

@media(max-width:850px){
  .map-zone-section{
    padding:52px 18px 82px;
  }
  .map-zone-inner{
    grid-template-columns:1fr;
    gap:22px;
  }
  .map-zone-text h2{
    font-size:28px;
  }
  .map-zone-text p{
    font-size:14.5px;
  }
  .map-zone-box iframe{
    height:280px;
  }
}

/* ===== V26 Galerie complète blanc / rouge artisan ===== */
:root{
  --chantier-red:#d61f26;
  --chantier-dark:#1f1f1f;
  --chantier-light:#f7f7f7;
  --chantier-border:#e9e9e9;
}
body{background:#fff!important;color:#222!important}
header,.header,.navbar{background:#fff!important;border-bottom:2px solid var(--chantier-red)!important}
a{color:inherit}
button,.btn,.primary,.nav-cta,.cta,.hero a[href*="tel"],.hero a[href*="contact"]{
  background:var(--chantier-red)!important;
  color:#fff!important;
  border-color:var(--chantier-red)!important;
}
h1,h2,h3{color:#111!important}
.eyebrow,.accent,.section-label{color:var(--chantier-red)!important}
.hero,.section,.services,.contact{background:#fff!important}
.v26-home-gallery{padding:70px 6%;background:#fff}
.v26-home-gallery .v26-title{max-width:950px;margin:0 auto 30px;text-align:center}
.v26-home-gallery h2{font-size:clamp(30px,4vw,48px);margin:0 0 12px}
.v26-home-gallery p{font-size:18px;color:#555;margin:0 auto;max-width:780px}
.v26-featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1180px;margin:34px auto}
.v26-featured-card{position:relative;overflow:hidden;border-radius:18px;min-height:280px;background:#ddd;box-shadow:0 12px 30px rgba(0,0,0,.10)}
.v26-featured-card img{width:100%;height:100%;min-height:280px;object-fit:cover;display:block;transition:transform .45s ease}
.v26-featured-card:hover img{transform:scale(1.04)}
.v26-featured-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.72))}
.v26-featured-card strong{position:absolute;z-index:2;left:20px;right:20px;bottom:20px;color:#fff;font-size:22px}
.v26-gallery-section{padding:70px 6%;background:var(--chantier-light)}
.v26-gallery-head{max-width:1180px;margin:0 auto 30px;display:flex;gap:20px;align-items:end;justify-content:space-between}
.v26-gallery-head h2{font-size:clamp(30px,4vw,46px);margin:0}
.v26-gallery-head p{color:#555;max-width:620px}
.v26-filter-note{color:var(--chantier-red);font-weight:700}
.v26-gallery-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.v26-gallery-item{background:#fff;border:1px solid var(--chantier-border);border-radius:16px;overflow:hidden;box-shadow:0 8px 22px rgba(0,0,0,.06)}
.v26-gallery-item img{width:100%;height:220px;object-fit:cover;display:block}
.v26-gallery-item div{padding:14px 16px}
.v26-gallery-item span{display:inline-block;color:var(--chantier-red);font-weight:800;font-size:13px;margin-bottom:4px}
.v26-gallery-item h3{font-size:16px;margin:0;color:#222!important}
@media(max-width:820px){
  .v26-featured-grid{grid-template-columns:1fr}
  .v26-gallery-head{display:block}
}

/* ===== V27 Carrousel Avant / Après interactif ===== */
.before-after-section{
  padding:80px 6%;
  background:#fff;
  color:#222;
}
.before-after-wrap{
  max-width:1180px;
  margin:0 auto;
}
.before-after-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:28px;
}
.before-after-heading h2{
  font-size:clamp(32px,4.2vw,54px);
  margin:0;
  color:#111!important;
}
.before-after-heading p{
  margin:10px 0 0;
  max-width:700px;
  color:#555;
  font-size:18px;
}
.before-after-kicker{
  color:#d61f26;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:13px;
}
.ba-controls{
  display:flex;
  gap:10px;
  flex-shrink:0;
}
.ba-controls button{
  width:46px;
  height:46px;
  border-radius:50%;
  border:1px solid #d61f26;
  background:#d61f26!important;
  color:#fff!important;
  cursor:pointer;
  font-size:22px;
  line-height:1;
}
.ba-carousel{
  position:relative;
  overflow:hidden;
}
.ba-track{
  display:flex;
  transition:transform .45s ease;
}
.ba-slide{
  min-width:100%;
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:26px;
  align-items:stretch;
}
.ba-compare{
  position:relative;
  height:560px;
  border-radius:24px;
  overflow:hidden;
  background:#ddd;
  box-shadow:0 18px 45px rgba(0,0,0,.14);
  user-select:none;
}
.ba-compare img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.ba-after-wrap{
  position:absolute;
  inset:0;
  width:50%;
  overflow:hidden;
}
.ba-after-wrap img{
  width:100%;
  height:100%;
  max-width:none;
}
.ba-range{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  cursor:ew-resize;
  z-index:5;
}
.ba-line{
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:3px;
  background:#fff;
  z-index:4;
  box-shadow:0 0 0 1px rgba(0,0,0,.18);
}
.ba-handle{
  position:absolute;
  top:50%;
  left:50%;
  width:56px;
  height:56px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:#d61f26;
  color:#fff;
  display:grid;
  place-items:center;
  z-index:6;
  box-shadow:0 10px 25px rgba(0,0,0,.25);
  font-weight:900;
}
.ba-label{
  position:absolute;
  top:18px;
  z-index:7;
  color:#fff;
  background:rgba(0,0,0,.62);
  backdrop-filter:blur(8px);
  padding:9px 14px;
  border-radius:999px;
  font-weight:900;
  font-size:13px;
}
.ba-label.before{left:18px}
.ba-label.after{right:18px;background:#d61f26}
.ba-info{
  border:1px solid #eee;
  border-radius:24px;
  padding:34px;
  background:#f7f7f7;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.ba-info span{
  color:#d61f26;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:13px;
}
.ba-info h3{
  font-size:clamp(26px,3vw,38px);
  line-height:1.05;
  margin:12px 0;
  color:#111!important;
}
.ba-info p{
  color:#555;
  font-size:18px;
  line-height:1.55;
}
.ba-dots{
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:24px;
}
.ba-dot{
  width:10px;
  height:10px;
  border-radius:99px;
  border:none;
  background:#cfcfcf!important;
  cursor:pointer;
  padding:0;
}
.ba-dot.active{
  width:30px;
  background:#d61f26!important;
}
@media(max-width:900px){
  .before-after-heading{display:block}
  .ba-controls{margin-top:18px}
  .ba-slide{grid-template-columns:1fr}
  .ba-compare{height:420px}
}
@media(max-width:560px){
  .before-after-section{padding:54px 18px}
  .ba-compare{height:340px;border-radius:18px}
  .ba-info{padding:24px;border-radius:18px}
}

/* ===== V28 correction : galerie 46 photos à la place des 4 catégories + avant/après corrigé ===== */
.v28-work-showcase{
  background:#fff;
  padding:70px 6% 50px;
  border-top:1px solid #f0f0f0;
}
.v28-showcase-head{
  max-width:1180px;
  margin:0 auto 26px;
}
.v28-showcase-head p,
.v28-ba-head p{
  color:#d61f26;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin:0 0 8px;
  font-size:13px;
}
.v28-showcase-head h2,
.v28-ba-head h2{
  color:#111!important;
  font-size:clamp(32px,4vw,54px);
  margin:0 0 10px;
  line-height:1;
}
.v28-showcase-head span,
.v28-ba-head span{
  display:block;
  max-width:850px;
  color:#555;
  font-size:18px;
  line-height:1.45;
}
.v28-photo-carousel{
  max-width:1240px;
  margin:0 auto;
  position:relative;
}
.v28-photo-viewport{
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  padding:8px 0 18px;
}
.v28-photo-viewport::-webkit-scrollbar{display:none}
.v28-photo-track{
  display:flex;
  gap:18px;
}
.v28-photo-card{
  flex:0 0 310px;
  height:390px;
  position:relative;
  border-radius:22px;
  overflow:hidden;
  background:#eee;
  scroll-snap-align:start;
  box-shadow:0 14px 34px rgba(0,0,0,.12);
}
.v28-photo-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .45s ease;
}
.v28-photo-card:hover img{transform:scale(1.04)}
.v28-photo-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.72));
}
.v28-photo-card div{
  position:absolute;
  z-index:2;
  left:18px;
  right:18px;
  bottom:18px;
  color:#fff;
}
.v28-photo-card span{
  display:inline-block;
  background:#d61f26;
  color:#fff;
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  margin-bottom:8px;
}
.v28-photo-card strong{
  display:block;
  font-size:21px;
}
.v28-photo-btn{
  position:absolute;
  top:45%;
  transform:translateY(-50%);
  z-index:5;
  width:50px;
  height:50px;
  border-radius:50%;
  border:none;
  background:#d61f26!important;
  color:#fff!important;
  font-size:30px;
  cursor:pointer;
  box-shadow:0 10px 25px rgba(0,0,0,.18);
}
.v28-photo-prev{left:-18px}
.v28-photo-next{right:-18px}

.v28-before-after{
  background:#f7f7f7;
  padding:65px 6% 80px;
}
.v28-ba-head{
  max-width:1180px;
  margin:0 auto 28px;
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:24px;
}
.v28-ba-arrows{
  display:flex;
  gap:10px;
}
.v28-ba-arrows button{
  width:48px;
  height:48px;
  border-radius:50%;
  border:none;
  background:#d61f26!important;
  color:#fff!important;
  font-size:28px;
  cursor:pointer;
}
.v28-ba-carousel{
  max-width:1180px;
  margin:0 auto;
  overflow:hidden;
}
.v28-ba-track{
  display:flex;
  transition:transform .45s ease;
}
.v28-ba-slide{
  min-width:100%;
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:26px;
  align-items:stretch;
}
.v28-compare{
  position:relative;
  height:560px;
  border-radius:24px;
  overflow:hidden;
  background:#ddd;
  box-shadow:0 18px 45px rgba(0,0,0,.16);
}
.v28-compare img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.v28-after-mask{
  position:absolute;
  inset:0;
  width:50%;
  overflow:hidden;
}
.v28-after-img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
}
.v28-ba-range{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  cursor:ew-resize;
  z-index:6;
}
.v28-ba-line{
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:3px;
  background:#fff;
  z-index:4;
  box-shadow:0 0 0 1px rgba(0,0,0,.25);
}
.v28-ba-handle{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:58px;
  height:58px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#d61f26;
  color:#fff;
  z-index:5;
  font-weight:900;
  box-shadow:0 12px 28px rgba(0,0,0,.28);
}
.v28-label{
  position:absolute;
  top:18px;
  z-index:7;
  color:#fff;
  padding:9px 14px;
  border-radius:999px;
  font-weight:900;
  font-size:13px;
}
.v28-label-before{left:18px;background:rgba(0,0,0,.62)}
.v28-label-after{right:18px;background:#d61f26}
.v28-ba-text{
  background:#fff;
  border:1px solid #eee;
  border-radius:24px;
  padding:34px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.v28-ba-text span{
  color:#d61f26;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:13px;
}
.v28-ba-text h3{
  color:#111!important;
  font-size:clamp(28px,3vw,42px);
  margin:12px 0;
  line-height:1;
}
.v28-ba-text p{
  color:#555;
  font-size:18px;
  line-height:1.55;
}
.v28-ba-dots{
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:24px;
}
.v28-ba-dot{
  width:10px;
  height:10px;
  border:none;
  border-radius:99px;
  padding:0;
  background:#cfcfcf!important;
  cursor:pointer;
}
.v28-ba-dot.active{
  width:32px;
  background:#d61f26!important;
}
@media(max-width:900px){
  .v28-ba-head{display:block}
  .v28-ba-arrows{margin-top:18px}
  .v28-ba-slide{grid-template-columns:1fr}
  .v28-compare{height:430px}
  .v28-photo-card{flex-basis:270px;height:350px}
}
@media(max-width:560px){
  .v28-work-showcase,.v28-before-after{padding-left:18px;padding-right:18px}
  .v28-photo-card{flex-basis:245px;height:330px}
  .v28-photo-prev{left:4px}
  .v28-photo-next{right:4px}
  .v28-compare{height:340px;border-radius:18px}
  .v28-ba-text{border-radius:18px;padding:24px}
}

/* ===== V30 Premium Magazine ===== */
:root{
  --v30-red:#d61f26;
  --v30-dark:#131313;
  --v30-soft:#f6f5f3;
  --v30-border:#e9e6e2;
}
body{background:#fff!important;color:#222!important}
header,.header,.navbar{background:#fff!important;border-bottom:2px solid var(--v30-red)!important}
button,.btn,.primary,.nav-cta,.cta{background:var(--v30-red)!important;color:#fff!important;border-color:var(--v30-red)!important}
.v30-premium-intro{padding:86px 6% 48px;background:#fff}
.v30-wrap{max-width:1240px;margin:0 auto}
.v30-editorial-head{display:grid;grid-template-columns:1fr .82fr;gap:40px;align-items:end;margin-bottom:30px}
.v30-kicker{color:var(--v30-red);font-weight:900;text-transform:uppercase;letter-spacing:.09em;font-size:13px;margin:0 0 10px}
.v30-editorial-head h2{font-size:clamp(38px,5vw,72px);line-height:.92;margin:0;color:#111!important;letter-spacing:-.04em}
.v30-editorial-head p{font-size:19px;line-height:1.55;color:#555;margin:0}
.v30-proof-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}
.v30-proof{border:1px solid var(--v30-border);border-radius:18px;padding:18px;background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.05)}
.v30-proof strong{display:block;font-size:24px;color:#111}
.v30-proof span{display:block;color:#666;margin-top:4px}
.v30-magazine{background:var(--v30-soft);padding:54px 6% 70px;overflow:hidden}
.v30-gallery-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.v30-gallery-top h2{font-size:clamp(32px,4vw,54px);line-height:1;margin:0;color:#111!important}
.v30-gallery-top p{max-width:650px;color:#555;font-size:18px;line-height:1.5}
.v30-gallery-shell{position:relative}
.v30-mag-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:10px 0 22px}
.v30-mag-viewport::-webkit-scrollbar{display:none}
.v30-mag-track{display:flex;gap:18px}
.v30-mag-card{flex:0 0 330px;height:430px;position:relative;border-radius:28px;overflow:hidden;background:#ddd;scroll-snap-align:start;box-shadow:0 18px 42px rgba(0,0,0,.15)}
.v30-mag-card:nth-child(1),.v30-mag-card:nth-child(7),.v30-mag-card:nth-child(13){flex-basis:460px}
.v30-mag-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.v30-mag-card:hover img{transform:scale(1.045)}
.v30-mag-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 38%,rgba(0,0,0,.8))}
.v30-mag-caption{position:absolute;z-index:2;left:20px;right:20px;bottom:20px;color:#fff}
.v30-mag-caption span{display:inline-block;background:var(--v30-red);padding:7px 11px;border-radius:999px;font-size:12px;font-weight:900;margin-bottom:10px}
.v30-mag-caption strong{display:block;font-size:24px;line-height:1.05}
.v30-gallery-btn{position:absolute;top:45%;transform:translateY(-50%);z-index:5;width:54px;height:54px;border:0;border-radius:50%;background:var(--v30-red)!important;color:#fff!important;font-size:32px;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.2)}
.v30-gallery-prev{left:-18px}.v30-gallery-next{right:-18px}
.v30-ba-section{padding:76px 6% 92px;background:#fff}
.v30-ba-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}
.v30-ba-head h2{font-size:clamp(34px,4.6vw,64px);line-height:.98;margin:0;color:#111!important;letter-spacing:-.035em}
.v30-ba-head p{font-size:18px;color:#555;line-height:1.5;margin:10px 0 0;max-width:760px}
.v30-ba-arrows{display:flex;gap:10px;flex-shrink:0}
.v30-ba-arrows button{width:52px;height:52px;border:0;border-radius:50%;background:var(--v30-red)!important;color:#fff!important;font-size:32px;cursor:pointer}
.v30-ba-carousel{overflow:hidden}
.v30-ba-track{display:flex;transition:transform .48s ease}
.v30-ba-slide{min-width:100%;display:grid;grid-template-columns:1.35fr .65fr;gap:28px;align-items:stretch}
.v30-compare,.v30-magazine-before-after{position:relative;height:600px;border-radius:30px;overflow:hidden;background:#ddd;box-shadow:0 22px 56px rgba(0,0,0,.18)}
.v30-compare img,.v30-magazine-before-after img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.v30-after-mask{position:absolute;inset:0;width:50%;overflow:hidden}
.v30-after-mask img{width:100%!important;height:100%!important;max-width:none!important}
.v30-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:6}
.v30-line{position:absolute;top:0;bottom:0;left:50%;width:3px;background:#fff;z-index:4;box-shadow:0 0 0 1px rgba(0,0,0,.22)}
.v30-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--v30-red);color:#fff;z-index:5;font-weight:900;box-shadow:0 14px 32px rgba(0,0,0,.32)}
.v30-label,.v30-page-badge{position:absolute;top:20px;z-index:7;color:#fff;padding:10px 15px;border-radius:999px;font-weight:900;font-size:13px}
.v30-before{left:20px;background:rgba(0,0,0,.65)}
.v30-after{right:20px;background:var(--v30-red)}
.v30-page-badge{left:20px;background:var(--v30-red)}
.v30-ba-info{background:var(--v30-soft);border:1px solid var(--v30-border);border-radius:30px;padding:38px;display:flex;flex-direction:column;justify-content:center}
.v30-ba-info span{color:var(--v30-red);font-weight:900;text-transform:uppercase;letter-spacing:.09em;font-size:13px}
.v30-ba-info h3{font-size:clamp(30px,3.4vw,48px);line-height:.98;margin:13px 0;color:#111!important}
.v30-ba-info p{font-size:18px;line-height:1.55;color:#555;margin:0}
.v30-dots{display:flex;justify-content:center;gap:8px;margin-top:26px;flex-wrap:wrap}
.v30-dot{width:10px;height:10px;border:0;border-radius:999px;background:#cfcfcf!important;padding:0;cursor:pointer}
.v30-dot.active{width:34px;background:var(--v30-red)!important}
.v30-services{background:#111;color:#fff;padding:72px 6%}
.v30-services h2{font-size:clamp(32px,4vw,56px);line-height:1;margin:0 0 24px;color:#fff!important}
.v30-service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.v30-service{border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:22px;background:rgba(255,255,255,.05)}
.v30-service strong{display:block;font-size:20px;margin-bottom:8px;color:#fff}
.v30-service span{color:#d6d6d6;line-height:1.45}
@media(max-width:930px){
  .v30-editorial-head,.v30-ba-slide{grid-template-columns:1fr}
  .v30-ba-head,.v30-gallery-top{display:block}
  .v30-ba-arrows{margin-top:18px}
  .v30-proof-row{grid-template-columns:repeat(2,1fr)}
  .v30-compare,.v30-magazine-before-after{height:430px}
}
@media(max-width:580px){
  .v30-premium-intro,.v30-magazine,.v30-ba-section,.v30-services{padding-left:18px;padding-right:18px}
  .v30-mag-card,.v30-mag-card:nth-child(1),.v30-mag-card:nth-child(7),.v30-mag-card:nth-child(13){flex-basis:265px;height:350px}
  .v30-gallery-prev{left:4px}.v30-gallery-next{right:4px}
  .v30-proof-row{grid-template-columns:1fr}
  .v30-compare,.v30-magazine-before-after{height:340px;border-radius:20px}
  .v30-ba-info{padding:24px;border-radius:20px}
}


/* V34 - nettoyage galerie premium */
.v30-mag-card[data-cat="Avant"] .v30-mag-caption span,
.v30-mag-card[data-cat="Avant / Après"] .v30-mag-caption span { background:#b92b21; }
.v30-mag-card[data-cat="Après"] .v30-mag-caption span { background:#1f7a4d; }
.v30-gallery-top p { max-width: 660px; }
.v30-ba-text h3 { margin-top: 6px; }


/* ===== V40 - Correction lisibilité uniquement ===== */
/* Ne modifie ni les photos, ni l'ordre, ni la structure de la V39. */

.eyebrow,
.kicker,
.section-label,
.v30-kicker,
.v29-kicker,
.v28-showcase-head p,
.v28-ba-head p,
.v30-ba-info span,
.v30-mag-caption span,
.v30-page-badge,
.v30-label,
[class*="expertise"],
[class*="Expertise"] {
  color: #ffffff !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.65) !important;
}

/* Lorsque ces textes sont sur fond clair, on force un rouge lisible */
section:not(.hero):not([class*="drone"]):not([class*="Drone"]) .eyebrow,
section:not(.hero):not([class*="drone"]):not([class*="Drone"]) .kicker,
section:not(.hero):not([class*="drone"]):not([class*="Drone"]) .v30-kicker,
section:not(.hero):not([class*="drone"]):not([class*="Drone"]) .v29-kicker {
  color: #d61f26 !important;
  text-shadow: none !important;
}

/* Hero / image drone / inspection drone : textes blancs visibles */
.hero,
.drone,
.drone-section,
.inspection-drone,
#drone,
#inspection-drone,
[class*="drone"],
[class*="Drone"] {
  color: #ffffff !important;
}

.hero h1,
.hero h2,
.hero h3,
.hero p,
.drone h1,
.drone h2,
.drone h3,
.drone p,
.drone-section h1,
.drone-section h2,
.drone-section h3,
.drone-section p,
.inspection-drone h1,
.inspection-drone h2,
.inspection-drone h3,
.inspection-drone p,
#drone h1,
#drone h2,
#drone h3,
#drone p,
#inspection-drone h1,
#inspection-drone h2,
#inspection-drone h3,
#inspection-drone p,
[class*="drone"] h1,
[class*="drone"] h2,
[class*="drone"] h3,
[class*="drone"] p,
[class*="Drone"] h1,
[class*="Drone"] h2,
[class*="Drone"] h3,
[class*="Drone"] p {
  color: #ffffff !important;
  text-shadow: 0 3px 12px rgba(0,0,0,.85) !important;
}

/* Contact : textes lisibles sur fond clair */
.contact,
.contact-section,
#contact,
[class*="contact"],
[class*="Contact"] {
  color: #1a1a1a !important;
}

.contact h1,
.contact h2,
.contact h3,
.contact p,
.contact li,
.contact label,
.contact a,
.contact-section h1,
.contact-section h2,
.contact-section h3,
.contact-section p,
.contact-section li,
.contact-section label,
.contact-section a,
#contact h1,
#contact h2,
#contact h3,
#contact p,
#contact li,
#contact label,
#contact a,
[class*="contact"] h1,
[class*="contact"] h2,
[class*="contact"] h3,
[class*="contact"] p,
[class*="contact"] li,
[class*="contact"] label,
[class*="contact"] a,
[class*="Contact"] h1,
[class*="Contact"] h2,
[class*="Contact"] h3,
[class*="Contact"] p,
[class*="Contact"] li,
[class*="Contact"] label,
[class*="Contact"] a {
  color: #1a1a1a !important;
  text-shadow: none !important;
}

/* Contact sur fond rouge/noir éventuel : garder blanc */
.contact [style*="background:#d61f26"],
.contact [style*="background: #d61f26"],
#contact [style*="background:#d61f26"],
#contact [style*="background: #d61f26"],
[class*="contact"] .dark,
[class*="contact"] .red {
  color: #ffffff !important;
}

/* Amélioration générale des textes gris trop pâles */
.text-muted,
.muted,
.subtitle,
.lead,
small,
[class*="muted"] {
  color: #4a4a4a !important;
}

/* Si texte gris sur image sombre */
.hero .text-muted,
.hero .muted,
[class*="drone"] .text-muted,
[class*="drone"] .muted,
[class*="Drone"] .text-muted,
[class*="Drone"] .muted {
  color: #ffffff !important;
  text-shadow: 0 3px 12px rgba(0,0,0,.85) !important;
}


/* V41 - correction accueil uniquement */
.hero h1,
.hero-title,
.hero .title{
 color:#111111 !important;
 text-shadow:none !important;
}

.hero p,
.hero .subtitle,
.hero .lead{
 color:#444444 !important;
 text-shadow:none !important;
}

.hero .eyebrow,
.hero .kicker,
.hero .badge,
.hero .stat{
 color:#d61f26 !important;
 text-shadow:none !important;
}

/* Drone reste blanc */
[class*="drone"] h1,
[class*="drone"] h2,
[class*="drone"] h3,
[class*="drone"] p,
#inspection-drone h1,
#inspection-drone h2,
#inspection-drone h3,
#inspection-drone p{
 color:#fff !important;
 text-shadow:0 2px 8px rgba(0,0,0,.8) !important;
}


/* V42 - Inspection drone : texte noir sur fond clair */
/* Photos, galerie, design et structure inchangés. */

.inspection-drone,
#inspection-drone,
.drone-page,
.page-drone,
[class*="inspection"],
[class*="Inspection"] {
  color: #111111 !important;
}

.inspection-drone h1,
.inspection-drone h2,
.inspection-drone h3,
.inspection-drone h4,
.inspection-drone p,
.inspection-drone li,
.inspection-drone span,
#inspection-drone h1,
#inspection-drone h2,
#inspection-drone h3,
#inspection-drone h4,
#inspection-drone p,
#inspection-drone li,
#inspection-drone span,
.drone-page h1,
.drone-page h2,
.drone-page h3,
.drone-page h4,
.drone-page p,
.drone-page li,
.drone-page span,
.page-drone h1,
.page-drone h2,
.page-drone h3,
.page-drone h4,
.page-drone p,
.page-drone li,
.page-drone span,
[class*="inspection"] h1,
[class*="inspection"] h2,
[class*="inspection"] h3,
[class*="inspection"] h4,
[class*="inspection"] p,
[class*="inspection"] li,
[class*="inspection"] span,
[class*="Inspection"] h1,
[class*="Inspection"] h2,
[class*="Inspection"] h3,
[class*="Inspection"] h4,
[class*="Inspection"] p,
[class*="Inspection"] li,
[class*="Inspection"] span {
  color: #111111 !important;
  text-shadow: none !important;
}

.inspection-drone .eyebrow,
.inspection-drone .kicker,
.inspection-drone .section-label,
#inspection-drone .eyebrow,
#inspection-drone .kicker,
#inspection-drone .section-label,
.drone-page .eyebrow,
.drone-page .kicker,
.drone-page .section-label,
.page-drone .eyebrow,
.page-drone .kicker,
.page-drone .section-label,
[class*="inspection"] .eyebrow,
[class*="inspection"] .kicker,
[class*="inspection"] .section-label,
[class*="Inspection"] .eyebrow,
[class*="Inspection"] .kicker,
[class*="Inspection"] .section-label {
  color: #d61f26 !important;
  text-shadow: none !important;
  letter-spacing: .12em;
}

/* Cartes avantages inspection drone */
.inspection-drone .card,
.inspection-drone [class*="card"],
#inspection-drone .card,
#inspection-drone [class*="card"],
.drone-page .card,
.drone-page [class*="card"],
.page-drone .card,
.page-drone [class*="card"],
[class*="inspection"] .card,
[class*="inspection"] [class*="card"],
[class*="Inspection"] .card,
[class*="Inspection"] [class*="card"] {
  color: #111111 !important;
}

.inspection-drone .card h3,
.inspection-drone .card p,
.inspection-drone [class*="card"] h3,
.inspection-drone [class*="card"] p,
#inspection-drone .card h3,
#inspection-drone .card p,
#inspection-drone [class*="card"] h3,
#inspection-drone [class*="card"] p,
.drone-page .card h3,
.drone-page .card p,
.drone-page [class*="card"] h3,
.drone-page [class*="card"] p,
.page-drone .card h3,
.page-drone .card p,
.page-drone [class*="card"] h3,
.page-drone [class*="card"] p,
[class*="inspection"] .card h3,
[class*="inspection"] .card p,
[class*="inspection"] [class*="card"] h3,
[class*="inspection"] [class*="card"] p,
[class*="Inspection"] .card h3,
[class*="Inspection"] .card p,
[class*="Inspection"] [class*="card"] h3,
[class*="Inspection"] [class*="card"] p {
  color: #222222 !important;
  text-shadow: none !important;
}

/* Sécurité contre la règle V41 qui forçait les textes drone en blanc */
body .inspection-drone *,
body #inspection-drone *,
body .drone-page *,
body .page-drone * {
  text-shadow: none !important;
}
