:root{--orange:#c92d36;--black:#101010;--soft:#181818;--white:#fff;--gray:#aaa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0d0d0d;color:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}header{height:84px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;background:rgba(13,13,13,.94);border-bottom:1px solid #282828}.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:1px}.brand img{width:58px;height:58px;border-radius:50%;object-fit:cover}.brand span{font-size:14px}nav{display:flex;gap:26px;align-items:center;font-size:14px;font-weight:700}nav a:hover{color:var(--orange)}.cta,.btn{background:var(--orange);color:#111!important;padding:14px 20px;font-weight:900;display:inline-block}.menu{display:none;background:none;border:0;color:#fff;font-size:26px}.hero{min-height:720px;padding:90px 8vw;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:5vw;background:radial-gradient(circle at 75% 40%,#34220d 0,#111 38%,#0d0d0d 65%)}.hero img{width:min(100%,520px);box-shadow:0 25px 80px #000}.hero img.hero-photo{width:min(100%,500px);height:auto;max-height:650px;object-fit:contain;object-position:center;border-radius:0;justify-self:center}.eyebrow,.section-title p,.contact>p:first-child{color:var(--orange);font-size:13px;font-weight:900;letter-spacing:3px}.hero h1{font-size:clamp(50px,7vw,94px);line-height:.95;margin:16px 0 26px;letter-spacing:-4px}.hero h1 em{color:var(--orange);font-style:normal}.hero>div>p:not(.eyebrow){max-width:650px;color:#c7c7c7;font-size:19px}.actions{display:flex;gap:25px;align-items:center;margin:35px 0}.ghost{font-weight:800}.trust{display:flex;gap:24px;flex-wrap:wrap;color:#bbb;font-size:13px}.trust span::first-letter{color:var(--orange)}section:not(.hero){padding:100px 8vw}.section-title{display:flex;gap:25px;align-items:flex-start;margin-bottom:55px}.section-title>span{font-size:13px;color:var(--orange);border:1px solid #555;border-radius:50%;padding:10px}.section-title p{margin:0}.section-title h2{font-size:clamp(34px,5vw,62px);max-width:800px;margin:5px 0 0;line-height:1.05}.about{background:#f4f1eb;color:#111}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.about-grid>p{font-size:25px;max-width:650px}.numbers{display:grid;grid-template-columns:1fr 1.5fr;border-top:1px solid #bbb}.numbers b,.numbers small{padding:18px 0;border-bottom:1px solid #bbb}.numbers b{color:#c92d36}.services{background:#121212}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#333}.cards article{background:#171717;padding:35px;min-height:290px}.cards b{color:var(--orange)}.cards h3{font-size:27px;margin-top:70px}.cards p,.projects p{color:#aaa}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.placeholder{height:300px;display:grid;place-items:center;background:linear-gradient(135deg,#252525,#111);border:1px solid #333;color:#777;font-weight:900;letter-spacing:2px}.projects h3{font-size:24px;margin-bottom:4px}.reviews{background:#c92d36;color:#111}.reviews .section-title p{color:#111}.reviews .section-title>span{color:#111;border-color:#111}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}blockquote{margin:0;background:#111;color:#fff;padding:35px;font-size:20px;min-height:230px}cite{display:block;color:var(--orange);font-size:13px;margin-top:30px;font-style:normal}.contact{text-align:center}.contact h2{font-size:clamp(45px,7vw,85px);margin:8px 0}.contact p{color:#aaa}.contact .btn{margin-top:20px}footer{padding:55px 8vw;background:#070707;border-top:1px solid #292929;display:grid;grid-template-columns:1.4fr 1.2fr 1fr 1fr;gap:45px;color:#aaa;font-size:14px}footer img{width:90px;border-radius:50%}footer h3{color:#fff}footer a{display:block;margin:8px 0}footer a:hover{color:var(--orange)}@media(max-width:900px){header{height:72px}.menu{display:block}nav{display:none;position:absolute;top:72px;left:0;right:0;background:#111;padding:25px;flex-direction:column;align-items:flex-start}nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:55px;min-height:auto}.hero img{max-width:350px;margin:auto}.hero h1{letter-spacing:-2px}.about-grid,.review-grid,.projects,footer{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.actions{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.brand span{display:none}.cards{grid-template-columns:1fr}.hero,section:not(.hero){padding-left:6vw;padding-right:6vw}.hero h1{font-size:52px}.trust{flex-direction:column;gap:8px}}

/* BOUTONS FLOTTANTS CONTACT — modifier le numéro dans index.html et realisations.html */
.floating-contact{position:fixed;right:18px;bottom:18px;z-index:999;display:flex;flex-direction:column;gap:10px;align-items:flex-end}.floating-contact a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:999px;text-decoration:none;font-weight:800;box-shadow:0 8px 24px rgba(0,0,0,.25)}.float-whatsapp{background:#25D366;color:#07140b}.float-phone{background:#c92d36;color:#111}@media(max-width:640px){.floating-contact{right:12px;bottom:12px}.floating-contact a{min-height:46px;padding:0 14px;font-size:14px}}

/* ===== RÉALISATIONS : 4 curseurs AVANT / APRÈS ===== */
.realisations-section{padding-top:72px}.compare-intro{max-width:760px;margin:0 0 34px;color:#aaa;font-size:18px}.compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.compare-card{background:#111;border:1px solid #292929;overflow:hidden}.compare-head{display:flex;justify-content:space-between;align-items:end;gap:18px;padding:20px}.compare-head span{color:#ff9200;font-size:12px;font-weight:900;letter-spacing:2px}.compare-head h3{margin:5px 0 0;font-size:22px}.compare-head small{color:#999}.before-after{position:relative;overflow:hidden;aspect-ratio:3/2;touch-action:pan-y;user-select:none;background:#181818}.before-after img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.compare-before{z-index:1}.compare-after{z-index:2;clip-path:inset(0 0 0 50%)}.compare-label{position:absolute;z-index:4;top:16px;padding:8px 11px;font-size:11px;font-weight:900;letter-spacing:1px;color:#fff;border-radius:3px}.before-label{left:16px;background:rgba(0,0,0,.7)}.after-label{right:16px;background:#c92d36}.compare-divider{position:absolute;z-index:5;top:0;bottom:0;left:50%;width:3px;background:#fff;transform:translateX(-50%);pointer-events:none;box-shadow:0 0 0 1px rgba(0,0,0,.15)}.compare-divider span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#c92d36;border:3px solid #fff;color:#111;font-size:20px;font-weight:900}.compare-range{position:absolute;z-index:6;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.compare-range:focus-visible{opacity:.15;accent-color:#c92d36}@media(max-width:800px){.compare-grid{grid-template-columns:1fr}.compare-head{align-items:start;flex-direction:column}.compare-head small{font-size:12px}.realisations-section{padding-top:44px}.before-after{aspect-ratio:4/3}}

/* Curseur Avant/Après visible sous la photo — modèle Lou.na, iPhone/iOS */
.compare-control{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 20px 22px;background:#fff;color:#59616b;font-weight:900;letter-spacing:.5px}
.compare-control .compare-range{position:static;inset:auto;width:100%;height:30px;margin:0;opacity:1;cursor:pointer;accent-color:#d84a00;appearance:auto;-webkit-appearance:auto;touch-action:pan-x}
.compare-control span{font-size:14px;white-space:nowrap}
.before-after{touch-action:pan-y}
@media(max-width:560px){.compare-control{gap:10px;padding:14px 12px 18px}.compare-control span{font-size:13px}.compare-control .compare-range{height:36px}}

/* Avant / Après — contrôle identique au composant Lou.na */
.before-after{position:relative;width:100%;aspect-ratio:4/5;max-height:560px;overflow:hidden;user-select:none;border-radius:0;touch-action:pan-y}
.before-after img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.compare-before{z-index:1}.compare-after{z-index:2}
.compare-divider{position:absolute;top:0;bottom:0;width:3px;background:#fff;box-shadow:0 0 6px rgba(0,0,0,.4);z-index:3;transform:translateX(-50%);pointer-events:none}
.compare-divider span{display:none!important}
.compare-label{position:absolute;top:14px;z-index:5;font-size:13px;font-weight:900;letter-spacing:.06em;color:#fff;padding:7px 12px;border-radius:7px;pointer-events:none}
.before-label{left:14px;background:rgba(0,0,0,.6)}.after-label{right:14px;background:#c92d36}
.compare-control{display:flex;align-items:center;gap:12px;padding:12px 18px 14px;background:#fff;color:#59636e}
.compare-control span{font-size:13px;font-weight:900;flex-shrink:0}
.compare-control input[type=range]{position:static!important;inset:auto!important;display:block!important;flex:1;width:auto!important;min-width:0;height:32px!important;margin:0!important;opacity:1!important;cursor:pointer;accent-color:#c92d36;-webkit-appearance:auto!important;appearance:auto!important;touch-action:pan-x}
@media(max-width:560px){.before-after{aspect-ratio:4/5}.compare-control{gap:10px;padding:12px 14px 14px}.compare-control span{font-size:12px}.compare-control input[type=range]{height:34px!important}}

/* ALIGNEMENT DES 4 CARTES AVANT/APRES — même hauteur quelle que soit la longueur du titre */
@media (min-width:801px){
  .compare-card{display:grid;grid-template-rows:132px auto auto;align-self:start}
  .compare-head{height:132px;min-height:132px;box-sizing:border-box;align-items:flex-end}
  .compare-head>div{min-width:0}
  .compare-head h3{min-height:54px;display:flex;align-items:flex-start}
  .before-after{width:100%;aspect-ratio:3/2}
  .compare-control{min-height:72px;box-sizing:border-box}
}
@media (max-width:800px){
  .compare-card{display:block}
  .compare-head{min-height:126px;box-sizing:border-box}
  .compare-head h3{min-height:54px}
  .before-after{width:100%}
  .compare-control{min-height:66px;box-sizing:border-box}
}

/* Avis Google reels */
.google-review-head{display:flex;justify-content:space-between;align-items:center;margin:0 0 28px;padding:18px 22px;background:#fff;color:#111;border:2px solid #111}.google-review-head strong{font-size:1.35rem}.google-review-head span{font-weight:800}.google-review-head p{margin:0;color:#c92d36;font-size:1.5rem;letter-spacing:3px}.real-google-reviews{grid-template-columns:repeat(2,minmax(0,1fr))}.real-google-reviews blockquote{display:flex;flex-direction:column;gap:14px;min-height:270px}.real-google-reviews blockquote p{margin:0;font-size:1.25rem;line-height:1.55}.real-google-reviews blockquote cite{margin-top:auto}.real-google-reviews blockquote a{color:#c92d36;font-weight:800;text-decoration:none}.review-stars{color:#c92d36;font-size:1.4rem;letter-spacing:3px}.google-locations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}.google-locations a{display:flex;flex-direction:column;gap:6px;background:#111;color:#fff;padding:18px;text-decoration:none;border:1px solid rgba(255,255,255,.18)}.google-locations b{color:#c92d36}.google-locations span{font-size:.9rem;line-height:1.35}@media(max-width:800px){.real-google-reviews,.google-locations{grid-template-columns:1fr}.google-review-head{align-items:flex-start;gap:10px;flex-direction:column}.real-google-reviews blockquote{min-height:0}}

/* ===== QUI SOMMES-NOUS — preuves commerciales ===== */
.about-showcase{padding-top:72px!important;padding-bottom:82px!important}
.about-showcase-grid{display:grid;grid-template-columns:1.08fr .68fr .95fr;gap:24px;align-items:start;max-width:1500px;margin:auto}
.about-showcase .section-title{margin-bottom:42px}.about-showcase .section-title h2{font-size:clamp(40px,4.3vw,68px);max-width:650px}
.about-lead{font-size:clamp(20px,1.7vw,29px);line-height:1.48;max-width:650px;margin:0 0 56px}.about-lead strong{font-weight:900;background:linear-gradient(transparent 62%,#c92d36 62%);padding:0 3px}
.about-promises{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.about-promises article{min-width:0}.about-promises i{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:#fff;font-style:normal;font-size:25px;font-weight:900}.about-promises h3{font-size:18px;line-height:1.15;margin:14px 0 8px}.about-promises p{font-size:15px;color:#666;margin:0;line-height:1.35}
.about-roofer{margin:0;align-self:center}.about-roofer img{display:block;width:100%;height:650px;object-fit:cover;border-radius:18px}.about-roofer figcaption{font-family:Georgia,serif;font-style:italic;font-size:24px;line-height:1.15;text-align:center;margin:16px 0 0;transform:rotate(-2deg)}
.about-proof-stack{display:grid;gap:20px}.proof-card{background:#fff;border-radius:24px;padding:18px;box-shadow:0 8px 30px rgba(0,0,0,.05)}.proof-badge{display:inline-block;background:linear-gradient(90deg,#c92d36,#c92d36);color:#fff;border-radius:999px;padding:8px 18px;font-size:12px;font-weight:900;letter-spacing:1.3px;margin-bottom:16px}.disney-content{display:grid;grid-template-columns:42% 1fr;gap:18px;align-items:center}.disney-content img{width:100%;max-height:210px;object-fit:contain}.proof-card h3{font-size:24px;line-height:1.15;margin:0 0 14px}.proof-card p{font-size:17px;line-height:1.42;color:#333;margin:0}.disney-card .disney-content>div p{padding:14px 16px;background:#f1ebff;color:#34205f;border-radius:14px;font-weight:700;margin-top:18px}.family-card{position:relative;overflow:hidden;min-height:300px;padding:22px 28px 28px}.family-card:after{content:"VEES";position:absolute;right:-12px;bottom:-45px;font-size:110px;font-weight:900;color:rgba(201,45,54,.07)}.family-year{font-size:48px;line-height:1;color:var(--orange);font-weight:900;margin:3px 0 8px}.family-card h3{max-width:380px}.family-card p{max-width:520px}.family-card>strong{display:block;font-family:Georgia,serif;font-style:italic;font-size:21px;margin-top:20px;position:relative;z-index:1}
@media(max-width:1150px){.about-showcase-grid{grid-template-columns:1fr 1fr}.about-copy{grid-column:1/-1}.about-roofer img{height:560px}}
@media(max-width:760px){.about-showcase-grid{grid-template-columns:1fr}.about-copy{grid-column:auto}.about-promises{grid-template-columns:1fr}.about-promises article{display:grid;grid-template-columns:54px 1fr;column-gap:14px}.about-promises article p,.about-promises article h3{grid-column:2;margin-top:0}.about-roofer img{height:auto;max-height:none}.disney-content{grid-template-columns:1fr}.disney-content img{max-height:180px}.proof-card h3{font-size:21px}}

/* ENTREPRISE VEES — thème noir & rouge */
:root{--vees-red:#c92d36;--vees-black:#090909}
header{border-bottom:1px solid #242424}.brand img{object-fit:contain}.btn,.cta{background:var(--vees-red)!important;color:#fff!important}.eyebrow,.section-title p,.section-title>span{color:var(--vees-red)!important}h1 em{color:var(--vees-red)!important}.cards article:hover{border-color:var(--vees-red)!important}.zone-cities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin-top:22px}.zone-cities div{background:#151515;border:1px solid #2b2b2b;padding:18px;border-radius:14px}.zone-cities strong{color:#fff}.zone-cities p{margin:7px 0 0;color:#bbb}.work-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.work-card{background:#151515;border:1px solid #2b2b2b;border-radius:16px;padding:24px}.work-card b{display:block;color:var(--vees-red);font-size:12px;letter-spacing:.08em;margin-bottom:9px}.work-card h3{margin:0 0 10px;color:#fff}.work-card p{margin:0;color:#bbb;line-height:1.6}@media(max-width:760px){.work-list,.zone-cities{grid-template-columns:1fr}}

.services-cards{grid-template-columns:repeat(3,1fr)}.services-cards .offer-icon{font-size:34px;font-weight:900;color:#c92d36}.services-cards h3{margin-top:42px}@media(max-width:900px){.services-cards{grid-template-columns:1fr 1fr}}@media(max-width:560px){.services-cards{grid-template-columns:1fr}}

/* V6 - Avis Google premium */
.reviews-wow{background:radial-gradient(circle at 85% 15%,rgba(201,45,54,.22),transparent 32%),#0b0b0b!important;color:#fff!important;overflow:hidden}.reviews-wow .section-title p{color:#c92d36!important}.reviews-wow .section-title>span{color:#c92d36!important;border-color:#c92d36!important}.review-score{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;margin-bottom:30px;border:1px solid #303030;background:linear-gradient(135deg,#171717,#0e0e0e);border-radius:18px;box-shadow:0 22px 60px rgba(0,0,0,.35)}.review-score>div:first-child{display:flex;align-items:center;gap:18px}.google-g{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#fff;color:#4285f4;font-size:30px;font-weight:900}.review-score strong{display:block;font-size:30px}.review-score small{color:#aaa}.review-score-stars,.review-stars{color:#f5a623!important;text-shadow:0 0 18px rgba(245,166,35,.18)}.review-score-stars{font-size:30px;letter-spacing:5px}.reviews-wow .real-google-reviews{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.reviews-wow blockquote{border:1px solid #292929;border-radius:18px;background:linear-gradient(145deg,#181818,#0d0d0d);transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}.reviews-wow blockquote:hover{transform:translateY(-8px);border-color:#c92d36;box-shadow:0 24px 65px rgba(0,0,0,.4)}.reviews-wow blockquote cite{color:#bdbdbd}.review-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.review-btn{padding:15px 22px;border:1px solid #3a3a3a;border-radius:999px;font-weight:900;transition:.2s}.review-btn:hover{transform:translateY(-2px);border-color:#c92d36}.review-btn.primary{background:#c92d36;border-color:#c92d36;color:#fff}.float-whatsapp{position:fixed!important;left:18px!important;right:auto!important;bottom:18px!important}.float-phone{position:fixed!important;right:18px!important;left:auto!important;bottom:18px!important;background:#c92d36!important;color:#fff!important}.floating-contact{position:static!important}.floating-contact .float-phone{color:#fff!important}@media(max-width:800px){.reviews-wow .real-google-reviews{grid-template-columns:1fr}.review-score{align-items:flex-start;gap:18px;flex-direction:column}.review-score-stars{font-size:24px}.float-whatsapp{left:12px!important;bottom:12px!important}.float-phone{right:12px!important;bottom:12px!important}}

/* V17 — zone réalisations Avant/Après claire */
.vees-before-after{
  background:#fff !important;
  color:#111 !important;
  margin-top:0 !important;
  padding-top:80px !important;
  padding-bottom:90px !important;
}
.vees-before-after .section-title p,
.vees-before-after .compare-head span{color:#d62f39 !important}
.vees-before-after .section-title h2,
.vees-before-after .compare-head h3,
.vees-before-after .compare-control span{color:#111 !important}
.vees-before-after .compare-intro,
.vees-before-after .compare-head small{color:#666 !important}
.vees-before-after .compare-card{
  background:#f7f7f7 !important;
  border:1px solid #e1e1e1 !important;
  box-shadow:0 18px 45px rgba(0,0,0,.08);
}
.vees-before-after .compare-control{
  background:#fff !important;
  border-top:1px solid #e5e5e5;
}
.result-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:0 22px 24px;
  background:#fff;
}
.result-badges span{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 14px;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-weight:800;
  font-size:.88rem;
  white-space:nowrap;
}
.result-badges span::first-letter{color:#d62f39}
@media(max-width:640px){
  .vees-before-after{padding:56px 18px 66px !important}
  .result-badges{padding:0 14px 18px;gap:8px}
  .result-badges span{font-size:.78rem;padding:7px 10px;min-height:34px}
}

/* V18 — deux chantiers Avant/Après sur fond blanc */
.vees-before-after .compare-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  max-width:1240px;
  margin-left:auto;
  margin-right:auto;
}
.vees-before-after .compare-card{min-width:0}
.vees-before-after .before-after{aspect-ratio:4/3;overflow:hidden}
.vees-before-after .before-after img{width:100%;height:100%;object-fit:cover}
@media(max-width:820px){
  .vees-before-after .compare-grid{grid-template-columns:1fr !important}
}

/* V19 — 3e slider Le Raincy */
.vees-before-after .compare-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.compare-card-raincy{grid-column:1/-1;max-width:760px;width:100%;justify-self:center}
.compare-description{margin:0;padding:0 22px 18px;color:#555;line-height:1.6;background:#f7f7f7}
@media(max-width:820px){
 .vees-before-after .compare-grid{grid-template-columns:1fr!important}
 .compare-card-raincy{grid-column:auto;max-width:none}
 .compare-description{padding:0 14px 16px;font-size:.92rem}
}

/* ===== CORRECTIF IPHONE / MOBILE FINAL ===== */
html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
}
*, *::before, *::after { box-sizing: border-box; }

img, video, iframe, svg {
  max-width: 100% !important;
  height: auto;
}

section, header, footer, main, nav,
.container, .section-inner, .content, .wrapper {
  max-width: 100%;
}

@media (max-width: 767px) {
  body { min-width: 0 !important; }

  /* Tous les blocs principaux restent dans l'écran */
  section, main, footer {
    width: 100% !important;
    overflow-x: clip !important;
  }

  .container, .section-inner, .content, .wrapper,
  .about-grid, .about-content, .about-copy,
  .trust-grid, .trust-item, .works-grid, .work-card,
  .compare-grid, .compare-card, .faq-list, .faq-item {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  /* Titres : éviter le gigantesque texte qui sort à droite */
  h1, h2, h3, h4, p, li, a, span {
    overflow-wrap: anywhere;
    word-break: normal;
  }

  h1 { font-size: clamp(2.45rem, 12vw, 4rem) !important; line-height: .98 !important; }
  h2 { font-size: clamp(2.15rem, 10.5vw, 3.25rem) !important; line-height: 1.02 !important; }
  h3 { max-width: 100% !important; }

  /* Qui sommes-nous : vraie colonne mobile */
  .about-grid {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 28px !important;
  }
  .about-content, .about-copy {
    padding-left: 0 !important;
    padding-right: 0 !important;
    transform: none !important;
  }
  .about-copy p {
    font-size: clamp(1.12rem, 5.2vw, 1.45rem) !important;
    line-height: 1.55 !important;
  }

  /* Images / cartes */
  .work-card img, .before-after img {
    width: 100% !important;
    max-width: 100% !important;
    object-fit: cover;
  }
  .before-after { width:100% !important; max-width:100% !important; }

  /* Le gros numéro 01 ne doit pas prendre une colonne fixe */
  .section-number {
    flex: 0 0 auto !important;
  }

  /* boutons flottants plus petits pour ne pas manger l'écran */
  .float-whatsapp, .float-phone {
    font-size: 16px !important;
    padding: 13px 18px !important;
    max-width: 44vw !important;
    white-space: nowrap !important;
  }
}

/* iPhone étroit */
@media (max-width: 430px) {
  section { padding-left: 20px !important; padding-right: 20px !important; }
  header { padding-left: 18px !important; padding-right: 18px !important; }
  .hero, .hero-content { max-width:100% !important; }
  .section-heading, .section-title { max-width:100% !important; }
  .section-heading h2, .section-title h2 { max-width:100% !important; }
  .float-whatsapp, .float-phone {
    bottom: max(18px, env(safe-area-inset-bottom)) !important;
  }
}

/* ===== Vees iPhone FINAL : suppression réelle des débordements texte ===== */
@media (max-width: 767px) {
  html, body { width:100% !important; max-width:100% !important; margin:0 !important; overflow-x:hidden !important; }
  body * { min-width:0; box-sizing:border-box; }

  main, section, footer {
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  /* Annule les largeurs/décalages desktop sur les contenus */
  .container, .section-inner, .content, .wrapper,
  .about-grid, .about-content, .about-copy, .about-card,
  .family-card, .why-us, .why-grid, .trust-grid, .trust-item,
  .section-heading, .section-title, .works-grid, .work-card,
  .compare-grid, .compare-card, .faq-list, .faq-item {
    width:auto !important;
    min-width:0 !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    transform:none !important;
    left:auto !important;
    right:auto !important;
  }

  /* marge mobile réelle et symétrique */
  .about-grid, .about-content, .about-copy,
  .why-us, .why-grid, .trust-grid,
  .section-heading, .section-title {
    padding-left:24px !important;
    padding-right:24px !important;
  }

  /* Une seule colonne : le numéro ne réserve plus une colonne desktop */
  .about-grid, .why-grid, .trust-grid {
    grid-template-columns:minmax(0,1fr) !important;
  }

  /* Tous les textes doivent calculer leur largeur depuis le viewport */
  h1,h2,h3,h4,h5,p,li,summary {
    width:auto !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-right:0 !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }

  .about-content h2, .about-copy h2, .section-heading h2, .section-title h2,
  .why-us h2, .why-us h3 {
    font-size:clamp(2.05rem, 10vw, 3.05rem) !important;
    line-height:1.04 !important;
    letter-spacing:-0.035em !important;
  }

  .about-copy p, .family-card p, .why-us p {
    font-size:clamp(1.05rem, 4.8vw, 1.35rem) !important;
    line-height:1.5 !important;
  }

  /* Cartes : 24 px de respiration de chaque côté */
  .family-card, .why-us .card, .trust-item {
    width:calc(100% - 48px) !important;
    max-width:calc(100% - 48px) !important;
    margin-left:24px !important;
    margin-right:24px !important;
    overflow:hidden !important;
  }

  .family-card h3, .family-card p, .family-card blockquote,
  .trust-item h3, .trust-item p {
    max-width:100% !important;
  }

  /* Le numéro 01 ne doit jamais pousser le contenu hors écran */
  .section-number {
    position:static !important;
    width:64px !important;
    max-width:64px !important;
    margin:0 0 20px 24px !important;
  }
}

@media (max-width: 390px) {
  .about-grid, .about-content, .about-copy,
  .why-us, .why-grid, .trust-grid,
  .section-heading, .section-title {
    padding-left:20px !important;
    padding-right:20px !important;
  }
  .family-card, .why-us .card, .trust-item {
    width:calc(100% - 40px) !important;
    max-width:calc(100% - 40px) !important;
    margin-left:20px !important;
    margin-right:20px !important;
  }
}

.footer-address{
  margin:14px auto 0;
  text-align:center;
  font-size:14px;
  line-height:1.5;
  opacity:.82;
}

.footer-addresses{
  margin:14px auto 0;
  text-align:center;
}
.footer-addresses .footer-address{
  margin:4px 0;
}

/* Footer : les 2 adresses restent sous leur titre, desktop et mobile */
.footer-addresses-inline{
  margin:18px 0 0 !important;
  text-align:left !important;
}
.footer-addresses-inline p{
  margin:0 0 8px !important;
  padding:0 !important;
  font-size:16px !important;
  line-height:1.45 !important;
}
@media(max-width:767px){
  .footer-addresses-inline{
    width:100% !important;
    margin:14px 0 0 !important;
    text-align:left !important;
  }
  .footer-addresses-inline p{
    width:100% !important;
    max-width:100% !important;
    margin:0 0 7px !important;
    font-size:15px !important;
    white-space:normal !important;
  }
}
