/* Page /agence/
   Habillage des modules Divi. Le texte reste dans ces modules.
   Aucune classe numérotée Divi (et_pb_text_0, et_pb_section_2…). */

body.ah-page-agence {
  --ah-encre: #3e2716;
  --ah-terre: #b07030;
  --ah-tan: #a87d43;
  --ah-ocre: #c8943a;
  --ah-beige: #f7f0ea;
  --ah-chocolat: #4c250a;
  /* Mêmes plafonds que Zone et le CTA sur la home. */
  --pag-titre: clamp(28px, 3.2vw, 44px);
  --pag-texte: 16px;
  --pag-liste: clamp(15px, 1.15vw, 18px);
}

body.ah-page-agence .ah-agence-intro,
body.ah-page-agence .ah-agence-vision,
body.ah-page-agence .ah-agence-guide,
body.ah-page-agence .ah-agence-confiance,
body.ah-page-agence .ah-agence-galerie {
  overflow: visible !important;
}

body.ah-page-agence .ah-agence-intro *,
body.ah-page-agence .ah-agence-vision *,
body.ah-page-agence .ah-agence-guide *,
body.ah-page-agence .ah-agence-confiance *,
body.ah-page-agence .ah-agence-galerie * {
  box-sizing: border-box;
}

/* ——— Intro ——— */
body.ah-page-agence .ah-agence-intro {
  background-color: var(--ah-beige) !important;
  padding: clamp(48px, 7vh, 96px) 0 clamp(56px, 8vh, 110px) !important;
}

body.ah-page-agence .ah-agence-intro__rangee {
  display: grid !important;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  gap: clamp(28px, 4.5vw, 72px);
  align-items: stretch;
  width: 100% !important;
  max-width: 1380px !important;
  margin: 0 auto !important;
  padding-left: max(4vw, 24px) !important;
  padding-right: max(4vw, 24px) !important;
}

body.ah-page-agence .ah-agence-intro__rangee::before,
body.ah-page-agence .ah-agence-intro__rangee::after,
body.ah-page-agence .ah-agence-galerie__rangee::before,
body.ah-page-agence .ah-agence-galerie__rangee::after {
  content: none !important;
  display: none !important;
}

body.ah-page-agence .ah-agence-intro__rangee > .et_pb_column,
body.ah-page-agence .ah-agence-galerie__rangee > .et_pb_column {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}

body.ah-page-agence .ah-agence-intro__portrait,
body.ah-page-agence .ah-agence-intro__portrait .et_pb_image_wrap {
  display: block;
  height: auto;
  max-height: 560px;
  margin: 0 !important;
  line-height: 0;
}

body.ah-page-agence .ah-agence-intro__portrait .et_pb_image_wrap {
  overflow: hidden;
  background: #eadecf;
  aspect-ratio: 3 / 4;
}

body.ah-page-agence .ah-agence-intro__portrait img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: 50% 18%;
}

@media (hover: hover) {
  body.ah-page-agence .ah-agence-intro__portrait img,
  body.ah-page-agence .ah-agence-galerie img {
    transition: transform 1.4s cubic-bezier(.16, 1, .3, 1);
  }
  body.ah-page-agence .ah-agence-intro__portrait:hover img,
  body.ah-page-agence .ah-agence-galerie__photo:hover img {
    transform: scale(1.035);
  }
}

/* Ordinateur : le portrait occupe exactement la hauteur de la section.
   L'air vertical passe sur la colonne de texte, la section ne grandit pas. */
@media (min-width: 981px) {
  html body.ah-page-agence .et_pb_section.ah-agence-intro {
    padding-top: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 0 !important;
  }

  html body.ah-page-agence .ah-agence-intro__rangee {
    align-items: stretch;
    grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 0 !important;
  }

  html body.ah-page-agence .ah-agence-intro__col--portrait {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  html body.ah-page-agence .ah-agence-intro__col--texte {
    order: 2;
    padding-top: clamp(48px, 7vh, 96px) !important;
    padding-bottom: clamp(56px, 8vh, 110px) !important;
  }

  html body.ah-page-agence .ah-agence-intro__col--portrait {
    order: 1;
    position: relative;
    display: flex !important;
    flex-direction: column;
    align-self: stretch;
    justify-self: stretch;
    min-height: 520px;
    padding: 0 !important;
    overflow: visible;
  }

  /* Pas de position absolue : elle sortait la photo du flux et la colonne
     se refermait dessus. La photo reste à gauche, dans la colonne. */
  html body.ah-page-agence .ah-agence-intro__portrait {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    flex: 1 1 auto;
    width: 100% !important;
    height: auto !important;
    min-height: 520px;
    max-height: none !important;
    margin: 0 !important;
  }

  html body.ah-page-agence .ah-agence-intro__portrait .et_pb_image_wrap {
    display: block !important;
    flex: 1 1 auto;
    width: 100%;
    height: auto;
    min-height: 520px;
    max-height: none !important;
    aspect-ratio: 3 / 4;
    overflow: hidden;
  }

  html body.ah-page-agence .ah-agence-intro__portrait img {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 520px;
    max-height: none !important;
    object-fit: cover;
    object-position: 50% 18%;
  }
}

/* ——— Titres ——— */
body.ah-page-agence .ah-agence-intro__titre,
body.ah-page-agence .ah-agence-vision__titre,
body.ah-page-agence .ah-agence-guide__titre,
body.ah-page-agence .ah-agence-confiance__titre {
  margin-bottom: clamp(18px, 2.4vh, 28px) !important;
}

body.ah-page-agence .ah-agence-intro__titre h1,
body.ah-page-agence .ah-agence-vision__titre h1,
body.ah-page-agence .ah-agence-vision__titre h2,
body.ah-page-agence .ah-agence-guide__titre h1,
body.ah-page-agence .ah-agence-guide__titre h2,
body.ah-page-agence .ah-agence-confiance__titre h1,
body.ah-page-agence .ah-agence-confiance__titre h2 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: var(--pag-titre) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em;
  text-align: left;
  overflow-wrap: break-word;
}

