
:root{
  --navy:#102c4c;
  --navy2:#173b62;
  --gold:#c99752;
  --cream:#fbf9f5;
  --text:#102a48;
  --muted:#5f6873;
  --line:#e7e1d9;
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#fff;font-family:"DM Sans",sans-serif;color:var(--text)}
a{text-decoration:none;color:inherit}
.topbar{height:100px;position:fixed;z-index:50;top:0;left:0;right:0;background:#fff;display:grid;grid-template-columns:180px 1fr auto;align-items:center;padding:0 36px;border-bottom:1px solid #eee}
.brand span{font-family:"Playfair Display";font-size:28px;line-height:.8}.brand small{display:block;font-size:8px;letter-spacing:.2em;margin-top:10px}
.topbar nav{display:flex;justify-content:center;gap:36px}.topbar nav a{font-size:14px;position:relative;padding:12px 0}.topbar nav a:hover:after{right:0}.topbar nav a:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:2px;background:var(--gold);transition:.25s}
.header-actions{display:flex;align-items:center;gap:14px}.cta{background:var(--navy);color:#fff;border-radius:8px;padding:15px 22px;font-weight:600}.phone{width:52px;height:52px;border-radius:50%;background:#f4f1ed;display:grid;place-items:center;font-size:22px}
main{position:fixed;inset:100px 0 0}.page{position:absolute;inset:0;opacity:0;pointer-events:none;overflow:hidden;background:#fff}.page.active{opacity:1;pointer-events:auto}
.home-hero{height:48%;display:grid;grid-template-columns:50% 50%;background:linear-gradient(90deg,#fbfaf8,#f6f1ea)}.hero-copy{padding:5vh 2vw 1vh 7.5vw}.eyebrow{font-size:13px;font-weight:600}.hero-copy h1{font-family:"Playfair Display";font-size:clamp(44px,4.2vw,72px);line-height:1.06;font-weight:500;margin:25px 0 0}.hero-copy h1 span{color:var(--gold)}.hero-photo{overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover}
.anah-strip{height:19%;width:93%;margin:0 auto;border-radius:14px;box-shadow:0 8px 28px rgba(20,35,55,.08);display:grid;grid-template-columns:230px 1px 220px 145px 145px 1px 1fr 1fr 1fr;align-items:center;gap:16px;padding:18px 28px 26px;position:relative}.aid-home{display:flex;align-items:center;gap:16px}.house-euro{font-size:48px;position:relative}.house-euro span{font-size:22px}.aid-title strong,.aid-title b{display:block;font-family:"Playfair Display";font-size:25px}.aid-title b{color:var(--gold)}.vline{width:1px;height:70%;background:#ddd4c8}.aid-copy{font-size:13px;line-height:1.5}.aid-copy b{color:var(--gold)}.anah-mini{text-align:center}.anah-mark{width:80px;height:24px;background:linear-gradient(15deg,transparent 34%,#e91e4f 35% 62%,transparent 63%);margin:auto;position:relative}.anah-mark:after{content:"";position:absolute;width:13px;height:13px;background:#4b7890;border-radius:3px;right:7px;top:-7px}.anah-mini strong{display:block;font-size:12px;color:#2f5e86;line-height:1.05}.anah-mini small{font-size:9px}.aid-circle{width:125px;height:125px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-content:center;text-align:center}.aid-circle strong{font-size:36px}.benefit{display:flex;align-items:center;gap:12px;font-size:12px}.benefit i{font-style:normal;color:var(--gold);font-size:26px}.conditions{position:absolute;left:28px;bottom:7px;font-size:10px;color:#45515f}
.trust-row{height:11%;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:0 18vw}.trust-row>div{display:flex;align-items:center;justify-content:center;gap:18px}.tv-icon,.flag{font-size:28px}.trust-row strong{font-size:28px;letter-spacing:.17em;color:#274878}.trust-row span{font-size:12px}
.stats-row{height:22%;background:linear-gradient(100deg,var(--navy),var(--navy2));color:#fff;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;padding:0 8.5vw}.stats-row.compact{height:12%;position:absolute;left:0;right:0;bottom:0}.stats-row article{display:flex;align-items:center;justify-content:center;gap:20px;border-right:1px solid rgba(255,255,255,.16)}.stats-row article:last-child{border:0}.stats-row i{font-style:normal;font-size:44px;color:#d39d4b}.stats-row strong{font-family:"Playfair Display";font-size:36px;font-weight:500;display:block}.stats-row small{font-size:12px}

.solutions-wrap{height:88%;padding:48px 9vw 28px;background:#fbfaf7}.solutions-heading{text-align:center}.solutions-heading h2{font-family:"Playfair Display";font-size:44px;line-height:1.08;font-weight:500;margin:0 0 16px}.solutions-heading h2 span{color:var(--gold)}.solutions-heading p{font-size:14px;line-height:1.5}
.solution-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;max-width:1240px;margin:32px auto 28px}.solution-card{background:#fff;border-radius:13px;padding:30px 34px;min-height:340px;box-shadow:0 8px 25px rgba(20,35,55,.06);display:flex;flex-direction:column}.icon-gold{font-size:38px;color:var(--gold);margin-bottom:20px}.solution-card h3{font-family:"Playfair Display";font-size:22px;line-height:1.15;margin:0 0 18px}.solution-card p{font-size:13px;line-height:1.6;color:#2f3a46}.solution-card a{margin-top:auto;font-weight:600;font-size:12px}.aides-cta{max-width:1240px;margin:auto;background:#fff;border:1px solid #eee5db;border-radius:13px;padding:24px 34px;display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:22px}.house-euro.small{font-size:42px}.aides-cta h3{font-family:"Playfair Display";font-size:22px;margin:0 0 5px}.aides-cta p{font-size:12px;margin:0}.outline-btn{border:1px solid var(--gold);color:#b4792e;padding:14px 20px;border-radius:7px;font-size:12px}

.aides-wrap{height:88%;padding:35px 7vw 20px;background:#fbfaf7;overflow:auto}.breadcrumb{font-size:11px;color:#b8792f;margin-bottom:18px}.breadcrumb a{color:var(--navy)}
.aides-hero{display:grid;grid-template-columns:1.4fr .8fr;gap:40px;align-items:center;margin-bottom:26px}.aides-hero h2{font-family:"Playfair Display";font-size:46px;line-height:1.08;font-weight:500;margin:0 0 20px}.aides-hero h2 span{color:var(--gold)}.aides-hero p{font-size:14px;line-height:1.6}.anah-summary{background:#fff;border-radius:13px;padding:28px;display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;gap:20px;box-shadow:0 8px 25px rgba(20,35,55,.05)}.anah-summary>p{grid-column:1/4;font-size:11px;margin:0}.aid-big{text-align:center}.aid-big small,.aid-big span{display:block}.aid-big strong{font-size:48px}
.aides-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}.process-card,.eligibility-card,.examples-card,.support-card{background:#fff;border-radius:13px;padding:24px;box-shadow:0 8px 25px rgba(20,35,55,.05)}.process-card h3,.eligibility-card h3,.examples-card h3,.support-card h3{font-family:"Playfair Display";font-size:21px;margin-top:0}.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.step-icon{width:58px;height:58px;border-radius:50%;background:#f7f3ed;display:grid;place-items:center;font-size:25px}.process-steps b{color:var(--gold);display:block;margin:10px 0 4px}.process-steps h4{font-family:"Playfair Display";font-size:16px;margin:0 0 8px}.process-steps p{font-size:11px;line-height:1.55}.eligibility-item{display:flex;gap:15px;margin:20px 0}.eligibility-item i{font-style:normal;font-size:27px;color:var(--gold)}.eligibility-item strong,.eligibility-item span{display:block}.eligibility-item strong{font-family:"Playfair Display";font-size:15px}.eligibility-item span{font-size:11px;margin-top:5px}.examples-card table{width:100%;border-collapse:collapse;font-size:11px}.examples-card th,.examples-card td{padding:10px 14px;border-bottom:1px solid #eee;text-align:left}.examples-card th{color:#b8792f;background:#f8f4ee}.support-card{display:flex;flex-direction:column;justify-content:center}.support-icon{font-size:30px;color:var(--gold)}.support-card p{font-size:12px;line-height:1.5}.support-card .cta{margin-top:10px;width:max-content;font-size:11px}

.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%,16px);opacity:0;background:var(--navy);color:white;padding:12px 18px;border-radius:8px;transition:.22s;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:900px){
  html,body{overflow:auto}.topbar{position:sticky;height:auto;padding:18px;grid-template-columns:1fr auto}.topbar nav,.header-actions{display:none}main{position:static}.page{position:static;display:none;opacity:1}.page.active{display:block}.home-hero{grid-template-columns:1fr;height:auto}.hero-copy{padding:40px 22px}.hero-copy h1{font-size:44px}.hero-photo{height:330px}.anah-strip{height:auto;grid-template-columns:1fr 1fr;width:94%;padding:18px}.trust-row{height:auto;padding:22px;grid-template-columns:1fr}.stats-row,.stats-row.compact{position:static;height:auto;min-height:220px;grid-template-columns:1fr 1fr;padding:22px}.solutions-wrap,.aides-wrap{height:auto;padding:35px 18px}.solution-grid{grid-template-columns:1fr}.aides-cta{grid-template-columns:1fr}.aides-grid,.aides-hero{grid-template-columns:1fr}.process-steps{grid-template-columns:1fr 1fr}
}


/* ==========================================================
   V7 — proportions recalées sur la maquette validée
   + pictogrammes solutions vectoriels
   ========================================================== */

:root{
  --header-h: 86px;
}

/* Header un peu plus fin, comme sur la maquette validée */
.topbar{
  height:var(--header-h);
  padding:0 32px;
  grid-template-columns:175px 1fr auto;
}
main{inset:var(--header-h) 0 0;}
.brand span{font-size:27px;}
.topbar nav{gap:34px;}
.topbar nav a{font-size:13px;}
.header-actions .cta{padding:14px 20px;}
.phone{width:48px;height:48px;}

/* Accueil : proportions V5 */
.home-hero{
  height:49.5%;
  grid-template-columns:50.5% 49.5%;
}
.hero-copy{
  padding:4.7vh 2vw 1vh 6.8vw;
}
.hero-copy h1{
  font-size:clamp(42px,3.75vw,66px);
  line-height:1.07;
  margin-top:22px;
}
.eyebrow{font-size:12px;}

.hero-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}

/* Bandeau ANAH légèrement plus compact */
.anah-strip{
  height:17.5%;
  width:93.5%;
  padding:14px 28px 24px;
  grid-template-columns:230px 1px 215px 140px 135px 1px 1fr 1fr 1fr;
  gap:14px;
}
.aid-circle{width:116px;height:116px;}
.aid-circle strong{font-size:34px;}
.aid-title strong,.aid-title b{font-size:24px;}
.house-euro{font-size:45px;}

/* Zone confiance plus fine */
.trust-row{
  height:9%;
  padding:0 18vw;
}

/* Bandeau bleu réduit pour retrouver la composition validée */
.stats-row{
  height:24%;
  padding:0 9vw;
}
.stats-row i{font-size:40px;}
.stats-row strong{font-size:33px;}
.stats-row small{font-size:11px;}

/* Solutions : icônes premium en tracé vectoriel */
.icon-gold{
  width:54px;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:20px;
}
.solution-svg{
  width:50px;
  height:50px;
  fill:none;
  stroke:var(--gold);
  stroke-width:2.1;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Pas d'emoji natif dans les cartes solutions */
.solution-card .icon-gold{
  font-family:inherit;
}

/* Les pages secondaires gardent un bandeau stats compact */
.stats-row.compact{
  height:12%;
}

@media(max-width:900px){
  :root{--header-h:auto;}
  .topbar{height:auto;}
  main{inset:auto;position:static;}
  .home-hero{height:auto;grid-template-columns:1fr;}
  .anah-strip{height:auto;grid-template-columns:1fr 1fr;}
  .trust-row{height:auto;}
  .stats-row,.stats-row.compact{height:auto;}
}


/* V8 — corrections demandées uniquement */

/* Accueil : masquer uniquement la flèche bleue intégrée à droite de la photo,
   sans changer la taille ni la position du bloc photo. */
#home .hero-photo{
  position:relative;
  overflow:hidden;
}
#home .hero-photo img{
  width:106%;
  max-width:none;
  height:100%;
  object-fit:cover;
  object-position:left center;
}

/* Nos solutions : aucun lien "En savoir plus" */
#solutions .solution-card > a{
  display:none !important;
}

/* Page aides : textes légèrement agrandis */
#aides .aides-hero p{font-size:15px;}
#aides .process-card h3,
#aides .eligibility-card h3,
#aides .examples-card h3,
#aides .support-card h3{font-size:23px;}

#aides .process-steps h4{font-size:17px;}
#aides .process-steps p{font-size:12.5px;line-height:1.55;}
#aides .eligibility-item strong{font-size:16px;}
#aides .eligibility-item span{font-size:12.5px;}
#aides .examples-card table{font-size:12px;}
#aides .support-card p{font-size:13px;}

/* Icônes de la page aides : plus grandes, uniformes et compréhensibles */
#aides .step-icon{
  width:64px;
  height:64px;
  font-size:0;
  border:1px solid #eadfce;
}
#aides .step-icon svg{
  width:34px;
  height:34px;
  fill:none;
  stroke:var(--gold);
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
#aides .eligibility-item i{
  width:46px;
  height:46px;
  flex:0 0 46px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#f8f4ee;
  font-size:0;
}
#aides .eligibility-item i svg{
  width:27px;
  height:27px;
  fill:none;
  stroke:var(--gold);
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}


/* V9 — restauration complète des pictogrammes de la page Aides */
#aides .step-icon{
  width:64px;
  height:64px;
  border-radius:50%;
  background:#f8f4ee;
  border:1px solid #eadfce;
  display:grid;
  place-items:center;
}
#aides .step-icon svg{
  width:34px;
  height:34px;
  display:block;
  fill:none;
  stroke:var(--gold);
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
#aides .eligibility-item i{
  width:46px;
  height:46px;
  flex:0 0 46px;
  border-radius:50%;
  background:#f8f4ee;
  display:grid;
  place-items:center;
}
#aides .eligibility-item i svg{
  width:27px;
  height:27px;
  display:block;
  fill:none;
  stroke:var(--gold);
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}


/* V14 — ACCUEIL HTML/CSS NET */
.v14-home-page{
  position:fixed !important;
  inset:0 !important;
  overflow:hidden !important;
  background:#f8f4ed;
  z-index:60;
}
body:has(.v14-home-page.active) > .topbar{display:none !important;}

.v14-canvas{
  position:absolute;
  left:50%; top:50%;
  transform:translate(-50%,-50%);
  width:min(100vw,calc(100vh * 1672 / 941));
  aspect-ratio:1672/941;
  container-type:inline-size;
  background:#fff;
  overflow:hidden;
  color:#102c4c;
}

