/* Pages villes SEO — Expert Audit Énergétique (réutilise les tokens + .btn de faq.css) */
.ville{background:var(--cream);color:var(--navy);min-height:100dvh;}
.ville__main{
  max-width:880px;margin:0 auto;
  padding:clamp(30px,6vw,80px) clamp(20px,5vw,40px) clamp(50px,7vw,90px);
}

/* Bandeau fin de tête : photo de ville si dispo, sinon fond de marque ------- */
.ville__banner{
  height:clamp(118px,16vh,170px);border-radius:22px;
  margin-bottom:clamp(22px,3.4vw,36px);position:relative;overflow:hidden;
  background:linear-gradient(115deg,var(--navy) 0%,#1e4d6e 55%,#1d6b46 135%);
  background-size:cover;background-position:center 42%;
}
.ville__banner::after{                 /* texture pointillée très discrète */
  content:"";position:absolute;inset:0;opacity:.10;pointer-events:none;
  background-image:radial-gradient(var(--cream) 1.2px,transparent 1.2px);background-size:18px 18px;
}
.ville__banner--photo{background-color:var(--navy);}
.ville__banner--photo::after{          /* voile bas pour la cohérence/lisibilité */
  opacity:1;background:linear-gradient(to top,rgba(23,57,85,.55),rgba(23,57,85,.04) 55%);
}

/* Nom de ville EN GRAND, puis code postal en vert dessous (ordre inversé, sans chevauchement) */
.ville__title{
  font-family:'Thunder',sans-serif;font-weight:800;color:var(--navy);
  font-size:clamp(38px,6.5vw,72px);line-height:.95;letter-spacing:.005em;
  margin:0 0 .12em;padding-top:.04em;
}
.ville__kicker{
  font-family:'Helvetica Neue',Arial,sans-serif;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;font-size:clamp(12px,1.3vw,15px);color:var(--green);
  margin:0 0 clamp(22px,3vw,34px);
}

.ville__body{max-width:64ch;}
.ville__body p{font-size:clamp(15px,1.2vw,17.5px);line-height:1.72;margin-bottom:1em;}
.ville__lead{font-size:clamp(16px,1.35vw,19px);}
.ville__body strong{font-weight:700;}
.ville__h2{
  font-family:'Thunder',sans-serif;font-weight:700;color:var(--navy);
  font-size:clamp(26px,3.6vw,42px);line-height:1;margin:clamp(20px,2.6vw,32px) 0 .35em;
}

.ville__cta{margin-top:clamp(16px,2.4vw,28px);}   /* hérite du look .btn (contour navy -> vert) */

.ville__near{margin-top:clamp(26px,3.4vw,40px);font-size:14px;color:var(--navy);opacity:.85;}
.ville__near a{color:var(--green);font-weight:600;text-decoration:none;}
.ville__near a:hover{text-decoration:underline;}
.ville__nap{margin-top:14px;font-size:12.5px;color:var(--navy);opacity:.55;}
.ville__credit{margin-top:6px;font-size:11px;color:var(--navy);opacity:.4;}
.ville__credit a{color:inherit;text-decoration:underline;}