body.ah-page-agence .ah-agence-intro__titre h1,
body.ah-page-agence .ah-agence-vision__titre h1,
body.ah-page-agence .ah-agence-vision__titre h2,
body.ah-page-agence .ah-agence-guide__titre h1,
body.ah-page-agence .ah-agence-guide__titre h2 {
  color: var(--ah-encre) !important;
  -webkit-text-fill-color: var(--ah-encre);
}

body.ah-page-agence .ah-agence-intro__titre h1::before,
body.ah-page-agence .ah-agence-vision__titre h1::before,
body.ah-page-agence .ah-agence-vision__titre h2::before,
body.ah-page-agence .ah-agence-guide__titre h1::before,
body.ah-page-agence .ah-agence-guide__titre h2::before,
body.ah-page-agence .ah-agence-confiance__titre h1::before,
body.ah-page-agence .ah-agence-confiance__titre h2::before {
  content: "";
  display: block;
  width: 21px;
  height: 21px;
  margin: 0 0 18px;
  border-radius: 50%;
  background: var(--ah-terre);
}

/* Deuxième ligne seulement si un retour à la ligne existe déjà dans le module. */
body.ah-page-agence .ah-agence-ligne {
  display: block;
}

body.ah-page-agence .ah-agence-intro .ah-agence-ligne--2,
body.ah-page-agence .ah-agence-vision .ah-agence-ligne--2,
body.ah-page-agence .ah-agence-guide .ah-agence-ligne--2 {
  margin-top: 2px;
  color: var(--ah-tan) !important;
  -webkit-text-fill-color: var(--ah-tan);
}

body.ah-page-agence .ah-agence-intro__rangee > .et_pb_column:last-child {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

body.ah-page-agence .ah-agence-intro__texte {
  flex: 1 1 auto;
}

body.ah-page-agence .ah-agence-intro__texte .et_pb_text_inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0.85em;
  height: auto;
}

body.ah-page-agence .ah-agence-intro__cle,
body.ah-page-agence .ah-agence-intro__cle .ah-vague-mot {
  color: var(--ah-ocre) !important;
  -webkit-text-fill-color: var(--ah-ocre);
  font-weight: 500;
}

/* ——— Textes ——— */
body.ah-page-agence .ah-agence-intro__texte,
body.ah-page-agence .ah-agence-vision__texte,
body.ah-page-agence .ah-agence-guide__texte,
body.ah-page-agence .ah-agence-confiance__texte,
body.ah-page-agence .ah-agence-intro__texte .et_pb_text_inner,
body.ah-page-agence .ah-agence-vision__texte .et_pb_text_inner,
body.ah-page-agence .ah-agence-guide__texte .et_pb_text_inner,
body.ah-page-agence .ah-agence-confiance__texte .et_pb_text_inner,
body.ah-page-agence .ah-agence-intro__texte p,
body.ah-page-agence .ah-agence-vision__texte p,
body.ah-page-agence .ah-agence-guide__texte p,
body.ah-page-agence .ah-agence-confiance__texte p {
  max-width: 42em;
  font-size: var(--pag-texte) !important;
  font-weight: 400;
  line-height: 1.7 !important;
  user-select: text;
  overflow-wrap: break-word;
}

body.ah-page-agence .ah-agence-intro__texte p {
  margin: 0 !important;
  padding: 0 !important;
}

body.ah-page-agence .ah-agence-vision__texte p,
body.ah-page-agence .ah-agence-guide__texte p,
body.ah-page-agence .ah-agence-confiance__texte p {
  margin: 0 0 1.15em !important;
  padding: 0 !important;
}

body.ah-page-agence .ah-agence-intro__texte p:last-child,
body.ah-page-agence .ah-agence-vision__texte p:last-child,
body.ah-page-agence .ah-agence-guide__texte p:last-child,
body.ah-page-agence .ah-agence-confiance__texte p:last-child {
  margin-bottom: 0 !important;
}

body.ah-page-agence .ah-agence-intro__texte,
body.ah-page-agence .ah-agence-intro__texte p,
body.ah-page-agence .ah-agence-vision__texte,
body.ah-page-agence .ah-agence-vision__texte p,
body.ah-page-agence .ah-agence-guide__texte,
body.ah-page-agence .ah-agence-guide__texte p {
  color: var(--ah-encre) !important;
}

body.ah-page-agence .ah-vague-mot {
  display: inline-block;
  transform: none;
}

/* Même lecture que le paragraphe du CTA : mots atténués,
   puis nets dans la bande, avec une petite levée. Pas de grossissement. */
@keyframes ah-lecture-vague {
  0% { transform: translateY(0); }
  35% { transform: translateY(-4px); }
  100% { transform: translateY(0); }
}

body.ah-page-agence .ah-agence-vision__texte .ah-vague-mot,
body.ah-page-agence .ah-agence-guide__texte .ah-vague-mot,
body.ah-page-agence .ah-agence-confiance__texte .ah-vague-mot,
html body.ah-page-agence .ah-pag-guide__para .ah-vague-mot {
  opacity: 0.5;
  letter-spacing: 0;
  transform: none;
  transition: opacity 1.15s ease;
}

body.ah-page-agence .ah-agence-vision__texte .ah-vague-mot.ah-vague-on,
body.ah-page-agence .ah-agence-vision__texte .ah-vague-mot.ah-vague-lu,
body.ah-page-agence .ah-agence-guide__texte .ah-vague-mot.ah-vague-on,
body.ah-page-agence .ah-agence-guide__texte .ah-vague-mot.ah-vague-lu,
body.ah-page-agence .ah-agence-confiance__texte .ah-vague-mot.ah-vague-on,
body.ah-page-agence .ah-agence-confiance__texte .ah-vague-mot.ah-vague-lu,
html body.ah-page-agence .ah-pag-guide__para .ah-vague-mot.ah-vague-on,
html body.ah-page-agence .ah-pag-guide__para .ah-vague-mot.ah-vague-lu {
  opacity: 1;
}