.v14-header{
  height:10.7%;
  display:grid;
  grid-template-columns:20.5% 1fr 23%;
  align-items:center;
  padding:0 2.25cqw;
  background:#fff;
}
.v14-logo span{display:block;font-family:"Playfair Display";font-size:2.05cqw;line-height:.78}
.v14-logo small{display:block;margin-top:.6cqw;font-size:.47cqw;letter-spacing:.23em}
.v14-nav{display:flex;justify-content:center;gap:2.6cqw}
.v14-nav a{position:relative;font-size:.84cqw;padding:.8cqw 0}
.v14-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:.25cqw;height:.12cqw;background:#cf923e}
.v14-actions{display:flex;justify-content:flex-end;align-items:center;gap:1cqw}
.v14-cta{background:#102c4c;color:#fff;padding:1.02cqw 1.55cqw;border-radius:.55cqw;font-size:.85cqw;font-weight:600}
.v14-phone{width:3.15cqw;height:3.15cqw;border-radius:50%;background:#f3f0ec;display:grid;place-items:center}
.v14-phone svg{width:1.35cqw;height:1.35cqw;fill:#102c4c}

.v14-hero{height:45.8%;display:grid;grid-template-columns:50% 50%;background:#f8f4ed}
.v14-hero-copy{padding:3.9cqw 2cqw 1cqw 6.25cqw}
.v14-hero-copy p{margin:0 0 2.1cqw;font-size:.74cqw;font-weight:600}
.v14-hero-copy h1{margin:0;font-family:"Playfair Display";font-weight:500;font-size:4.05cqw;line-height:1.055}
.v14-hero-copy h1 span{color:#cf974b}
.v14-photo{overflow:hidden}
.v14-photo img{width:100%;height:100%;object-fit:cover;display:block}

.v14-anah{
  position:relative;
  height:18%;
  width:93.1%;
  margin:0 auto;
  display:grid;
  grid-template-columns:17.2% .07% 16.4% 10.4% 10.2% .07% 1fr 1fr 1fr;
  align-items:center;
  column-gap:1.15cqw;
  padding:1.05cqw 1.75cqw 1.45cqw;
  border-radius:.85cqw;
  background:#fff;
  box-shadow:0 .5cqw 1.8cqw rgba(20,35,55,.08);
  transform:translateY(-.45cqw);
  z-index:3;
}
.v14-state{display:flex;align-items:center;gap:1cqw}
.v14-house-euro{width:4.1cqw;height:4.1cqw}
.v14-house-euro svg,.v14-benefit svg,.v14-tv svg,.v14-stats svg{width:100%;height:100%;fill:none;stroke:#cf923e;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.v14-house-euro svg{stroke:#102c4c}
.v14-state-title strong,.v14-state-title b{display:block;font-family:"Playfair Display";font-size:1.5cqw;line-height:1.15}
.v14-state-title b,.v14-aid-copy b{color:#cf974b}
.v14-sep{width:100%;height:66%;background:#ded6cc}
.v14-aid-copy{font-size:.77cqw;line-height:1.55}
.v14-anah-logo{text-align:center}
.v14-anah-mark{width:5.2cqw;height:1.55cqw;margin:0 auto .18cqw;position:relative;background:linear-gradient(15deg,transparent 33%,#ec174b 34% 63%,transparent 64%)}
.v14-anah-mark:after{content:"";position:absolute;width:.75cqw;height:.75cqw;border-radius:.16cqw;background:#4d7890;right:.4cqw;top:-.4cqw}
.v14-anah-logo strong{display:block;color:#2f5e86;font-size:.72cqw;line-height:1.04}
.v14-anah-logo small{font-size:.5cqw}
.v14-aid-circle{width:7.4cqw;height:7.4cqw;border-radius:50%;background:#102c4c;color:#fff;display:grid;place-content:center;text-align:center;justify-self:center}
.v14-aid-circle small{font-size:.67cqw}.v14-aid-circle strong{font-size:2.35cqw;line-height:1}.v14-aid-circle span{font-size:.72cqw}
.v14-benefit{display:flex;align-items:center;justify-content:center;gap:.75cqw;font-size:.77cqw}
.v14-benefit svg{width:2.5cqw;height:2.5cqw}
.v14-benefit svg.pmr{padding:.28cqw;border-radius:.32cqw;background:#308cea;stroke:#fff}
.v14-conditions{position:absolute;left:1.8cqw;bottom:.38cqw;margin:0;font-size:.56cqw;line-height:1.45}

.v14-trust{height:8.2%;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:0 18cqw;background:#fff}
.v14-trust>div{display:flex;align-items:center;justify-content:center;gap:1.05cqw}
.v14-tv svg{width:2.45cqw;height:2.45cqw;stroke:#102c4c}
.v14-trust span{font-size:.72cqw}
.v14-tv strong{display:flex;font-size:1.45cqw}
.v14-tv strong i{font-style:normal;color:#fff;padding:.03cqw .25cqw}
.v14-tv strong i:nth-child(1){background:#214b9f}
.v14-tv strong i:nth-child(2){background:#fff;color:#214b9f;border-top:.08cqw solid #214b9f;border-bottom:.08cqw solid #d91c35}
.v14-tv strong i:nth-child(3){background:#d91c35}
.v14-flag{display:flex;width:2.55cqw;height:1.65cqw}.v14-flag i{flex:1}.v14-flag i:nth-child(1){background:#153896}.v14-flag i:nth-child(2){background:#fff}.v14-flag i:nth-child(3){background:#ed2939}

.v14-stats{height:17.3%;background:linear-gradient(100deg,#102c4c,#163b62);color:#fff;display:grid;grid-template-columns:repeat(4,1fr);padding:0 8cqw;align-items:center}
.v14-stats article{height:48%;display:flex;align-items:center;justify-content:center;gap:1.2cqw;border-right:.05cqw solid rgba(255,255,255,.17)}
.v14-stats article:last-child{border-right:0}
.v14-stats svg{width:3cqw;height:3cqw}
.v14-stats strong{display:block;font-family:"Playfair Display";font-size:2cqw;line-height:1;font-weight:500}
.v14-stats small{display:block;margin-top:.45cqw;font-size:.68cqw;line-height:1.3}

body:not(:has(.v14-home-page.active)) > .topbar{display:grid !important;}


/* =========================================================
   V15 — ACCUEIL EN PLEIN ÉCRAN RÉEL
   Aucun changement de contenu, uniquement le remplissage 100vw × 100vh
   ========================================================= */

.v14-home-page{
  width:100vw !important;
  height:100vh !important;
  background:#fff !important;
}

.v14-canvas{
  left:0 !important;
  top:0 !important;
  transform:none !important;
  width:100vw !important;
  height:100vh !important;
  max-width:none !important;
  aspect-ratio:auto !important;
  container-type:size;
}

/* Conserver exactement l’ordre et la proportion interne des blocs */
.v14-header{height:10.7vh;}
.v14-hero{height:45.8vh;}
.v14-anah{height:18vh;}
.v14-trust{height:8.2vh;}
.v14-stats{height:17.3vh;}

/* Ajuster les tailles selon la largeur de l’écran sans étirer les éléments */
.v14-logo span{font-size:clamp(22px,2.05vw,36px);}
.v14-logo small{font-size:clamp(7px,.47vw,10px);}
.v14-nav a{font-size:clamp(11px,.84vw,15px);}
.v14-cta{font-size:clamp(11px,.85vw,15px);}

.v14-hero-copy h1{font-size:clamp(44px,4.05vw,76px);}
.v14-hero-copy p{font-size:clamp(10px,.74vw,14px);}

.v14-state-title strong,
.v14-state-title b{font-size:clamp(19px,1.5vw,28px);}
.v14-aid-copy{font-size:clamp(10px,.77vw,14px);}
.v14-benefit{font-size:clamp(10px,.77vw,14px);}
.v14-conditions{font-size:clamp(8px,.56vw,11px);}

.v14-trust span{font-size:clamp(9px,.72vw,13px);}
.v14-stats strong{font-size:clamp(25px,2vw,38px);}
.v14-stats small{font-size:clamp(9px,.68vw,13px);}

/* La photo remplit toujours entièrement sa moitié, sans déformation */
.v14-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}


/* =========================================================
   V18 — mêmes proportions sur toutes les pages
   Aucun visuel recréé
   ========================================================= */

:root{
  --site-header-height:86px;
  --site-bottom-band-height:12vh;
}

html,body{
  width:100%;
  height:100%;
  margin:0;
  overflow:hidden;
}

.topbar{
  height:var(--site-header-height)!important;
}

main{
  position:fixed!important;
  inset:var(--site-header-height) 0 0!important;
  height:calc(100vh - var(--site-header-height))!important;
}

/* Accueil dans exactement la même zone que les autres pages */
.v14-home-page{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:auto!important;
  overflow:hidden!important;
  background:#fff!important;
}

/* Utiliser le même header global que Nos solutions */
body:has(.v14-home-page.active)>.topbar{
  display:grid!important;
}
.v14-home-page .v14-header{
  display:none!important;
}

.v14-canvas{
  position:absolute!important;
  inset:0!important;
  left:0!important;
  top:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  margin:0!important;
  transform:none!important;
  aspect-ratio:auto!important;
  container-type:size;
  overflow:hidden!important;
}

/* Proportions de l'accueil alignées avec Nos solutions */
.v14-hero{
  height:46%!important;
  grid-template-columns:50% 50%!important;
}

.v14-hero-copy{
  padding:3vh 2vw 1vh 6.3vw!important;
  overflow:hidden!important;
}

.v14-hero-copy p{
  margin:0 0 1.7vh!important;
  font-size:clamp(10px,.7vw,13px)!important;
}

.v14-hero-copy h1{
  margin:0!important;
  font-size:clamp(40px,3.4vw,62px)!important;
  line-height:1.03!important;
}

/* Bandeau blanc après le texte : aucun chevauchement */
.v14-anah{
  position:relative!important;
  width:93.1%!important;
  height:18%!important;
  margin:0 auto!important;
  transform:none!important;
  padding:1vw 1.7vw 1.2vw!important;
}

/* Zone confiance compacte */
.v14-trust{
  height:11%!important;
}

/* Même hauteur que le bandeau bleu de Nos solutions */
.v14-stats{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:var(--site-bottom-band-height)!important;
  min-height:96px!important;
  padding:0 8vw!important;
}

.v14-stats article{
  height:60%!important;
}

.v14-stats svg{
  width:2.4vw!important;
  height:2.4vw!important;
  min-width:31px!important;
  min-height:31px!important;
}

.v14-stats strong{
  font-size:clamp(24px,1.7vw,33px)!important;
}

.v14-stats small{
  font-size:clamp(9px,.6vw,12px)!important;
}

.v14-photo,
.v14-photo img{
  width:100%!important;
  height:100%!important;
}

.v14-photo img{
  object-fit:cover!important;
  object-position:center center!important;
}

/* Pages secondaires conservées */
#solutions.page,
#aides.page{
  width:100%;
  height:100%;
}

@media(max-width:900px){
  html,body{overflow:auto}
  main{
    position:static!important;
    height:auto!important;
  }
  .v14-home-page{
    position:static!important;
    height:auto!important;
  }
  .v14-canvas{
    position:static!important;
    height:auto!important;
    overflow:visible!important;
  }
  .v14-hero{
    height:auto!important;
    grid-template-columns:1fr!important;
  }
  .v14-hero-copy{
    padding:38px 22px 24px!important;
  }
  .v14-anah,
  .v14-trust,
  .v14-stats{
    position:static!important;
    height:auto!important;
  }
}


/* =========================================================
   V19 — accueil rééquilibré visuellement
   Même échelle que « Nos solutions »
   ========================================================= */

/* Transformer l'accueil en vraie grille verticale sans espaces morts */
.v14-canvas{
  display:grid !important;
  grid-template-rows:
    46%
    18%
    12%
    24% !important;
}

/* Les blocs restent dans le flux, sans positionnement absolu */
.v14-hero,
.v14-anah,
.v14-trust,
.v14-stats{
  position:relative !important;
  inset:auto !important;
  bottom:auto !important;
}

/* HERO */
.v14-hero{
  height:auto !important;
  min-height:0 !important;
}

.v14-hero-copy{
  padding:3vh 2vw 1.2vh 6.3vw !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}

.v14-hero-copy p{
  margin:0 0 1.6vh !important;
}

.v14-hero-copy h1{
  font-size:clamp(40px,3.35vw,60px) !important;
  line-height:1.035 !important;
}

/* BANDEAU ANAH */
.v14-anah{
  width:93.1% !important;
  height:calc(100% - 14px) !important;
  align-self:center !important;
  margin:7px auto !important;
  padding:.75vw 1.7vw 1.05vw !important;
  border-radius:14px !important;
  box-shadow:0 8px 28px rgba(20,35,55,.08) !important;
}

/* Éviter que la note légale touche l'icône ou le titre */
.v14-conditions{
  left:1.8vw !important;
  bottom:.42vw !important;
  line-height:1.28 !important;
}

/* Espacer légèrement le premier bloc ANAH */
.v14-state{
  gap:.8vw !important;
}
.v14-state-title strong,
.v14-state-title b{
  font-size:clamp(19px,1.35vw,25px) !important;
}

/* ZONE TF1 / FRANCE */
.v14-trust{
  height:auto !important;
  min-height:0 !important;
  padding:0 18vw !important;
  border-bottom:1px solid rgba(15,44,76,.08) !important;
}

/* BARRE BLEUE : intégrée au flux, plus de grand vide blanc */
.v14-stats{
  height:auto !important;
  min-height:0 !important;
  padding:0 8vw !important;
}

.v14-stats article{
  height:58% !important;
}

/* Pictogrammes et chiffres bien alignés */
.v14-stats svg{
  width:2.45vw !important;
  height:2.45vw !important;
  min-width:32px !important;
  min-height:32px !important;
}

.v14-stats strong{
  font-size:clamp(24px,1.7vw,33px) !important;
}

.v14-stats small{
  margin-top:.32vw !important;
  font-size:clamp(9px,.6vw,12px) !important;
}

/* Photo inchangée */
.v14-photo img{
  object-fit:cover !important;
  object-position:center center !important;
}

/* Mobile */
@media(max-width:900px){
  .v14-canvas{
    display:block !important;
  }
}


/* =========================================================
   V22 — correction ciblée
   Nos solutions reste strictement inchangée.
   Seule la barre bleue de l'accueil reprend exactement
   la hauteur du bandeau compact de Nos solutions.
   ========================================================= */

#home .v14-stats{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  width:100% !important;
  height:12% !important;
  min-height:96px !important;
  padding:0 8.5vw !important;
  background:linear-gradient(100deg,#102c4d,#153b63) !important;
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  align-items:center !important;
}

/* Adapter la grille de l'accueil pour descendre les autres bandeaux
   et conserver le titre entièrement visible. */
#home .v14-canvas{
  display:grid !important;
  grid-template-rows:52% 18% 18% 12% !important;
}

/* Hero légèrement plus haut pour combler l'espace libéré */
#home .v14-hero{
  height:auto !important;
  min-height:0 !important;
}

/* Bandeau ANAH et zone confiance restent dans le flux */
#home .v14-anah,
#home .v14-trust{
  position:relative !important;
  inset:auto !important;
  bottom:auto !important;
}

#home .v14-anah{
  height:calc(100% - 14px) !important;
  margin:7px auto !important;
}

#home .v14-trust{
  height:auto !important;
  min-height:0 !important;
}

/* Même proportions internes que le footer de Nos solutions */
#home .v14-stats article{
  height:60% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:20px !important;
  border-right:1px solid rgba(255,255,255,.16) !important;
}

#home .v14-stats article:last-child{
  border-right:0 !important;
}

#home .v14-stats svg{
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  min-height:40px !important;
}

#home .v14-stats strong{
  font-size:clamp(24px,1.7vw,33px) !important;
  line-height:1 !important;
}

#home .v14-stats small{
  margin-top:5px !important;
  font-size:clamp(9px,.62vw,12px) !important;
  line-height:1.25 !important;
}

/* Aucun changement sur #solutions */


/* =========================================================
   V23 — vraie version du site
   Barre blanche de l'accueil rééquilibrée
   Page Nos solutions strictement inchangée
   ========================================================= */

/* Bandeau blanc principal */
#home .v14-anah{
  width:94% !important;
  height:calc(100% - 12px) !important;
  margin:6px auto !important;
  padding:14px 26px 22px !important;
  display:grid !important;
  grid-template-columns:
    minmax(220px,1.35fr)
    1px
    minmax(210px,1.15fr)
    minmax(125px,.8fr)
    minmax(135px,.85fr)
    1px
    minmax(170px,1fr)
    minmax(170px,1fr)
    minmax(180px,1fr) !important;
  column-gap:18px !important;
  align-items:center !important;
  border-radius:16px !important;
  box-shadow:0 8px 28px rgba(20,35,55,.08) !important;
}

/* Bloc État */
#home .v14-state{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:16px !important;
  min-width:0 !important;
}

#home .v14-house-euro{
  width:58px !important;
  height:58px !important;
  flex:0 0 58px !important;
}

#home .v14-state-title{
  min-width:0 !important;
}

#home .v14-state-title strong,
#home .v14-state-title b{
  display:block !important;
  font-size:clamp(20px,1.35vw,27px) !important;
  line-height:1.08 !important;
  white-space:nowrap !important;
}

/* Texte ANAH */
#home .v14-aid-copy{
  font-size:clamp(11px,.72vw,14px) !important;
  line-height:1.5 !important;
}

/* Logo ANAH */
#home .v14-anah-logo{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
}

#home .v14-anah-mark{
  width:82px !important;
  height:24px !important;
  margin-bottom:4px !important;
}

#home .v14-anah-logo strong{
  font-size:12px !important;
  line-height:1.05 !important;
}

#home .v14-anah-logo small{
  font-size:9px !important;
  margin-top:4px !important;
}

/* Cercle 70% */
#home .v14-aid-circle{
  width:124px !important;
  height:124px !important;
  justify-self:center !important;
}

#home .v14-aid-circle small{
  font-size:11px !important;
}

#home .v14-aid-circle strong{
  font-size:40px !important;
  line-height:1 !important;
}

#home .v14-aid-circle span{
  font-size:12px !important;
}

/* Séparateurs */
#home .v14-sep{
  width:1px !important;
  height:68% !important;
  background:#ddd4c8 !important;
  justify-self:center !important;
}

/* Avantages */
#home .v14-benefit{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  font-size:clamp(11px,.72vw,14px) !important;
  line-height:1.35 !important;
  text-align:left !important;
}

#home .v14-benefit svg{
  width:42px !important;
  height:42px !important;
  flex:0 0 42px !important;
}

#home .v14-benefit svg.pmr{
  width:46px !important;
  height:46px !important;
  flex-basis:46px !important;
}

/* Note légale : bien séparée des contenus */
#home .v14-conditions{
  left:26px !important;
  bottom:8px !important;
  font-size:10px !important;
  line-height:1.3 !important;
  max-width:310px !important;
  margin:0 !important;
}

/* Garder la zone confiance juste sous le bandeau */
#home .v14-trust{
  padding:0 19vw !important;
}

/* Responsive intermédiaire */
@media(max-width:1250px){
  #home .v14-anah{
    grid-template-columns:
      minmax(190px,1.2fr)
      1px
      minmax(180px,1fr)
      minmax(110px,.75fr)
      minmax(120px,.8fr)
      1px
      minmax(145px,1fr)
      minmax(145px,1fr)
      minmax(155px,1fr) !important;
    column-gap:12px !important;
    padding-left:20px !important;
    padding-right:20px !important;
  }

  #home .v14-house-euro{
    width:50px !important;
    height:50px !important;
    flex-basis:50px !important;
  }

  #home .v14-state-title strong,
  #home .v14-state-title b{
    font-size:19px !important;
  }

  #home .v14-aid-circle{
    width:108px !important;
    height:108px !important;
  }

  #home .v14-benefit{
    font-size:11px !important;
    gap:8px !important;
  }

  #home .v14-benefit svg{
    width:34px !important;
    height:34px !important;
    flex-basis:34px !important;
  }
}

/* Mobile : conserver la version empilée existante */
@media(max-width:900px){
  #home .v14-anah{
    grid-template-columns:1fr 1fr !important;
    height:auto !important;
    padding:18px !important;
  }

  #home .v14-sep{
    display:none !important;
  }

  #home .v14-aid-copy,
  #home .v14-anah-logo,
  #home .v14-aid-circle,
  #home .v14-benefit,
  #home .v14-conditions{
    grid-column:1 / -1 !important;
  }

  #home .v14-conditions{
    position:static !important;
    max-width:none !important;
  }
}


/* =========================================================
   V24 — PAGE NOS RÉALISATIONS 3D
   Même DA et mêmes proportions que les pages validées
   ========================================================= */

#realisations-3d.page{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
  background:#fbfaf7;
}

.realisations3d-wrap{
  height:88%;
  padding:3.3vh 6.5vw 2vh;
  background:#fbfaf7;
  overflow:hidden;
}

.realisations3d-heading{
  text-align:center;
  height:22%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}

.realisations3d-heading .eyebrow{
  margin:0 0 .8vh;
  letter-spacing:.14em;
  font-size:clamp(10px,.66vw,12px);
}

.realisations3d-heading h2{
  margin:0 0 1.1vh;
  font-family:"Playfair Display",serif;
  font-size:clamp(36px,3vw,54px);
  line-height:1.05;
  font-weight:500;
}

.realisations3d-heading h2 span{
  color:var(--gold);
}

.realisations3d-heading>p:last-child{
  margin:0;
  font-size:clamp(11px,.78vw,14px);
  line-height:1.45;
}

.realisations3d-carousel{
  position:relative;
  height:62%;
  max-width:1460px;
  margin:0 auto;
  display:flex;
  align-items:center;
}

.r3d-viewport{
  width:100%;
  height:100%;
  overflow:hidden;
}

.r3d-track{
  height:100%;
  display:flex;
  gap:1.4vw;
  transition:transform .45s ease;
  will-change:transform;
}

.r3d-card{
  flex:0 0 calc((100% - 4.2vw)/4);
  min-width:0;
  height:100%;
  background:#fff;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 8px 25px rgba(20,35,55,.06);
  display:flex;
  flex-direction:column;
}

.r3d-visual{
  position:relative;
  height:72%;
  overflow:hidden;
  background:linear-gradient(145deg,#efe7dc,#d8c7b2);
}

.r3d-room{
  position:absolute;
  inset:0;
  perspective:900px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.28),transparent 38%),
    linear-gradient(#eadfce 0 72%,#c8b39b 72%);
}

.r3d-room:before{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  bottom:12%;
  height:28%;
  background:linear-gradient(90deg,#d7c4ad,#efe6da);
  transform:skewX(-7deg);
  box-shadow:0 10px 20px rgba(0,0,0,.08);
}

.r3d-shower{
  position:absolute;
  left:18%;
  top:11%;
  width:41%;
  height:66%;
  border:2px solid rgba(50,66,76,.45);
  background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,.05));
}

.r3d-glass{
  position:absolute;
  left:50%;
  top:11%;
  width:2px;
  height:66%;
  background:rgba(45,62,75,.55);
}

.r3d-seat{
  position:absolute;
  left:29%;
  top:50%;
  width:16%;
  height:10%;
  border-radius:4px;
  background:#f5f4f1;
  box-shadow:0 5px 8px rgba(0,0,0,.12);
}

.r3d-vanity{
  position:absolute;
  right:8%;
  top:47%;
  width:25%;
  height:20%;
  background:linear-gradient(#eee 0 18%,#b88d62 18%);
  box-shadow:0 8px 14px rgba(0,0,0,.13);
}

.r3d-mirror{
  position:absolute;
  right:11%;
  top:15%;
  width:19%;
  height:24%;
  border-radius:8px;
  background:linear-gradient(145deg,#eceff0,#bbc5c9);
  box-shadow:0 0 0 3px rgba(255,255,255,.35);
}

.visual-two{background:linear-gradient(145deg,#e8e4df,#b9ada1)}
.visual-two .r3d-room{filter:saturate(.8)}
.visual-three{background:linear-gradient(145deg,#e8e7e2,#c4c7c5)}
.visual-three .r3d-room{filter:saturate(.65) brightness(1.05)}
.visual-four{background:linear-gradient(145deg,#eee7dd,#ccbba7)}
.visual-four .r3d-room{filter:saturate(.9) contrast(.98)}

.r3d-label{
  position:absolute;
  left:12px;
  bottom:12px;
  background:#fff;
  color:#102c4c;
  border-radius:999px;
  padding:6px 10px;
  font-size:9px;
  font-weight:600;
  letter-spacing:.05em;
}

.r3d-copy{
  padding:1.6vh 1.3vw;
  flex:1;
}

.r3d-copy h3{
  margin:0 0 .8vh;
  font-family:"Playfair Display",serif;
  font-size:clamp(17px,1.25vw,22px);
  line-height:1.12;
}

.r3d-copy p{
  margin:0;
  font-size:clamp(10px,.67vw,12px);
  line-height:1.5;
}

.r3d-arrow{
  position:absolute;
  top:38%;
  transform:translateY(-50%);
  z-index:5;
  width:46px;
  height:46px;
  border:0;
  border-radius:50%;
  background:#102c4c;
  color:#fff;
  font-size:30px;
  display:grid;
  place-items:center;
  box-shadow:0 7px 18px rgba(16,44,76,.18);
}

.r3d-prev{left:-24px}
.r3d-next{right:-24px}

.r3d-dots{
  height:7%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}

.r3d-dots button{
  width:8px;
  height:8px;
  border:0;
  border-radius:50%;
  padding:0;
  background:#9aa4af;
}

.r3d-dots button.active{
  width:26px;
  border-radius:10px;
  background:var(--gold);
}

.r3d-actions{
  height:9%;
  display:flex;
  align-items:center;
  justify-content:center;
}

#realisations-3d .stats-row.compact{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:12%;
  min-height:96px;
}

@media(max-width:1100px){
  .r3d-card{
    flex-basis:calc((100% - 2.8vw)/3);
  }
}

@media(max-width:900px){
  #realisations-3d.page{
    position:static;
    height:auto;
    display:none;
  }
  #realisations-3d.page.active{
    display:block;
  }
  .realisations3d-wrap{
    height:auto;
    padding:32px 18px 24px;
  }
  .realisations3d-heading{
    height:auto;
    margin-bottom:24px;
  }
  .realisations3d-carousel{
    height:auto;
  }
  .r3d-viewport{
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .r3d-viewport::-webkit-scrollbar{display:none}
  .r3d-track{
    gap:16px;
    transform:none!important;
  }
  .r3d-card{
    flex:0 0 82%;
    height:480px;
    scroll-snap-align:center;
  }
  .r3d-arrow{
    display:none;
  }
  #realisations-3d .stats-row.compact{
    position:static;
    height:auto;
  }
}


/* =========================================================
   V25 — RÉALISATIONS 3D FIXES, SANS CARROUSEL
   Seule cette page est modifiée.
   ========================================================= */

#realisations-3d.page{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
  background:#fbfaf7;
}

.realisations3d-static-wrap{
  height:88%;
  padding:3vh 3vw 2vh;
  background:#fbfaf7;
  overflow:hidden;
}

.realisations3d-static-heading{
  height:22%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
}

.r3d-kicker{
  margin:0 0 .8vh;
  color:#102c4c;
  font-size:clamp(10px,.66vw,12px);
  font-weight:600;
  letter-spacing:.14em;
}

.realisations3d-static-heading h2{
  margin:0 0 1.1vh;
  font-family:"Playfair Display",serif;
  font-size:clamp(36px,3vw,54px);
  font-weight:500;
  line-height:1.05;
}

.realisations3d-static-heading h2 span{
  color:var(--gold);
}

.realisations3d-static-heading>p:last-child{
  margin:0;
  font-size:clamp(11px,.78vw,14px);
  line-height:1.45;
}

.r3d-static-grid{
  height:62%;
  max-width:1450px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.35vw;
}

.r3d-static-card{
  min-width:0;
  height:100%;
  overflow:hidden;
  border-radius:13px;
  background:#fff;
  box-shadow:0 8px 25px rgba(20,35,55,.06);
  display:flex;
  flex-direction:column;
}

.r3d-static-image{
  position:relative;
  height:69%;
  overflow:hidden;
  background:#eee7dc;
}

.r3d-static-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

.r3d-static-image span{
  position:absolute;
  left:14px;
  bottom:12px;
  padding:6px 11px;
  border-radius:999px;
  background:#fff;
  color:#102c4c;
  font-size:9px;
  font-weight:600;
  letter-spacing:.04em;
}

.r3d-static-copy{
  flex:1;
  padding:1.5vh 1.45vw;
}

.r3d-static-copy h3{
  margin:0 0 .8vh;
  font-family:"Playfair Display",serif;
  font-size:clamp(17px,1.27vw,23px);
  line-height:1.1;
}

.r3d-static-copy p{
  margin:0;
  font-size:clamp(10px,.69vw,13px);
  line-height:1.5;
}

.r3d-all-projects{
  height:16%;
  display:flex;
  align-items:center;
  justify-content:center;
}

.r3d-all-button{
  min-width:420px;
  height:62px;
  padding:0 28px;
  border:1px solid var(--gold);
  border-radius:7px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  color:#102c4c;
  background:#fff;
  font-weight:600;
  font-size:clamp(14px,1vw,18px);
}

.r3d-all-button svg{
  width:30px;
  height:30px;
  fill:none;
  stroke:var(--gold);
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.r3d-all-button b{
  color:var(--gold);
  font-size:30px;
  font-weight:400;
}

#realisations-3d .stats-row.compact,
#avant-projets-3d .stats-row.compact{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:12%;
  min-height:96px;
}

/* Placeholder de la future page */
#avant-projets-3d.page{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
  background:#fbfaf7;
}

.placeholder-content{
  height:88%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.placeholder-content h2{
  margin:0 0 14px;
  font-family:"Playfair Display",serif;
  font-size:clamp(40px,3.2vw,58px);
}

.placeholder-content p{
  margin:0 0 28px;
}

@media(max-width:900px){
  #realisations-3d.page,
  #avant-projets-3d.page{
    position:static;
    height:auto;
    display:none;
  }

  #realisations-3d.page.active,
  #avant-projets-3d.page.active{
    display:block;
  }

  .realisations3d-static-wrap{
    height:auto;
    padding:32px 18px 24px;
  }

  .realisations3d-static-heading{
    height:auto;
    margin-bottom:24px;
  }

  .r3d-static-grid{
    height:auto;
    grid-template-columns:1fr;
    gap:18px;
  }

  .r3d-static-card{
    height:auto;
  }

  .r3d-static-image{
    height:360px;
  }

  .r3d-all-projects{
    height:auto;
    padding:24px 0;
  }

  .r3d-all-button{
    min-width:0;
    width:100%;
  }

  #realisations-3d .stats-row.compact,
  #avant-projets-3d .stats-row.compact{
    position:static;
    height:auto;
  }

  .placeholder-content{
    height:auto;
    min-height:70vh;
    padding:40px 18px;
  }
}


/* =========================================================
   V27 — PORTFOLIO COMPLET DES 7 AVANT-PROJETS 3D
   ========================================================= */

#avant-projets-3d.portfolio3d-page{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
  background:#f8f5ef;
}

