
:root{--blue:#469ddc;--yellow:#fdef50;--ink:#1c1d1d;--grey:#a2a7aa;--soft:#f6f8fa;--line:#e5e9ed;--white:#fff;--shadow:0 18px 45px rgba(28,29,29,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.6}img{max-width:100%;display:block}a{color:inherit}.container{width:min(1180px,92%);margin:auto}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.icon.sm{width:17px;height:17px}.icon.lg{width:36px;height:36px}.topbar{background:var(--ink);color:#fff;font-size:13px}.topbar .container{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:18px}.topbar-items{display:flex;gap:24px;align-items:center}.topbar-item{display:flex;gap:8px;align-items:center}.topbar strong{color:var(--yellow)}
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.nav{height:92px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;text-decoration:none}.brand img{width:128px;height:74px;object-fit:contain}.menu{display:flex;align-items:center;gap:26px}.menu a{text-decoration:none;font-weight:700;font-size:14px}.menu a:hover{color:var(--blue)}.nav-actions{display:flex;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;text-decoration:none;padding:14px 19px;font-weight:800;border-radius:5px;transition:.25s;cursor:pointer;font-size:14px}.btn-yellow{background:var(--yellow);color:var(--ink)}.btn-yellow:hover{transform:translateY(-2px);filter:brightness(.98)}.btn-blue{background:var(--blue);color:#fff}.btn-blue:hover{transform:translateY(-2px);filter:brightness(.95)}.btn-dark{background:var(--ink);color:#fff}.btn-outline{border:1px solid rgba(255,255,255,.75);color:#fff;background:transparent}.btn-outline:hover{background:#fff;color:var(--ink)}
.hero{position:relative;min-height:650px;display:flex;align-items:center;color:#fff;background-size:cover;background-position:center}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,29,29,.90) 0%,rgba(28,29,29,.72) 45%,rgba(28,29,29,.24) 100%)}.hero .container{position:relative;z-index:2}.hero-content{max-width:760px}.eyebrow{display:inline-flex;gap:8px;align-items:center;text-transform:uppercase;letter-spacing:1.5px;font-weight:900;font-size:12px;color:var(--yellow)}.hero h1{font-size:clamp(40px,4.8vw,58px);line-height:1.08;letter-spacing:-.7px;margin:18px 0 20px;max-width:800px}.hero p{font-size:19px;max-width:680px;color:#f1f1f1;margin:0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-badges{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.hero-badge{display:flex;gap:9px;align-items:center;padding:10px 13px;border:1px solid rgba(255,255,255,.23);background:rgba(255,255,255,.08);border-radius:5px;font-size:13px;font-weight:700}
.trust-strip{background:var(--blue);color:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-item{padding:24px 22px;display:flex;gap:14px;align-items:center;border-right:1px solid rgba(255,255,255,.2)}.trust-item:last-child{border-right:0}.trust-item strong{display:block;font-size:18px}.trust-item span{display:block;font-size:12px;opacity:.88}.trust-icon{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.14);flex:0 0 46px}.trust-icon .icon{display:block;width:21px;height:21px;margin:0}
.section{padding:88px 0}.section.soft{background:var(--soft)}.section.dark{background:var(--ink);color:#fff}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}.section-head .copy{max-width:720px}.kicker{color:var(--blue);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:1.6px}.section h2{font-size:clamp(32px,4vw,48px);line-height:1.1;letter-spacing:-1.6px;margin:9px 0 14px}.lead{font-size:18px;color:#5d646a}.dark .lead{color:#c8cdd1}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.service-card{background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);border:1px solid rgba(70,157,220,.34);border-top:4px solid var(--blue);border-radius:10px;overflow:hidden;transition:.32s ease;box-shadow:0 10px 26px rgba(70,157,220,.12)}.service-card:hover{transform:translateY(-9px);border-color:rgba(70,157,220,.7);box-shadow:0 22px 48px rgba(70,157,220,.28)}.service-photo{aspect-ratio:4/3;overflow:hidden;background:#dfe5ea}.service-photo img{width:100%;height:100%;object-fit:cover;transition:.5s}.service-card:hover .service-photo img{transform:scale(1.035)}.service-body{padding:20px 20px 22px}.service-title{display:flex;align-items:center;gap:11px}.service-icon{width:42px;height:42px;border-radius:9px;background:linear-gradient(145deg,#e7f4fd,#fff);border:1px solid rgba(70,157,220,.28);color:var(--blue);display:grid;place-items:center;box-shadow:0 6px 16px rgba(70,157,220,.12)}.service-body h3{font-size:20px;margin:0}.service-body p{color:#626a70;font-size:14px;margin:12px 0 16px;min-height:66px}.text-link{display:inline-flex;align-items:center;gap:7px;color:var(--blue);font-weight:900;text-decoration:none;font-size:13px}.text-link:hover{gap:10px}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}.split-media{position:relative}.split-media img{border-radius:8px;width:100%;height:520px;object-fit:cover}.accent-card{position:absolute;right:-20px;bottom:-22px;width:230px;background:var(--yellow);padding:22px;border-radius:8px;box-shadow:var(--shadow)}.accent-card strong{font-size:34px;display:block;line-height:1}.feature-list{display:grid;gap:15px;margin:26px 0}.feature{display:flex;gap:13px;align-items:flex-start}.feature .mark{width:26px;height:26px;border-radius:50%;background:#eef7fd;color:var(--blue);display:grid;place-items:center;flex:0 0 auto;margin-top:1px}.feature strong{display:block}.feature span{font-size:14px;color:#687078}
.quote-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:0;border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}.quote-copy{background:var(--ink);color:#fff;padding:48px}.quote-copy h2{margin-top:8px}.quote-copy p{color:#c9cdd0}.quote-form{background:#fff;padding:44px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:800}.field input,.field select,.field textarea{border:1px solid #dfe4e8;padding:13px 14px;border-radius:5px;font:inherit;background:#fff}.field textarea{min-height:110px;resize:vertical}.form-note{font-size:11px;color:#7b8288;margin-top:10px}
.before-after{display:grid;grid-template-columns:1fr 1fr;gap:18px}.ba{position:relative;border-radius:8px;overflow:hidden}.ba img{width:100%;height:380px;object-fit:cover}.ba-label{position:absolute;left:16px;top:16px;background:var(--ink);color:#fff;padding:8px 12px;border-radius:4px;font-size:12px;font-weight:900}.ba:nth-child(2) .ba-label{background:var(--blue)}
.zone-wrap{display:grid;grid-template-columns:.75fr 1.25fr;gap:45px;align-items:start}.zone-panel{background:linear-gradient(145deg,#eef7fd,#fff);border:1px solid #dcecf7;border-radius:10px;padding:34px;position:sticky;top:120px}.cities{display:flex;flex-wrap:wrap;gap:9px}.city{padding:8px 10px;border:1px solid var(--line);background:#fff;border-radius:4px;font-size:13px}.city.primary{background:var(--blue);color:#fff;border-color:var(--blue);font-weight:800}
.cta-band{background:var(--blue);color:#fff;padding:52px 0}.cta-band .container{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-band h2{font-size:36px;margin:0}.cta-band p{margin:6px 0 0;color:#eaf7ff}
.footer{background:#111314;color:#d3d5d7}.footer-main{padding:60px 0 42px;display:grid;grid-template-columns:1.1fr .9fr .9fr 1.1fr;gap:38px}.footer-logo{background:#fff;border-radius:8px;padding:8px;width:155px;margin-bottom:18px}.footer h4{color:#fff;margin:0 0 16px;font-size:16px}.footer-list{display:grid;gap:11px}.footer-line{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:#c6c9cb}.footer-line .icon{color:var(--blue);margin-top:2px}.footer a{text-decoration:none}.footer a:hover{color:var(--yellow)}.footer-bottom{border-top:1px solid #2b2e30;padding:18px 0;font-size:12px;color:#969b9e}.footer-bottom .container{display:flex;justify-content:space-between;gap:20px}
.floating-actions{position:fixed;right:18px;bottom:24px;z-index:60;display:grid;gap:10px}.float-btn{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;text-decoration:none;box-shadow:0 10px 30px rgba(0,0,0,.18);transition:.25s}.float-call{background:var(--blue);color:#fff}.float-quote{background:var(--yellow);color:var(--ink)}.float-btn:hover{transform:translateY(-3px)}
.mobile-bar{display:none}.page-hero{min-height:430px;background-size:cover;background-position:center;position:relative;display:flex;align-items:end;color:#fff}.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,29,29,.9),rgba(28,29,29,.36))}.page-hero .container{position:relative;z-index:2;padding-bottom:56px}.page-hero h1{font-size:clamp(40px,6vw,64px);line-height:1.05;margin:12px 0}.breadcrumb{font-size:13px;color:#e2e4e6}.content-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:54px}.article h2{font-size:34px;margin:0 0 14px}.article h3{font-size:23px;margin:34px 0 8px}.article p{color:#555d63}.checklist{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.checkitem{display:flex;gap:10px;padding:13px;border:1px solid var(--line);border-radius:6px;background:#fff}.checkitem .icon{color:var(--blue)}.sidebar-card{background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:26px;margin-bottom:20px}.sidebar-card h3{margin-top:0}.price-card{background:var(--yellow)}.price-card .price{font-size:42px;font-weight:900;line-height:1}.faq{display:grid;gap:10px}.faq details{border:1px solid var(--line);border-radius:6px;padding:14px 16px;background:#fff}.faq summary{font-weight:800;cursor:pointer}.faq p{margin-bottom:0;font-size:14px}.reveal{opacity:0;transform:translateY(18px);transition:.65s ease}.reveal.show{opacity:1;transform:none}
@media(max-width:1050px){.menu{display:none}.services-grid{grid-template-columns:repeat(2,1fr)}.footer-main{grid-template-columns:1fr 1fr}.split,.quote-wrap,.zone-wrap,.content-grid{grid-template-columns:1fr}.zone-panel{position:static}.split-media img{height:440px}}
@media(max-width:700px){body{padding-bottom:66px}.topbar{display:none}.nav{height:76px}.brand img{width:108px;height:62px}.nav-actions .btn-blue{display:none}.nav-actions .btn-yellow{padding:11px 12px;font-size:12px}.hero{min-height:590px;background-position:center}.hero:before{background:linear-gradient(rgba(28,29,29,.82),rgba(28,29,29,.58))}.hero h1{font-size:43px;letter-spacing:-1.7px}.hero p{font-size:17px}.trust-grid{grid-template-columns:1fr 1fr}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.2)}.section{padding:64px 0}.section-head{display:block}.services-grid{grid-template-columns:1fr}.service-body p{min-height:auto}.split-media img{height:330px}.accent-card{right:8px;bottom:-18px;width:190px}.quote-copy,.quote-form{padding:30px 22px}.form-grid{grid-template-columns:1fr}.before-after{grid-template-columns:1fr}.ba img{height:280px}.cta-band .container{display:block}.cta-band h2{font-size:30px}.cta-band .btn{margin-top:18px}.footer-main{grid-template-columns:1fr}.footer-bottom .container{display:block}.floating-actions{display:none}.mobile-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:70;box-shadow:0 -8px 22px rgba(0,0,0,.13)}.mobile-bar a{height:66px;display:flex;justify-content:center;align-items:center;gap:9px;font-weight:900;text-decoration:none}.mobile-call{background:var(--blue);color:#fff}.mobile-quote{background:var(--yellow);color:var(--ink)}.checklist{grid-template-columns:1fr}}

/* V5 — ajustements validés */
.hero-phone-btn{background:var(--blue)!important;color:#fff!important;border-color:var(--blue)!important;box-shadow:0 10px 24px rgba(70,157,220,.25)}
.services-section{background:linear-gradient(180deg,#fff 0%,#f7fbfe 100%)}
.artisan-section{background:linear-gradient(180deg,#f6f8fa 0%,#f0f7fc 100%)}
.artisan-copy{background:#fff;border:1px solid rgba(70,157,220,.28);border-left:5px solid var(--blue);border-radius:12px;padding:30px 32px;box-shadow:0 16px 40px rgba(70,157,220,.15)}
.artisan-copy h2{font-size:clamp(30px,3.2vw,40px);letter-spacing:-1px;margin-top:7px}
.artisan-copy .feature-list{gap:8px;margin:18px 0 22px}
.artisan-copy .feature{gap:11px}
.artisan-copy .feature .mark{width:24px;height:24px}
.zone-section{background:#fff}
.zone-intro{max-width:880px;margin-bottom:28px}
.zone-intro h2{font-size:clamp(31px,3.4vw,42px)}
.zone-v2{columns:4;column-gap:34px;background:linear-gradient(145deg,#eef7fd,#fff);border:1px solid rgba(70,157,220,.30);border-left:5px solid var(--blue);border-radius:12px;padding:26px 30px;box-shadow:0 16px 38px rgba(70,157,220,.12)}
.zone-v2 a{display:block;break-inside:avoid;padding:7px 0;border-bottom:1px solid rgba(70,157,220,.16);font-size:14px;color:var(--dark);text-decoration:none;transition:color .2s ease,padding-left .2s ease}
.zone-v2 a:hover{color:var(--blue);padding-left:4px}
.zone-more{margin-top:24px}
.realisations-head{margin-bottom:26px}.realisations-head .copy{max-width:none}.realisations-head h2{font-size:clamp(30px,3.1vw,40px);letter-spacing:-1px;white-space:nowrap}
.realisations-carousel{position:relative;padding:0 56px}.carousel-track{display:flex;gap:16px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}.carousel-track::-webkit-scrollbar{display:none}.gallery-item{flex:0 0 calc((100% - 48px)/4);scroll-snap-align:start;padding:0;border:1px solid rgba(255,255,255,.16);background:#17191a;color:#fff;border-radius:9px;overflow:hidden;cursor:pointer;transition:.25s;text-align:left}.gallery-item:hover{transform:translateY(-4px);border-color:var(--blue);box-shadow:0 16px 34px rgba(70,157,220,.22)}.gallery-item img{width:100%;height:185px;object-fit:cover;display:block}.gallery-item span{display:block;padding:10px 12px;font-size:12px;font-weight:800}.carousel-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:40px;height:40px;border:0;border-radius:50%;background:var(--blue);color:#fff;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.22)}.carousel-prev{left:0}.carousel-next{right:0}.gallery-lightbox{position:fixed;inset:0;z-index:200;background:rgba(10,11,12,.92);display:none;align-items:center;justify-content:center;padding:40px}.gallery-lightbox.open{display:flex}.gallery-lightbox img{max-width:min(1200px,92vw);max-height:86vh;object-fit:contain;border-radius:8px;box-shadow:0 25px 70px rgba(0,0,0,.45)}.lightbox-close{position:absolute;right:28px;top:20px;width:48px;height:48px;border:0;border-radius:50%;background:#fff;color:#111;font-size:32px;cursor:pointer}
.footer-bottom .container{align-items:center}.apcom-credit a{color:var(--yellow);font-weight:900;text-decoration:none}.apcom-credit a:hover{color:var(--blue)}
@media(max-width:1050px){.zone-v2{columns:2}.realisations-head h2{white-space:normal}.gallery-item{flex-basis:calc((100% - 16px)/2)}}
@media(max-width:700px){.artisan-copy{padding:24px 20px}.zone-v2{columns:1;padding:20px}.realisations-carousel{padding:0 42px}.gallery-item{flex-basis:86%}.gallery-item img{height:210px}.carousel-nav{width:34px;height:34px}.hero h1{font-size:40px;letter-spacing:-.5px}}

/* V6 — corrections PC validées le 06/10/2026 */
/* Pictogrammes du bandeau de réassurance : centrage strict dans les pastilles */
.trust-icon{
  position:relative;
  display:block;
  width:46px;
  height:46px;
  line-height:0;
}
.trust-icon .icon{
  position:absolute;
  left:50%;
  top:50%;
  width:21px;
  height:21px;
  margin:0!important;
  transform:translate(-50%,-50%);
  display:block;
}

/* Cartes métiers : bandeau bleu plus marqué et survol sur TOUT le bloc */
.service-card{
  border-top-width:8px;
  transition:transform .32s ease, box-shadow .32s ease, border-color .32s ease, background .32s ease;
}
.service-body,.service-icon,.service-body h3,.service-body p,.text-link{
  transition:all .30s ease;
}
.service-card:hover{
  transform:translateY(-11px) scale(1.012);
  border-color:rgba(70,157,220,.95);
  border-top-color:var(--blue);
  background:linear-gradient(180deg,#fff 0%,#edf7fe 100%);
  box-shadow:0 28px 58px rgba(70,157,220,.34),0 0 0 2px rgba(70,157,220,.10);
}
.service-card:hover .service-body{background:linear-gradient(180deg,rgba(238,248,255,.76),rgba(255,255,255,.96))}
.service-card:hover .service-icon{
  background:var(--blue);
  color:#fff;
  border-color:var(--blue);
  box-shadow:0 9px 20px rgba(70,157,220,.30);
  transform:translateY(-2px);
}
.service-card:hover .service-body h3,.service-card:hover .text-link{color:#2d82c1}
.service-card:hover .service-photo img{transform:scale(1.055)}

/* Bloc Artisan Beucher : photo plus compacte en largeur et deux colonnes de même hauteur */
.artisan-section .split{
  grid-template-columns:.82fr 1.18fr;
  align-items:stretch;
  gap:42px;
}
.artisan-section .split-media{
  height:100%;
  min-height:0;
}
.artisan-section .split-media img{
  height:100%;
  min-height:470px;
  object-fit:cover;
}
.artisan-section .artisan-copy{
  height:100%;
}

@media(min-width:1051px){
  /* Slider : titre sur une seule ligne, plus aéré et lisible */
  .hero-content{max-width:1160px}
  .hero-main-title{
    max-width:none;
    width:max-content;
    white-space:nowrap;
    hyphens:none;
    overflow-wrap:normal;
    word-break:normal;
    font-size:clamp(35px,2.9vw,40px);
    letter-spacing:.15px;
    line-height:1.14;
  }

  /* Nos métiers : sous-titre sur une seule ligne en version PC */
  .services-section .section-head{align-items:center}
  .services-section .section-head .copy{max-width:930px;flex:1 1 auto}
  .services-section .section-head h2{
    white-space:nowrap;
    font-size:clamp(32px,2.75vw,38px);
    letter-spacing:-.8px;
  }
}

@media(max-width:1050px){
  .hero-main-title,.services-section .section-head h2{white-space:normal;width:auto}
  .artisan-section .split{grid-template-columns:1fr;gap:36px}
  .artisan-section .split-media img{height:440px;min-height:0}
  .artisan-section .artisan-copy{height:auto}
}

@media(max-width:700px){
  .service-card{border-top-width:7px}
  .service-card:hover{transform:translateY(-6px)}
  .artisan-section .split-media img{height:330px}
}


/* V9 PHOTOS — intégration des visuels client + compléments et corrections validées */
.services-section{background:#e0e0e0!important}
.artisan-section{background:#e0e0e0!important}
.artisan-section .artisan-copy{background:#fff!important}

/* Centrage strict des pictogrammes du bandeau de réassurance */
.trust-icon{
  display:grid!important;
  place-items:center!important;
  width:48px!important;
  height:48px!important;
  flex:0 0 48px!important;
  padding:0!important;
  border-radius:50%!important;
}
.trust-icon .icon{
  position:static!important;
  transform:none!important;
  display:block!important;
  width:22px!important;
  height:22px!important;
  margin:0!important;
}

/* Photos locales : cadrage propre et homogène */
.service-photo img{object-position:center center}
.page-hero{background-position:center center}
.artisan-section .split-media img{object-position:center center}

/* Titre du slider : deux lignes maîtrisées sur ordinateur */
@media(min-width:1051px){
  .hero-content{max-width:900px}
  .hero-main-title{
    width:auto!important;
    max-width:900px!important;
    white-space:normal!important;
    font-size:clamp(42px,3.35vw,52px)!important;
    line-height:1.08!important;
    letter-spacing:-.5px!important;
  }
}
\n\n/* V10 FINAL SEO — images finales, accessibilité et finitions */
.hero,.page-hero{overflow:hidden;background-image:none!important}
.hero-bg,.page-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:0}
.hero:before,.page-hero:before{z-index:1}
.hero .container,.page-hero .container{position:relative;z-index:2}
.footer-logo-link{display:inline-block;line-height:0;border-radius:8px;transition:transform .25s ease,opacity .25s ease}
.footer-logo-link:hover{transform:translateY(-2px);opacity:.9}
.footer-logo-link:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}
.artisan-section .split-media{overflow:hidden;border-radius:10px}
.artisan-section .split-media img{width:100%;height:100%;object-fit:cover}
@media(min-width:1051px){
  .hero-main-title{white-space:normal!important;width:auto!important;max-width:900px!important}
}

/* =========================================================
   V11 — corrections finales mobile, footer, cookies et légales
   ========================================================= */

/* Empêcher les coupures inesthétiques dans les titres */
h1,h2,h3,h4,.btn,.service-title,.gallery-item span,.menu a{
  hyphens:none;
  -webkit-hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
}
.hero-title-nowrap{white-space:nowrap}
.hero-mobile-break{display:none}
.services-desktop-break{display:block}

/* Nos métiers : 2 lignes propres sur PC, bouton devis bien séparé */
@media(min-width:1051px){
  .services-section .section-head{align-items:center;gap:56px}
  .services-section .section-head .copy{max-width:760px}
  .services-section .section-head h2{
    white-space:normal!important;
    width:auto!important;
    max-width:760px;
    font-size:clamp(32px,2.65vw,38px);
    line-height:1.12;
  }
  .services-section .section-head > .btn{flex:0 0 auto}
}
@media(max-width:1050px){
  .services-desktop-break{display:none}
}

/* Titre du premier slider : 2 lignes PC / 3 lignes mobile sans couper les mots */
.hero-main-title{max-width:980px!important}
@media(min-width:701px){
  .hero-main-title{font-size:clamp(39px,3.35vw,52px)!important;line-height:1.08!important}
}
@media(max-width:700px){
  .hero-main-title{
    font-size:clamp(28px,8.2vw,36px)!important;
    line-height:1.12!important;
    letter-spacing:-.35px!important;
    max-width:100%!important;
  }
  .hero-mobile-break{display:block}
  .hero-title-nowrap{display:inline-block;white-space:nowrap;max-width:100%}
  .hero-title-pyrenees{margin-top:2px}
}
@media(max-width:350px){
  .hero-main-title{font-size:27px!important}
}

/* Menu mobile : petit carré bleu à droite de Devis gratuit */
.nav{position:relative}
.mobile-menu-toggle{
  display:none;
  width:44px;
  height:44px;
  flex:0 0 44px;
  padding:0;
  border:0;
  border-radius:5px;
  background:var(--blue);
  color:#fff;
  cursor:pointer;
  place-items:center;
  align-content:center;
  gap:4px;
  box-shadow:0 7px 18px rgba(70,157,220,.25);
}
.mobile-menu-toggle span{display:block;width:19px;height:2px;border-radius:99px;background:#fff;transition:.22s ease;margin:2px auto}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media(max-width:1050px){
  .mobile-menu-toggle{display:grid}
  .nav-actions{gap:6px;align-items:center}
  .menu{
    display:none;
    position:absolute;
    right:0;
    top:calc(100% - 1px);
    width:min(340px,92vw);
    padding:12px;
    background:#fff;
    border:1px solid var(--line);
    border-top:4px solid var(--blue);
    border-radius:0 0 10px 10px;
    box-shadow:0 24px 50px rgba(28,29,29,.17);
    z-index:85;
  }
  .menu.mobile-open{display:grid;gap:3px}
  .menu a{display:block;padding:12px 13px;border-radius:6px}
  .menu a:hover{background:#eef7fd;color:var(--blue)}
}
@media(max-width:700px){
  .nav{gap:10px}
  .nav-actions{margin-left:auto}
  .nav-actions .btn-yellow{padding:10px 11px;font-size:11.5px;min-height:44px;white-space:nowrap}
  .nav-actions .btn-yellow .icon{width:15px;height:15px}
  .mobile-menu-toggle{width:42px;height:42px;flex-basis:42px}
}
@media(max-width:360px){
  .brand img{width:94px;height:58px}
  .nav-actions .btn-yellow{padding:9px 8px;font-size:10.5px;gap:6px}
  .mobile-menu-toggle{width:40px;height:40px;flex-basis:40px}
}

/* Footer : e-mail, liens juridiques et 3 lignes finales en mobile */
.footer-email a{overflow-wrap:anywhere}
.footer-legal-links{border-top:1px solid #25282a;background:#0e1011}
.footer-legal-links .container{display:flex;justify-content:center;align-items:center;gap:22px;flex-wrap:wrap;padding:14px 0;font-size:12px;color:#adb2b5}
.footer-legal-links a,.footer-legal-links button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-decoration:none}
.footer-legal-links a:hover,.footer-legal-links button:hover{color:var(--yellow)}
.footer-services-mobile{display:none}
.apcom-credit a{white-space:nowrap}
@media(max-width:700px){
  .footer-legal-links .container{gap:10px 18px;padding:16px 0;text-align:center}
  .footer-bottom{padding:16px 0 18px}
  .footer-bottom .container{display:grid!important;justify-items:center;gap:5px;text-align:center;line-height:1.45}
  .footer-services-desktop{display:none}
  .footer-services-mobile{display:block}
  .footer-copyright,.footer-services-mobile,.apcom-credit{display:block;width:100%}
}

/* Carrousel réalisations : déplacement lent et fluide */
.carousel-track{scroll-snap-type:none!important;overscroll-behavior-x:contain}
.carousel-track.is-auto-scrolling{cursor:grab}
.carousel-track.is-paused{cursor:pointer}

/* Mentions légales / confidentialité / cookies */
.legal-hero{background:linear-gradient(135deg,#111314 0%,#1c1d1d 66%,#244b66 100%);color:#fff;padding:70px 0 62px}
.legal-hero .breadcrumb{margin-bottom:16px}
.legal-hero .breadcrumb a{text-decoration:none;color:#e7ebee}
.legal-hero h1{font-size:clamp(38px,5vw,58px);line-height:1.05;margin:9px 0 0;letter-spacing:-1.3px}
.legal-section{background:#f6f8fa}
.legal-content{max-width:960px}
.legal-card{background:#fff;border:1px solid var(--line);border-left:5px solid var(--blue);border-radius:12px;padding:38px 42px;box-shadow:var(--shadow)}
.legal-card h2{font-size:27px;margin:34px 0 11px;letter-spacing:-.45px}
.legal-card h2:first-of-type{margin-top:16px}
.legal-card h3{font-size:18px;margin:0 0 6px}
.legal-card p,.legal-card li{color:#555e64}
.legal-card a{color:#277fbf;font-weight:700;text-decoration:none}
.legal-card a:hover{text-decoration:underline}
.legal-updated{font-size:13px;color:#7a8287!important;margin-top:0}
.legal-card code{background:#eef3f6;padding:2px 6px;border-radius:4px}
.cookie-policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}
.cookie-policy-grid>div{border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:9px;padding:20px;background:#fbfdff}
.legal-cookie-action{margin-top:26px}
@media(max-width:760px){
  .legal-hero{padding:48px 0 42px}
  .legal-card{padding:26px 20px}
  .cookie-policy-grid{grid-template-columns:1fr}
}

/* Gestionnaire de cookies personnalisé Artisan Beucher */
.cookie-banner{
  position:fixed;
  left:22px;
  right:22px;
  bottom:22px;
  z-index:300;
  display:none;
}
.cookie-banner.is-visible{display:block}
.cookie-banner-inner{
  max-width:1120px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:center;
  background:#111314;
  color:#fff;
  border:1px solid rgba(255,255,255,.12);
  border-top:5px solid var(--blue);
  border-radius:12px;
  padding:22px 24px;
  box-shadow:0 28px 70px rgba(0,0,0,.34);
}
.cookie-copy strong{display:block;font-size:18px;margin-bottom:4px}
.cookie-copy p{margin:0;color:#cdd1d4;font-size:13px;line-height:1.5}
.cookie-copy a{color:var(--yellow);font-weight:800;text-decoration:none}
.cookie-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.cookie-action{min-height:42px;border-radius:5px;padding:10px 14px;font-weight:900;font-size:12px;cursor:pointer;border:1px solid rgba(255,255,255,.4)}
.cookie-reject{background:#fff;color:#111314}
.cookie-customize{background:transparent;color:#fff}
.cookie-accept{background:var(--yellow);color:#111314;border-color:var(--yellow)}
.cookie-action:hover{transform:translateY(-1px)}
.cookie-modal-backdrop{position:fixed;inset:0;z-index:320;background:rgba(10,11,12,.72);display:none;align-items:center;justify-content:center;padding:22px}
.cookie-modal-backdrop.is-visible{display:flex}
.cookie-modal{width:min(610px,100%);max-height:min(760px,90vh);overflow:auto;background:#fff;border-radius:12px;box-shadow:0 32px 80px rgba(0,0,0,.38)}
.cookie-modal-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid var(--line)}
.cookie-modal-head h2{font-size:24px;margin:0;letter-spacing:-.4px}
.cookie-modal-close{width:38px;height:38px;border:0;border-radius:50%;background:#eef3f6;font-size:23px;cursor:pointer}
.cookie-modal-body{padding:22px 24px}
.cookie-modal-body>p{color:#646b70;margin-top:0}
.cookie-choice{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-top:1px solid var(--line)}
.cookie-choice:first-of-type{border-top:0}
.cookie-choice strong{display:block}
.cookie-choice small{display:block;color:#6b7378;max-width:420px;margin-top:3px;line-height:1.45}
.cookie-choice input{width:22px;height:22px;accent-color:var(--blue);flex:0 0 auto}
.cookie-always{font-size:11px;font-weight:900;color:var(--blue);white-space:nowrap}
.cookie-modal-actions{display:flex;gap:9px;justify-content:flex-end;padding:18px 24px;border-top:1px solid var(--line);background:#f8fafb}
.cookie-modal-actions .btn{min-width:145px}
@media(max-width:700px){
  .cookie-banner{left:10px;right:10px;bottom:76px}
  .cookie-banner-inner{grid-template-columns:1fr;padding:18px;gap:15px}
  .cookie-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;justify-content:stretch}
  .cookie-customize{grid-column:1/-1}
  .cookie-action{width:100%}
  .cookie-modal-backdrop{padding:10px}
  .cookie-modal-actions{display:grid;grid-template-columns:1fr}
  .cookie-modal-actions .btn{width:100%}
}

@media(prefers-reduced-motion:reduce){
  .carousel-track{scroll-behavior:auto!important}
  .reveal{transition:none!important}
}


/* =========================================================
   V12 — homogénéité mobile, footer et carrousel
   ========================================================= */

/* Petits pictogrammes bleus devant chaque métier du pied de page */
.footer-service-link{
  display:flex;
  align-items:center;
  gap:9px;
  line-height:1.35;
}
.footer-service-link .footer-service-icon{
  width:15px;
  height:15px;
  flex:0 0 15px;
  color:var(--blue);
}
.footer-service-link span{min-width:0}

/* Les liens juridiques remplacent l'ancienne ligne des métiers en bas */
.footer-legal-inline{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px 16px;
  flex-wrap:wrap;
  text-align:center;
}
.footer-legal-inline a,.footer-legal-inline button{
  font:inherit;
  color:#aeb3b6;
  background:none;
  border:0;
  padding:0;
  cursor:pointer;
  text-decoration:none;
}
.footer-legal-inline a:hover,.footer-legal-inline button:hover{color:var(--yellow)}
.footer-bottom .container{align-items:center}

/* Titre charpente : version PC et version mobile distinctes */
.page-title-mobile{display:none}
.page-title-responsive span{font:inherit;color:inherit}

/* Titres de pages : pas de mot coupé et rythme homogène */
.page-hero h1{
  hyphens:none!important;
  -webkit-hyphens:none!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

@media(min-width:701px){
  .footer-bottom .container{
    display:grid;
    grid-template-columns:minmax(220px,1fr) minmax(360px,auto) minmax(220px,1fr);
    gap:20px;
  }
  .footer-copyright{justify-self:start}
  .footer-legal-inline{justify-self:center}
  .apcom-credit{justify-self:end;text-align:right}
}

@media(max-width:700px){
  /* Alignement visuel : métiers/intervention légèrement décalés à droite,
     sur le même axe que le début du logo du pied de page */
  .footer-services-col,.footer-intervention-col{padding-left:18px}
  .footer-services-col h4,.footer-intervention-col h4{margin-left:0}
  .footer-service-link{gap:10px}
  .footer-service-link .footer-service-icon{width:14px;height:14px;flex-basis:14px}

  .footer-bottom{padding:16px 0 18px}
  .footer-bottom .container{
    display:grid!important;
    grid-template-columns:1fr!important;
    justify-items:center;
    gap:9px;
    text-align:center;
    line-height:1.45;
  }
  .footer-copyright,.footer-legal-inline,.apcom-credit{display:block;width:100%}
  .footer-legal-inline{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px 12px;
    width:min(100%,340px);
    margin:1px auto;
    justify-items:center;
    align-items:center;
  }
  .footer-legal-inline a,.footer-legal-inline button{line-height:1.3;text-align:center}

  /* Même logique typographique sur tous les H1 de pages en mobile */
  .page-hero h1{
    font-size:clamp(30px,8.2vw,36px)!important;
    line-height:1.09!important;
    letter-spacing:-.8px!important;
    max-width:100%;
  }
  .page-title-responsive .page-title-desktop{display:none}
  .page-title-responsive .page-title-mobile{
    display:block;
    white-space:nowrap;
    font-size:clamp(29px,8vw,34px);
    line-height:1.1;
  }
}

@media(max-width:370px){
  .footer-services-col,.footer-intervention-col{padding-left:14px}
  .footer-legal-inline{grid-template-columns:1fr;gap:6px}
  .page-title-responsive .page-title-mobile{font-size:28px}
}


/* =========================================================
   V13 — derniers alignements footer + respiration pages service
   ========================================================= */

/* Plus d'espace entre "Notre intervention" et le titre, PC + mobile */
.article > .kicker + h2{
  margin-top:20px!important;
}

/* Liens juridiques : deux lignes compactes, séparées par " - " */
.footer-legal-inline{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
}
.footer-legal-row{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:nowrap;
  white-space:nowrap;
  gap:0;
}
.footer-legal-sep{
  color:#7f8589;
  display:inline-block;
  white-space:pre;
}

@media(max-width:700px){
  /* Coordonnées / Nos métiers / Intervention sur le même axe */
  .footer-coordinates-col,
  .footer-services-col,
  .footer-intervention-col{
    padding-left:18px!important;
  }
  .footer-coordinates-col h4,
  .footer-services-col h4,
  .footer-intervention-col h4{
    margin-left:0!important;
  }

  .footer-legal-inline{
    width:100%!important;
    margin:1px auto;
    gap:6px;
  }
  .footer-legal-row{
    width:100%;
    font-size:11px;
    line-height:1.35;
  }
  .footer-legal-inline a,
  .footer-legal-inline button{
    line-height:1.35;
    text-align:center;
  }

  .article > .kicker + h2{
    margin-top:18px!important;
  }
}

@media(max-width:370px){
  .footer-coordinates-col,
  .footer-services-col,
  .footer-intervention-col{
    padding-left:14px!important;
  }
  .footer-legal-row{font-size:10.5px}
}


/* =========================================================
   LOCAL SEO PAGES — pages Couvreur + commune + code postal
   ========================================================= */
.local-seo-figure{margin:38px 0 32px;border-radius:10px;overflow:hidden;background:#eef2f4;border:1px solid var(--line);box-shadow:0 14px 34px rgba(28,29,29,.08)}
.local-seo-figure img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.local-seo-figure figcaption{padding:12px 16px;color:#626a70;font-size:13px;background:#fff}
.local-nearby{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0 4px}
.local-nearby a{display:inline-flex;padding:9px 12px;border:1px solid rgba(70,157,220,.35);border-radius:999px;text-decoration:none;color:#246f9f;background:#f4faff;font-size:13px;font-weight:800}
.local-nearby a:hover{background:#e8f5fd;border-color:var(--blue)}
.local-service-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0 30px}
.local-service-links a{display:flex;align-items:center;gap:9px;padding:12px 14px;border:1px solid var(--line);border-radius:7px;background:#fff;text-decoration:none;color:var(--ink);font-weight:800}
.local-service-links .icon{color:var(--blue);flex:0 0 auto}
.local-service-links a:hover{border-color:var(--blue);box-shadow:0 8px 18px rgba(70,157,220,.12)}
@media(max-width:700px){.local-service-links{grid-template-columns:1fr}.local-seo-figure{margin:30px 0 26px}.local-seo-figure figcaption{font-size:12px}}

.cities a.city{text-decoration:none;color:inherit;transition:.2s ease}.cities a.city:hover{border-color:var(--blue);color:#246f9f;box-shadow:0 8px 18px rgba(70,157,220,.12);transform:translateY(-1px)}


/* V14 SEO BLOCKS + INTERNAL LINKING */
/* Texte régulier et aligné dans les pages SEO / services */
.seo-enhanced-page .article > p,
.seo-enhanced-page .seo-text-card p,
.seo-enhanced-page .sidebar-card p{
  text-align:justify;
  text-justify:inter-word;
  hyphens:auto;
}
.seo-enhanced-page .article > .lead{max-width:none}

/* Blocs éditoriaux alternés : 2 colonnes sur ordinateur, 1 colonne sur mobile */
.seo-topic-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  margin:36px 0 34px;
  align-items:stretch;
}
.seo-text-card,.seo-media-card{
  background:#fff;
  border:1px solid rgba(70,157,220,.28);
  border-top:4px solid var(--blue);
  border-radius:10px;
  padding:26px 27px 25px;
  box-shadow:0 12px 30px rgba(28,29,29,.07);
}
.seo-text-card:nth-child(even){background:#f7fbfe}
.seo-text-card h3{margin:0 0 13px;font-size:22px;line-height:1.22;color:var(--ink)}
.seo-text-card p{margin:0;color:#555d63;line-height:1.76}
.seo-text-card p+p{margin-top:13px}
.seo-media-card{padding:0;overflow:hidden;display:flex;min-height:100%}
.seo-media-card .local-seo-figure{margin:0;border:0;border-radius:0;box-shadow:none;width:100%;display:flex;flex-direction:column}
.seo-media-card .local-seo-figure img{height:100%;min-height:330px;flex:1 1 auto;object-fit:cover}
.seo-media-card .local-seo-figure figcaption{margin-top:auto}

/* Pictogrammes bleus dans Nos prestations / Secteur / Intervention */
.sidebar-icon-list{gap:0!important}
.sidebar-icon-link{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:7px 0!important;
}
.sidebar-mini-icon{width:15px!important;height:15px!important;flex:0 0 15px!important;color:var(--blue)!important;stroke:currentColor!important}
.sidebar-icon-card .footer-line{align-items:flex-start}
.sidebar-icon-card .footer-line .icon{color:var(--blue)}

/* Maillage éditorial depuis l'accueil */
.seo-expertise-section{background:#f5f7f8}
.seo-expertise-section .section-head{margin-bottom:30px}
.seo-expertise-section .section-head .copy{max-width:900px}
.seo-expertise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.seo-expertise-card{background:#fff;border:1px solid rgba(70,157,220,.28);border-top:5px solid var(--blue);border-radius:10px;padding:24px 26px;box-shadow:0 10px 26px rgba(28,29,29,.06)}
.seo-expertise-card h3{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:20px}
.seo-expertise-card h3 .icon{color:var(--blue)}
.seo-expertise-links{display:flex;flex-wrap:wrap;gap:8px 10px}
.seo-expertise-links a{display:inline-flex;padding:7px 10px;border:1px solid rgba(70,157,220,.28);border-radius:999px;background:#f8fcff;color:#286f9d;text-decoration:none;font-size:12px;font-weight:800;line-height:1.25;transition:.2s ease}
.seo-expertise-links a:hover{background:#eaf6fd;border-color:var(--blue);transform:translateY(-1px)}

@media(max-width:1050px){
  .seo-topic-grid,.seo-expertise-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .seo-topic-grid{gap:16px;margin:28px 0}
  .seo-text-card,.seo-media-card{padding:20px 18px;border-top-width:4px}
  .seo-media-card{padding:0}
  .seo-text-card h3{font-size:20px}
  .seo-expertise-card{padding:20px 18px}
  .seo-expertise-links{display:grid;grid-template-columns:1fr;gap:7px}
  .seo-expertise-links a{border-radius:7px;padding:9px 11px}
}
\n\n/* =========================================================\n   V15 — grille SEO 50/50 + listes expertise homogènes\n   ========================================================= */\n\n/* Les premiers contenus restent avec la colonne latérale.\n   Les blocs éditoriaux suivants utilisent ensuite toute la largeur du site. */\n.seo-fullwidth-content{\n  margin-top:42px;\n  margin-bottom:10px;\n}\n.seo-fullwidth-content .seo-topic-grid{\n  display:grid!important;\n  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;\n  gap:26px!important;\n  width:100%!important;\n  margin:0 0 36px!important;\n  align-items:stretch;\n}\n.seo-fullwidth-content .seo-text-card,\n.seo-fullwidth-content .seo-media-card{\n  width:100%;\n  min-width:0;\n  height:100%;\n}\n.seo-fullwidth-content .seo-text-card p{\n  text-align:justify;\n  text-justify:inter-word;\n  hyphens:auto;\n}\n\n/* Accueil : plus de boutons irréguliers. Chaque famille garde deux colonnes égales. */\n.seo-expertise-card{min-width:0}\n.seo-expertise-list{\n  display:grid!important;\n  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;\n  column-gap:24px!important;\n  row-gap:0!important;\n  align-items:start;\n}\n.seo-expertise-list .seo-expertise-link{\n  position:relative;\n  display:block!important;\n  width:100%!important;\n  padding:7px 4px 7px 17px!important;\n  margin:0!important;\n  border:0!important;\n  border-radius:0!important;\n  background:transparent!important;\n  color:#286f9d!important;\n  text-decoration:none!important;\n  font-size:13px!important;\n  font-weight:750!important;\n  line-height:1.35!important;\n  transform:none!important;\n}\n.seo-expertise-list .seo-expertise-link::before{\n  content:"›";\n  position:absolute;\n  left:0;\n  top:6px;\n  color:var(--blue);\n  font-size:18px;\n  line-height:1;\n  font-weight:900;\n}\n.seo-expertise-list .seo-expertise-link:hover{\n  background:transparent!important;\n  color:#174f75!important;\n  text-decoration:underline!important;\n  text-underline-offset:3px;\n}\n\n@media(max-width:1050px){\n  /* On garde encore le vrai 50/50 sur tablette large. */\n  .seo-fullwidth-content .seo-topic-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}\n}\n\n@media(max-width:760px){\n  .seo-fullwidth-content{margin-top:30px}\n  .seo-fullwidth-content .seo-topic-grid{\n    grid-template-columns:1fr!important;\n    gap:16px!important;\n    margin-bottom:28px!important;\n  }\n  .seo-expertise-list{\n    grid-template-columns:1fr 1fr!important;\n    column-gap:16px!important;\n  }\n}\n\n@media(max-width:480px){\n  .seo-expertise-list{\n    grid-template-columns:1fr 1fr!important;\n    column-gap:12px!important;\n  }\n  .seo-expertise-list .seo-expertise-link{\n    font-size:12px!important;\n    padding-left:14px!important;\n  }\n}\n

/* =========================================================
   V16 — ergonomie mobile globale + zone accueil allégée
   ========================================================= */
.keep-with-question{white-space:nowrap}

@media(max-width:700px){
  /* Marges horizontales homogènes sur tout le site */
  .container{width:auto!important;margin-left:20px!important;margin-right:20px!important}
  .section{padding:54px 0!important}
  .section h2{font-size:clamp(29px,8vw,38px)!important;line-height:1.12!important;letter-spacing:-.7px!important}
  .lead{font-size:16px!important;line-height:1.55!important}

  /* En-tête / premier slider : respiration régulière en haut et en bas */
  .hero{min-height:auto!important;align-items:center!important;padding:38px 0 42px!important}
  .hero .container{padding-top:0!important;padding-bottom:0!important}
  .hero-content{padding-top:0!important;padding-bottom:0!important}
  .hero .eyebrow{margin-top:0!important;margin-bottom:18px!important;line-height:1.45!important}
  .hero-main-title{margin-top:0!important;margin-bottom:22px!important}
  .hero p{line-height:1.55!important}
  .hero-actions{margin-top:24px!important}
  .hero-badges{margin-top:26px!important;gap:10px!important}

  /* Héros des pages internes : même respiration */
  .page-hero{min-height:360px!important;align-items:center!important;padding:34px 0!important}
  .page-hero .container{padding-top:0!important;padding-bottom:0!important}
  .page-hero h1{font-size:clamp(32px,9vw,43px)!important;line-height:1.08!important;margin:16px 0 0!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
  .breadcrumb{line-height:1.4!important}

  /* CTA mobile : pas de ponctuation orpheline et largeur confortable */
  .cta-band{padding:44px 0!important}
  .cta-band h2{font-size:30px!important;line-height:1.18!important;letter-spacing:-.5px!important}
  .cta-band p{font-size:16px!important;line-height:1.55!important}
  .cta-nowrap-question{max-width:100%!important}

  /* Cartes et contenus : respiration homogène */
  .service-body,.sidebar-card,.seo-text-card,.seo-media-card{overflow-wrap:break-word}
  .sidebar-card{padding:22px 20px!important}
  .article h2{font-size:30px!important;line-height:1.16!important}
  .article h3{font-size:22px!important;line-height:1.22!important}
  .article p,.seo-text-card p{font-size:15.5px!important;line-height:1.7!important}
  .checkitem{padding:12px!important}

  /* Zone d'intervention de l'accueil : seulement 15 villes + bouton */
  .zone-v2{padding:18px 18px!important}
  .zone-v2 span{font-size:14px!important;padding:8px 0!important}
  .zone-more .btn{width:100%;text-align:center}

  /* Section expertises : 2 colonnes égales conservées mais plus lisibles */
  .seo-expertise-card{padding:19px 17px!important}
  .seo-expertise-list{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;column-gap:14px!important}
  .seo-expertise-list .seo-expertise-link{font-size:12px!important;line-height:1.4!important;padding:7px 3px 7px 14px!important}

  /* Bannière cookies ultracompacte */
  .cookie-banner{left:8px!important;right:8px!important;bottom:74px!important}
  .cookie-banner-inner{
    display:block!important;
    max-width:520px!important;
    padding:9px 10px 10px!important;
    border-top-width:3px!important;
    border-radius:8px!important;
    box-shadow:0 12px 32px rgba(0,0,0,.28)!important;
  }
  .cookie-copy{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin-bottom:7px!important}
  .cookie-copy strong{font-size:13px!important;line-height:1!important;margin:0!important}
  .cookie-copy p{font-size:10px!important;line-height:1.2!important;margin:0!important}
  .cookie-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;width:100%!important}
  .cookie-customize{grid-column:auto!important}
  .cookie-action{width:100%!important;min-height:34px!important;padding:6px 5px!important;font-size:10.5px!important;border-radius:4px!important;white-space:nowrap!important}

  /* Modale de personnalisation compacte elle aussi */
  .cookie-modal{max-height:82vh!important}
  .cookie-modal-head{padding:15px 16px!important}
  .cookie-modal-head h2{font-size:20px!important}
  .cookie-modal-body{padding:14px 16px!important}
  .cookie-choice{padding:12px 0!important;gap:12px!important}
  .cookie-choice small{font-size:11.5px!important}
  .cookie-modal-actions{padding:12px 16px!important;gap:7px!important}

  /* Footer : éviter les débordements */
  .footer-main{padding-top:46px!important}
  .footer-email a{font-size:13px!important;overflow-wrap:anywhere}
}

@media(max-width:390px){
  .container{margin-left:16px!important;margin-right:16px!important}
  .nav-actions .btn-yellow{padding:10px 10px!important;font-size:11px!important}
  .mobile-menu-toggle{width:42px!important;height:42px!important}
  .hero-main-title{font-size:25px!important;line-height:1.12!important}
  .seo-expertise-list{column-gap:10px!important}
  .seo-expertise-list .seo-expertise-link{font-size:11.5px!important}
  .cookie-action{font-size:10px!important;padding-left:3px!important;padding-right:3px!important}
}

/* V17 — formulaire réellement fonctionnel */
.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-feedback{grid-column:1/-1;margin:0 0 18px;padding:14px 16px;border-radius:12px;font-weight:700;line-height:1.45}
.form-feedback.is-success{display:block;background:#eaf8ee;border:1px solid #93d7a7;color:#145d28}
.form-feedback.is-error{display:block;background:#fff1f1;border:1px solid #e5a0a0;color:#842029}
.form-consent{margin-top:2px}
.consent-label{display:flex!important;align-items:flex-start;gap:10px;font-size:13px;line-height:1.45;font-weight:500!important;cursor:pointer}
.consent-label input{width:18px;height:18px;margin-top:1px;flex:0 0 18px}
.consent-label a{text-decoration:underline}
.quote-form button[disabled]{opacity:.65;cursor:wait}
@media(max-width:700px){.form-feedback{font-size:14px;padding:12px 13px}.consent-label{font-size:12px}}


/* V19 — titres mobiles contrôlés + alignement mots-clés index */
.page-title-mobile{display:none}
.mobile-hero-subtitle{display:none}

@media(max-width:700px){
  /* Les versions desktop restent intactes ; retours de ligne imposés uniquement sur mobile. */
  .page-title-responsive .page-title-desktop{display:none!important}
  .page-title-responsive .page-title-mobile{display:block!important}
  .page-title-responsive .page-title-mobile br{display:block!important}
  .page-title-responsive{overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
  .page-title-responsive .page-title-mobile{white-space:normal!important}

  /* Zone d'intervention : libellé distinct, avec une vraie respiration sous le H1. */
  .mobile-hero-subtitle{
    display:block!important;
    margin-top:20px!important;
    margin-bottom:0!important;
    font-size:15px!important;
    line-height:1.25!important;
    font-weight:800!important;
    letter-spacing:.02em!important;
    color:#fff!important;
  }
  .mobile-hero-subtitle + p{margin-top:16px!important}

  /* Index : deux colonnes réellement homogènes, ligne par ligne. */
  #expertises-seo .seo-expertise-list{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    grid-auto-rows:minmax(40px,auto)!important;
    column-gap:12px!important;
    row-gap:0!important;
    align-items:stretch!important;
  }
  #expertises-seo .seo-expertise-list .seo-expertise-link{
    display:flex!important;
    align-items:center!important;
    min-height:40px!important;
    height:100%!important;
    padding:5px 2px 5px 13px!important;
    font-size:11.2px!important;
    line-height:1.22!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }
  #expertises-seo .seo-expertise-list .seo-expertise-link::before{
    top:50%!important;
    transform:translateY(-50%)!important;
    font-size:16px!important;
  }
}

@media(max-width:390px){
  #expertises-seo .seo-expertise-list{column-gap:9px!important;grid-auto-rows:minmax(38px,auto)!important}
  #expertises-seo .seo-expertise-list .seo-expertise-link{
    min-height:38px!important;
    font-size:10.6px!important;
    line-height:1.2!important;
    padding-left:12px!important;
  }
}

/* =========================================================
   V20 — bandeau de réassurance mobile : 4 blocs égaux
   ========================================================= */
@media(max-width:700px){
  .trust-strip .trust-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,164px)!important;
    width:auto!important;
    margin-left:20px!important;
    margin-right:20px!important;
    align-items:stretch!important;
  }
  .trust-strip .trust-item{
    min-width:0!important;
    width:100%!important;
    height:164px!important;
    padding:18px 14px!important;
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr)!important;
    align-items:center!important;
    justify-content:center!important;
    gap:12px!important;
    overflow:hidden!important;
  }
  .trust-strip .trust-item > div{
    min-width:0!important;
    width:100%!important;
  }
  .trust-strip .trust-item strong{
    display:block!important;
    margin:0 0 4px!important;
    font-size:16px!important;
    line-height:1.24!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }
  .trust-strip .trust-item span:not(.trust-icon){
    display:block!important;
    font-size:12px!important;
    line-height:1.35!important;
  }
  .trust-strip .trust-icon{
    width:48px!important;
    height:48px!important;
    flex:0 0 48px!important;
    justify-self:center!important;
  }
}

@media(max-width:390px){
  .trust-strip .trust-grid{
    grid-template-rows:repeat(2,158px)!important;
    margin-left:16px!important;
    margin-right:16px!important;
  }
  .trust-strip .trust-item{
    height:158px!important;
    padding:16px 11px!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    gap:10px!important;
  }
  .trust-strip .trust-icon{
    width:44px!important;
    height:44px!important;
    flex-basis:44px!important;
  }
  .trust-strip .trust-item strong{font-size:15px!important}
  .trust-strip .trust-item span:not(.trust-icon){font-size:11.5px!important}
}