body.ah-page-agence .ah-agence-vision__texte .ah-vague-mot.ah-vague-on,
body.ah-page-agence .ah-agence-guide__texte .ah-vague-mot.ah-vague-on,
body.ah-page-agence .ah-agence-confiance__texte .ah-vague-mot.ah-vague-on,
html body.ah-page-agence .ah-pag-guide__para .ah-vague-mot.ah-vague-on {
  animation: ah-lecture-vague 0.7s ease both;
}

/* ——— Vision ——— */
body.ah-page-agence .ah-agence-vision {
  background-color: var(--ah-beige) !important;
  padding: 0 !important;
}

body.ah-page-agence .ah-agence-guide__rangee,
body.ah-page-agence .ah-agence-confiance__rangee {
  width: 80% !important;
  max-width: 1080px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.ah-page-agence .ah-agence-vision__titre {
  margin-bottom: clamp(28px, 4vh, 56px) !important;
}

/* ——— Guide ——— */
body.ah-page-agence .ah-agence-guide {
  background-color: #ffffff !important;
  padding: clamp(56px, 8vh, 110px) 0 !important;
}

body.ah-page-agence .ah-agence-guide__titre {
  margin-bottom: clamp(28px, 3.2vw, 48px) !important;
}

body.ah-page-agence .ah-agence-guide__liste ul,
body.ah-page-agence .ah-agence-guide__liste ol {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.ah-page-agence .ah-agence-guide__liste li,
body.ah-page-agence .ah-agence-guide__ligne {
  --pag-liste-taille: var(--pag-liste);
  display: block;
  position: relative;
  margin: clamp(18px, 2vw, 28px) 0 0 !important;
  padding: 0 0 0 28px !important;
  color: var(--ah-encre) !important;
  font-size: var(--pag-liste-taille) !important;
  font-weight: 400;
  line-height: 1.45 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  text-align: left;
  transition: font-size 0.7s cubic-bezier(.22, 1, .36, 1),
              font-weight 0.7s cubic-bezier(.22, 1, .36, 1),
              color 0.7s cubic-bezier(.22, 1, .36, 1);
}

body.ah-page-agence .ah-agence-guide__liste li:first-child,
body.ah-page-agence .ah-agence-guide__ligne:first-child {
  margin-top: 0 !important;
}

body.ah-page-agence .ah-agence-guide__liste li.is-actif,
body.ah-page-agence .ah-agence-guide__ligne.is-actif {
  font-size: calc(var(--pag-liste-taille) + 5px) !important;
  font-weight: 600 !important;
  color: var(--ah-terre) !important;
}

body.ah-page-agence .ah-agence-guide__liste li.is-actif::before,
body.ah-page-agence .ah-agence-guide__ligne.is-actif::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--ah-terre);
}

html body.ah-page-agence .ah-agence-guide__rangee.ah-agence-guide__bas {
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

html body.ah-page-agence .ah-agence-guide .et_pb_text.ah-agence-guide__texte,
html body.ah-page-agence .ah-agence-guide .et_pb_text.ah-agence-guide__texte.et_pb_text_align_left,
html body.ah-page-agence .ah-agence-guide .ah-agence-guide__texte .et_pb_text_inner,
html body.ah-page-agence .ah-agence-guide .ah-agence-guide__texte p {
  width: 100% !important;
  max-width: 42em;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

body.ah-page-agence .ah-agence-guide__texte {
  width: 100% !important;
  margin-top: clamp(36px, 5vh, 72px) !important;
  text-align: center !important;
}

body.ah-page-agence .ah-agence-guide__texte .et_pb_text_inner,
body.ah-page-agence .ah-agence-guide__texte p,
html body.ah-page-agence .ah-pag-guide__para {
  display: block;
  max-width: 42em;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

/* ——— Confiance ——— */
body.ah-page-agence .ah-agence-confiance {
  background-color: var(--ah-chocolat) !important;
  padding: clamp(64px, 9vh, 120px) 0 !important;
}

body.ah-page-agence .ah-agence-confiance__titre h1,
body.ah-page-agence .ah-agence-confiance__titre h2,
body.ah-page-agence .ah-agence-confiance__texte,
body.ah-page-agence .ah-agence-confiance__texte .et_pb_text_inner,
body.ah-page-agence .ah-agence-confiance__texte p {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff;
}

body.ah-page-agence .ah-agence-confiance .ah-agence-ligne--2 {
  margin-top: 2px;
  color: var(--ah-tan) !important;
  -webkit-text-fill-color: var(--ah-tan);
}

body.ah-page-agence .ah-agence-confiance__bouton {
  display: block !important;
  margin: clamp(32px, 4vh, 52px) 0 0 !important;
  padding: 0 !important;
  text-align: left;
}

body.ah-page-agence .ah-agence-confiance__bouton.et_pb_button,
body.ah-page-agence .ah-agence-confiance__bouton .et_pb_button {
  --ah-btn-scroll: 0;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 0.9em 1.5em !important;
  border: 1px solid #ffffff !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  text-decoration: none !important;
  transform: scale(calc(1 + 0.06 * var(--ah-btn-scroll)));
  transform-origin: left center;
  transition: transform 1.15s cubic-bezier(.16, 1, .3, 1),
              color 0.3s ease,
              border-color 0.3s ease;
}

body.ah-page-agence .ah-agence-confiance__bouton.et_pb_button::after,
body.ah-page-agence .ah-agence-confiance__bouton .et_pb_button::after {
  content: none !important;
  display: none !important;
}

@media (hover: hover) {
  body.ah-page-agence .ah-agence-confiance__bouton.et_pb_button:hover,
  body.ah-page-agence .ah-agence-confiance__bouton .et_pb_button:hover {
    color: var(--ah-tan) !important;
    -webkit-text-fill-color: var(--ah-tan);
    border-color: var(--ah-tan) !important;
  }
}

body.ah-page-agence .ah-agence-confiance__bouton .et_pb_button:focus-visible,
body.ah-page-agence .ah-agence-confiance__bouton.et_pb_button:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 4px;
}

/* Confiance : photo à gauche, panneau chocolat à droite.
   Hauteur plafonnée comme les autres photos. Titres et texte aux tailles du site. */
html body.ah-page-agence .et_pb_section.ah-agence-confiance {
  position: relative;
  padding: 0 !important;
  background-color: #ffffff !important;
  overflow: hidden;
}

html body.ah-page-agence .ah-agence-confiance__rangee {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 0 !important;
  align-items: stretch;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: clamp(560px, 46vw, 640px);
  min-height: 0;
}

html body.ah-page-agence .ah-agence-confiance__rangee::before,
html body.ah-page-agence .ah-agence-confiance__rangee::after {
  content: none !important;
  display: none !important;
}

html body.ah-page-agence .ah-agence-confiance__rangee > .et_pb_column,
html body.ah-page-agence .ah-agence-confiance__col {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: var(--ah-chocolat);
  padding: clamp(40px, 5vh, 72px) clamp(36px, 4.5vw, 80px) !important;
  min-height: 100%;
}

html body.ah-page-agence .ah-agence-confiance__photo {
  position: relative;
  margin: 0;
  height: 100%;
  min-height: 0;
  max-height: none;
  overflow: hidden;
  background: #eadecf;
}

html body.ah-page-agence .ah-agence-confiance__photo img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 58%;
}

html body.ah-page-agence .ah-agence-confiance__titre h2 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff;
}