.portfolio3d-scroll{
  height:88%;
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:#c89a54 transparent;
  padding:0 4vw 5vh;
}

.portfolio3d-hero{
  min-height:280px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:4vw;
  align-items:center;
  max-width:1440px;
  margin:0 auto;
  padding:4vh 2vw 3vh;
}

.portfolio-kicker{
  margin:0 0 1vh;
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  color:#c58d3e;
}

.portfolio3d-hero h2{
  margin:0 0 1.4vh;
  font-family:"Playfair Display",serif;
  font-size:clamp(38px,3.35vw,62px);
  line-height:1.04;
  font-weight:500;
  color:#102c4c;
}

.portfolio3d-hero h2 span{
  color:#c8954c;
}

.portfolio3d-hero>div>p:last-child{
  max-width:820px;
  margin:0;
  font-size:clamp(12px,.8vw,15px);
  line-height:1.6;
}

.portfolio3d-hero aside{
  min-width:210px;
  padding:22px 28px;
  border-left:1px solid #d8c9b7;
  display:flex;
  align-items:center;
  gap:16px;
}

.portfolio3d-hero aside strong{
  font-family:"Playfair Display",serif;
  font-size:64px;
  line-height:1;
  color:#c8954c;
}

.portfolio3d-hero aside span{
  font-size:13px;
  line-height:1.35;
  font-weight:600;
  color:#102c4c;
}

.portfolio-featured{
  max-width:1440px;
  height:520px;
  margin:0 auto 5vh;
  display:grid;
  grid-template-columns:1.55fr 1fr;
  gap:18px;
}

.portfolio-featured-side{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:18px;
}

.portfolio-card{
  position:relative;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  border-radius:16px;
  overflow:hidden;
  background:#ddd;
  text-align:left;
  cursor:pointer;
}

.portfolio-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s ease;
}

.portfolio-card:hover img{
  transform:scale(1.025);
}

.portfolio-overlay{
  position:absolute;
  inset:auto 0 0;
  padding:70px 26px 24px;
  background:linear-gradient(transparent,rgba(7,28,49,.88));
  color:#fff;
}

.portfolio-overlay small{
  display:block;
  margin-bottom:8px;
  font-size:9px;
  letter-spacing:.12em;
  font-style:normal;
}

.portfolio-overlay strong{
  display:block;
  max-width:720px;
  font-family:"Playfair Display",serif;
  font-size:clamp(21px,1.7vw,31px);
  line-height:1.08;
}

.portfolio-overlay em{
  display:block;
  margin-top:13px;
  color:#e6b56f;
  font-style:normal;
  font-size:12px;
  font-weight:600;
}

.portfolio-section-title{
  max-width:1440px;
  margin:0 auto 2.2vh;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
}

.portfolio-section-title h3{
  margin:0;
  font-family:"Playfair Display",serif;
  font-size:clamp(28px,2.25vw,42px);
  font-weight:500;
  color:#102c4c;
}

.portfolio-section-title a{
  color:#102c4c;
  font-size:12px;
  border-bottom:1px solid #c8954c;
  padding-bottom:4px;
}

.portfolio-grid{
  max-width:1440px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

.portfolio-tile{
  padding:0;
  border:0;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  text-align:left;
  box-shadow:0 7px 22px rgba(18,40,62,.06);
  cursor:pointer;
}

.portfolio-tile>div{
  height:270px;
  overflow:hidden;
  background:#ddd;
}

.portfolio-tile img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .45s ease;
}

.portfolio-tile:hover img{
  transform:scale(1.035);
}

.portfolio-tile>span{
  display:grid;
  grid-template-columns:1fr auto;
  gap:4px 15px;
  padding:18px 20px 20px;
}

.portfolio-tile small{
  grid-column:1/-1;
  font-size:9px;
  letter-spacing:.12em;
  color:#c58d3e;
}

.portfolio-tile strong{
  font-family:"Playfair Display",serif;
  font-size:21px;
  line-height:1.1;
  color:#102c4c;
}

.portfolio-tile em{
  align-self:end;
  font-size:10px;
  color:#66768a;
  font-style:normal;
}

.portfolio-tile-wide{
  grid-column:2 / span 2;
}

.portfolio-advantage{
  max-width:1440px;
  margin:5vh auto 1vh;
  padding:24px 28px;
  border:1px solid #dbc5a4;
  border-radius:14px;
  display:grid;
  grid-template-columns:1.3fr 1fr auto;
  align-items:center;
  gap:28px;
  background:#fff;
}

.portfolio-advantage>div{
  display:flex;
  align-items:center;
  gap:17px;
}

.portfolio-advantage svg{
  width:42px;
  height:42px;
  fill:none;
  stroke:#c8954c;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.portfolio-advantage small{
  display:block;
  margin-bottom:4px;
  font-size:9px;
  letter-spacing:.12em;
  color:#c58d3e;
}

.portfolio-advantage strong{
  font-family:"Playfair Display",serif;
  font-size:21px;
  color:#102c4c;
}

.portfolio-advantage>p{
  margin:0;
  font-size:12px;
  line-height:1.55;
}

.portfolio-advantage>a{
  padding:13px 18px;
  border-radius:7px;
  background:#102c4c;
  color:#fff;
  font-size:12px;
  font-weight:600;
}

#avant-projets-3d>.stats-row.compact{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:12%;
  min-height:96px;
}

/* Modal project detail */
.portfolio-modal{
  position:absolute;
  inset:0;
  z-index:100;
  display:none;
}

.portfolio-modal.open{
  display:block;
}

.portfolio-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(8,25,43,.72);
  backdrop-filter:blur(5px);
}

.portfolio-modal-panel{
  position:absolute;
  inset:4% 5%;
  overflow-y:auto;
  padding:36px 40px 42px;
  border-radius:18px;
  background:#f9f6f0;
  box-shadow:0 25px 80px rgba(0,0,0,.3);
}

.portfolio-modal-close{
  position:sticky;
  top:0;
  float:right;
  z-index:3;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:#102c4c;
  color:#fff;
  font-size:26px;
  cursor:pointer;
}

.portfolio-modal-head{
  max-width:920px;
  margin:0 auto 28px;
  text-align:center;
}

.portfolio-modal-head>p:first-child{
  margin:0 0 8px;
  color:#c58d3e;
  font-size:10px;
  font-weight:700;
  letter-spacing:.15em;
}

.portfolio-modal-head h3{
  margin:0 0 12px;
  font-family:"Playfair Display",serif;
  font-size:clamp(32px,3vw,54px);
  color:#102c4c;
  font-weight:500;
}

.portfolio-modal-head>p:last-child{
  margin:0 auto;
  max-width:760px;
  line-height:1.6;
}

.portfolio-modal-gallery{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
  max-width:1250px;
  margin:0 auto;
}

.portfolio-modal-gallery img{
  width:100%;
  max-height:560px;
  object-fit:cover;
  border-radius:12px;
  background:#ddd;
}

.portfolio-modal-gallery img:first-child:nth-last-child(1){
  grid-column:1/-1;
  max-height:650px;
}

.portfolio-modal-features{
  max-width:1050px;
  margin:28px auto 0;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
}

.portfolio-modal-features span{
  padding:9px 13px;
  border:1px solid #d6c3a5;
  border-radius:999px;
  background:#fff;
  font-size:11px;
  color:#102c4c;
}

@media(max-width:900px){
  #avant-projets-3d.portfolio3d-page{
    position:static;
    height:auto;
    display:none;
  }

  #avant-projets-3d.portfolio3d-page.active{
    display:block;
  }

  .portfolio3d-scroll{
    height:auto;
    overflow:visible;
    padding:0 18px 35px;
  }

  .portfolio3d-hero{
    grid-template-columns:1fr;
    min-height:0;
    padding:40px 0 30px;
  }

  .portfolio3d-hero aside{
    border-left:0;
    border-top:1px solid #d8c9b7;
    padding:16px 0 0;
  }

  .portfolio-featured{
    height:auto;
    grid-template-columns:1fr;
  }

  .portfolio-card-main{
    height:430px;
  }

  .portfolio-featured-side{
    grid-template-rows:none;
    grid-template-columns:1fr;
  }

  .portfolio-featured-side .portfolio-card{
    height:350px;
  }

  .portfolio-section-title{
    align-items:flex-start;
    flex-direction:column;
  }

  .portfolio-grid{
    grid-template-columns:1fr;
  }

  .portfolio-tile-wide{
    grid-column:auto;
  }

  .portfolio-advantage{
    grid-template-columns:1fr;
  }

  #avant-projets-3d>.stats-row.compact{
    position:static;
    height:auto;
  }

  .portfolio-modal{
    position:fixed;
  }

  .portfolio-modal-panel{
    inset:2%;
    padding:22px 16px 30px;
  }

  .portfolio-modal-gallery{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   V28 — correction directe du portfolio 3D
   Même DA, aucun chevauchement entre les images
   ========================================================= */

/* La page reste scrollable dans sa zone, sans élément flottant */
#avant-projets-3d .portfolio3d-scroll{
  display:block !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-bottom:6vh !important;
}

/* Section vedette : hauteur explicite et contenu contenu */
#avant-projets-3d .portfolio-featured{
  position:relative !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.55fr) minmax(0,1fr) !important;
  grid-template-rows:520px !important;
  height:520px !important;
  min-height:520px !important;
  max-height:520px !important;
  gap:18px !important;
  margin:0 auto 64px !important;
  overflow:visible !important;
}

#avant-projets-3d .portfolio-featured-side{
  position:relative !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-rows:251px 251px !important;
  height:520px !important;
  min-height:520px !important;
  gap:18px !important;
  overflow:hidden !important;
}

/* Chaque carte reste strictement dans sa cellule */
#avant-projets-3d .portfolio-card{
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-height:100% !important;
  margin:0 !important;
  overflow:hidden !important;
  align-self:stretch !important;
}

#avant-projets-3d .portfolio-card img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
}

/* Le texte reste à l’intérieur de la carte */
#avant-projets-3d .portfolio-overlay{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  top:auto !important;
  z-index:2 !important;
  box-sizing:border-box !important;
  max-height:58% !important;
  overflow:hidden !important;
}

/* Séparation claire entre projets vedettes et galerie */
#avant-projets-3d .portfolio-section-title{
  position:relative !important;
  clear:both !important;
  margin-top:0 !important;
  margin-bottom:24px !important;
}

/* Grille principale : aucune carte ne sort de sa ligne */
#avant-projets-3d .portfolio-grid{
  position:relative !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  grid-auto-rows:auto !important;
  align-items:start !important;
  gap:20px !important;
  overflow:visible !important;
}

#avant-projets-3d .portfolio-tile{
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  min-width:0 !important;
  height:auto !important;
  margin:0 !important;
  align-self:start !important;
  overflow:hidden !important;
}

#avant-projets-3d .portfolio-tile > div{
  position:relative !important;
  width:100% !important;
  height:270px !important;
  min-height:270px !important;
  max-height:270px !important;
  overflow:hidden !important;
}

#avant-projets-3d .portfolio-tile img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}

/* La carte large reste dans la grille et ne remonte jamais */
#avant-projets-3d .portfolio-tile-wide{
  grid-column:2 / span 2 !important;
  position:relative !important;
}

/* Le bandeau inférieur ne recouvre jamais la galerie */
#avant-projets-3d > .stats-row.compact{
  z-index:20 !important;
}

@media(max-width:1100px) and (min-width:901px){
  #avant-projets-3d .portfolio-featured{
    grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) !important;
  }

  #avant-projets-3d .portfolio-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  #avant-projets-3d .portfolio-tile-wide{
    grid-column:auto !important;
  }
}

@media(max-width:900px){
  #avant-projets-3d .portfolio-featured{
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:auto !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    gap:16px !important;
    margin-bottom:42px !important;
  }

  #avant-projets-3d .portfolio-card-main{
    height:430px !important;
  }

  #avant-projets-3d .portfolio-featured-side{
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:350px 350px !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
  }

  #avant-projets-3d .portfolio-grid{
    grid-template-columns:1fr !important;
  }

  #avant-projets-3d .portfolio-tile-wide{
    grid-column:auto !important;
  }
}


/* =========================================================
   V29 — PAGE CONTACT / DEVIS GRATUIT / RÉSEAU NATIONAL
   ========================================================= */

#contact.contact-page{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
  background:#f8f5ef;
}

.contact-scroll{
  height:88%;
  overflow-y:auto;
  overflow-x:hidden;
  padding:0 4vw 5vh;
  scrollbar-width:thin;
  scrollbar-color:#c8954c transparent;
}

.contact-hero{
  max-width:1440px;
  min-height:520px;
  margin:0 auto;
  padding:4vh 0 3vh;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:4vw;
  align-items:center;
}

.contact-kicker{
  margin:0 0 1vh;
  color:#c58d3e;
  font-size:10px;
  font-weight:700;
  letter-spacing:.15em;
}

.contact-hero-copy h2{
  margin:0 0 1.5vh;
  font-family:"Playfair Display",serif;
  font-size:clamp(46px,4vw,72px);
  line-height:1.02;
  font-weight:500;
  color:#102c4c;
}

.contact-hero-copy h2 span{
  color:#c8954c;
}

.contact-hero-copy>p:last-of-type{
  max-width:720px;
  margin:0;
  font-size:clamp(13px,.82vw,16px);
  line-height:1.65;
}

.contact-hero-points{
  margin-top:30px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.contact-hero-points span{
  display:flex;
  align-items:center;
  gap:9px;
  padding:10px 13px;
  border:1px solid #dcc8a9;
  border-radius:999px;
  background:#fff;
  color:#102c4c;
  font-size:11px;
  font-weight:600;
}

.contact-hero-points svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:#c8954c;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.contact-france-card{
  min-height:430px;
  padding:28px;
  border-radius:20px;
  background:linear-gradient(145deg,#102c4c,#173d64);
  color:#fff;
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:12px;
  align-items:center;
  box-shadow:0 20px 48px rgba(15,44,76,.18);
}

.france-map svg{
  width:100%;
  max-height:340px;
}

.france-shape{
  fill:rgba(255,255,255,.07);
  stroke:rgba(255,255,255,.45);
  stroke-width:3;
}

.france-points circle{
  fill:#d6a052;
  stroke:#fff;
  stroke-width:2;
}

.contact-france-copy small{
  display:block;
  margin-bottom:9px;
  color:#e6b56f;
  font-size:9px;
  font-weight:700;
  letter-spacing:.14em;
}

.contact-france-copy strong{
  display:block;
  margin-bottom:12px;
  font-family:"Playfair Display",serif;
  font-size:clamp(24px,2vw,36px);
  line-height:1.08;
  font-weight:500;
}

.contact-france-copy p{
  margin:0;
  color:rgba(255,255,255,.8);
  font-size:12px;
  line-height:1.6;
}

.contact-benefits{
  max-width:1440px;
  margin:1vh auto 5vh;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.contact-benefits article{
  padding:26px 24px;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 24px rgba(18,40,62,.06);
}

.contact-benefit-icon{
  width:52px;
  height:52px;
  margin-bottom:18px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#f7f1e8;
}

.contact-benefit-icon svg{
  width:28px;
  height:28px;
  fill:none;
  stroke:#c8954c;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.contact-benefits h3{
  margin:0 0 10px;
  font-family:"Playfair Display",serif;
  font-size:21px;
  color:#102c4c;
}

.contact-benefits p{
  margin:0;
  font-size:12px;
  line-height:1.58;
}

.contact-main{
  max-width:1440px;
  margin:0 auto 5vh;
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:22px;
}

.contact-form-panel,
.contact-info-panel{
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 30px rgba(18,40,62,.06);
}

.contact-form-panel{
  padding:34px 36px;
}

.contact-panel-heading h3,
.contact-info-top h3{
  margin:0 0 11px;
  font-family:"Playfair Display",serif;
  font-size:clamp(28px,2.2vw,42px);
  line-height:1.08;
  font-weight:500;
  color:#102c4c;
}

.contact-panel-heading>p:last-child,
.contact-info-top>p:last-child{
  margin:0;
  font-size:12px;
  line-height:1.6;
}

.contact-form{
  margin-top:28px;
}

.contact-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.contact-form label{
  display:block;
}

.contact-form label>span{
  display:block;
  margin-bottom:7px;
  color:#102c4c;
  font-size:11px;
  font-weight:600;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;
  padding:13px 14px;
  border:1px solid #d9d3ca;
  border-radius:9px;
  background:#fcfbf9;
  color:#102c4c;
  font:inherit;
  font-size:13px;
  outline:none;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  border-color:#c8954c;
  box-shadow:0 0 0 3px rgba(200,149,76,.12);
}

.contact-form textarea{
  resize:vertical;
}

.contact-form-full{
  grid-column:1/-1;
}

.contact-form-bottom{
  margin-top:20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.contact-consent{
  display:flex!important;
  align-items:flex-start;
  gap:9px;
  max-width:430px;
}

.contact-consent input{
  width:auto;
  margin-top:2px;
}

.contact-consent span{
  margin:0!important;
  font-size:10px!important;
  font-weight:400!important;
  line-height:1.45;
}

.contact-form button[type="submit"]{
  border:0;
  border-radius:8px;
  padding:15px 20px;
  background:#102c4c;
  color:#fff;
  font-weight:600;
  cursor:pointer;
}

.contact-form button[type="submit"] span{
  margin-left:12px;
  color:#e3b06c;
}

.contact-form-status{
  min-height:20px;
  margin:14px 0 0;
  color:#2b684b;
  font-size:11px;
  line-height:1.45;
}

.contact-info-panel{
  padding:34px 30px;
  background:linear-gradient(165deg,#fff,#f3ede4);
}

.contact-process{
  margin-top:28px;
  display:grid;
  gap:14px;
}

.contact-process article{
  display:grid;
  grid-template-columns:46px 1fr;
  gap:14px;
  align-items:start;
  padding:16px;
  border-radius:11px;
  background:rgba(255,255,255,.72);
}

.contact-process b{
  color:#c8954c;
  font-family:"Playfair Display",serif;
  font-size:24px;
}

.contact-process strong,
.contact-process span{
  display:block;
}

.contact-process strong{
  margin-bottom:4px;
  color:#102c4c;
  font-size:13px;
}

.contact-process span{
  font-size:11px;
  line-height:1.5;
}

.contact-direct{
  margin-top:24px;
  display:grid;
  gap:12px;
}

.contact-direct>a,
.contact-direct>div{
  padding:16px;
  border-radius:11px;
  background:#102c4c;
  color:#fff;
}

.contact-direct>a{
  display:flex;
  align-items:center;
  gap:14px;
}

.contact-direct svg{
  width:30px;
  height:30px;
  fill:none;
  stroke:#e0aa61;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.contact-direct small{
  display:block;
  margin-bottom:4px;
  color:#e0aa61;
  font-size:8px;
  font-weight:700;
  letter-spacing:.12em;
}

.contact-direct strong{
  font-size:15px;
  line-height:1.35;
}

.contact-direct>div{
  background:#c8954c;
}

.contact-direct>div small{
  color:#102c4c;
}

.contact-final-cta{
  max-width:1440px;
  margin:0 auto 1vh;
  padding:30px 34px;
  border-radius:16px;
  background:linear-gradient(100deg,#102c4c,#173d64);
  color:#fff;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:30px;
}

.contact-final-cta small{
  display:block;
  margin-bottom:8px;
  color:#e0aa61;
  font-size:9px;
  font-weight:700;
  letter-spacing:.13em;
}

.contact-final-cta h3{
  margin:0 0 7px;
  font-family:"Playfair Display",serif;
  font-size:clamp(26px,2vw,38px);
  font-weight:500;
}

.contact-final-cta p{
  margin:0;
  color:rgba(255,255,255,.8);
  font-size:12px;
}

.contact-final-cta>a{
  padding:14px 20px;
  border-radius:8px;
  background:#fff;
  color:#102c4c;
  font-size:12px;
  font-weight:600;
}

#contact>.stats-row.compact{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:12%;
  min-height:96px;
}

@media(max-width:1050px){
  .contact-hero{
    grid-template-columns:1fr;
  }

  .contact-france-card{
    grid-template-columns:1fr 1fr;
  }

  .contact-benefits{
    grid-template-columns:repeat(2,1fr);
  }

  .contact-main{
    grid-template-columns:1fr;
  }
}

@media(max-width:900px){
  #contact.contact-page{
    position:static;
    height:auto;
    display:none;
  }

  #contact.contact-page.active{
    display:block;
  }

  .contact-scroll{
    height:auto;
    overflow:visible;
    padding:0 18px 35px;
  }

  .contact-hero{
    min-height:0;
    padding:40px 0 30px;
  }

  .contact-france-card{
    grid-template-columns:1fr;
  }

  .contact-benefits{
    grid-template-columns:1fr;
  }

  .contact-form-grid{
    grid-template-columns:1fr;
  }

  .contact-form-full{
    grid-column:auto;
  }

  .contact-form-bottom{
    align-items:flex-start;
    flex-direction:column;
  }

  .contact-final-cta{
    grid-template-columns:1fr;
  }

  #contact>.stats-row.compact{
    position:static;
    height:auto;
  }
}


/* V30 — mise en évidence légère après arrivée automatique au formulaire */
#devis-formulaire.devis-form-highlight{
  animation:devisFormFocus 1.25s ease;
}