html body.ah-page-agence .ah-agence-confiance__titre h2::before {
  background: var(--ah-ocre) !important;
}

html body.ah-page-agence .ah-agence-confiance .ah-agence-ligne--2 {
  color: var(--ah-tan) !important;
  -webkit-text-fill-color: var(--ah-tan);
}

html body.ah-page-agence .ah-agence-confiance__texte,
html body.ah-page-agence .ah-agence-confiance__texte .et_pb_text_inner {
  max-width: 34em;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff;
  font-size: var(--pag-texte) !important;
  line-height: 1.7 !important;
}

html body.ah-page-agence .ah-agence-confiance__texte br {
  display: block;
  margin-top: 0.85em;
  content: "";
}

html body.ah-page-agence .ah-agence-confiance__cle,
html body.ah-page-agence .ah-agence-confiance__cle .ah-vague-mot {
  color: var(--ah-ocre) !important;
  -webkit-text-fill-color: var(--ah-ocre);
  font-weight: 500;
}

/* Le bouton Divi reste dans le module. Le disque visible est le curseur contact. */
html body.ah-page-agence .ah-agence-confiance__bouton-wrap {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}

html body.ah-page-agence .ah-agence-confiance__bouton.et_pb_button {
  display: block !important;
  position: relative;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  transform: none !important;
  overflow: visible;
}

html body.ah-page-agence .ah-agence-confiance__libelle {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

html body.ah-page-agence .ah-agence-confiance__fond {
  position: absolute;
  inset: 16%;
  border-radius: 50%;
  background: var(--ah-beige);
}

html body.ah-page-agence .ah-agence-confiance__sceau {
  position: absolute;
  inset: 32%;
  background: var(--ah-chocolat);
  -webkit-mask: url("../img/masque-ah.svg") center / contain no-repeat;
  mask: url("../img/masque-ah.svg") center / contain no-repeat;
}

html body.ah-page-agence .ah-agence-confiance__anneau {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  fill: #ffffff;
  animation: ah-conf-rot 42s linear infinite;
}

html body.ah-page-agence .ah-agence-confiance__anneau text {
  font-size: 6.2px;
  letter-spacing: 0.9px;
  text-transform: uppercase;
  fill: #ffffff;
}

@keyframes ah-conf-rot {
  to { transform: rotate(360deg); }
}

/* Bouton volant contact ocre : confiance + galerie.
   Texte crème sur le foncé, espresso sur le clair. */
html body.ah-page-agence a.ah-deco-disque.ah-agence-contact {
  text-decoration: none;
  color: inherit;
}
html body.ah-page-agence .ah-deco-disque.ah-agence-contact {
  --ah-disque: clamp(104px, 9.5vw, 148px);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 40;
  display: block;
  width: var(--ah-disque);
  height: var(--ah-disque);
  margin: calc(var(--ah-disque) / -2) 0 0 calc(var(--ah-disque) / -2);
  padding: 0;
  border: 0;
  background: transparent;
  overflow: clip;
  opacity: 0;
  pointer-events: none;
  cursor: pointer;
  appearance: none;
  transition: opacity 0.35s ease;
}
html body.ah-page-agence .ah-deco-disque.ah-agence-contact.est-visible {
  opacity: 1;
  pointer-events: auto;
}
html body.ah-page-agence .ah-deco-disque.ah-agence-contact.est-fixe {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 6;
  margin: 0;
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, -50%);
}
html body.ah-page-agence .ah-agence-contact .ah-deco-disque__corps,
html body.ah-page-agence .ah-agence-contact .ah-deco-disque__spin {
  position: absolute;
  inset: 0;
  display: block;
}
html body.ah-page-agence .ah-agence-contact .ah-deco-disque__spin {
  transform-origin: 50% 50%;
}
html body.ah-page-agence .ah-agence-contact .ah-deco-disque__fond {
  position: absolute;
  inset: 0;
  display: block;
  background: #c8943a;
  -webkit-mask: url("../img/selecteur-hero-ah.svg") center / contain no-repeat;
  mask: url("../img/selecteur-hero-ah.svg") center / contain no-repeat;
}
html body.ah-page-agence .ah-agence-contact .ah-deco-disque__anneau {
  width: 100%;
  height: 100%;
  overflow: visible;
  fill: #2d1d12;
  transition: fill 0.35s ease;
}
html body.ah-page-agence .ah-agence-contact .ah-deco-disque__anneau text {
  font-size: 8.4px;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  fill: #2d1d12;
  transition: fill 0.35s ease;
}
html body.ah-page-agence .ah-agence-contact.est-fonce .ah-deco-disque__anneau,
html body.ah-page-agence .ah-agence-contact.est-fonce .ah-deco-disque__anneau text {
  fill: #f7f0ea;
}
html body.ah-page-agence.ah-deco-disque-suit,
html body.ah-page-agence.ah-deco-disque-suit * {
  cursor: none !important;
}
html body.ah-page-agence.ah-deco-disque-suit .ah-deco-disque.ah-agence-contact,
html body.ah-page-agence.ah-deco-disque-suit .ah-deco-disque.ah-agence-contact * {
  cursor: pointer !important;
}