@keyframes devisFormFocus{
  0%{
    box-shadow:0 10px 30px rgba(18,40,62,.06);
  }
  35%{
    box-shadow:0 0 0 4px rgba(200,149,76,.2),0 14px 38px rgba(18,40,62,.12);
  }
  100%{
    box-shadow:0 10px 30px rgba(18,40,62,.06);
  }
}

@media (prefers-reduced-motion: reduce){
  #devis-formulaire.devis-form-highlight{
    animation:none;
  }
}


/* =========================================================
   V32 — correction ciblée du bandeau blanc de l'accueil
   Dimensions extérieures strictement inchangées
   ========================================================= */

/* 1) Bloc "L'État peut vous aider" :
   la note légale ne recouvre plus le titre */
#home .v14-state{
  position:relative !important;
  align-self:stretch !important;
  padding-bottom:20px !important;
  box-sizing:border-box !important;
}

#home .v14-state-title{
  position:relative !important;
  z-index:2 !important;
  padding-bottom:2px !important;
}

#home .v14-conditions{
  position:absolute !important;
  left:0 !important;
  right:auto !important;
  bottom:2px !important;
  width:100% !important;
  max-width:285px !important;
  margin:0 !important;
  padding:0 !important;
  font-size:8.5px !important;
  line-height:1.15 !important;
  white-space:normal !important;
  z-index:1 !important;
}

/* 2) Cercle 70 % :
   même emplacement, mais diamètre légèrement réduit
   pour rester entièrement contenu dans le bandeau */
#home .v14-aid-circle{
  width:108px !important;
  height:108px !important;
  min-width:108px !important;
  min-height:108px !important;
  max-width:108px !important;
  max-height:108px !important;
  align-self:center !important;
  justify-self:center !important;
  margin:0 !important;
  transform:none !important;
  box-sizing:border-box !important;
}

#home .v14-aid-circle small{
  font-size:10px !important;
  line-height:1 !important;
  margin-bottom:2px !important;
}

#home .v14-aid-circle strong{
  font-size:36px !important;
  line-height:.95 !important;
}

#home .v14-aid-circle span{
  font-size:11px !important;
  line-height:1 !important;
  margin-top:3px !important;
}

/* Garde-fou : aucun contenu intérieur ne dépasse du bandeau */
#home .v14-anah{
  overflow:hidden !important;
}


/* =========================================================
   V36 — CONTACT PLUS CLAIR
   Téléphone, horaires et e-mail bien séparés
   ========================================================= */

.contact-direct-v36{
  margin-top:24px !important;
  display:grid !important;
  gap:14px !important;
}

.contact-phone-card,
.contact-email-card,
.contact-hours-card,
.contact-national-card{
  box-sizing:border-box !important;
  width:100% !important;
  border-radius:13px !important;
  overflow:hidden !important;
}

.contact-phone-card{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  padding:22px 24px !important;
  background:linear-gradient(135deg,#102c4c,#173d64) !important;
  color:#fff !important;
  text-decoration:none !important;
}

.contact-card-icon{
  width:58px !important;
  height:58px !important;
  flex:0 0 58px !important;
  display:grid !important;
  place-items:center !important;
  border:1px solid rgba(224,170,97,.72) !important;
  border-radius:50% !important;
}

.contact-card-icon.small{
  width:42px !important;
  height:42px !important;
  flex-basis:42px !important;
}

.contact-card-icon svg{
  width:30px !important;
  height:30px !important;
  fill:none !important;
  stroke:#e0aa61 !important;
  stroke-width:2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.contact-card-icon.small svg{
  width:23px !important;
  height:23px !important;
}

.contact-phone-card small,
.contact-email-card small,
.contact-national-card small{
  display:block !important;
  margin-bottom:5px !important;
  color:#e0aa61 !important;
  font-size:9px !important;
  font-weight:700 !important;
  letter-spacing:.12em !important;
}

.contact-phone-card strong{
  display:block !important;
  margin-bottom:5px !important;
  font-size:clamp(27px,2vw,38px) !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
  color:#fff !important;
  white-space:nowrap !important;
}

.contact-phone-card span{
  display:block !important;
  color:rgba(255,255,255,.82) !important;
  font-size:11px !important;
}

.contact-hours-card{
  padding:20px 22px !important;
  background:#fff !important;
  color:#102c4c !important;
  box-shadow:0 7px 20px rgba(18,40,62,.05) !important;
}

.contact-card-title{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  margin-bottom:14px !important;
}

.contact-card-title>strong{
  font-size:14px !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}

.contact-hours-table{
  width:100% !important;
  border-collapse:collapse !important;
  border:1px solid #e3ddd3 !important;
  border-radius:8px !important;
  overflow:hidden !important;
  font-size:11px !important;
}

.contact-hours-table th,
.contact-hours-table td{
  padding:8px 12px !important;
  border-bottom:1px solid #ece7df !important;
}

.contact-hours-table th{
  width:55% !important;
  text-align:left !important;
  color:#102c4c !important;
  font-weight:600 !important;
}

.contact-hours-table td{
  text-align:right !important;
  color:#102c4c !important;
  font-weight:600 !important;
}

.contact-hours-table tr:last-child th,
.contact-hours-table tr:last-child td{
  border-bottom:0 !important;
}

.contact-hours-table .closed th,
.contact-hours-table .closed td{
  color:#8b8f95 !important;
  font-weight:400 !important;
}

.contact-email-card{
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
  padding:18px 22px !important;
  background:#fff !important;
  color:#102c4c !important;
  text-decoration:none !important;
  box-shadow:0 7px 20px rgba(18,40,62,.05) !important;
}

.contact-email-card strong{
  display:block !important;
  margin-bottom:4px !important;
  color:#102c4c !important;
  font-size:clamp(16px,1.2vw,22px) !important;
  line-height:1.15 !important;
  overflow-wrap:anywhere !important;
}

.contact-email-card span{
  display:block !important;
  color:#657487 !important;
  font-size:10px !important;
}

.contact-national-card{
  padding:18px 22px !important;
  background:linear-gradient(135deg,#c8954c,#d7a453) !important;
  color:#fff !important;
}

.contact-national-card small{
  color:#102c4c !important;
}

.contact-national-card strong{
  display:block !important;
  margin-bottom:5px !important;
  font-size:16px !important;
  color:#fff !important;
}

.contact-national-card span{
  display:block !important;
  font-size:11px !important;
  line-height:1.45 !important;
  color:rgba(255,255,255,.92) !important;
}

@media(max-width:1200px) and (min-width:901px){
  .contact-phone-card strong{
    font-size:25px !important;
  }

  .contact-email-card strong{
    font-size:16px !important;
  }
}

@media(max-width:900px){
  .contact-phone-card strong{
    white-space:normal !important;
  }
}


/* =========================================================
   V38 — VERSION MOBILE RÉELLE
   ========================================================= */

.mobile-menu-toggle,
.mobile-nav-overlay{
  display:none;
}

@media(max-width:900px){
  html,body{
    width:100%;
    min-height:100%;
    overflow-x:hidden;
  }

  body{
    background:#fff;
  }

  /* Header mobile */
  header{
    position:sticky!important;
    top:0!important;
    z-index:1000!important;
    height:72px!important;
    min-height:72px!important;
    padding:0 16px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    background:#fff!important;
    border-bottom:1px solid #ece8e1!important;
  }

  header .logo,
  header img[alt*="Douche"],
  header img[alt*="logo"]{
    max-width:120px!important;
    height:auto!important;
  }

  header nav,
  header .main-nav,
  header .header-cta,
  header .phone-button{
    display:none!important;
  }

  .mobile-menu-toggle{
    display:flex!important;
    width:44px;
    height:44px;
    padding:10px;
    border:0;
    border-radius:50%;
    background:#102c4c;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    align-items:center;
  }

  .mobile-menu-toggle span{
    width:20px;
    height:2px;
    background:#fff;
    border-radius:2px;
  }

  .mobile-nav-overlay{
    position:fixed;
    inset:0;
    z-index:2000;
    display:none;
    background:rgba(8,25,43,.55);
    backdrop-filter:blur(5px);
  }

  .mobile-nav-overlay.open{
    display:block;
  }

  .mobile-nav{
    position:absolute;
    right:0;
    top:0;
    bottom:0;
    width:min(86vw,360px);
    padding:80px 24px 28px;
    background:#fff;
    display:flex;
    flex-direction:column;
    gap:4px;
    box-shadow:-20px 0 50px rgba(0,0,0,.15);
  }

  .mobile-nav-close{
    position:absolute;
    top:16px;
    right:16px;
    width:42px;
    height:42px;
    border:0;
    border-radius:50%;
    background:#f2eee8;
    color:#102c4c;
    font-size:28px;
  }

  .mobile-nav a{
    padding:16px 8px;
    border-bottom:1px solid #ece8e1;
    color:#102c4c;
    font-size:18px;
    font-weight:600;
  }

  .mobile-nav .mobile-quote{
    margin-top:16px;
    padding:16px;
    border:0;
    border-radius:9px;
    background:#102c4c;
    color:#fff;
    text-align:center;
  }

  /* Pages */
  main{
    width:100%!important;
    min-height:auto!important;
  }

  .page,
  section.page{
    position:static!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    display:none!important;
  }

  .page.active,
  section.page.active{
    display:block!important;
  }

  /* Hero accueil */
  #home{
    background:#f8f5ef!important;
  }

  #home .hero,
  #home .home-hero,
  #home .hero-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    height:auto!important;
    min-height:0!important;
  }

  #home .hero-copy,
  #home .home-copy{
    order:1;
    padding:36px 20px 24px!important;
  }

  #home .hero-image,
  #home .home-image{
    order:2;
    width:100%!important;
    height:290px!important;
  }

  #home .hero-image img,
  #home .home-image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }

  #home h1,
  #home h2{
    font-size:clamp(42px,12vw,58px)!important;
    line-height:1.02!important;
  }

  /* Bandeau blanc accueil */
  #home .v14-anah,
  #home .aid-banner,
  #home .home-aid-banner{
    width:calc(100% - 24px)!important;
    height:auto!important;
    margin:16px 12px!important;
    padding:20px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    overflow:visible!important;
  }

  #home .v14-anah>*,
  #home .aid-banner>*{
    width:100%!important;
    min-width:0!important;
    justify-self:stretch!important;
  }

  #home .v14-aid-circle{
    width:118px!important;
    height:118px!important;
    min-width:118px!important;
    min-height:118px!important;
    margin:0 auto!important;
  }

  #home .v14-conditions{
    position:static!important;
    max-width:none!important;
    font-size:9px!important;
    margin-top:6px!important;
  }

  /* Logos TV / France */
  #home .trust-row,
  #home .media-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    padding:18px 20px!important;
    text-align:center!important;
  }

  /* Bandeau stats */
  .stats-row,
  .stats-row.compact{
    position:static!important;
    height:auto!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:0!important;
    padding:10px 16px!important;
  }

  .stats-row article{
    min-height:100px!important;
    padding:16px 10px!important;
    border-right:0!important;
    border-bottom:1px solid rgba(255,255,255,.14)!important;
  }

  .stats-row article:nth-child(odd){
    border-right:1px solid rgba(255,255,255,.14)!important;
  }

  .stats-row strong{
    font-size:28px!important;
  }

  /* Solutions */
  #solutions,
  #realisations-3d,
  #avant-projets-3d,
  #contact{
    padding-top:0!important;
  }

  .solutions-grid,
  .r3d-static-grid,
  .portfolio-grid,
  .contact-benefits,
  .contact-main{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
  }

  .solution-card,
  .r3d-static-card,
  .portfolio-tile{
    width:100%!important;
    height:auto!important;
  }

  /* Portfolio */
  .portfolio3d-scroll,
  .contact-scroll{
    height:auto!important;
    overflow:visible!important;
    padding:0 16px 30px!important;
  }

  .portfolio3d-hero,
  .contact-hero{
    display:grid!important;
    grid-template-columns:1fr!important;
    min-height:0!important;
    padding:34px 0 24px!important;
  }

  .portfolio-featured{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }

  .portfolio-featured-side{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:320px 320px!important;
    height:auto!important;
  }

  .portfolio-card-main{
    height:420px!important;
  }

  /* Contact */
  .contact-france-card{
    grid-template-columns:1fr!important;
    min-height:0!important;
    padding:24px!important;
  }

  .france-map svg{
    max-height:280px!important;
  }

  .contact-form-panel,
  .contact-info-panel{
    padding:24px 18px!important;
  }

  .contact-form-grid{
    grid-template-columns:1fr!important;
  }

  .contact-form-bottom{
    flex-direction:column!important;
    align-items:stretch!important;
  }

  .contact-form button[type="submit"]{
    width:100%!important;
  }

  .contact-phone-card{
    align-items:flex-start!important;
  }

  .contact-phone-card strong{
    font-size:28px!important;
    white-space:normal!important;
  }

  .contact-final-cta{
    grid-template-columns:1fr!important;
    padding:24px!important;
  }

  /* Images */
  img{
    max-width:100%;
  }
}

@media(max-width:480px){
  .stats-row,
  .stats-row.compact{
    grid-template-columns:1fr!important;
  }

  .stats-row article:nth-child(odd){
    border-right:0!important;
  }

  .mobile-nav{
    width:92vw;
  }
}


/* =========================================================
   V39 — ACCUEIL MOBILE RETRAVAILLÉ UNIQUEMENT
   Aucun changement sur desktop ni sur les autres pages
   ========================================================= */

@media(max-width:900px){

  /* En-tête mobile plus sobre */
  #home ~ *{}
  header{
    height:68px!important;
    min-height:68px!important;
    padding:0 14px!important;
  }

  header .logo,
  header img[alt*="Douche"],
  header img[alt*="logo"]{
    max-width:96px!important;
    width:auto!important;
    max-height:54px!important;
    object-fit:contain!important;
  }

  .mobile-menu-toggle{
    width:42px!important;
    height:42px!important;
    order:2!important;
    margin-left:auto!important;
  }

  /* Hero accueil visible et équilibré */
  #home .hero,
  #home .home-hero,
  #home .hero-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    background:#f7f3ed!important;
  }

  #home .hero-copy,
  #home .home-copy{
    order:1!important;
    padding:30px 20px 26px!important;
    text-align:left!important;
  }

  #home .hero-copy>p:first-child,
  #home .home-copy>p:first-child{
    margin-bottom:12px!important;
    font-size:11px!important;
    letter-spacing:.08em!important;
  }

  #home h1,
  #home h2{
    margin:0!important;
    font-size:clamp(38px,11vw,54px)!important;
    line-height:1.01!important;
    max-width:100%!important;
  }

  #home .hero-image,
  #home .home-image{
    order:2!important;
    width:100%!important;
    height:250px!important;
    min-height:250px!important;
    overflow:hidden!important;
  }

  #home .hero-image img,
  #home .home-image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
  }

  /* Bandeau aides totalement repensé pour mobile */
  #home .v14-anah,
  #home .aid-banner,
  #home .home-aid-banner{
    width:calc(100% - 24px)!important;
    margin:14px 12px 18px!important;
    padding:18px 16px!important;
    border-radius:18px!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:16px 14px!important;
    align-items:center!important;
    background:#fff!important;
    box-shadow:0 10px 28px rgba(20,44,74,.08)!important;
  }

  /* Premier bloc sur toute la largeur */
  #home .v14-state{
    grid-column:1/-1!important;
    padding:0 0 10px!important;
    border-bottom:1px solid #eee7de!important;
    text-align:center!important;
  }

  #home .v14-state-title{
    justify-content:center!important;
    text-align:center!important;
  }

  #home .v14-state-title h3,
  #home .v14-state-title strong{
    font-size:25px!important;
    line-height:1.05!important;
  }

  #home .v14-conditions{
    position:static!important;
    max-width:none!important;
    margin-top:8px!important;
    text-align:center!important;
    font-size:9px!important;
    line-height:1.3!important;
  }

  /* Texte ANAH */
  #home .v14-copy{
    grid-column:1/-1!important;
    text-align:center!important;
    font-size:13px!important;
    line-height:1.5!important;
  }

  /* Logo ANAH centré */
  #home .v14-logo,
  #home .v14-anah-logo{
    grid-column:1!important;
    justify-self:center!important;
    text-align:center!important;
  }

  /* Cercle parfaitement contenu */
  #home .v14-aid-circle{
    grid-column:2!important;
    width:104px!important;
    height:104px!important;
    min-width:104px!important;
    min-height:104px!important;
    margin:0 auto!important;
  }

  #home .v14-aid-circle strong{
    font-size:34px!important;
  }

  /* Avantages sous forme de petites cartes */
  #home .v14-feature,
  #home .v14-installation,
  #home .v14-guarantee,
  #home .v14-pmr{
    min-width:0!important;
    padding:12px 10px!important;
    border:1px solid #efe8df!important;
    border-radius:12px!important;
    background:#fbfaf8!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    gap:8px!important;
  }

  #home .v14-feature svg,
  #home .v14-installation svg,
  #home .v14-guarantee svg,
  #home .v14-pmr svg,
  #home .v14-feature img,
  #home .v14-installation img,
  #home .v14-guarantee img,
  #home .v14-pmr img{
    width:38px!important;
    height:38px!important;
    object-fit:contain!important;
  }

  /* Ligne média plus compacte */
  #home .trust-row,
  #home .media-row{
    margin:0!important;
    padding:16px 20px 20px!important;
    grid-template-columns:1fr 1fr!important;
    gap:12px!important;
    align-items:center!important;
    background:#fff!important;
  }

  #home .trust-row>*,
  #home .media-row>*{
    min-width:0!important;
  }

  /* Suppression du grand espace vide */
  #home{
    min-height:0!important;
  }

  #home .stats-row,
  #home .stats-row.compact{
    margin-top:0!important;
  }

  /* Stats lisibles sans débordement */
  #home .stats-row,
  #home .stats-row.compact{
    grid-template-columns:1fr 1fr!important;
    padding:0!important;
    width:100%!important;
    overflow:hidden!important;
  }

  #home .stats-row article{
    min-width:0!important;
    min-height:118px!important;
    padding:18px 10px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
  }

  #home .stats-row article i{
    font-size:34px!important;
    flex:0 0 auto!important;
  }

  #home .stats-row strong{
    font-size:25px!important;
    line-height:1!important;
    white-space:normal!important;
  }

  #home .stats-row small{
    font-size:10px!important;
    line-height:1.25!important;
  }
}

@media(max-width:480px){
  #home .v14-anah,
  #home .aid-banner,
  #home .home-aid-banner{
    grid-template-columns:1fr 1fr!important;
  }

  #home .stats-row,
  #home .stats-row.compact{
    grid-template-columns:1fr 1fr!important;
  }

  #home .stats-row article:nth-child(odd){
    border-right:1px solid rgba(255,255,255,.14)!important;
  }
}


/* =========================================================
   V40 — ACCUEIL MOBILE VALIDÉ
   Design mobile indépendant, desktop inchangé
   ========================================================= */

.mobile-home-v40{
  display:none;
}