/* ——— Galerie ———
   Même hauteur pour toutes. La largeur suit la photo.
   Chaque rangée de trois remplit la section. */
html body.ah-page-agence .et_pb_section.ah-agence-galerie {
  position: relative;
  margin-top: 0 !important;
  margin-bottom: clamp(48px, 6vh, 72px) !important;
  padding: clamp(48px, 6vh, 72px) 0 0 !important;
  background-color: #ffffff !important;
}

html body.ah-page-agence .ah-agence-galerie__rangee {
  --ah-galerie-h: clamp(280px, 30vh, 340px);
  --ah-galerie-gap: 12px;
  display: flex !important;
  flex-direction: column;
  gap: var(--ah-galerie-gap);
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body.ah-page-agence .ah-agence-galerie__rangee > .et_pb_column {
  display: contents !important;
}

html body.ah-page-agence .ah-agence-galerie__ligne {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: var(--ah-galerie-gap);
  width: 100%;
  margin: 0;
  padding: 0;
}

html body.ah-page-agence .ah-agence-galerie__photo {
  flex: var(--ah-ratio, 1.5) 1 0%;
  height: var(--ah-galerie-h);
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  overflow: hidden;
}

html body.ah-page-agence .ah-agence-galerie__photo .et_pb_image_wrap {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  line-height: 0;
  position: relative;
}

html body.ah-page-agence .ah-agence-galerie__photo img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: cover;
  object-position: 50% 45%;
  position: relative !important;
  inset: auto !important;
}

html body.ah-page-agence .ah-agence-galerie__hors {
  display: none !important;
}

/* Disque « nos réalisations » : suit la souris, sauf sur le guide.
   Dès qu'il est sur la galerie, le disque et le texte sont blancs. */
html body.ah-page-agence.ah-disque-suit,
html body.ah-page-agence.ah-disque-suit * {
  cursor: none !important;
}

html body.ah-page-agence.ah-disque-suit .ah-agence-guide,
html body.ah-page-agence.ah-disque-suit .ah-agence-guide *,
html body.ah-page-agence.ah-disque-suit .ah-pag-guide,
html body.ah-page-agence.ah-disque-suit .ah-pag-guide *,
html body.ah-page-agence.ah-disque-suit .ah-pagence-guide,
html body.ah-page-agence.ah-disque-suit .ah-pagence-guide * {
  cursor: auto !important;
}

html body.ah-page-agence .ah-page-disque {
  --ah-disque: clamp(104px, 9.5vw, 148px);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 40;
  width: var(--ah-disque);
  height: var(--ah-disque);
  margin: calc(var(--ah-disque) / -2) 0 0 calc(var(--ah-disque) / -2);
  opacity: 0;
  pointer-events: auto;
  text-decoration: none;
  transform-origin: center center;
  transition: opacity 0.45s ease;
  will-change: transform;
}

html body.ah-page-agence .ah-page-disque.est-visible {
  opacity: 1;
}

/* Rond ocre sous le bouton, seulement une fois dans la galerie.
   Les lettres finissent vers 76 % de la boîte. Le rond dépasse
   d'environ un dixième de son rayon, comme sur la capture. */
html body.ah-page-agence .ah-page-disque::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(85% + 13px);
  height: calc(85% + 13px);
  border-radius: 50%;
  background: #c8943a;
  transform: translate(-50%, -50%) scale(0.86);
  opacity: 0;
  pointer-events: none;
  z-index: 0;
  transition: opacity 0.4s ease, transform 0.5s ease;
}