@media(max-width:900px){

  /* Masque uniquement l'ancien accueil sur mobile */
  #home>.v14-canvas{
    display:none!important;
  }

  #home .mobile-home-v40{
    display:block!important;
    width:100%;
    overflow:hidden;
    background:#f8f3eb;
  }

  /* Header : menu, logo centré, appel */
  .topbar{
    position:sticky!important;
    top:0!important;
    z-index:1200!important;
    display:grid!important;
    grid-template-columns:82px 1fr 94px!important;
    align-items:center!important;
    width:100%!important;
    height:92px!important;
    min-height:92px!important;
    padding:8px 14px!important;
    background:#fff!important;
  }

  .topbar>.mobile-menu-toggle{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
    order:initial!important;
    margin:0!important;
    width:48px!important;
    height:48px!important;
    background:transparent!important;
  }

  .topbar>.mobile-menu-toggle span{
    width:25px!important;
    height:2px!important;
    background:#102c4c!important;
  }

  .topbar>.brand{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:center!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    text-align:center!important;
    color:#102c4c!important;
  }

  .topbar>.brand span{
    font-family:"Playfair Display",serif!important;
    font-size:31px!important;
    line-height:.78!important;
  }

  .topbar>.brand small{
    margin-top:11px!important;
    font-size:8px!important;
    letter-spacing:.22em!important;
  }

  .topbar>.header-actions{
    grid-column:3!important;
    grid-row:1!important;
    justify-self:end!important;
    display:block!important;
  }

  .topbar>.header-actions .cta{
    display:none!important;
  }

  .topbar>.header-actions .phone{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    width:88px!important;
    height:43px!important;
    border-radius:999px!important;
    background:#102c4c!important;
    color:#fff!important;
    font-size:18px!important;
  }

  .topbar>.header-actions .phone b{
    font-size:12px!important;
    font-weight:600!important;
  }

  .topbar>nav{
    display:none!important;
  }

  /* Hero */
  .mobile-v40-hero{
    position:relative;
    height:650px;
    overflow:hidden;
    background:#786b5f;
  }

  .mobile-v40-hero>img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:57% center;
  }

  .mobile-v40-shade{
    position:absolute;
    inset:0;
    background:
      linear-gradient(90deg,rgba(22,24,25,.72) 0%,rgba(22,24,25,.56) 48%,rgba(22,24,25,.12) 100%),
      linear-gradient(0deg,rgba(22,24,25,.35),transparent 48%);
  }

  .mobile-v40-hero-content{
    position:relative;
    z-index:2;
    height:100%;
    padding:54px 24px 28px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    color:#fff;
  }

  .mobile-v40-badge{
    padding:8px 14px;
    border-radius:999px;
    background:#c8954c;
    font-size:11px;
    font-weight:700;
    letter-spacing:.04em;
  }

  .mobile-v40-hero h1{
    margin:25px 0 22px!important;
    max-width:335px!important;
    font-family:"DM Sans",sans-serif!important;
    font-size:clamp(36px,10.4vw,48px)!important;
    line-height:1.12!important;
    font-weight:600!important;
    color:#fff!important;
  }

  .mobile-v40-hero p{
    max-width:310px;
    margin:0!important;
    font-size:16px!important;
    line-height:1.48!important;
    color:#fff!important;
  }

  .mobile-v40-quote{
    margin-top:auto;
    width:100%;
    min-height:60px;
    padding:15px 18px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:11px;
    border-radius:999px;
    background:#102f55;
    color:#fff;
    font-size:16px;
    font-weight:700;
    box-shadow:0 11px 25px rgba(0,0,0,.2);
  }

  .mobile-v40-quote svg{
    width:25px;
    height:25px;
    fill:none;
    stroke:#fff;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .mobile-v40-no-commitment{
    width:100%;
    margin-top:16px;
    text-align:center;
    font-size:13px;
    font-weight:600;
  }

  .mobile-v40-no-commitment span{
    color:#d6a052;
    font-size:18px;
  }

  /* Carte de confiance */
  .mobile-v40-trust{
    position:relative;
    z-index:3;
    width:calc(100% - 34px);
    margin:-18px auto 0;
    padding:25px 10px;
    border-radius:20px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    background:#fff;
    box-shadow:0 15px 35px rgba(22,44,70,.12);
  }

  .mobile-v40-trust article{
    min-width:0;
    min-height:125px;
    padding:0 8px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    text-align:center;
    border-right:1px solid #ddd8d1;
  }

  .mobile-v40-trust article:last-child{
    border-right:0;
  }

  .mobile-v40-trust svg{
    width:37px;
    height:37px;
    margin-bottom:10px;
    fill:none;
    stroke:#c8954c;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .mobile-v40-trust article:first-child svg{
    stroke:#1165b6;
  }

  .mobile-v40-trust strong{
    font-size:10px;
    line-height:1.3;
    color:#102c4c;
  }

  .mobile-v40-trust small{
    margin-top:7px;
    font-size:9px;
    line-height:1.25;
    color:#43546a;
  }

  .mobile-v40-trust b{
    margin-top:8px;
    padding:3px 8px;
    background:#102c4c;
    color:#fff;
    font-size:14px;
    letter-spacing:.08em;
  }

  .mobile-v40-flag{
    width:35px;
    height:27px;
    margin:4px 0 16px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
  }

  .mobile-v40-flag i:nth-child(1){background:#133fa0}
  .mobile-v40-flag i:nth-child(2){background:#fff}
  .mobile-v40-flag i:nth-child(3){background:#ef233c}

  /* Aides */
  .mobile-v40-aids{
    padding:44px 22px 38px;
    text-align:center;
    background:linear-gradient(#f8f3eb,#fff);
    color:#102c4c;
  }

  .mobile-v40-aids>small{
    display:block;
    color:#c8954c;
    font-size:13px;
    font-weight:700;
    letter-spacing:.08em;
  }

  .mobile-v40-aids>strong{
    display:block;
    margin:1px 0 -2px;
    font-family:"DM Sans",sans-serif;
    font-size:76px;
    line-height:1;
    color:#102c4c;
  }

  .mobile-v40-aids h2{
    margin:0!important;
    font-family:"DM Sans",sans-serif!important;
    font-size:20px!important;
    font-weight:800!important;
    color:#102c4c!important;
  }

  .mobile-v40-aids p{
    margin:12px 0 22px!important;
    font-size:14px!important;
  }

  .mobile-v40-aids>a{
    width:100%;
    min-height:54px;
    padding:13px 16px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    border-radius:999px;
    background:#d39b42;
    color:#fff;
    font-size:14px;
    font-weight:700;
  }

  .mobile-v40-aids>a svg{
    width:24px;
    height:24px;
    fill:none;
    stroke:#fff;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .mobile-v40-aids em{
    display:block;
    margin-top:20px;
    font-size:10px;
    line-height:1.45;
    font-style:normal;
  }

  /* Barre bleue : quatre colonnes réelles, sans superposition */
  .mobile-v40-stats{
    width:100%;
    min-height:150px;
    padding:23px 6px 25px;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    background:#0d3158;
    color:#fff;
  }

  .mobile-v40-stats article{
    min-width:0;
    padding:0 4px;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
  }

  .mobile-v40-stats svg{
    width:34px;
    height:34px;
    margin-bottom:11px;
    fill:none;
    stroke:#d49b43;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .mobile-v40-stats strong{
    font-family:"Playfair Display",serif;
    font-size:19px;
    line-height:1;
    white-space:nowrap;
  }

  .mobile-v40-stats small{
    margin-top:8px;
    font-size:7.5px;
    line-height:1.3;
    font-weight:600;
  }
}

@media(max-width:370px){
  .topbar{
    grid-template-columns:62px 1fr 72px!important;
  }

  .topbar>.header-actions .phone{
    width:68px!important;
  }

  .topbar>.header-actions .phone b{
    display:none!important;
  }

  .mobile-v40-hero h1{
    font-size:34px!important;
  }

  .mobile-v40-trust strong{
    font-size:9px;
  }

  .mobile-v40-stats strong{
    font-size:17px;
  }

  .mobile-v40-stats small{
    font-size:6.8px;
  }
}


/* V41 — éviter la restauration automatique de position */
html{
  scroll-behavior:auto;
}

.page.active{
  scroll-margin-top:0;
}


/* V43 — arrivée directe et visible sur le formulaire */
#devis-formulaire{
  scroll-margin-top:18px;
}

@media(max-width:900px){
  #devis-formulaire{
    scroll-margin-top:86px;
  }
}


/* V44 — le formulaire reste visible sous le header desktop */
@media(min-width:901px){
  #devis-formulaire{
    scroll-margin-top:18px;
  }
}


/* =========================================================
   V45 — HEADER DESKTOP AVEC LOGO QUIÉTUDE ET BLOC APPEL
   Mobile inchangé
   ========================================================= */

@media(min-width:901px){

  .topbar{
    min-height:86px !important;
    height:86px !important;
    padding:0 26px !important;
    display:grid !important;
    grid-template-columns:230px minmax(520px,1fr) auto !important;
    align-items:center !important;
    gap:24px !important;
    background:#fff !important;
  }

  .topbar .brand{
    width:220px !important;
    min-width:220px !important;
    height:76px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    overflow:visible !important;
  }

  .topbar .brand-logo-v45{
    display:block !important;
    width:205px !important;
    max-width:205px !important;
    height:66px !important;
    max-height:66px !important;
    object-fit:contain !important;
    object-position:left center !important;
  }

  .topbar nav{
    justify-self:center !important;
    width:auto !important;
    min-width:0 !important;
  }

  .topbar .header-actions{
    justify-self:end !important;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
  }

  .topbar .header-actions .cta{
    min-height:52px !important;
    padding:0 24px !important;
    border-radius:10px !important;
    box-shadow:0 7px 18px rgba(16,44,76,.12) !important;
    transition:transform .2s ease, box-shadow .2s ease !important;
  }

  .topbar .header-actions .cta:hover{
    transform:translateY(-2px) !important;
    box-shadow:0 11px 24px rgba(16,44,76,.18) !important;
  }

  .topbar .header-actions .phone{
    width:auto !important;
    min-width:196px !important;
    height:56px !important;
    padding:7px 15px 7px 9px !important;
    border-radius:14px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:11px !important;
    background:#f7f3ed !important;
    color:#102c4c !important;
    border:1px solid #e4d8c8 !important;
    box-shadow:0 6px 16px rgba(16,44,76,.07) !important;
    transition:transform .2s ease, box-shadow .2s ease, background .2s ease !important;
  }

  .topbar .header-actions .phone:hover{
    transform:translateY(-2px) !important;
    background:#fff !important;
    box-shadow:0 10px 24px rgba(16,44,76,.12) !important;
  }

  .phone-icon-v45{
    width:40px !important;
    height:40px !important;
    flex:0 0 40px !important;
    border-radius:50% !important;
    display:grid !important;
    place-items:center !important;
    background:#102c4c !important;
  }

  .phone-icon-v45 svg{
    width:22px !important;
    height:22px !important;
    fill:none !important;
    stroke:#d8a154 !important;
    stroke-width:2 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
  }

  .phone-copy-v45{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    line-height:1.1 !important;
    text-align:left !important;
  }

  .phone-copy-v45 strong{
    display:block !important;
    font-size:15px !important;
    font-weight:700 !important;
    letter-spacing:.01em !important;
    color:#102c4c !important;
    white-space:nowrap !important;
  }

  .phone-copy-v45 small{
    display:block !important;
    margin-top:5px !important;
    font-size:10px !important;
    font-weight:600 !important;
    color:#9a6b2e !important;
    white-space:nowrap !important;
  }
}

/* Le mobile garde son header validé */
@media(max-width:900px){
  .brand-logo-v45{
    display:none !important;
  }
}


/* =========================================================
   V46 — HEADER DESKTOP ÉQUILIBRÉ
   Menu légèrement agrandi + bouton devis recentré
   ========================================================= */

@media(min-width:901px){

  .topbar{
    grid-template-columns:230px minmax(620px,1fr) auto !important;
    gap:18px !important;
  }

  .topbar nav{
    justify-self:center !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:34px !important;
    margin:0 !important;
    padding:0 !important;
  }

  .topbar nav a{
    font-size:14px !important;
    font-weight:500 !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
    line-height:1 !important;
  }

  .topbar .header-actions{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:12px !important;
    height:100% !important;
  }

  .topbar .header-actions .cta{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    min-width:250px !important;
    height:56px !important;
    min-height:56px !important;
    padding:0 26px !important;
    line-height:1.1 !important;
    font-size:15px !important;
    font-weight:600 !important;
    white-space:nowrap !important;
    margin:0 !important;
  }

  .topbar .header-actions .phone{
    height:56px !important;
    min-height:56px !important;
    margin:0 !important;
  }
}

@media(min-width:901px) and (max-width:1500px){

  .topbar{
    grid-template-columns:215px minmax(520px,1fr) auto !important;
    gap:14px !important;
    padding:0 20px !important;
  }

  .topbar .brand{
    width:205px !important;
    min-width:205px !important;
  }

  .topbar .brand-logo-v45{
    width:190px !important;
    max-width:190px !important;
  }

  .topbar nav{
    gap:25px !important;
  }

  .topbar nav a{
    font-size:13px !important;
  }

  .topbar .header-actions .cta{
    min-width:220px !important;
    padding:0 20px !important;
    font-size:14px !important;
  }

  .topbar .header-actions .phone{
    min-width:184px !important;
  }
}


/* =========================================================
   V47 — PAGE NOTRE ENTREPRISE
   ========================================================= */

#entreprise.enterprise-page{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
  background:#f8f5ef;
}

.enterprise-scroll{
  height:88%;
  overflow-y:auto;
  overflow-x:hidden;
  padding:0 4vw 5vh;
  scrollbar-width:thin;
  scrollbar-color:#c8954c transparent;
}

.enterprise-kicker{
  margin:0 0 12px;
  color:#c58d3e;
  font-size:10px;
  font-weight:700;
  letter-spacing:.16em;
}

.enterprise-hero{
  max-width:1440px;
  min-height:590px;
  margin:0 auto;
  padding:5vh 0 4vh;
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:4.2vw;
  align-items:center;
}

.enterprise-hero-copy h1{
  margin:0 0 22px;
  font-family:"Playfair Display",serif;
  font-size:clamp(46px,4vw,72px);
  line-height:1.03;
  font-weight:500;
  color:#102c4c;
}

.enterprise-hero-copy h1 span{
  color:#c8954c;
}

.enterprise-intro{
  max-width:690px;
  margin:0;
  font-size:clamp(13px,.85vw,16px);
  line-height:1.68;
}

.enterprise-hero-badges{
  margin:28px 0;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.enterprise-hero-badges span{
  padding:9px 12px;
  border:1px solid #dcc8aa;
  border-radius:999px;
  display:flex;
  align-items:center;
  gap:8px;
  background:#fff;
  color:#102c4c;
  font-size:10px;
  font-weight:600;
}

.enterprise-hero-badges svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:#c8954c;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.enterprise-primary-cta{
  min-height:54px;
  padding:0 22px;
  border-radius:9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  background:#102c4c;
  color:#fff;
  font-size:13px;
  font-weight:600;
  box-shadow:0 10px 24px rgba(16,44,76,.14);
}

.enterprise-primary-cta span{
  color:#e2aa5e;
  font-size:22px;
}

.enterprise-video-card{
  padding:18px;
  border-radius:20px;
  background:#fff;
  box-shadow:0 18px 50px rgba(18,40,62,.11);
}

.enterprise-video-label{
  padding:0 4px 13px;
  display:flex;
  align-items:center;
  gap:9px;
  color:#102c4c;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
}

.enterprise-video-label span{
  width:9px;
  height:9px;
  border-radius:50%;
  background:#c8954c;
  box-shadow:0 0 0 5px rgba(200,149,76,.13);
}

.enterprise-video-frame{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:14px;
  background:#102c4c;
}

.enterprise-video-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

.enterprise-video-card>p{
  margin:15px 5px 3px;
  font-size:11px;
  line-height:1.55;
  color:#58677a;
}

.enterprise-about{
  max-width:1440px;
  margin:1vh auto 5vh;
  padding:42px;
  border-radius:18px;
  display:grid;
  grid-template-columns:.9fr 1.2fr .8fr;
  gap:36px;
  align-items:start;
  background:#fff;
  box-shadow:0 10px 30px rgba(18,40,62,.05);
}

.enterprise-about-title h2,
.enterprise-commitments h2,
.enterprise-process h2,
.enterprise-france h2,
.enterprise-trust h2,
.enterprise-final-cta h2{
  margin:0;
  font-family:"Playfair Display",serif;
  font-size:clamp(30px,2.6vw,48px);
  line-height:1.08;
  font-weight:500;
  color:#102c4c;
}

.enterprise-about-copy{
  display:grid;
  gap:16px;
}

.enterprise-about-copy p{
  margin:0;
  font-size:12px;
  line-height:1.7;
}

.enterprise-quote{
  padding:24px;
  border-radius:14px;
  background:#f5efe6;
}

.enterprise-quote svg{
  width:35px;
  height:35px;
  margin-bottom:14px;
  fill:#c8954c;
}

.enterprise-quote blockquote{
  margin:0;
  font-family:"Playfair Display",serif;
  font-size:20px;
  line-height:1.35;
  color:#102c4c;
}

.enterprise-commitments{
  max-width:1440px;
  margin:0 auto 5vh;
}

.enterprise-commitments>header{
  max-width:780px;
  margin-bottom:26px;
}

.enterprise-commitments>header>p:last-child{
  margin:13px 0 0;
  font-size:12px;
  line-height:1.6;
}

.enterprise-commitment-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.enterprise-commitment-grid article{
  padding:27px 24px;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(18,40,62,.06);
}

.enterprise-icon{
  width:50px;
  height:50px;
  margin-bottom:17px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#f7f0e6;
}

.enterprise-icon svg{
  width:27px;
  height:27px;
  fill:none;
  stroke:#c8954c;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.enterprise-commitment-grid h3{
  margin:0 0 9px;
  font-family:"Playfair Display",serif;
  font-size:21px;
  color:#102c4c;
}

.enterprise-commitment-grid p{
  margin:0;
  font-size:11px;
  line-height:1.6;
}

.enterprise-process{
  max-width:1440px;
  margin:0 auto 5vh;
  padding:42px;
  border-radius:18px;
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:55px;
  background:#102c4c;
  color:#fff;
}

.enterprise-process h2{
  color:#fff;
}

.enterprise-process-copy>p:last-child{
  margin:18px 0 0;
  color:rgba(255,255,255,.75);
  font-size:12px;
  line-height:1.65;
}

.enterprise-timeline{
  position:relative;
  display:grid;
  gap:12px;
}

.enterprise-timeline:before{
  content:"";
  position:absolute;
  left:24px;
  top:22px;
  bottom:22px;
  width:1px;
  background:rgba(255,255,255,.2);
}

.enterprise-timeline article{
  position:relative;
  display:grid;
  grid-template-columns:50px 1fr;
  gap:16px;
  align-items:start;
}

.enterprise-timeline b{
  position:relative;
  z-index:2;
  width:48px;
  height:48px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#c8954c;
  color:#102c4c;
  font-family:"Playfair Display",serif;
  font-size:15px;
}

.enterprise-timeline article>div{
  padding:12px 16px 14px;
  border-radius:11px;
  background:rgba(255,255,255,.08);
}

.enterprise-timeline h3{
  margin:0 0 4px;
  font-size:13px;
}

.enterprise-timeline p{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:10.5px;
  line-height:1.5;
}

.enterprise-france{
  max-width:1440px;
  margin:0 auto 5vh;
  padding:35px 42px;
  border-radius:18px;
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  align-items:center;
  gap:50px;
  background:#fff;
  box-shadow:0 10px 30px rgba(18,40,62,.05);
}

.enterprise-france-map{
  height:390px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#102c4c,#193f66);
}

.enterprise-france-map svg{
  width:78%;
  height:88%;
}

.enterprise-france-map path{
  fill:rgba(255,255,255,.07);
  stroke:rgba(255,255,255,.58);
  stroke-width:3;
}

.enterprise-france-map circle{
  fill:#d5a052;
  stroke:#fff;
  stroke-width:2;
}

.enterprise-france-copy>p:not(.enterprise-kicker){
  margin:18px 0;
  font-size:12px;
  line-height:1.7;
}

.enterprise-france-copy ul{
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
  list-style:none;
}

.enterprise-france-copy li{
  position:relative;
  padding-left:25px;
  color:#102c4c;
  font-size:12px;
  font-weight:600;
}

.enterprise-france-copy li:before{
  content:"✓";
  position:absolute;
  left:0;
  color:#c8954c;
  font-weight:700;
}

.enterprise-trust{
  max-width:1440px;
  margin:0 auto 5vh;
}

.enterprise-trust>header{
  text-align:center;
  margin-bottom:25px;
}

.enterprise-trust-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}

.enterprise-trust-grid article{
  min-height:150px;
  padding:24px 18px;
  border-radius:14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:#fff;
  box-shadow:0 8px 24px rgba(18,40,62,.05);
}

.enterprise-trust-grid strong{
  margin-bottom:8px;
  font-family:"Playfair Display",serif;
  font-size:25px;
  line-height:1.05;
  color:#c8954c;
}

.enterprise-trust-grid span{
  font-size:10.5px;
  line-height:1.4;
  color:#102c4c;
}

.enterprise-certifications{
  margin-top:18px;
  padding:17px 22px;
  border:1px solid #e3d5c1;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  background:#fff;
}

.enterprise-certifications span{
  padding:8px 13px;
  border-radius:999px;
  background:#102c4c;
  color:#fff;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
}

.enterprise-certifications p{
  margin:0;
  font-size:10px;
  color:#677487;
}

.enterprise-final-cta{
  max-width:1440px;
  margin:0 auto 1vh;
  padding:34px 38px;
  border-radius:17px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:35px;
  align-items:center;
  background:linear-gradient(100deg,#102c4c,#173d64);
  color:#fff;
}

.enterprise-final-cta small{
  display:block;
  margin-bottom:8px;
  color:#e1aa61;
  font-size:9px;
  font-weight:700;
  letter-spacing:.14em;
}

.enterprise-final-cta h2{
  color:#fff;
  font-size:clamp(27px,2.15vw,40px);
}

.enterprise-final-cta p{
  margin:10px 0 0;
  color:rgba(255,255,255,.77);
  font-size:11px;
}

.enterprise-final-cta>a{
  min-width:235px;
  min-height:55px;
  padding:0 21px;
  border-radius:9px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  background:#fff;
  color:#102c4c;
  font-size:12px;
  font-weight:700;
}

.enterprise-final-cta>a span{
  color:#c8954c;
  font-size:22px;
}

#entreprise>.stats-row.compact{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:12%;
  min-height:96px;
}

@media(max-width:1100px) and (min-width:901px){
  .enterprise-hero{
    grid-template-columns:1fr 1fr;
  }

  .enterprise-about{
    grid-template-columns:1fr 1fr;
  }

  .enterprise-quote{
    grid-column:1/-1;
  }

  .enterprise-commitment-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .enterprise-trust-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:900px){
  #entreprise.enterprise-page{
    position:static;
    height:auto;
    display:none;
  }

  #entreprise.enterprise-page.active{
    display:block;
  }

  .enterprise-scroll{
    height:auto;
    overflow:visible;
    padding:0 16px 32px;
  }

  .enterprise-hero{
    min-height:0;
    padding:36px 0 28px;
    grid-template-columns:1fr;
  }

  .enterprise-hero-copy h1{
    font-size:clamp(40px,11.4vw,54px);
  }

  .enterprise-video-card{
    margin-top:5px;
    padding:11px;
  }

  .enterprise-about{
    padding:25px 20px;
    grid-template-columns:1fr;
    gap:24px;
  }

  .enterprise-commitment-grid{
    grid-template-columns:1fr;
  }

  .enterprise-process{
    padding:28px 20px;
    grid-template-columns:1fr;
    gap:30px;
  }

  .enterprise-france{
    padding:24px 18px;
    grid-template-columns:1fr;
    gap:27px;
  }

  .enterprise-france-map{
    height:330px;
  }

  .enterprise-trust-grid{
    grid-template-columns:1fr 1fr;
  }

  .enterprise-certifications{
    align-items:stretch;
    flex-direction:column;
    text-align:center;
  }

  .enterprise-final-cta{
    padding:28px 22px;
    grid-template-columns:1fr;
  }

  .enterprise-final-cta>a{
    width:100%;
  }

  #entreprise>.stats-row.compact{
    position:static;
    height:auto;
  }
}