html body.ah-page-agence .ah-page-disque.est-galerie::before,
html body.ah-page-agence .ah-page-disque.est-pose::before {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

/* Une fois arrivé : il vit dans la galerie et défile avec elle. */
html body.ah-page-agence .ah-page-disque.est-pose {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 6;
  margin: 0;
  transform: translate(-50%, -50%) scale(var(--ah-echelle, 1));
}

html body.ah-page-agence .ah-page-disque__corps,
html body.ah-page-agence .ah-page-disque__spin {
  position: absolute;
  inset: 0;
  z-index: 1;
}

html body.ah-page-agence .ah-page-disque__spin {
  transform-origin: 50% 50%;
}

html body.ah-page-agence .ah-page-disque__fond {
  position: absolute;
  inset: 0;
  background: color-mix(in srgb, #ffffff calc(var(--ah-blanc, 0) * 100%), #72632a);
  -webkit-mask: url("../img/selecteur-hero-ah.svg") center / contain no-repeat;
  mask: url("../img/selecteur-hero-ah.svg") center / contain no-repeat;
}

html body.ah-page-agence .ah-page-disque__anneau,
html body.ah-page-agence .ah-page-disque__anneau text {
  fill: #2d1d12;
  transition: fill 0.45s ease;
}

html body.ah-page-agence .ah-page-disque__anneau {
  width: 100%;
  height: 100%;
  overflow: visible;
}

html body.ah-page-agence .ah-page-disque__anneau text {
  font-size: 8px;
  letter-spacing: 0.2px;
  text-transform: uppercase;
}

html body.ah-page-agence .ah-page-disque__mot--contact {
  display: none;
}

html body.ah-page-agence .ah-page-disque.est-galerie .ah-page-disque__mot--real,
html body.ah-page-agence .ah-page-disque.est-pose .ah-page-disque__mot--real {
  display: none;
}

html body.ah-page-agence .ah-page-disque.est-galerie .ah-page-disque__mot--contact,
html body.ah-page-agence .ah-page-disque.est-pose .ah-page-disque__mot--contact {
  display: block;
}

html body.ah-page-agence .ah-page-disque.est-fonce:not(.est-pose) .ah-page-disque__anneau,
html body.ah-page-agence .ah-page-disque.est-fonce:not(.est-pose) .ah-page-disque__anneau text {
  fill: #ffffff;
}

/* Le bouton ne s'affiche pas sur la galerie. */
html body.ah-page-agence .ah-page-disque.est-galerie,
html body.ah-page-agence .ah-page-disque.est-pose {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

html body.ah-page-agence #main-footer,
html body.ah-page-agence .et-l--footer,
html body.ah-page-agence .ah-foot {
  margin-top: 0 !important;
  border-top: 0 !important;
}

/* ——— Mobile / tablette ——— */
@media (max-width: 980px) {
  body.ah-page-agence {
    --pag-titre: clamp(28px, 8vw, 32px);
    --pag-texte: 18px;
    --pag-liste: 18px;
  }

  body.ah-page-agence .ah-agence-intro__rangee {
    grid-template-columns: minmax(0, 1fr);
  }

  html body.ah-page-agence .ah-agence-galerie__rangee {
    --ah-galerie-h: 220px;
  }

  html body.ah-page-agence .ah-agence-galerie__ligne {
    flex-direction: column;
  }

  html body.ah-page-agence .ah-agence-galerie__photo {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
  }

  body.ah-page-agence .ah-agence-vision__rangee,
  body.ah-page-agence .ah-agence-guide__rangee,
  body.ah-page-agence .ah-agence-confiance__rangee {
    width: 100% !important;
    max-width: none !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  body.ah-page-agence .ah-agence-intro__portrait .et_pb_image_wrap {
    height: auto;
    aspect-ratio: 3 / 4;
  }

  body.ah-page-agence .ah-agence-intro__titre h1,
  body.ah-page-agence .ah-agence-vision__titre h1,
  body.ah-page-agence .ah-agence-vision__titre h2,
  body.ah-page-agence .ah-agence-guide__titre h1,
  body.ah-page-agence .ah-agence-guide__titre h2,
  body.ah-page-agence .ah-agence-confiance__titre h1,
  body.ah-page-agence .ah-agence-confiance__titre h2 {
    text-align: center !important;
    letter-spacing: normal !important;
  }

  body.ah-page-agence .ah-agence-intro__titre h1::before,
  body.ah-page-agence .ah-agence-vision__titre h1::before,
  body.ah-page-agence .ah-agence-vision__titre h2::before,
  body.ah-page-agence .ah-agence-guide__titre h1::before,
  body.ah-page-agence .ah-agence-guide__titre h2::before,
  body.ah-page-agence .ah-agence-confiance__titre h1::before,
  body.ah-page-agence .ah-agence-confiance__titre h2::before {
    margin-left: auto;
    margin-right: auto;
  }

  body.ah-page-agence .ah-agence-guide__liste li,
  body.ah-page-agence .ah-agence-guide__ligne {
    margin-top: 16px !important;
  }

  body.ah-page-agence .ah-agence-guide__liste li.is-actif,
  body.ah-page-agence .ah-agence-guide__ligne.is-actif {
    font-size: 23px !important;
  }

  html body.ah-page-agence .ah-agence-confiance__rangee {
    grid-template-columns: minmax(0, 1fr);
    height: auto;
    min-height: 0;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  html body.ah-page-agence .ah-agence-confiance__photo {
    height: auto;
    max-height: 420px;
    aspect-ratio: 4 / 3;
  }

  html body.ah-page-agence .ah-agence-confiance__photo img {
    max-height: none;
    aspect-ratio: auto;
    object-position: 50% 58%;
  }

  html body.ah-page-agence .ah-agence-confiance__col {
    padding: 40px 24px 48px !important;
  }

  html body.ah-page-agence .ah-agence-confiance__bouton-wrap {
    right: auto;
    left: 50% !important;
    transform: translate(-50%, -50%);
    width: 112px !important;
    height: 112px !important;
  }

  body.ah-page-agence .ah-agence-confiance__bouton,
  body.ah-page-agence .ah-agence-confiance__bouton.et_pb_button,
  body.ah-page-agence .ah-agence-confiance__bouton .et_pb_button {
    text-align: center;
    transform-origin: center center;
  }

}

/* Module Texte « Ce qui guide » : liste + masque, comme Expertises.
   Le module Code (.ah-pag-guide) n’est pas habillé ici. */
body.ah-page-agence .ah-agence-guide__duo {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: clamp(24px, 4vw, 56px);
  width: 100%;
}

body.ah-page-agence .ah-agence-guide__liste {
  order: 0;
}

body.ah-page-agence .ah-agence-guide__masque {
  order: 1;
}

body.ah-page-agence .ah-agence-guide__liste {
  flex: 1 1 42%;
  min-width: 0;
  margin-bottom: 0 !important;
}

body.ah-page-agence .ah-agence-guide__liste .et_pb_text_inner > p {
  margin: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  line-height: 0 !important;
}

body.ah-page-agence .ah-agence-guide__masque {
  position: relative;
  flex: 1 1 58%;
  width: 100%;
  max-width: 560px;
  min-height: 0;
  aspect-ratio: 122.53 / 73.88;
  margin: 0;
  overflow: hidden;
  -webkit-mask-image: url("../img/masque-ah.svg");
          mask-image: url("../img/masque-ah.svg");
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

body.ah-page-agence .ah-agence-guide__masque img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  transition: opacity 1s cubic-bezier(.16, 1, .3, 1);
}

body.ah-page-agence .ah-agence-guide__masque img.is-actif {
  opacity: 1;
}

/* Module Code de la capture : liste comme la home,
   liste à gauche, logo à droite. */
body.ah-page-agence .ah-pag-guide__duo {
  flex-direction: row !important;
  align-items: center !important;
}

body.ah-page-agence .ah-pag-guide__liste {
  order: 0 !important;
  flex: 1 1 42% !important;
}

body.ah-page-agence .ah-pag-guide__photo {
  order: 1 !important;
  flex: 1 1 58% !important;
}

body.ah-page-agence .ah-pag-guide__ligne {
  --pag-guide-taille: clamp(15px, 1.15vw, 18px);
  margin: clamp(18px, 2vw, 28px) 0 0 !important;
  padding: 0 0 0 24px !important;
  color: var(--ah-encre, #3e2716) !important;
  font-size: var(--pag-guide-taille) !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  transition:
    font-size .7s cubic-bezier(.22, 1, .36, 1),
    font-weight .7s cubic-bezier(.22, 1, .36, 1),
    color .7s cubic-bezier(.22, 1, .36, 1) !important;
}

body.ah-page-agence .ah-pag-guide__liste > .ah-pag-guide__ligne:first-child {
  margin-top: 0 !important;
}

body.ah-page-agence .ah-pag-guide__ligne.ah-ligne-active {
  font-size: calc(var(--pag-guide-taille) + 5px) !important;
  font-weight: 600 !important;
  color: var(--ah-terre, #b07030) !important;
}

body.ah-page-agence .ah-pag-guide__ligne::after,
body.ah-page-agence .ah-pag-guide__ligne:hover::after,
body.ah-page-agence .ah-pag-guide__ligne.ah-ligne-active::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 980px) {
  body.ah-page-agence .ah-pag-guide__ligne {
    --pag-guide-taille: 18px;
    font-size: 18px !important;
    margin-top: 16px !important;
    padding: 0 0 0 28px !important;
  }

  body.ah-page-agence .ah-pag-guide__ligne.ah-ligne-active {
    font-size: 23px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body.ah-page-agence .ah-agence-confiance__anneau {
    animation: none !important;
  }

  body.ah-page-agence .ah-vague-mot,
  body.ah-page-agence .ah-agence-intro__portrait img,
  body.ah-page-agence .ah-agence-galerie img,
  body.ah-page-agence .ah-agence-guide__liste li,
  body.ah-page-agence .ah-agence-guide__ligne,
  body.ah-page-agence .ah-agence-confiance__bouton.et_pb_button,
  body.ah-page-agence .ah-agence-confiance__bouton .et_pb_button {
    transition: none !important;
    transform: none !important;
    animation: none !important;
  }
}

/* Titres et paragraphes des modules Code : mêmes tailles que la home
   (titre 44 px max, texte 16 px, 18 px sur téléphone). */
html body.ah-page-agence .ah-pag-intro__titre,
html body.ah-page-agence .ah-pag-guide__titre,
html body.ah-page-agence .ah-pag-conf__titre,
html body.ah-page-agence .ah-pag-intro__titre span,
html body.ah-page-agence .ah-pag-guide__titre span,
html body.ah-page-agence .ah-pag-conf__titre span {
  font-size: var(--pag-titre) !important;
  line-height: 1.15 !important;
}

html body.ah-page-agence .ah-pag-intro__texte p,
html body.ah-page-agence .ah-pag-guide__para,
html body.ah-page-agence .ah-pag-conf__texte p {
  font-size: var(--pag-texte) !important;
  line-height: 1.7 !important;
}

@media (max-width: 980px) {
  html body.ah-page-agence .ah-pag-intro__titre,
  html body.ah-page-agence .ah-pag-guide__titre,
  html body.ah-page-agence .ah-pag-conf__titre,
  html body.ah-page-agence .ah-pag-intro__titre span,
  html body.ah-page-agence .ah-pag-guide__titre span,
  html body.ah-page-agence .ah-pag-conf__titre span {
    font-size: clamp(28px, 8vw, 32px) !important;
  }

  html body.ah-page-agence .ah-pag-intro__texte p,
  html body.ah-page-agence .ah-pag-guide__para,
  html body.ah-page-agence .ah-pag-conf__texte p {
    font-size: 18px !important;
  }
}

/* Vision : chocolat à gauche, photo à droite, dernière ligne en tan. */
html body.ah-page-agence .et_pb_section.ah-agence-vision {
  background-color: var(--ah-chocolat) !important;
  background-image: none !important;
  padding: 0 !important;
}

html body.ah-page-agence .ah-agence-vision__rangee {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 0 !important;
  align-items: stretch;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body.ah-page-agence .ah-agence-vision__rangee::before,
html body.ah-page-agence .ah-agence-vision__rangee::after {
  content: none !important;
  display: none !important;
}

html body.ah-page-agence .ah-agence-vision__rangee > .et_pb_column:not(.ah-agence-vision__col--texte) {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body.ah-page-agence .ah-agence-vision__rangee > .ah-agence-vision__col--texte {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}

html body.ah-page-agence .ah-agence-vision .et_pb_module {
  margin-bottom: 0 !important;
}

html body.ah-page-agence .ah-agence-vision__rangee > .ah-agence-vision__col--texte {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: var(--ah-chocolat);
  padding: clamp(56px, 7vh, 96px) clamp(40px, 5vw, 80px) clamp(56px, 7vh, 96px) clamp(88px, 11vw, 180px) !important;
}

html body.ah-page-agence .ah-agence-vision .et_pb_module.ah-agence-vision__titre {
  margin-bottom: clamp(36px, 4.2vh, 56px) !important;
}

html body.ah-page-agence .ah-agence-vision__titre h2 {
  color: var(--ah-beige) !important;
  -webkit-text-fill-color: var(--ah-beige);
  line-height: 1.12 !important;
}

html body.ah-page-agence .ah-agence-vision__titre h1::before,
html body.ah-page-agence .ah-agence-vision__titre h2::before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  background: none !important;
}

html body.ah-page-agence .ah-agence-vision__titre .ah-agence-vision__fin,
html body.ah-page-agence .ah-agence-vision__titre .ah-agence-vision__fin .ah-vague-mot {
  color: var(--ah-tan) !important;
  -webkit-text-fill-color: var(--ah-tan);
}

html body.ah-page-agence .ah-agence-vision__texte,
html body.ah-page-agence .ah-agence-vision__texte p,
html body.ah-page-agence .ah-agence-vision__texte .et_pb_text_inner {
  max-width: 38em;
  color: var(--ah-beige) !important;
  -webkit-text-fill-color: var(--ah-beige);
}

html body.ah-page-agence .ah-agence-vision__texte br {
  display: block;
  margin: 0;
  content: "";
  line-height: 0;
}

html body.ah-page-agence .ah-agence-vision__texte br.ah-agence-vision__saut {
  margin-top: 1.05em;
}

html body.ah-page-agence .ah-agence-vision__col--photo {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  align-self: center;
  height: auto;
  min-height: 0;
  padding: 0 !important;
  margin: 0 !important;
}

html body.ah-page-agence .ah-agence-vision__photo {
  display: flex !important;
  justify-content: flex-end;
  align-items: center;
  width: 100% !important;
  max-width: 100% !important;
  height: auto;
  margin: 0 !important;
}

html body.ah-page-agence .ah-agence-vision__photo .et_pb_image_wrap {
  display: block;
  height: auto;
  min-height: 0;
  max-height: 520px;
  width: auto;
  max-width: 100%;
  margin: 0 0 0 auto !important;
  line-height: 0;
  overflow: hidden;
  aspect-ratio: 4 / 3;
}

html body.ah-page-agence .ah-agence-vision__photo img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 0;
  object-fit: cover;
  object-position: 50% 40%;
}

@media (max-width: 980px) {
  html body.ah-page-agence .ah-agence-vision__rangee {
    grid-template-columns: minmax(0, 1fr);
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  html body.ah-page-agence .ah-agence-vision__rangee > .ah-agence-vision__col--texte {
    align-items: center;
    padding: 40px 24px 36px !important;
    text-align: center;
  }

  html body.ah-page-agence .ah-agence-vision__titre,
  html body.ah-page-agence .ah-agence-vision__titre h2,
  html body.ah-page-agence .ah-agence-vision__texte,
  html body.ah-page-agence .ah-agence-vision__texte p,
  html body.ah-page-agence .ah-agence-vision__texte .et_pb_text_inner {
    width: 100%;
    max-width: 38em;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  html body.ah-page-agence .ah-agence-vision__photo,
  html body.ah-page-agence .ah-agence-vision__photo .et_pb_image_wrap {
    max-height: 420px;
    aspect-ratio: 3 / 2;
  }

  html body.ah-page-agence .ah-agence-vision__photo img {
    min-height: 0;
  }
}

/* Module « Nos réalisations » : disque kaki, mêmes règles que les autres.
   Au repos sous le texte. Il suit la souris seulement sur l'intro.
   Sur le portrait, l'anneau passe chocolat. */

html body.ah-page-agence .ah-agence-intro .et_pb_button_module_wrapper,
html body.ah-page-agence .ah-agence-disque-source {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

html body.ah-page-agence .ah-agence-disque .ah-page-disque__fond {
  background: #72632a !important;
}

html body.ah-page-agence .ah-agence-disque .ah-page-disque__anneau,
html body.ah-page-agence .ah-agence-disque .ah-page-disque__anneau text,
html body.ah-page-agence .ah-agence-disque .ah-page-disque__anneau textPath {
  fill: #2d1d12 !important;
}

html body.ah-page-agence .ah-agence-disque.est-photo .ah-page-disque__anneau,
html body.ah-page-agence .ah-agence-disque.est-photo .ah-page-disque__anneau text,
html body.ah-page-agence .ah-agence-disque.est-photo .ah-page-disque__anneau textPath {
  fill: #ffffff !important;
}

html body.ah-page-agence .ah-agence-disque .ah-page-disque__anneau text {
  font-size: 8.4px;
  letter-spacing: 1.6px;
}

html body.ah-page-agence .ah-agence-disque.est-repos,
html body.ah-page-agence .ah-agence-disque.est-fixe {
  position: relative;
  top: auto;
  left: auto;
  z-index: 2;
  display: block;
  flex: none;
  align-self: center;
  width: clamp(104px, 9.5vw, 148px);
  height: clamp(104px, 9.5vw, 148px);
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

html body.ah-page-agence .ah-agence-disque.est-repos {
  margin: clamp(32px, 4vh, 48px) auto 0;
}

html body.ah-page-agence .ah-agence-disque.est-fixe {
  margin: clamp(48px, 8vh, 72px) auto clamp(20px, 4vh, 36px);
  transform: scale(var(--ah-echelle, 1));
  transform-origin: center center;
}

html body.ah-page-agence.ah-agence-disque-suit .ah-rond {
  opacity: 0 !important;
}

/* Mobile : ces photos de la galerie restent sur l'ordinateur. */
@media (max-width: 980px) {
  html body.ah-page-agence .ah-agence-galerie__photo:has(img[src*="Bureau-Boutique-31-2-1"]),
  html body.ah-page-agence .ah-agence-galerie__photo:has(img[src*="Bureau-Boutique-12"]),
  html body.ah-page-agence .ah-agence-galerie__photo:has(img[src*="Bureau-Boutique-10"]),
  html body.ah-page-agence .ah-agence-galerie__photo:has(img[src*="Bureau-Boutique-21"]),
  html body.ah-page-agence .ah-agence-galerie__photo:has(img[src*="agence-ah-03"]) {
    display: none !important;
  }

  html body.ah-page-agence .ah-agence-galerie__ligne:not(:has(img:not([src*="Bureau-Boutique-31-2-1"]):not([src*="Bureau-Boutique-12"]):not([src*="Bureau-Boutique-10"]):not([src*="Bureau-Boutique-21"]):not([src*="agence-ah-03"]))) {
    display: none !important;
  }
}