@media(max-width:520px){
  .enterprise-hero-badges{
    display:grid;
  }

  .enterprise-primary-cta{
    width:100%;
  }

  .enterprise-trust-grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   V50 — UNIQUEMENT LE BLOC VIDÉO DE NOTRE ENTREPRISE
   Toute la structure V47 est conservée
   ========================================================= */

.enterprise-video-card-v50{
  padding:18px;
}

.enterprise-video-premium-v50{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:14px;
  display:block;
  background:#102c4c;
  box-shadow:0 12px 30px rgba(16,44,76,.16);
}

.enterprise-video-premium-v50>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .5s ease;
}

.enterprise-video-overlay-v50{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(10,30,52,.74),rgba(10,30,52,.25) 65%,rgba(10,30,52,.08)),
    linear-gradient(0deg,rgba(10,30,52,.52),transparent 56%);
}

.enterprise-video-play-v50{
  position:absolute;
  top:44%;
  left:50%;
  width:78px;
  height:78px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.96);
  box-shadow:0 14px 35px rgba(0,0,0,.26);
  transition:transform .25s ease;
}

.enterprise-video-play-v50 svg{
  width:55px;
  height:55px;
  fill:none;
  stroke:#102c4c;
  stroke-width:2;
}

.enterprise-video-play-v50 path{
  fill:#c8954c;
  stroke:#c8954c;
}

.enterprise-video-copy-v50{
  position:absolute;
  left:24px;
  right:24px;
  bottom:20px;
  color:#fff;
}

.enterprise-video-copy-v50 small{
  display:block;
  margin-bottom:6px;
  color:#e8b66f;
  font-size:9px;
  font-weight:700;
  letter-spacing:.14em;
}

.enterprise-video-copy-v50 strong{
  display:block;
  font-family:"Playfair Display",serif;
  font-size:clamp(22px,1.7vw,32px);
  line-height:1.08;
  font-weight:500;
}

.enterprise-video-copy-v50 em{
  display:inline-block;
  margin-top:8px;
  color:rgba(255,255,255,.82);
  font-size:10px;
  font-style:normal;
  font-weight:600;
}

.enterprise-video-premium-v50:hover>img{
  transform:scale(1.035);
}

.enterprise-video-premium-v50:hover .enterprise-video-play-v50{
  transform:translate(-50%,-50%) scale(1.08);
}

@media(max-width:900px){
  .enterprise-video-play-v50{
    width:66px;
    height:66px;
  }

  .enterprise-video-play-v50 svg{
    width:47px;
    height:47px;
  }

  .enterprise-video-copy-v50{
    left:17px;
    right:17px;
    bottom:16px;
  }

  .enterprise-video-copy-v50 strong{
    font-size:22px;
  }
}


/* =========================================================
   V51 — MAPRIMEADAPT' DANS NOS SOLUTIONS
   ========================================================= */

.maprimeadapt-solution-card{
  position:relative;
  width:100%;
  min-height:112px;
  margin-top:15px;
  padding:18px 24px;
  border:1px solid #dfc8a5;
  border-radius:14px;
  display:grid;
  grid-template-columns:145px 1fr 125px auto;
  gap:24px;
  align-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 20%,rgba(204,151,75,.13),transparent 23%),
    linear-gradient(105deg,#fff,#fbf7f0);
  color:#102c4c;
  box-shadow:0 8px 24px rgba(18,40,62,.05);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}

.maprimeadapt-solution-card:hover{
  transform:translateY(-2px);
  border-color:#c8954c;
  box-shadow:0 13px 30px rgba(18,40,62,.1);
}

.maprimeadapt-solution-logo{
  padding:14px 15px;
  border-radius:11px;
  display:flex;
  align-items:baseline;
  justify-content:center;
  background:#102c4c;
  color:#fff;
  font-family:"Playfair Display",serif;
  white-space:nowrap;
}

.maprimeadapt-solution-logo span{
  margin-right:3px;
  color:#e4ae61;
  font-size:14px;
}

.maprimeadapt-solution-logo strong{
  font-size:22px;
  font-weight:500;
}

.maprimeadapt-solution-logo b{
  color:#e4ae61;
  font-size:22px;
  font-weight:500;
}

.maprimeadapt-solution-copy small{
  display:block;
  margin-bottom:5px;
  color:#c07d25;
  font-size:8px;
  font-weight:700;
  letter-spacing:.13em;
}

.maprimeadapt-solution-copy h3{
  margin:0 0 5px;
  font-family:"Playfair Display",serif;
  font-size:18px;
  line-height:1.15;
}

.maprimeadapt-solution-copy p{
  margin:0;
  font-size:9.5px;
  line-height:1.45;
  color:#53647a;
}

.maprimeadapt-solution-rate{
  padding-left:20px;
  border-left:1px solid #e3d5c1;
  text-align:center;
}

.maprimeadapt-solution-rate small,
.maprimeadapt-solution-rate span{
  display:block;
  font-size:8px;
}

.maprimeadapt-solution-rate strong{
  display:block;
  margin:1px 0;
  font-family:"Playfair Display",serif;
  font-size:33px;
  color:#c8954c;
}

.maprimeadapt-solution-link{
  min-width:185px;
  min-height:43px;
  padding:0 15px;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:#102c4c;
  color:#fff;
  font-size:9.5px;
  font-weight:700;
}

.maprimeadapt-solution-link b{
  color:#e2a756;
  font-size:17px;
}

/* =========================================================
   V51 — PAGE MAPRIMEADAPT'
   ========================================================= */

#maprimeadapt.maprimeadapt-page{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
  background:#f8f5ef;
}

.maprimeadapt-scroll{
  height:88%;
  overflow-y:auto;
  overflow-x:hidden;
  padding:0 4vw 5vh;
  scrollbar-width:thin;
  scrollbar-color:#c8954c transparent;
}

.maprimeadapt-breadcrumb{
  max-width:1440px;
  margin:0 auto;
  padding-top:22px;
  color:#7c8795;
  font-size:10px;
}

.maprimeadapt-breadcrumb a{
  color:#102c4c;
}

.maprimeadapt-breadcrumb span{
  margin:0 8px;
  color:#c8954c;
}

.maprimeadapt-kicker{
  margin:0 0 11px;
  color:#c17f28;
  font-size:9px;
  font-weight:700;
  letter-spacing:.15em;
}

.maprimeadapt-hero{
  max-width:1440px;
  min-height:510px;
  margin:0 auto;
  padding:4vh 0 4.5vh;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:5vw;
  align-items:center;
}

.maprimeadapt-hero h1{
  margin:0 0 21px;
  max-width:800px;
  font-family:"Playfair Display",serif;
  font-size:clamp(44px,3.9vw,70px);
  line-height:1.04;
  font-weight:500;
  color:#102c4c;
}

.maprimeadapt-hero h1 span{
  display:block;
  color:#c8954c;
}

.maprimeadapt-intro{
  max-width:750px;
  margin:0;
  font-size:13px;
  line-height:1.72;
  color:#405269;
}

.maprimeadapt-hero-actions{
  margin-top:26px;
  display:flex;
  flex-wrap:wrap;
  gap:11px;
}

.maprimeadapt-primary,
.maprimeadapt-secondary{
  min-height:52px;
  padding:0 20px;
  border-radius:9px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:15px;
  font-size:11px;
  font-weight:700;
}

.maprimeadapt-primary{
  background:#102c4c;
  color:#fff;
  box-shadow:0 10px 24px rgba(16,44,76,.14);
}

.maprimeadapt-primary span{
  color:#e2aa5e;
  font-size:20px;
}

.maprimeadapt-secondary{
  border:1px solid #d8bea0;
  background:#fff;
  color:#102c4c;
}

.maprimeadapt-disclaimer{
  max-width:680px;
  margin:15px 0 0;
  color:#6c7888;
  font-size:9px;
  line-height:1.45;
}

.maprimeadapt-hero-summary{
  padding:30px;
  border-radius:20px;
  background:linear-gradient(145deg,#102c4c,#173e65);
  color:#fff;
  box-shadow:0 18px 46px rgba(16,44,76,.18);
}

.maprimeadapt-brand{
  padding-bottom:21px;
  border-bottom:1px solid rgba(255,255,255,.16);
  display:flex;
  align-items:baseline;
  font-family:"Playfair Display",serif;
}

.maprimeadapt-brand small{
  margin-right:4px;
  color:#e5ad5e;
  font-size:16px;
}

.maprimeadapt-brand strong,
.maprimeadapt-brand span{
  font-size:31px;
  font-weight:500;
}

.maprimeadapt-brand span{
  color:#e5ad5e;
}

.maprimeadapt-rate{
  padding:25px 0 22px;
  border-bottom:1px solid rgba(255,255,255,.16);
}

.maprimeadapt-rate small,
.maprimeadapt-rate span{
  display:block;
  color:rgba(255,255,255,.72);
  font-size:10px;
}

.maprimeadapt-rate strong{
  display:block;
  margin:4px 0;
  font-family:"Playfair Display",serif;
  font-size:45px;
  font-weight:500;
}

.maprimeadapt-rate em{
  color:#e4ab5b;
  font-size:18px;
  font-style:normal;
}

.maprimeadapt-cap{
  padding:21px 0 15px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.maprimeadapt-cap span{
  color:rgba(255,255,255,.74);
  font-size:10px;
}

.maprimeadapt-cap strong{
  color:#e4ad62;
  font-family:"Playfair Display",serif;
  font-size:24px;
  white-space:nowrap;
}

.maprimeadapt-hero-summary>p{
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:10px;
  line-height:1.5;
}

.maprimeadapt-hero-summary>p b{
  color:#fff;
}

.maprimeadapt-overview,
.maprimeadapt-eligibility,
.maprimeadapt-financing,
.maprimeadapt-works,
.maprimeadapt-process,
.maprimeadapt-combination,
.maprimeadapt-final-cta{
  max-width:1440px;
  margin:0 auto 5vh;
}

.maprimeadapt-overview>header{
  max-width:820px;
  margin-bottom:25px;
}

.maprimeadapt-overview h2,
.maprimeadapt-eligibility h2,
.maprimeadapt-financing h2,
.maprimeadapt-works h2,
.maprimeadapt-process h2,
.maprimeadapt-combination h2,
.maprimeadapt-final-cta h2{
  margin:0;
  font-family:"Playfair Display",serif;
  font-size:clamp(31px,2.6vw,48px);
  line-height:1.08;
  font-weight:500;
  color:#102c4c;
}

.maprimeadapt-overview>header>p:last-child,
.maprimeadapt-eligibility-heading>p:last-child,
.maprimeadapt-process>header>p:last-child{
  margin:13px 0 0;
  font-size:11px;
  line-height:1.65;
  color:#5b6b7d;
}

.maprimeadapt-overview-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.maprimeadapt-overview-grid article{
  min-height:215px;
  padding:27px 24px;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(18,40,62,.055);
}

.maprimeadapt-icon{
  width:51px;
  height:51px;
  margin-bottom:18px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#f6eee3;
}

.maprimeadapt-icon svg{
  width:28px;
  height:28px;
  fill:none;
  stroke:#c8954c;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.maprimeadapt-overview-grid h3{
  margin:0 0 9px;
  font-family:"Playfair Display",serif;
  font-size:21px;
  color:#102c4c;
}

.maprimeadapt-overview-grid p{
  margin:0;
  font-size:10.5px;
  line-height:1.62;
  color:#5b697a;
}

.maprimeadapt-eligibility{
  padding:38px 42px;
  border-radius:18px;
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:55px;
  background:#fff;
  box-shadow:0 10px 30px rgba(18,40,62,.05);
}

.maprimeadapt-eligibility-list{
  display:grid;
  gap:13px;
}

.maprimeadapt-eligibility-list article{
  padding:18px;
  border:1px solid #ebe2d7;
  border-radius:12px;
  display:grid;
  grid-template-columns:72px 1fr;
  gap:17px;
  align-items:center;
  background:#fbfaf8;
}

.maprimeadapt-eligibility-list article>b{
  width:62px;
  height:62px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#102c4c;
  color:#e3aa5b;
  font-family:"Playfair Display",serif;
  font-size:17px;
}

.maprimeadapt-eligibility-list h3{
  margin:0 0 5px;
  font-size:13px;
  color:#102c4c;
}

.maprimeadapt-eligibility-list p{
  margin:0;
  font-size:10px;
  line-height:1.5;
  color:#607083;
}

.maprimeadapt-financing>header{
  margin-bottom:24px;
}

.maprimeadapt-financing-grid{
  display:grid;
  grid-template-columns:1fr 1fr .8fr;
  gap:18px;
}

.maprimeadapt-financing-card{
  min-height:260px;
  padding:28px;
  border-radius:17px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.maprimeadapt-financing-card.very-modest{
  background:#102c4c;
  color:#fff;
}

.maprimeadapt-financing-card.modest{
  border:1px solid #dfc9aa;
  background:#fff;
  color:#102c4c;
}

.maprimeadapt-financing-card small{
  font-size:9px;
  font-weight:700;
  letter-spacing:.12em;
}

.maprimeadapt-financing-card.very-modest small{
  color:#e4ad61;
}

.maprimeadapt-financing-card.modest small{
  color:#bd7f2c;
}

.maprimeadapt-financing-card>strong{
  margin:8px 0 0;
  font-family:"Playfair Display",serif;
  font-size:65px;
  line-height:1;
  font-weight:500;
}

.maprimeadapt-financing-card>p{
  margin:3px 0 20px;
  font-size:12px;
}

.maprimeadapt-financing-card>span{
  padding-top:16px;
  border-top:1px solid currentColor;
  opacity:.76;
  font-size:9.5px;
}

.maprimeadapt-financing-card>b{
  margin-top:9px;
  color:#c8954c;
  font-size:10px;
}

.maprimeadapt-financing-note{
  padding:25px;
  border-radius:17px;
  display:flex;
  align-items:flex-start;
  gap:16px;
  background:#f2e8da;
}

.maprimeadapt-financing-note svg{
  width:34px;
  height:34px;
  flex:0 0 34px;
  fill:none;
  stroke:#c8954c;
  stroke-width:2;
  stroke-linecap:round;
}

.maprimeadapt-financing-note h3{
  margin:2px 0 9px;
  font-family:"Playfair Display",serif;
  font-size:20px;
  color:#102c4c;
}

.maprimeadapt-financing-note p{
  margin:0;
  font-size:10px;
  line-height:1.58;
  color:#5a697a;
}

.maprimeadapt-works{
  padding:38px 42px;
  border-radius:18px;
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:50px;
  background:linear-gradient(110deg,#102c4c,#173e65);
  color:#fff;
}

.maprimeadapt-works h2{
  color:#fff;
}

.maprimeadapt-works-copy>p:last-child{
  margin:16px 0 0;
  color:rgba(255,255,255,.72);
  font-size:11px;
  line-height:1.6;
}

.maprimeadapt-works-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px;
}

.maprimeadapt-works-grid article{
  padding:18px;
  border-radius:11px;
  background:rgba(255,255,255,.09);
}

.maprimeadapt-works-grid span{
  color:#e3aa5e;
  font-family:"Playfair Display",serif;
  font-size:15px;
}

.maprimeadapt-works-grid h3{
  margin:8px 0 6px;
  font-size:12px;
}

.maprimeadapt-works-grid p{
  margin:0;
  color:rgba(255,255,255,.7);
  font-size:9.5px;
  line-height:1.5;
}

.maprimeadapt-process{
  padding:38px 42px;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 30px rgba(18,40,62,.05);
}

.maprimeadapt-process>header{
  max-width:800px;
  margin-bottom:27px;
}

.maprimeadapt-timeline{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
}

.maprimeadapt-timeline article{
  position:relative;
  padding:22px 17px;
  border-radius:13px;
  background:#f8f4ed;
}

.maprimeadapt-timeline article>b{
  width:38px;
  height:38px;
  margin-bottom:17px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#102c4c;
  color:#e3aa5a;
  font-family:"Playfair Display",serif;
}

.maprimeadapt-timeline h3{
  margin:0 0 7px;
  font-size:11px;
  color:#102c4c;
}

.maprimeadapt-timeline p{
  margin:0;
  color:#627084;
  font-size:9px;
  line-height:1.5;
}

.maprimeadapt-combination{
  padding:30px 35px;
  border:1px solid #dfc9ab;
  border-radius:16px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:center;
  background:#fff;
}

.maprimeadapt-combination>div:first-child>p:last-child{
  margin:13px 0 0;
  font-size:10.5px;
  line-height:1.6;
  color:#5e6e80;
}

.maprimeadapt-combination-tags{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}

.maprimeadapt-combination-tags span{
  padding:10px 14px;
  border-radius:999px;
  background:#f4ece1;
  color:#102c4c;
  font-size:9.5px;
  font-weight:600;
}

.maprimeadapt-final-cta{
  padding:34px 38px;
  border-radius:17px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:35px;
  align-items:center;
  background:#102c4c;
  color:#fff;
}

.maprimeadapt-final-cta small{
  display:block;
  margin-bottom:8px;
  color:#e1aa61;
  font-size:9px;
  font-weight:700;
  letter-spacing:.14em;
}

.maprimeadapt-final-cta h2{
  max-width:900px;
  color:#fff;
  font-size:clamp(27px,2.1vw,39px);
}

.maprimeadapt-final-cta p{
  margin:10px 0 0;
  color:rgba(255,255,255,.73);
  font-size:10px;
  line-height:1.55;
}

.maprimeadapt-final-cta>a{
  min-width:225px;
  min-height:55px;
  padding:0 20px;
  border-radius:9px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:15px;
  background:#fff;
  color:#102c4c;
  font-size:11px;
  font-weight:700;
}

.maprimeadapt-final-cta>a span{
  color:#c8954c;
  font-size:21px;
}

#maprimeadapt>.stats-row.compact{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:12%;
  min-height:96px;
}

/* Tablettes */
@media(max-width:1150px) and (min-width:901px){
  .maprimeadapt-solution-card{
    grid-template-columns:125px 1fr 105px;
  }

  .maprimeadapt-solution-link{
    grid-column:2/-1;
    justify-self:start;
  }

  .maprimeadapt-financing-grid{
    grid-template-columns:1fr 1fr;
  }

  .maprimeadapt-financing-note{
    grid-column:1/-1;
  }

  .maprimeadapt-timeline{
    grid-template-columns:repeat(3,1fr);
  }
}

/* Mobile */
@media(max-width:900px){
  .maprimeadapt-solution-card{
    margin-top:15px;
    padding:18px;
    grid-template-columns:1fr;
    gap:15px;
  }

  .maprimeadapt-solution-logo{
    justify-self:start;
  }

  .maprimeadapt-solution-rate{
    padding:12px 0;
    border-left:0;
    border-top:1px solid #e3d5c1;
    border-bottom:1px solid #e3d5c1;
    text-align:left;
  }

  .maprimeadapt-solution-link{
    width:100%;
  }

  #maprimeadapt.maprimeadapt-page{
    position:static;
    height:auto;
    display:none;
  }

  #maprimeadapt.maprimeadapt-page.active{
    display:block;
  }

  .maprimeadapt-scroll{
    height:auto;
    overflow:visible;
    padding:0 16px 32px;
  }

  .maprimeadapt-breadcrumb{
    padding-top:20px;
  }

  .maprimeadapt-hero{
    min-height:0;
    padding:32px 0;
    grid-template-columns:1fr;
    gap:28px;
  }

  .maprimeadapt-hero h1{
    font-size:clamp(39px,11vw,52px);
  }

  .maprimeadapt-hero-actions{
    display:grid;
  }

  .maprimeadapt-primary,
  .maprimeadapt-secondary{
    width:100%;
  }

  .maprimeadapt-overview-grid,
  .maprimeadapt-financing-grid{
    grid-template-columns:1fr;
  }

  .maprimeadapt-eligibility,
  .maprimeadapt-works,
  .maprimeadapt-combination{
    padding:25px 20px;
    grid-template-columns:1fr;
    gap:27px;
  }

  .maprimeadapt-works-grid{
    grid-template-columns:1fr;
  }

  .maprimeadapt-process{
    padding:25px 20px;
  }

  .maprimeadapt-timeline{
    grid-template-columns:1fr;
  }

  .maprimeadapt-combination-tags{
    justify-content:flex-start;
  }

  .maprimeadapt-final-cta{
    padding:28px 22px;
    grid-template-columns:1fr;
  }

  .maprimeadapt-final-cta>a{
    width:100%;
  }

  #maprimeadapt>.stats-row.compact{
    position:static;
    height:auto;
  }
}

@media(max-width:520px){
  .maprimeadapt-eligibility-list article{
    grid-template-columns:1fr;
  }

  .maprimeadapt-eligibility-list article>b{
    width:58px;
    height:58px;
  }
}


/* =========================================================
   V52 — SECTION AIDES VALIDÉE DANS NOS SOLUTIONS
   ========================================================= */

.solutions-aids-showcase{
  width:100%;
  margin-top:18px;
  padding:25px 28px 18px;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 30px rgba(18,40,62,.065);
}

.solutions-aids-heading{
  margin-bottom:19px;
}

.solutions-aids-heading p{
  margin:0 0 6px;
  color:#c17e27;
  font-size:8px;
  font-weight:700;
  letter-spacing:.15em;
}

.solutions-aids-heading h3{
  margin:0;
  font-family:"Playfair Display",serif;
  font-size:25px;
  line-height:1.15;
  font-weight:500;
  color:#102c4c;
}

.solutions-aids-heading span{
  display:block;
  margin-top:7px;
  color:#667587;
  font-size:9px;
  line-height:1.5;
}

.solutions-aids-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}

.solutions-aid-card{
  min-height:195px;
  border:1px solid #e2d3bf;
  border-radius:14px;
  display:grid;
  grid-template-columns:180px 1fr;
  overflow:hidden;
  background:#fff;
  color:#102c4c;
  box-shadow:0 7px 20px rgba(18,40,62,.045);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}

.solutions-aid-card:hover{
  transform:translateY(-3px);
  border-color:#c8954c;
  box-shadow:0 13px 30px rgba(18,40,62,.105);
}

.solutions-aid-visual{
  padding:20px 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(145deg,#fbf8f3,#f4ecdf);
}

.anah-mark{
  position:relative;
  width:120px;
  padding-top:43px;
  text-align:center;
}

.anah-roof{
  position:absolute;
  top:4px;
  left:15px;
  width:90px;
  height:34px;
  border-radius:60% 10% 60% 15%;
  display:block;
  background:#ee164f;
  transform:rotate(11deg);
}

.anah-roof:after{
  content:"";
  position:absolute;
  right:-8px;
  top:-11px;
  width:13px;
  height:13px;
  border-radius:3px;
  background:#54798a;
}

.anah-mark b{
  display:block;
  color:#41627a;
  font-size:13px;
  line-height:1;
}

.anah-mark small{
  display:block;
  margin-top:6px;
  color:#526c80;
  font-size:8px;
}

.maprime-visual{
  gap:12px;
  color:#0d5b4d;
}

.maprime-house{
  width:58px;
  height:58px;
}

.maprime-house svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:#15866f;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.maprime-visual>div:last-child>b{
  display:block;
  color:#111;
  font-size:20px;
  line-height:.93;
}

.maprime-visual>div:last-child>small{
  display:block;
  margin-top:9px;
  color:#18816d;
  font-size:7px;
  line-height:1.25;
}

.solutions-aid-content{
  padding:21px 22px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.solutions-aid-content>small{
  margin-bottom:5px;
  color:#c27e28;
  font-size:7.5px;
  font-weight:700;
  letter-spacing:.12em;
}

.solutions-aid-content h4{
  margin:0;
  font-family:"Playfair Display",serif;
  font-size:24px;
  line-height:1.05;
  font-weight:500;
}

.solutions-aid-content>strong{
  margin-top:4px;
  color:#c8954c;
  font-size:13px;
  font-weight:600;
}

.solutions-aid-content>p{
  margin:10px 0 14px;
  color:#526276;
  font-size:9.5px;
  line-height:1.55;
}

.solutions-aid-button{
  min-height:38px;
  margin-top:auto;
  padding:0 15px;
  border-radius:7px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  background:#cc9140;
  color:#fff;
  font-size:9px;
  font-weight:700;
}

.solutions-aid-button b{
  font-size:16px;
}

.solutions-aids-footer{
  margin-top:17px;
  padding:15px 4px 0;
  border-top:1px solid #eee5da;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
}

.solutions-aids-footer>div{
  display:flex;
  align-items:center;
  gap:13px;
}

.solutions-aids-euro{
  position:relative;
  width:43px;
  height:43px;
  display:grid;
  place-items:center;
  color:#102c4c;
  font-size:24px;
}

.solutions-aids-euro b{
  position:absolute;
  right:1px;
  bottom:5px;
  font-size:12px;
}

.solutions-aids-footer p{
  margin:0;
  color:#102c4c;
  font-size:11px;
}

.solutions-aids-all{
  min-height:40px;
  padding:0 16px;
  border:1px solid #c8954c;
  border-radius:7px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  color:#b87822;
  font-size:9px;
  font-weight:600;
  white-space:nowrap;
}

.solutions-aids-all span{
  font-size:16px;
}

@media(max-width:1100px) and (min-width:901px){
  .solutions-aid-card{
    grid-template-columns:145px 1fr;
  }

  .solutions-aids-showcase{
    padding-left:20px;
    padding-right:20px;
  }
}

@media(max-width:900px){
  .solutions-aids-showcase{
    padding:22px 16px 17px;
  }

  .solutions-aids-grid{
    grid-template-columns:1fr;
  }

  .solutions-aid-card{
    grid-template-columns:1fr;
  }

  .solutions-aid-visual{
    min-height:135px;
  }

  .solutions-aids-footer{
    align-items:stretch;
    flex-direction:column;
  }

  .solutions-aids-all{
    width:100%;
  }
}

html{
  scroll-behavior:auto;
}


/* =========================================================
   V53 — NOS SOLUTIONS : BLOCS D’AIDES ENTIÈREMENT VISIBLES
   ========================================================= */

@media(min-width:901px){

  /* La page Solutions garde le bandeau bleu fixe,
     mais son contenu devient réellement défilable. */
  #solutions{
    overflow:hidden !important;
  }

  #solutions .solutions-wrap{
    height:88% !important;
    max-height:88% !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding-bottom:42px !important;
    scrollbar-width:thin;
    scrollbar-color:#c8954c transparent;
  }

  #solutions .solutions-wrap::-webkit-scrollbar{
    width:7px;
  }

  #solutions .solutions-wrap::-webkit-scrollbar-track{
    background:transparent;
  }

  #solutions .solutions-wrap::-webkit-scrollbar-thumb{
    border-radius:999px;
    background:#c8954c;
  }

  /* Laisse une vraie marge après les cartes d’aides
     afin qu’elles ne passent jamais derrière le bandeau bleu. */
  #solutions .solutions-aids-showcase{
    margin-bottom:34px !important;
  }

  /* Bandeau bleu conservé exactement en bas de page */
  #solutions > .stats-row.compact{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    height:12% !important;
    min-height:96px !important;
    z-index:20 !important;
  }
}

/* Ajustement pour les écrans d’ordinateur moins hauts */
@media(min-width:901px) and (max-height:820px){

  #solutions .solutions-wrap{
    padding-top:24px !important;
  }

  #solutions .solutions-title{
    margin-bottom:18px !important;
  }

  #solutions .solutions-grid{
    margin-bottom:18px !important;
  }

  #solutions .solution-card{
    min-height:285px !important;
  }

  #solutions .solutions-aids-showcase{
    margin-top:12px !important;
  }
}


/* =========================================================
   V55 — PAGE SERVICE APRÈS-VENTE
   ========================================================= */

#sav.sav-page{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
  background:#f8f5ef;
}

.sav-scroll{
  height:88%;
  overflow-y:auto;
  overflow-x:hidden;
  padding:0 4vw 5vh;
  scrollbar-width:thin;
  scrollbar-color:#c8954c transparent;
}

.sav-kicker{
  margin:0 0 11px;
  color:#c17f29;
  font-size:9px;
  font-weight:700;
  letter-spacing:.15em;
}

.sav-hero{
  max-width:1440px;
  min-height:540px;
  margin:0 auto;
  padding:5vh 0 4vh;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:4.5vw;
  align-items:center;
}

.sav-hero h1{
  margin:0 0 21px;
  font-family:"Playfair Display",serif;
  font-size:clamp(45px,3.8vw,69px);
  line-height:1.03;
  font-weight:500;
  color:#102c4c;
}

.sav-hero h1 span{
  color:#c8954c;
}

.sav-intro{
  max-width:750px;
  margin:0;
  color:#4f6075;
  font-size:13px;
  line-height:1.7;
}

.sav-hero-badges{
  margin:25px 0;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.sav-hero-badges span{
  padding:9px 12px;
  border:1px solid #dfcdb3;
  border-radius:999px;
  display:flex;
  align-items:center;
  gap:8px;
  background:#fff;
  color:#102c4c;
  font-size:9.5px;
  font-weight:600;
}

.sav-hero-badges svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:#c8954c;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.sav-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:11px;
}

.sav-primary,
.sav-secondary{
  min-height:53px;
  padding:0 20px;
  border-radius:9px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  font-size:11px;
  font-weight:700;
}

.sav-primary{
  background:#102c4c;
  color:#fff;
  box-shadow:0 10px 24px rgba(16,44,76,.14);
}

.sav-primary span{
  color:#e1aa60;
  font-size:20px;
}

.sav-secondary{
  border:1px solid #d9c3a5;
  background:#fff;
  color:#102c4c;
}

.sav-secondary svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:#c8954c;
  stroke-width:2;
  stroke-linecap:round;
}

.sav-hero-panel{
  padding:28px;
  border-radius:20px;
  background:linear-gradient(145deg,#102c4c,#183f67);
  color:#fff;
  box-shadow:0 18px 46px rgba(16,44,76,.18);
}

.sav-hero-panel-top{
  padding-bottom:20px;
  border-bottom:1px solid rgba(255,255,255,.16);
}

.sav-hero-panel-top small{
  display:block;
  margin-bottom:8px;
  color:#e2aa5e;
  font-size:8px;
  font-weight:700;
  letter-spacing:.14em;
}

.sav-hero-panel-top strong{
  display:block;
  font-family:"Playfair Display",serif;
  font-size:28px;
  line-height:1.12;
  font-weight:500;
}

.sav-hero-panel-top p{
  margin:11px 0 0;
  color:rgba(255,255,255,.72);
  font-size:10px;
  line-height:1.55;
}

.sav-quick-info{
  padding:19px 0;
  display:grid;
  gap:10px;
}

.sav-quick-info article{
  padding:12px 13px;
  border-radius:9px;
  display:grid;
  grid-template-columns:35px 1fr;
  gap:10px;
  align-items:center;
  background:rgba(255,255,255,.08);
}

.sav-quick-info b{
  color:#e1aa5e;
  font-family:"Playfair Display",serif;
}

.sav-quick-info span{
  font-size:9.5px;
}

.sav-hero-panel>a{
  padding:15px;
  border-radius:10px;
  display:block;
  background:#c8954c;
  color:#fff;
}

.sav-hero-panel>a small,
.sav-hero-panel>a strong{
  display:block;
}

.sav-hero-panel>a small{
  margin-bottom:5px;
  color:#102c4c;
  font-size:8px;
  font-weight:700;
  letter-spacing:.12em;
}

.sav-hero-panel>a strong{
  font-size:17px;
}

.sav-process,
.sav-national,
.sav-prepare,
.sav-emergency,
.sav-main,
.sav-final-cta{
  max-width:1440px;
  margin:0 auto 5vh;
}

.sav-process>header{
  max-width:800px;
  margin-bottom:25px;
}

.sav-process h2,
.sav-national h2,
.sav-prepare h2,
.sav-emergency h2,
.sav-form-panel h2,
.sav-faq h2,
.sav-final-cta h2{
  margin:0;
  font-family:"Playfair Display",serif;
  font-size:clamp(30px,2.55vw,47px);
  line-height:1.08;
  font-weight:500;
  color:#102c4c;
}

.sav-process>header>p:last-child{
  margin:12px 0 0;
  color:#617083;
  font-size:10.5px;
}

.sav-process-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.sav-process-grid:before{
  content:"";
  position:absolute;
  left:16%;
  right:16%;
  top:42px;
  height:1px;
  background:#d7b47f;
}

.sav-process-grid article{
  position:relative;
  min-height:245px;
  padding:25px 23px;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(18,40,62,.055);
}

.sav-process-grid article>b{
  position:absolute;
  top:20px;
  right:21px;
  color:#e4d1b4;
  font-family:"Playfair Display",serif;
  font-size:28px;
}

.sav-process-icon{
  position:relative;
  z-index:2;
  width:55px;
  height:55px;
  margin-bottom:20px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#102c4c;
}

.sav-process-icon svg{
  width:28px;
  height:28px;
  fill:none;
  stroke:#e2aa5f;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.sav-process-grid h3{
  margin:0 0 9px;
  font-family:"Playfair Display",serif;
  font-size:21px;
  color:#102c4c;
}

.sav-process-grid p{
  margin:0;
  color:#5d6c7e;
  font-size:10.5px;
  line-height:1.62;
}

.sav-national{
  padding:38px 42px;
  border-radius:18px;
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:50px;
  align-items:center;
  background:#fff;
  box-shadow:0 10px 30px rgba(18,40,62,.05);
}

.sav-national-map{
  height:390px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#102c4c,#193f66);
}

.sav-national-map svg{
  width:78%;
  height:88%;
}

.sav-national-map path{
  fill:rgba(255,255,255,.07);
  stroke:rgba(255,255,255,.58);
  stroke-width:3;
}

.sav-national-map circle{
  fill:#d5a052;
  stroke:#fff;
  stroke-width:2;
}

.sav-national-copy>p:not(.sav-kicker){
  margin:17px 0 20px;
  color:#5b697b;
  font-size:11px;
  line-height:1.68;
}

.sav-national-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:11px;
}

.sav-national-points span{
  padding:11px 13px;
  border-radius:9px;
  background:#f6f0e7;
  color:#102c4c;
  font-size:9.5px;
  font-weight:600;
}

.sav-prepare{
  padding:35px 40px;
  border-radius:18px;
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:45px;
  background:#102c4c;
  color:#fff;
}

.sav-prepare h2{
  color:#fff;
}

.sav-prepare-copy>p:last-child{
  margin:15px 0 0;
  color:rgba(255,255,255,.7);
  font-size:10.5px;
  line-height:1.6;
}

.sav-prepare-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:11px;
}

.sav-prepare-grid span{
  padding:13px 15px 13px 38px;
  border-radius:9px;
  position:relative;
  background:rgba(255,255,255,.09);
  font-size:9.5px;
}

.sav-prepare-grid span:before{
  content:"✓";
  position:absolute;
  left:15px;
  color:#e1aa5e;
  font-weight:700;
}

.sav-emergency{
  padding:27px 31px;
  border-radius:17px;
  display:grid;
  grid-template-columns:65px 1fr auto;
  gap:22px;
  align-items:center;
  background:#fff3e8;
  border:1px solid #e2b884;
}

.sav-emergency-icon{
  width:58px;
  height:58px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#c77c29;
  color:#fff;
  font-family:"Playfair Display",serif;
  font-size:32px;
}

.sav-emergency small{
  display:block;
  margin-bottom:5px;
  color:#b56d20;
  font-size:8px;
  font-weight:700;
  letter-spacing:.13em;
}

.sav-emergency h2{
  font-size:31px;
}

.sav-emergency p{
  margin:7px 0 0;
  color:#675847;
  font-size:10px;
  line-height:1.5;
}

.sav-emergency-actions{
  display:grid;
  gap:8px;
}

.sav-emergency-actions a{
  min-width:205px;
  min-height:41px;
  padding:0 14px;
  border-radius:7px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#102c4c;
  color:#fff;
  font-size:9px;
  font-weight:700;
}

.sav-emergency-actions a:last-child{
  border:1px solid #c77c29;
  background:#fff;
  color:#9c5e1a;
}

.sav-main{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:20px;
}

.sav-form-panel,
.sav-faq{
  padding:32px;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 30px rgba(18,40,62,.055);
}

.sav-form-panel>header>p:last-child{
  margin:12px 0 0;
  color:#627184;
  font-size:10.5px;
  line-height:1.58;
}

.sav-form{
  margin-top:25px;
}

.sav-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.sav-form label>span{
  display:block;
  margin-bottom:6px;
  color:#102c4c;
  font-size:10px;
  font-weight:600;
}

.sav-form input,
.sav-form select,
.sav-form textarea{
  width:100%;
  padding:12px 13px;
  border:1px solid #dcd5cb;
  border-radius:8px;
  background:#fcfbf9;
  color:#102c4c;
  font:inherit;
  font-size:11px;
  outline:none;
}

.sav-form input:focus,
.sav-form select:focus,
.sav-form textarea:focus{
  border-color:#c8954c;
  box-shadow:0 0 0 3px rgba(200,149,76,.12);
}

.sav-form textarea{
  resize:vertical;
}

.sav-form-full{
  grid-column:1/-1;
}

.sav-file-field small{
  display:block;
  margin-top:6px;
  color:#7a8795;
  font-size:8.5px;
}

.sav-form-bottom{
  margin-top:19px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.sav-consent{
  max-width:440px;
  display:flex!important;
  align-items:flex-start;
  gap:8px;
}

.sav-consent input{
  width:auto;
  margin-top:2px;
}

.sav-consent span{
  margin:0!important;
  font-size:8.5px!important;
  font-weight:400!important;
  line-height:1.45;
}

.sav-form button{
  min-height:48px;
  padding:0 18px;
  border:0;
  border-radius:8px;
  background:#102c4c;
  color:#fff;
  font-size:10px;
  font-weight:700;
  cursor:pointer;
}

.sav-form button span{
  margin-left:10px;
  color:#e1aa5f;
}

.sav-form-status{
  min-height:18px;
  margin:12px 0 0;
  color:#2d674d;
  font-size:9px;
}

.sav-faq h2{
  margin-bottom:21px;
  font-size:31px;
}

.sav-faq details{
  border-bottom:1px solid #e8e0d5;
}

.sav-faq summary{
  padding:16px 0;
  cursor:pointer;
  color:#102c4c;
  font-size:10.5px;
  font-weight:700;
  list-style:none;
}

.sav-faq summary::-webkit-details-marker{
  display:none;
}

.sav-faq summary:after{
  content:"+";
  float:right;
  color:#c8954c;
  font-size:18px;
}

.sav-faq details[open] summary:after{
  content:"−";
}

.sav-faq details p{
  margin:0;
  padding:0 0 15px;
  color:#607083;
  font-size:9.5px;
  line-height:1.55;
}

.sav-faq-contact{
  margin-top:22px;
  padding:18px;
  border-radius:11px;
  background:#102c4c;
  color:#fff;
}

.sav-faq-contact small,
.sav-faq-contact strong{
  display:block;
}

.sav-faq-contact small{
  color:#e1aa5f;
  font-size:7.5px;
  font-weight:700;
  letter-spacing:.12em;
}

.sav-faq-contact strong{
  margin:6px 0 12px;
  font-size:15px;
}

.sav-faq-contact a{
  color:#fff;
  font-size:9px;
  font-weight:700;
}

.sav-final-cta{
  padding:34px 38px;
  border-radius:17px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:35px;
  align-items:center;
  background:linear-gradient(100deg,#102c4c,#173d64);
  color:#fff;
}

.sav-final-cta small{
  display:block;
  margin-bottom:8px;
  color:#e1aa61;
  font-size:8px;
  font-weight:700;
  letter-spacing:.14em;
}

.sav-final-cta h2{
  max-width:900px;
  color:#fff;
  font-size:clamp(27px,2.1vw,39px);
}

.sav-final-cta p{
  margin:9px 0 0;
  color:rgba(255,255,255,.73);
  font-size:10px;
}

.sav-final-cta>a{
  min-width:205px;
  min-height:53px;
  padding:0 19px;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#102c4c;
  font-size:10px;
  font-weight:700;
}

#sav>.stats-row.compact{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:12%;
  min-height:96px;
}

#sav-formulaire{
  scroll-margin-top:18px;
}

@media(max-width:1100px) and (min-width:901px){
  .sav-main{
    grid-template-columns:1fr;
  }

  .sav-faq{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 25px;
  }

  .sav-faq>.sav-kicker,
  .sav-faq>h2,
  .sav-faq>.sav-faq-contact{
    grid-column:1/-1;
  }
}

@media(max-width:900px){
  #sav.sav-page{
    position:static;
    height:auto;
    display:none;
  }

  #sav.sav-page.active{
    display:block;
  }

  .sav-scroll{
    height:auto;
    overflow:visible;
    padding:0 16px 32px;
  }

  .sav-hero{
    min-height:0;
    padding:35px 0 30px;
    grid-template-columns:1fr;
    gap:27px;
  }

  .sav-hero h1{
    font-size:clamp(39px,11vw,53px);
  }

  .sav-hero-actions{
    display:grid;
  }

  .sav-primary,
  .sav-secondary{
    width:100%;
  }

  .sav-process-grid,
  .sav-national,
  .sav-prepare,
  .sav-main{
    grid-template-columns:1fr;
  }

  .sav-process-grid:before{
    display:none;
  }

  .sav-national,
  .sav-prepare{
    padding:25px 20px;
    gap:27px;
  }

  .sav-national-map{
    height:330px;
  }

  .sav-national-points,
  .sav-prepare-grid,
  .sav-form-grid{
    grid-template-columns:1fr;
  }

  .sav-emergency{
    padding:24px 20px;
    grid-template-columns:1fr;
  }

  .sav-emergency-actions a{
    width:100%;
  }

  .sav-form-panel,
  .sav-faq{
    padding:25px 19px;
  }

  .sav-form-full{
    grid-column:auto;
  }

  .sav-form-bottom{
    align-items:stretch;
    flex-direction:column;
  }

  .sav-form button{
    width:100%;
  }

  .sav-final-cta{
    padding:28px 22px;
    grid-template-columns:1fr;
  }

  .sav-final-cta>a{
    width:100%;
  }

  #sav>.stats-row.compact{
    position:static;
    height:auto;
  }

  #sav-formulaire{
    scroll-margin-top:90px;
  }
}


/* ===========================
   V58 - Accessibilité SAV seniors
   =========================== */

#sav .sav-intro,
#sav .sav-process-grid p,
#sav .sav-national-copy>p:not(.sav-kicker),
#sav .sav-prepare-copy>p:last-child,
#sav .sav-emergency p,
#sav .sav-form-panel>header>p:last-child,
#sav .sav-faq details p,
#sav .sav-final-cta p{
  font-size:16px !important;
  line-height:1.75 !important;
}

#sav .sav-process-grid h3,
#sav .sav-faq h2,
#sav .sav-form-panel h2,
#sav .sav-national h2,
#sav .sav-prepare h2,
#sav .sav-emergency h2{
  font-size:clamp(34px,2.8vw,48px)!important;
}

#sav .sav-kicker{
  font-size:12px!important;
}

#sav .sav-hero-badges span,
#sav .sav-national-points span,
#sav .sav-prepare-grid span{
  font-size:15px!important;
  line-height:1.5!important;
  padding:14px 16px!important;
}

#sav .sav-form label>span{
  font-size:15px!important;
}

#sav .sav-form input,
#sav .sav-form select,
#sav .sav-form textarea{
  font-size:16px!important;
  padding:15px!important;
}

#sav .sav-faq summary{
  font-size:17px!important;
  padding:20px 0!important;
}

#sav .sav-primary,
#sav .sav-secondary,
#sav .sav-emergency-actions a,
#sav .sav-final-cta>a,
#sav .sav-form button{
  font-size:16px!important;
  min-height:58px!important;
}

#sav .sav-process-grid article{
  min-height:280px!important;
}

#sav .sav-quick-info span{
  font-size:15px!important;
}

#sav .sav-hero-panel-top p{
  font-size:15px!important;
}

#sav .sav-form-status{
  font-size:14px!important;
}


/* ===== V59 - Correction alignement liste SAV ===== */
#sav .sav-prepare-grid span{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    padding:14px 18px !important;
    font-size:15px !important;
    line-height:1.5 !important;
    position:relative;
}

#sav .sav-prepare-grid span::before{
    content:"✓" !important;
    position:static !important;
    color:#d8a04f !important;
    font-weight:700 !important;
    flex-shrink:0 !important;
}


/* =========================================================
   V60 — PAGE NOS OFFRES / TARIFS
   ========================================================= */

#offres.offers-page{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
  background:#f8f5ef;
}

.offers-scroll{
  height:88%;
  overflow-y:auto;
  overflow-x:hidden;
  padding:0 4vw 5vh;
  scrollbar-width:thin;
  scrollbar-color:#c8954c transparent;
}

.offers-kicker{
  margin:0 0 11px;
  color:#c17f29;
  font-size:10px;
  font-weight:700;
  letter-spacing:.15em;
}

.offers-hero{
  max-width:1440px;
  min-height:550px;
  margin:0 auto;
  padding:5vh 0 4vh;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:4.5vw;
  align-items:center;
}

.offers-hero h1{
  margin:0 0 22px;
  max-width:860px;
  font-family:"Playfair Display",serif;
  font-size:clamp(45px,3.9vw,70px);
  line-height:1.03;
  font-weight:500;
  color:#102c4c;
}

.offers-hero h1 span{
  color:#c8954c;
}

.offers-intro{
  max-width:760px;
  margin:0;
  color:#506176;
  font-size:15px;
  line-height:1.72;
}

.offers-hero-actions{
  margin-top:27px;
  display:flex;
  flex-wrap:wrap;
  gap:11px;
}

.offers-primary,
.offers-secondary{
  min-height:54px;
  padding:0 21px;
  border-radius:9px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  font-size:13px;
  font-weight:700;
}

.offers-primary{
  background:#102c4c;
  color:#fff;
  box-shadow:0 10px 24px rgba(16,44,76,.14);
}

.offers-primary span{
  color:#e1aa60;
  font-size:20px;
}

.offers-secondary{
  border:1px solid #d8c2a5;
  background:#fff;
  color:#102c4c;
}

.offers-hero-note{
  margin:14px 0 0;
  color:#748091;
  font-size:11px;
}

.offers-hero-panel{
  padding:30px;
  border-radius:20px;
  background:linear-gradient(145deg,#102c4c,#183f67);
  color:#fff;
  box-shadow:0 18px 46px rgba(16,44,76,.18);
}

.offers-hero-panel>small{
  display:block;
  margin-bottom:8px;
  color:#e2aa5e;
  font-size:9px;
  font-weight:700;
  letter-spacing:.14em;
}

.offers-hero-panel h2{
  margin:0;
  font-family:"Playfair Display",serif;
  font-size:31px;
  line-height:1.12;
  font-weight:500;
}

.offers-hero-points{
  margin:22px 0;
  display:grid;
  gap:10px;
}

.offers-hero-points span{
  padding:12px 14px;
  border-radius:9px;
  background:rgba(255,255,255,.08);
  font-size:14px;
}

.offers-hero-panel>a{
  padding:15px;
  border-radius:10px;
  display:block;
  background:#c8954c;
  color:#fff;
}

.offers-hero-panel>a b,
.offers-hero-panel>a strong{
  display:block;
}

.offers-hero-panel>a b{
  margin-bottom:4px;
  color:#102c4c;
  font-size:10px;
}

.offers-hero-panel>a strong{
  font-size:20px;
}

.offers-prices,
.offers-budget,
.offers-included,
.offers-variables,
.offers-aids,
.offers-financing,
.offers-faq,
.offers-final-cta{
  max-width:1440px;
  margin:0 auto 5vh;
}

.offers-prices>header,
.offers-included>header,
.offers-aids>header,
.offers-faq>header{
  max-width:850px;
  margin-bottom:25px;
}

.offers-prices h2,
.offers-budget h2,
.offers-included h2,
.offers-variables h2,
.offers-aids h2,
.offers-financing h2,
.offers-faq h2,
.offers-final-cta h2{
  margin:0;
  font-family:"Playfair Display",serif;
  font-size:clamp(31px,2.6vw,48px);
  line-height:1.08;
  font-weight:500;
  color:#102c4c;
}

.offers-prices>header>p:last-child,
.offers-aids>header>p:last-child{
  margin:12px 0 0;
  color:#617083;
  font-size:13px;
  line-height:1.6;
}

.offers-price-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  align-items:stretch;
}

.offers-price-card{
  position:relative;
  min-height:560px;
  padding:28px 25px;
  border:1px solid #e2d3bf;
  border-radius:17px;
  display:flex;
  flex-direction:column;
  background:#fff;
  box-shadow:0 9px 26px rgba(18,40,62,.06);
}

.offers-price-card.featured{
  border-color:#c8954c;
  transform:translateY(-8px);
  box-shadow:0 17px 38px rgba(18,40,62,.11);
}

.offers-featured-badge{
  position:absolute;
  top:-13px;
  left:50%;
  transform:translateX(-50%);
  padding:7px 15px;
  border-radius:999px;
  background:#c8954c;
  color:#fff;
  font-size:8px;
  font-weight:700;
  letter-spacing:.1em;
  white-space:nowrap;
}

.offers-price-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.offers-price-top span{
  color:#e0cfb6;
  font-family:"Playfair Display",serif;
  font-size:30px;
}

.offers-price-top small{
  color:#bd7c26;
  font-size:8px;
  font-weight:700;
  letter-spacing:.12em;
}

.offers-price-card h3{
  margin:20px 0 11px;
  font-family:"Playfair Display",serif;
  font-size:27px;
  line-height:1.08;
  color:#102c4c;
}

.offers-price-card>p{
  min-height:78px;
  margin:0;
  color:#5b6a7c;
  font-size:13px;
  line-height:1.6;
}

.offers-price-value{
  margin:22px 0;
  padding:20px 0;
  border-top:1px solid #eee5d9;
  border-bottom:1px solid #eee5d9;
}

.offers-price-value small,
.offers-price-value span{
  display:block;
}

.offers-price-value small{
  color:#7b8795;
  font-size:10px;
}

.offers-price-value strong{
  display:block;
  margin:5px 0;
  font-family:"Playfair Display",serif;
  font-size:45px;
  line-height:1;
  font-weight:500;
  color:#c8954c;
}

.offers-price-value span{
  color:#667487;
  font-size:10px;
}

.offers-price-card ul{
  margin:0 0 25px;
  padding:0;
  display:grid;
  gap:11px;
  list-style:none;
}

.offers-price-card li{
  position:relative;
  padding-left:23px;
  color:#102c4c;
  font-size:12px;
}

.offers-price-card li:before{
  content:"✓";
  position:absolute;
  left:0;
  color:#c8954c;
  font-weight:700;
}

.offers-price-card>a{
  min-height:49px;
  margin-top:auto;
  padding:0 17px;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#102c4c;
  color:#fff;
  font-size:12px;
  font-weight:700;
}

.offers-price-card.featured>a{
  background:#c8954c;
}

.offers-prices-disclaimer{
  margin:17px 0 0;
  color:#748091;
  font-size:10px;
  text-align:center;
}

.offers-budget{
  padding:37px 41px;
  border-radius:18px;
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:50px;
  align-items:center;
  background:#102c4c;
  color:#fff;
}

.offers-budget h2{
  color:#fff;
}

.offers-budget-copy>p:last-child{
  margin:15px 0 0;
  color:rgba(255,255,255,.75);
  font-size:13px;
  line-height:1.65;
}

.offers-budget-copy strong{
  color:#e1aa5f;
}

.offers-budget-scale{
  padding:28px 24px;
  border-radius:14px;
  background:rgba(255,255,255,.08);
}

.offers-budget-line{
  position:relative;
  height:4px;
  margin:20px 8px 27px;
  border-radius:999px;
  background:linear-gradient(90deg,#e1aa5f,#fff,#e1aa5f);
}

.offers-budget-point{
  position:absolute;
  top:50%;
  width:18px;
  height:18px;
  border:4px solid #102c4c;
  border-radius:50%;
  background:#e1aa5f;
  transform:translateY(-50%);
}

.offers-budget-point.start{left:0}
.offers-budget-point.middle{left:50%;transform:translate(-50%,-50%)}
.offers-budget-point.end{right:0}

.offers-budget-values{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}

.offers-budget-values div{
  text-align:center;
}

.offers-budget-values strong,
.offers-budget-values small{
  display:block;
}

.offers-budget-values strong{
  color:#fff;
  font-family:"Playfair Display",serif;
  font-size:22px;
}

.offers-budget-values small{
  margin-top:5px;
  color:rgba(255,255,255,.7);
  font-size:9px;
  line-height:1.4;
}

.offers-included-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}

.offers-included-grid article{
  min-height:205px;
  padding:24px 21px;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 24px rgba(18,40,62,.055);
}

.offers-icon{
  width:50px;
  height:50px;
  margin-bottom:16px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#f5ede1;
}

.offers-icon svg{
  width:27px;
  height:27px;
  fill:none;
  stroke:#c8954c;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.offers-included-grid h3{
  margin:0 0 8px;
  font-family:"Playfair Display",serif;
  font-size:20px;
  color:#102c4c;
}

.offers-included-grid p{
  margin:0;
  color:#5d6c7e;
  font-size:12px;
  line-height:1.55;
}

.offers-variables{
  padding:37px 41px;
  border-radius:18px;
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:45px;
  background:#fff;
  box-shadow:0 10px 30px rgba(18,40,62,.05);
}

.offers-variables-heading>p:last-child{
  margin:14px 0 0;
  color:#627184;
  font-size:12px;
  line-height:1.55;
}

.offers-variables-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px;
}

.offers-variables-grid article{
  padding:19px;
  border-radius:11px;
  background:#f7f2ea;
}

.offers-variables-grid b{
  color:#c8954c;
  font-family:"Playfair Display",serif;
  font-size:17px;
}

.offers-variables-grid h3{
  margin:8px 0 6px;
  color:#102c4c;
  font-size:14px;
}

.offers-variables-grid p{
  margin:0;
  color:#617083;
  font-size:10.5px;
  line-height:1.5;
}

.offers-aids-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}

.offers-aid-card{
  min-height:190px;
  padding:24px;
  border:1px solid #dfcbae;
  border-radius:16px;
  display:grid;
  grid-template-columns:145px 1fr;
  gap:22px;
  align-items:center;
  background:#fff;
  color:#102c4c;
  box-shadow:0 8px 24px rgba(18,40,62,.05);
}

.offers-aid-name{
  min-height:105px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#102c4c;
  color:#fff;
  font-family:"Playfair Display",serif;
  font-size:30px;
  text-align:center;
}

.offers-aid-name.maprime{
  color:#e4ad61;
  font-size:24px;
  line-height:.95;
}

.offers-aid-card small{
  color:#bd7d28;
  font-size:8px;
  font-weight:700;
  letter-spacing:.12em;
}

.offers-aid-card h3{
  margin:7px 0 6px;
  font-family:"Playfair Display",serif;
  font-size:25px;
  color:#102c4c;
}

.offers-aid-card p{
  margin:0 0 13px;
  color:#607083;
  font-size:11px;
}

.offers-aid-card span{
  color:#b97823;
  font-size:10px;
  font-weight:700;
}

.offers-financing{
  padding:37px 41px;
  border-radius:18px;
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:45px;
  background:linear-gradient(120deg,#102c4c,#173f67);
  color:#fff;
}

.offers-financing h2{
  color:#fff;
}

.offers-financing-copy>p:last-child{
  margin:14px 0 0;
  color:rgba(255,255,255,.72);
  font-size:12px;
  line-height:1.6;
}

.offers-financing-points{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

.offers-financing-points article{
  padding:20px;
  border-radius:11px;
  background:rgba(255,255,255,.09);
}

.offers-financing-points strong{
  display:block;
  margin-bottom:8px;
  color:#e1aa5f;
  font-family:"Playfair Display",serif;
  font-size:22px;
}

.offers-financing-points span{
  color:rgba(255,255,255,.75);
  font-size:10px;
  line-height:1.5;
}

.offers-faq-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 25px;
}

.offers-faq details{
  border-bottom:1px solid #e5dccf;
}

.offers-faq summary{
  padding:18px 0;
  cursor:pointer;
  color:#102c4c;
  font-size:14px;
  font-weight:700;
  list-style:none;
}

.offers-faq summary::-webkit-details-marker{
  display:none;
}

.offers-faq summary:after{
  content:"+";
  float:right;
  color:#c8954c;
  font-size:20px;
}

.offers-faq details[open] summary:after{
  content:"−";
}

.offers-faq details p{
  margin:0;
  padding:0 0 17px;
  color:#607083;
  font-size:12px;
  line-height:1.55;
}

.offers-final-cta{
  padding:34px 38px;
  border-radius:17px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:35px;
  align-items:center;
  background:linear-gradient(100deg,#102c4c,#173d64);
  color:#fff;
}

.offers-final-cta small{
  display:block;
  margin-bottom:8px;
  color:#e1aa61;
  font-size:9px;
  font-weight:700;
  letter-spacing:.14em;
}

.offers-final-cta h2{
  max-width:900px;
  color:#fff;
  font-size:clamp(27px,2.1vw,39px);
}

.offers-final-cta p{
  margin:9px 0 0;
  color:rgba(255,255,255,.73);
  font-size:11px;
  line-height:1.55;
}

.offers-final-cta>a{
  min-width:225px;
  min-height:55px;
  padding:0 20px;
  border-radius:9px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:15px;
  background:#fff;
  color:#102c4c;
  font-size:12px;
  font-weight:700;
}

.offers-final-cta>a span{
  color:#c8954c;
  font-size:21px;
}

#offres>.stats-row.compact{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:12%;
  min-height:96px;
}

/* Tablet */
@media(max-width:1150px) and (min-width:901px){
  .offers-price-grid{
    grid-template-columns:1fr;
  }

  .offers-price-card.featured{
    transform:none;
  }

  .offers-included-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .offers-financing-points{
    grid-template-columns:1fr;
  }
}

/* Mobile */
@media(max-width:900px){
  #offres.offers-page{
    position:static;
    height:auto;
    display:none;
  }

  #offres.offers-page.active{
    display:block;
  }

  .offers-scroll{
    height:auto;
    overflow:visible;
    padding:0 16px 32px;
  }

  .offers-hero{
    min-height:0;
    padding:35px 0 30px;
    grid-template-columns:1fr;
    gap:28px;
  }

  .offers-hero h1{
    font-size:clamp(39px,11vw,53px);
  }

  .offers-hero-actions{
    display:grid;
  }

  .offers-primary,
  .offers-secondary{
    width:100%;
  }

  .offers-price-grid,
  .offers-budget,
  .offers-included-grid,
  .offers-variables,
  .offers-aids-grid,
  .offers-financing,
  .offers-faq-grid{
    grid-template-columns:1fr;
  }

  .offers-price-card{
    min-height:0;
  }

  .offers-price-card.featured{
    transform:none;
  }

  .offers-budget,
  .offers-variables,
  .offers-financing{
    padding:25px 20px;
    gap:27px;
  }

  .offers-budget-values{
    grid-template-columns:1fr;
    gap:17px;
  }

  .offers-budget-line{
    display:none;
  }

  .offers-variables-grid,
  .offers-financing-points{
    grid-template-columns:1fr;
  }

  .offers-aid-card{
    grid-template-columns:1fr;
  }

  .offers-final-cta{
    padding:28px 22px;
    grid-template-columns:1fr;
  }

  .offers-final-cta>a{
    width:100%;
  }

  #offres>.stats-row.compact{
    position:static;
    height:auto;
  }
}


/* =========================================================
   V62 — CLARIFICATION MAPRIMEADAPT’ / ANAH
   Page d’accueil inchangée
   ========================================================= */

#solutions .solutions-aids-single .solutions-aids-grid{
  display:block;
}

#solutions .solutions-aid-single-card{
  min-height:205px;
  grid-template-columns:210px 1fr 175px;
}

#solutions .solutions-aid-anah-note{
  height:100%;
  padding:22px;
  border-left:1px solid #e3d5c1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:#fbf8f3;
}

#solutions .solutions-aid-anah-note small{
  color:#c17e27;
  font-size:8px;
  font-weight:700;
  letter-spacing:.12em;
}

#solutions .solutions-aid-anah-note strong{
  margin:7px 0 4px;
  font-family:"Playfair Display",serif;
  font-size:30px;
  color:#102c4c;
}

#solutions .solutions-aid-anah-note span{
  color:#687587;
  font-size:9px;
  line-height:1.4;
}

#offres .offers-aids-grid-single{
  grid-template-columns:1fr;
}

#offres .offers-aid-card-single{
  grid-template-columns:170px 1fr 190px;
  min-height:210px;
}

#offres .offers-aid-card-single aside{
  height:100%;
  padding:22px;
  border-left:1px solid #e3d5c1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:#fbf8f3;
}

#offres .offers-aid-card-single aside small{
  color:#c17e27;
  font-size:8px;
  font-weight:700;
  letter-spacing:.12em;
}

#offres .offers-aid-card-single aside strong{
  margin:7px 0 4px;
  font-family:"Playfair Display",serif;
  font-size:30px;
  color:#102c4c;
}

#offres .offers-aid-card-single aside span{
  color:#687587;
  font-size:9px;
  line-height:1.4;
}

@media(max-width:1100px) and (min-width:901px){
  #solutions .solutions-aid-single-card,
  #offres .offers-aid-card-single{
    grid-template-columns:160px 1fr;
  }

  #solutions .solutions-aid-anah-note,
  #offres .offers-aid-card-single aside{
    grid-column:1/-1;
    min-height:100px;
    border-left:0;
    border-top:1px solid #e3d5c1;
  }
}

@media(max-width:900px){
  #solutions .solutions-aid-single-card,
  #offres .offers-aid-card-single{
    grid-template-columns:1fr;
  }

  #solutions .solutions-aid-anah-note,
  #offres .offers-aid-card-single aside{
    min-height:120px;
    border-left:0;
    border-top:1px solid #e3d5c1;
  }
}

/* V63 — menu corrigé */
@media(min-width:901px){
  .topbar nav{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:22px!important;
    flex-wrap:nowrap!important;
  }
  .topbar nav a{
    white-space:nowrap!important;
  }
}

/*V64*/
.topbar nav{gap:20px!important}.topbar nav a:hover{transform:translateY(-2px)}

/* =========================================================
   V65 — CHARTE TYPOGRAPHIQUE UNIFORME
   Aucune modification de mise en page, couleurs ou images
   ========================================================= */

:root{
  --type-h1: clamp(48px, 4.3vw, 68px);
  --type-h2: clamp(34px, 2.8vw, 48px);
  --type-h3: clamp(23px, 1.8vw, 30px);
  --type-body: 16px;
  --type-small: 14px;
  --type-label: 12px;
  --type-button: 15px;

  --line-h1: 1.04;
  --line-h2: 1.10;
  --line-h3: 1.18;
  --line-body: 1.65;
}

/* Tous les grands titres */
.page h1{
  font-size:var(--type-h1)!important;
  line-height:var(--line-h1)!important;
}

/* Tous les titres de section */
.page h2{
  font-size:var(--type-h2)!important;
  line-height:var(--line-h2)!important;
}

/* Tous les sous-titres */
.page h3{
  font-size:var(--type-h3)!important;
  line-height:var(--line-h3)!important;
}

/* Tous les textes courants */
.page p,
.page li,
.page blockquote{
  font-size:var(--type-body)!important;
  line-height:var(--line-body)!important;
}

/* Tous les petits textes */
.page small,
.page .caption,
.page .meta,
.page .note,
.page .disclaimer{
  font-size:var(--type-small)!important;
  line-height:1.5!important;
}

/* Tous les libellés et surtitres */
.page label,
.page .kicker,
.page [class*="-kicker"]{
  font-size:var(--type-label)!important;
  line-height:1.4!important;
}

/* Tous les boutons et liens d'action */
.page button,
.page .btn,
.page [class*="-primary"],
.page [class*="-secondary"],
.page .js-go-devis,
.page .js-go-sav{
  font-size:var(--type-button)!important;
  line-height:1.2!important;
}

/* Champs de formulaires */
.page input,
.page select,
.page textarea{
  font-size:16px!important;
  line-height:1.4!important;
}

/* Cartes et blocs très compacts : conserver la hiérarchie,
   mais avec une taille lisible et cohérente */
.page article h3,
.page .card h3{
  font-size:clamp(21px, 1.45vw, 26px)!important;
}

.page article p,
.page .card p{
  font-size:15px!important;
  line-height:1.6!important;
}

/* Statistiques et grands chiffres */
.page .stats-row strong,
.page [class*="stat"] strong,
.page [class*="price"] strong{
  line-height:1.05!important;
}

/* Mobile : même hiérarchie, tailles adaptées */
@media(max-width:900px){
  :root{
    --type-h1: clamp(38px, 10.5vw, 52px);
    --type-h2: clamp(30px, 8vw, 42px);
    --type-h3: clamp(22px, 6vw, 28px);
    --type-body: 16px;
    --type-small: 14px;
    --type-label: 12px;
    --type-button: 16px;
  }

  .page article h3,
  .page .card h3{
    font-size:24px!important;
  }

  .page article p,
  .page .card p{
    font-size:16px!important;
  }
}
