/* Maquette Mental Care (post-39075) : carte blanche ≈ 1440px (1280 contenu + 80px pad L/R), hauteur ~693px */
body.mc-accueil {
  --ldc-content-max: 1320px;
  /* Largeur max de la carte blanche hero (≠ 1280 : 1280 est la zone *contenu* une fois les 80px retirés) */
  --ldc-hero-max: 1440px;
  --ldc-hero-pad-x: 80px;
  --ldc-page-gutter: max(1.25rem, calc((100vw - var(--ldc-content-max)) / 2));
  /* Ne pas utiliser pour le hero : 100vw ≠ largeur client (scrollbar) → zone centrale ~1263px au lieu de 1280px */
  /* e6303f1 / 7f98ad0 : léger débordement vertical des marges -30px (≈30px), pas une photo 753px figée sur une carte 693px */
  /* Boîte de contenu Elementor : ~1280 × ~693 (voir DevTools .elementor-container) */
  --ldc-hero-card-h: 693.22px;
  --ldc-hero-photo-w: 610px;
  --ldc-hero-photo-h: 753px;
  --ldc-hero-overhang-y: 30px;
  /* Section « Welcome » sous le hero (Elementor b33b41f) */
  --mc-intro-pad-x: 40px;
  --mc-intro-col-gap: 8%;
  --mc-intro-stack-gap: 40px;
  /* Sur-titre → titre et titre → texte (~30px visuel, maquette Home Two) */
  --mc-intro-heading-gap: 30px;
  --ldc-section-titre-size: 46px;
  --mc-intro-photos-gap: 40px;
  --mc-intro-photo-stagger: 6.5rem;
  /* Boutons accueil — primaire (doré) / secondaire (contour) */
  --ldc-btn-pad-block: 12px;
  --ldc-btn-pad-inline: 28px;
  --ldc-btn-gap: 10px;
  --ldc-btn-radius: 30px;
  --ldc-btn-font-size: 16px;
  --ldc-btn-font-weight: 600;
  --ldc-btn-line-height: 1.5em;
  --ldc-btn-primary-bg: #fcda98;
  --ldc-btn-primary-hover: #f5d080;
  --ldc-btn-navy: #190d39;
  /* Typo kit Elementor post-57 (https://mental-care.cmsmasters.studio/main/) */
  --mc-kit-h2: clamp(2.125rem, 1rem + 4.2vw, 3.5rem); /* 34px → 56px */
  --mc-kit-h3: clamp(1.75rem, 0.85rem + 3.2vw, 2.75rem); /* 28px → 44px */
  --mc-kit-h5: 1.5rem; /* 24px */
  --mc-kit-blockquote: clamp(1rem, 0.55rem + 1.2vw, 1.5rem); /* citation : ~16–24px (plus petit que le kit 20–32px) */
  /* Blocs image + texte : gouttière type section « Why choose us » (~60–80px sur viewport large) */
  --mc-2col-gap: clamp(2.5rem, 1.25rem + 4vw, 5rem);
  min-height: 100vh;
  font-family: "Public Sans", sans-serif;
  font-weight: 200;
  color: #67656e;
}

/* Fil décoratif : rester hors flux (sinon le SVG 1440×4200 pousse le hero vers le bas) */
body.home.mc-accueil .page-thread-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
}

body.home.mc-accueil section#hero.mc-h2-hero {
  position: relative;
  z-index: 2;
  /* Calage header : hero-home2.css + sync (pas de padding-top ici) */
}

/* Centrage carte : pas de padding H en 100vw (sinon inner ≈ 1280 − scrollbar). Marges fines seulement si < 1440px */
.hero-wrap {
  box-sizing: border-box;
  width: 100%;
  padding-top: calc(var(--ldc-header-bar-h, 120px) + clamp(1rem, 2vw, 2rem));
  /* Respiration cible : 100-128px sous l’overhang de 30px de la photo (total 130-158px) */
  padding-bottom: calc(clamp(6.25rem, 8vw, 8rem) + var(--ldc-hero-overhang-y, 30px));
  padding-left: clamp(0.5rem, 1.5vw, 1rem);
  padding-right: clamp(0.5rem, 1.5vw, 1rem);
  margin: 0 auto;
}

@media (min-width: 1441px) {
  .hero-wrap {
    padding-left: 0;
    padding-right: 0;
  }
}

.hero-container {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: var(--ldc-hero-max);
  margin: 0 auto;
  padding-bottom: 0;
  overflow: visible;
}

/*
 * Mental Care : grille 47 / 53 ; gap en px plafonné (10 % ≈ 128px → trop large vs la démo).
 */
.hero-panel {
  box-sizing: border-box;
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 52fr) minmax(0, 48fr);
  column-gap: clamp(1.5rem, 2.5vw, 3rem);
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  /* Hauteur suivant le contenu (MC serre la carte ; 693px en min-only gonflait le bloc) */
  min-height: 580px;
  height: auto;
  background: #fff;
  border-radius: 40px;
  /* Widescreen MC : 80px fixe ; écrans plus étroits : fluide */
  padding-left: clamp(1.25rem, 4vw, var(--ldc-hero-pad-x, 80px));
  padding-right: clamp(1.25rem, 4vw, var(--ldc-hero-pad-x, 80px));
  box-shadow: 0 40px 100px rgba(25, 13, 57, 0.08);
  overflow: visible;
}

/* Widescreen Elementor : padding horizontal 80px fixe (voir Computed sur .e-con) */
@media (min-width: 1200px) {
  .hero-panel {
    padding-left: var(--ldc-hero-pad-x);
    padding-right: var(--ldc-hero-pad-x);
    min-height: 650px;
  }
}

.hero-col--text {
  box-sizing: border-box;
  min-width: 0;
  display: flex;
  flex-direction: column;
  /* MC : le bloc texte est haut dans la carte, pas centré verticalement */
  justify-content: flex-start;
  /* Moins de « vide » que clamp(…, 6.25rem) : la démo est plus serrée */
  padding-top: clamp(1.75rem, 3vw, 3.25rem);
  padding-bottom: clamp(3rem, 6vw, 6rem);
}

.hero-col--photo {
  box-sizing: border-box;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  align-self: stretch;
  margin-top: -30px;
  margin-bottom: -30px;
  overflow: visible;
}

/* Ratio MC 610×753 ; hauteur plafonnée à la cellule + 60px (débord ±30px) pour ne jamais « exploser » hors carte */
.hero-photo-frame {
  box-sizing: border-box;
  position: relative;
  flex: 0 0 auto;
  width: 100%;
  max-width: min(var(--ldc-hero-photo-w), 100%);
  margin-left: auto;
  margin-right: 0;
  aspect-ratio: 610 / 753;
  height: 710px;
  max-height: none;
  border-radius: 30px;
  overflow: hidden;
  box-shadow:
    0 6px 16px rgba(25, 13, 57, 0.07),
    0 14px 32px rgba(25, 13, 57, 0.06),
    0 36px 72px rgba(25, 13, 57, 0.09);
}

.hero-photo-inner {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: #d8d0c8;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
}

.hero-tag {
  font-family: "Public Sans", sans-serif;
  font-size: 0.75rem; /* 12px — kit taxonomy */
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #4a6875;
  line-height: 1.65em;
  display: block;
  margin-bottom: clamp(1rem, 2vw, 1.25rem);
}

/* Titre = --e-global-typography-h1-* : 64px, 300, lh 1.1em, letter-spacing -1px (Literata Local sur la démo) */
.hero-titre {
  font-family: "Literata", sans-serif;
  font-optical-sizing: auto;
  font-size: clamp(2rem, 4.5vw, 3.375rem); /* max 54px (3.375rem) */
  font-weight: 300;
  color: #190d39;
  line-height: 1.1em;
  letter-spacing: -1px;
  margin-top: 0;
  margin-bottom: 1.2rem;
  max-width: min(34rem, 100%);
}

/* Italiques type « for you » : --e-global-typography-878c089 — Literata 500 italic */
.hero-titre em {
  font-family: "Literata", sans-serif;
  font-style: italic;
  font-weight: 500;
}

/* WYSIWYG : paragraphes dans le titre sans marge parasite */
.hero-titre p {
  margin: 0;
}

.hero-titre p + p {
  margin-top: 0.35em;
}

/* Sous-titre hero : Public Sans 18px, 300, lh 1.5em */
.hero-sous {
  font-family: "Public Sans", sans-serif;
  font-size: 18px;
  font-weight: 300;
  color: #343434;
  line-height: 1.5em;
  margin-bottom: 2rem;
  max-width: 28rem;
}

.hero-sous p {
  margin: 0;
}

/*
 * Boutons accueil — système unifié
 * .btn-primary : CTA principal (héro, header, bandeau contact final)
 * .btn-outline : secondaire (en savoir plus, découvrir, commencer, etc.)
 */
.btn-primary,
.btn-gold {
  display: inline-flex;
  align-items: center;
  gap: var(--ldc-btn-gap);
  width: fit-content;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: var(--ldc-btn-pad-block) var(--ldc-btn-pad-inline);
  border: none;
  border-radius: var(--ldc-btn-radius);
  background: var(--ldc-btn-primary-bg);
  color: var(--ldc-btn-navy);
  font-family: "Public Sans", system-ui, sans-serif;
  font-size: var(--ldc-btn-font-size);
  font-weight: var(--ldc-btn-font-weight);
  line-height: var(--ldc-btn-line-height);
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}

.btn-primary:hover,
.btn-primary:focus-visible,
.btn-gold:hover,
.btn-gold:focus-visible {
  background: var(--ldc-btn-primary-hover);
  color: var(--ldc-btn-navy);
}

.btn-primary__icon,
.btn-outline__icon {
  display: inline-flex;
  flex-shrink: 0;
  line-height: 0;
}

.btn-primary__icon svg,
.btn-outline__icon svg {
  width: 14px;
  height: 14px;
}

/* Bouton sous le texte : pilule compacte, aligné à gauche, vert d’eau */
.hero-col--text .btn-gold.hero-btn {
  align-self: flex-start;
  width: fit-content;
  max-width: min(16.5rem, 100%);
  padding-left: 1.35rem;
  padding-right: 1.35rem;
  margin-top: 0;
  margin-bottom: 0;
  background: #98C2B3;
  color: #190D39;
}

.hero-col--text .btn-gold.hero-btn:hover {
  background: #7FAE9C;
  color: #190D39;
}

/* Trois unités icône + libellé : espacées entre elles et du bouton, groupe centré horizontalement */
.hero-points {
  --hero-point-icon: 60px;
  list-style: none;
  margin: clamp(2.75rem, 6.5vw, 4.5rem) 0 0;
  padding: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: clamp(1.25rem, 3.5vw, 2.75rem);
  width: 100%;
  max-width: min(34rem, 100%);
  margin-inline: auto;
  align-self: stretch;
}

.hero-point {
  display: grid;
  grid-template-columns: var(--hero-point-icon) auto;
  align-items: center;
  column-gap: 0.75rem;
  margin: 0;
  padding: 0;
  flex: 0 1 auto;
}

.hero-point__icon {
  width: var(--hero-point-icon);
  height: var(--hero-point-icon);
  display: flex;
  align-items: center;
  justify-content: center;
  justify-self: start;
}

.hero-point__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.hero-point__icon-placeholder {
  display: block;
  width: var(--hero-point-icon);
  height: var(--hero-point-icon);
  border-radius: 10px;
  border: 1px dashed #c8c4bc;
  background: rgba(25, 13, 57, 0.03);
}

.hero-point__label {
  font-family: "Public Sans", sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
  color: #190d39;
}

.hero-photo-inner img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

.hero-photo-inner span {
  font-family: "Public Sans", sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 1px;
  line-height: 1.65em;
  text-transform: uppercase;
  color: #95949c;
}

@media (max-width: 900px) {
  .hero-container {
    min-height: 0;
    padding-bottom: 0;
  }
  .hero-wrap {
    padding-bottom: clamp(6.25rem, 10vw, 8rem);
  }
  body.mc-accueil {
    --ldc-hero-overhang-y: 0px;
  }
  .hero-panel {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    min-height: 0;
    height: auto;
    padding: 2rem 1.5rem;
    border-radius: 32px;
  }
  .hero-col--text {
    display: block;
    padding-top: 0;
    padding-bottom: 0;
  }
  .hero-col--photo {
    margin-top: 1.5rem;
    margin-bottom: 0;
  }
  .hero-photo-frame {
    flex: 0 0 auto;
    height: auto;
    width: 100%;
    max-width: none;
    max-height: none;
    margin-left: 0;
    aspect-ratio: 610 / 753;
    min-height: 220px;
    border-radius: 32px;
    box-shadow: 0 20px 50px rgba(25, 13, 57, 0.1);
  }
  .hero-photo-inner {
    position: absolute;
    inset: 0;
  }
}

@media (max-width: 768px) {
  .hero-titre {
    max-width: none;
  }

  .section-texte {
    font-size: var(--ldc-section-text-size, 17px);
  }
}

section.mc-sec:not(.mc-sec--card) {
  box-sizing: border-box;
  padding: var(--ldc-sec-y) var(--ldc-page-gutter, 1.25rem);
  background: transparent;
}

/* Cartes blanches — retrait latéral + gouttières internes (accueil) */
body.mc-accueil section.mc-sec.mc-sec--card {
  padding-top: var(--ldc-sec-y);
  padding-bottom: var(--ldc-sec-y);
  padding-left: var(--ldc-page-gutter);
  padding-right: var(--ldc-page-gutter);
}

/* Pages mc-accueil — padding vertical uniforme des sections (hors hero / footer / cartes) */
body.mc-accueil section.mc-sec:not(.mc-sec--card) {
  z-index: auto;
  padding-top: var(--ldc-sec-y);
  padding-bottom: var(--ldc-sec-y);
  padding-left: var(--ldc-page-gutter);
  padding-right: var(--ldc-page-gutter);
}

body.mc-accueil #ldc-main {
  position: relative;
  background: transparent;
  overflow-x: clip;
  overflow-y: visible;
}

body.mc-accueil .hero-wrap {
  position: relative;
  z-index: 1;
}

body.mc-accueil .hero-wrap,
body.mc-accueil section.mc-sec {
  position: relative;
  z-index: 1;
}

.section-inner {
  max-width: var(--ldc-content-max);
  margin: 0 auto;
}

body.home.mc-accueil .mc-sec--closing {
  padding-top: var(--ldc-sec-y) !important;
  padding-bottom: var(--ldc-sec-y) !important;
  padding-left: var(--ldc-page-gutter) !important;
  padding-right: var(--ldc-page-gutter) !important;
}

body.home.mc-accueil .mc-sec--closing .closing-inner {
  display: flex;
  flex-direction: column;
  gap: clamp(2.5rem, 5vw, 4rem);
}

body.home.mc-accueil .mc-sec--closing .closing-contact {
  display: flex;
  justify-content: center;
}

/* ───────────────────────────────────────────────────────────
   « Le cabinet » — style Professional Credentials (Home Two 310e7d4)
   2 colonnes : texte + liste + bouton | 2 photos décalées
   ─────────────────────────────────────────────────────────── */
body.home.mc-accueil .mc-sec--intro {
  padding-top: calc(var(--ldc-sec-y) * 0.67) !important;
  padding-bottom: var(--ldc-sec-y) !important;
  padding-left: var(--mc-intro-pad-x) !important;
  padding-right: var(--mc-intro-pad-x) !important;
  position: relative;
}

.intro-cred {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: flex-start;
  gap: var(--mc-intro-col-gap);
  width: 100%;
  max-width: var(--ldc-content-max);
  margin: 0 auto;
}

/* PC — photos à gauche, texte à droite */
@media (min-width: 1025px) {
  body.home.mc-accueil .intro-cred {
    flex-direction: row-reverse;
  }
}

.intro-cred__content {
  flex: 1 1 320px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: var(--mc-intro-stack-gap);
  text-align: left;
}

.intro-cred__photos {
  flex: 1 1 320px;
  min-width: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-end;
  gap: var(--mc-intro-photos-gap);
}

.intro-photo {
  flex: 1 1 calc(50% - var(--mc-intro-photos-gap) / 2);
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 30px;
}

.intro-photo img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: inherit;
  box-shadow: 0 12px 40px rgba(25, 13, 57, 0.1);
}

/* Gauche : bas aligné sur le bas du bloc texte (bouton) */
.intro-photo--low {
  margin-top: 0;
  align-self: flex-end;
}

/* Droite : remontée pour accentuer le décalage */
.intro-photo--high {
  margin-top: 0;
  margin-bottom: var(--mc-intro-photo-stagger);
  align-self: flex-end;
}

.intro-points {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 36rem;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.intro-points__item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-family: "Public Sans", system-ui, sans-serif;
  font-size: var(--ldc-section-text-size, 17px);
  font-weight: 200;
  line-height: 1.55em;
}

.intro-points__bullet {
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  margin-top: 0.55em;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.85;
}

.intro-points__text {
  flex: 1;
  min-width: 0;
}

.intro-btn {
  margin-top: 0;
}

.mc-sec--intro .intro-tag,
.mc-sec--intro .intro-titre.section-titre {
  margin: 0 0 calc(var(--mc-intro-heading-gap) - var(--mc-intro-stack-gap));
}

.mc-sec--intro .intro-titre.section-titre {
  max-width: 100%;
}

/* L'approche + Qui suis-je : même rythme tag→titre / titre→paragraphe que « Le cabinet » */
#maieusthesie .section-tag,
#maieusthesie .section-titre,
#qui .section-tag,
#qui .section-titre {
  margin-bottom: var(--mc-intro-heading-gap);
}

.mc-sec--intro .intro-texte {
  margin: 0;
  max-width: 36rem;
  font-size: var(--ldc-section-text-size, 17px);
  font-weight: 200;
  line-height: 1.55em;
}

@media (max-width: 1024px) {
  .intro-cred {
    flex-direction: column;
    align-items: stretch;
  }

  .intro-cred__photos {
    width: 100%;
    max-width: 32rem;
    margin: 0 auto;
    align-items: flex-end;
  }

  .intro-photo--high {
    margin-bottom: 4rem;
  }
}

@media (max-width: 767px) {
  body.home.mc-accueil .intro-cred {
    gap: 1.5rem;
  }

  body.home.mc-accueil .intro-cred__content,
  body.home.mc-accueil .intro-cred__photos {
    flex: 0 0 auto;
  }

  .intro-cred__photos {
    max-width: 100%;
    align-items: flex-start;
  }

  .intro-photo--high {
    margin-bottom: 0;
  }

  .intro-points__item,
  .mc-sec--intro .intro-texte {
    font-size: var(--ldc-section-text-size, 17px);
  }
}

@media (max-width: 1180px) {
  body.mc-accueil {
    --mc-intro-pad-x: 30px;
  }
}

@media (max-width: 767px) {
  body.mc-accueil {
    --mc-intro-pad-x: 20px;
  }

  body.home.mc-accueil section#hero.mc-h2-hero {
    margin-bottom: 0;
  }

  body.home.mc-accueil .mc-sec--intro {
    padding-top: var(--ldc-sec-y) !important;
  }

  /* L'accompagnement — surtitre + titre à gauche */
  body.home.mc-accueil .mc-sec--deroulement .section-tag,
  body.home.mc-accueil .mc-sec--deroulement .section-titre {
    text-align: left;
  }

  /* Pour qui — surtitre, titre et intro à gauche */
  body.home.mc-accueil .mc-sec--pourqui .pourqui-head {
    margin-left: 0;
    margin-right: 0;
    text-align: left;
  }

  body.home.mc-accueil .mc-sec--pourqui .section-tag,
  body.home.mc-accueil .mc-sec--pourqui .section-titre,
  body.home.mc-accueil .mc-sec--pourqui .pourqui-intro {
    text-align: left;
  }

  body.home.mc-accueil .mc-sec--pourqui .pourqui-intro {
    margin-left: 0;
    margin-right: 0;
  }
}

.section-tag {
  font-family: "Public Sans", sans-serif;
  font-size: 0.875rem; /* kit h6 : 14px */
  font-weight: 300;
  letter-spacing: 2px; /* kit h6 */
  text-transform: uppercase;
  color: #95949c; /* kit tertiary */
  line-height: 1.45em; /* kit h6 */
  display: block;
  margin-bottom: 0.4rem;
}

.section-titre {
  font-family: "Literata", Georgia, serif;
  font-optical-sizing: auto;
  font-size: var(--ldc-section-titre-size, 46px);
  font-weight: 300;
  color: #190d39;
  letter-spacing: -1px;
  line-height: 1.1em;
  margin-top: 0;
  margin-bottom: 0.85rem;
}

body.home.mc-accueil #ldc-main .section-titre,
body.home.mc-accueil #ldc-main .section-titre p,
body.home.mc-accueil #ldc-main .section-titre em,
body.home.mc-accueil #ldc-main .contact-band-titre,
body.home.mc-accueil #ldc-main .contact-band-titre p,
body.home.mc-accueil #ldc-main .contact-band-titre em {
  font-size: var(--ldc-section-titre-size, 46px);
}

.section-titre em {
  font-family: "Literata", Georgia, serif;
  font-style: italic;
  font-weight: 500; /* kit a7305a6 (italique titres) */
}

.section-titre p {
  margin: 0;
  display: inline;
}

.section-texte {
  font-size: var(--ldc-section-text-size, 17px);
  font-weight: 300;
  color: #67656e;
  line-height: 2.1;
  max-width: 580px;
}

.section-texte p {
  margin: 0 0 1.6rem;
}

.section-texte p:last-child {
  margin-bottom: 0;
}

/* Plusieurs blocs .section-texte empilés (maïeusthésie, qui…) */
.mc-sec .section-texte + .section-texte {
  margin-top: 0.65rem;
}

.maieu-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--mc-2col-gap);
  align-items: start;
}

.maieu-grid__media {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
  min-width: 0;
}

.maieu-grid__texte {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  position: relative;
  z-index: 2;
  min-width: 0;
}

.maieu-photo {
  border-radius: 20px;
  overflow: hidden;
  isolation: isolate;
  height: 560px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.maieu-photo:not(:has(img)) {
  background: #d8d0c8;
}

/* Illustrations PNG transparentes (L'approche) */
.maieu-photo:has(img) {
  background: transparent;
}

.maieu-photo img {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: contain;
  object-position: center;
}

body.home.mc-accueil #intro .intro-photo,
body.home.mc-accueil .maieu-photo,
body.home.mc-accueil .qui-photo {
  opacity: 0;
  transform: translateY(18px) scale(1.04);
  transition:
    opacity 2.85s cubic-bezier(0.22, 1, 0.36, 1),
    transform 2.85s cubic-bezier(0.22, 1, 0.36, 1);
}

body.home.mc-accueil #intro .intro-photo--high {
  transition-delay: 0.4s;
}

body.home.mc-accueil #intro .intro-photo.is-fade-in,
body.home.mc-accueil .maieu-photo.is-fade-in,
body.home.mc-accueil .qui-photo.is-fade-in {
  opacity: 1;
  transform: translateY(0) scale(1);
}

@media (prefers-reduced-motion: reduce) {
  body.home.mc-accueil #intro .intro-photo,
  body.home.mc-accueil .maieu-photo,
  body.home.mc-accueil .qui-photo {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.maieu-photo span {
  font-family: "Public Sans", sans-serif;
  font-size: 0.75rem; /* kit taxonomy : 12px */
  font-weight: 600;
  letter-spacing: 1px; /* kit taxonomy */
  line-height: 1.65em;
  text-transform: uppercase;
  color: #95949c;
}

#maieusthesie .citation {
  font-size: 20px;
}

#maieusthesie .maieu-grid__citation {
  margin-top: 0;
  margin-bottom: 0;
}

#maieusthesie .maieu-btn {
  align-self: flex-start;
  margin-top: var(--mc-intro-stack-gap);
}

/* Illustration / photo — cadre arrondi visible (L'approche accueil) */
#maieusthesie .maieu-photo {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: min(420px, 72vw);
  aspect-ratio: 4 / 3;
  padding: 0;
  border-radius: 20px;
  overflow: hidden;
  isolation: isolate;
}

#maieusthesie .maieu-photo:has(img) {
  background: #d8d0c8;
}

#maieusthesie .maieu-photo img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  border-radius: 0;
  object-fit: cover;
  object-position: center;
}

/* Évite le bug overflow + border-radius + scale sur le conteneur */
body.home.mc-accueil #maieusthesie .maieu-photo {
  transform: translateY(18px);
}

body.home.mc-accueil #maieusthesie .maieu-photo.is-fade-in {
  transform: translateY(0);
}

#maieusthesie .maieu-grid__media {
  gap: clamp(1rem, 3vw, 1.75rem);
}

.citation {
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-size: 1.15rem;
  font-weight: 300;
  color: #190d39;
  line-height: 1.9;
  border-left: 1.5px solid #c8a96e;
  padding-left: 1.5rem;
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}

.citation p {
  margin: 0;
}

/* Secondaire — contour (maquette Home Two « Learn More ») */
.btn-outline {
  display: inline-flex;
  align-items: center;
  gap: var(--ldc-btn-gap);
  width: fit-content;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: calc(var(--ldc-btn-pad-block) - 1px) calc(var(--ldc-btn-pad-inline) - 1px);
  border: 1px solid var(--ldc-btn-navy);
  border-radius: var(--ldc-btn-radius);
  background: transparent;
  color: var(--ldc-btn-navy);
  font-family: "Public Sans", system-ui, sans-serif;
  font-size: var(--ldc-btn-font-size);
  font-weight: var(--ldc-btn-font-weight);
  line-height: var(--ldc-btn-line-height);
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.btn-outline:hover,
.btn-outline:focus-visible {
  background: rgba(25, 13, 57, 0.06);
  border-color: var(--ldc-btn-navy);
  color: var(--ldc-btn-navy);
}

.qui-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--mc-2col-gap);
}

/* PC — photo à gauche, texte à droite */
@media (min-width: 1025px) {
  body.home.mc-accueil .qui-grid {
    flex-direction: row-reverse;
  }
}

.qui-content {
  flex: 1 1 280px;
  min-width: 0;
}

/* Bouton secondaire après colonnes de texte (section « qui ») */
.qui-grid .btn-outline.qui-btn {
  margin-top: var(--mc-intro-stack-gap);
}

/* Hauteur fixe desktop ; recadrage portrait dans le cadre */
.qui-photo {
  --qui-photo-focus: 24% 22%;
  --qui-photo-h: 580px;
  position: relative;
  flex: 1 1 280px;
  min-width: 0;
  height: var(--qui-photo-h);
  min-height: var(--qui-photo-h);
  border-radius: 20px;
  overflow: hidden;
  isolation: isolate;
}

.qui-photo:not(:has(img)) {
  background: #d8d0c8;
}

.qui-photo:has(img) {
  background: transparent;
}

.qui-photo__img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  border-radius: inherit;
  object-fit: cover;
  object-position: center;
}

.qui-photo:not(:has(img)) {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: var(--qui-photo-h, 580px);
}

.qui-photo span {
  font-family: "Public Sans", sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 1px;
  line-height: 1.65em;
  text-transform: uppercase;
  color: #95949c;
}

/* ───────────────────────────────────────────────────────────
   Section « L’accompagnement » — 3 étapes horizontales (fond beige)
   Largeur type Home Two « How it works » : contenu 1325px + 40px pad. L/R
   ─────────────────────────────────────────────────────────── */
body.home.mc-accueil section.mc-sec.mc-sec--deroulement {
  padding-top: calc(var(--ldc-sec-y) * 1.33) !important;
  padding-bottom: calc(var(--ldc-sec-y) * 1.33) !important;
}

.mc-sec--deroulement {
  --mc-der-content-w: 1325px;
  --mc-der-pad-x: 40px;
  --mc-der-steps-gap: clamp(1.5rem, 3vw, 2.5rem);
  background-color: transparent;
}

.mc-sec--deroulement::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: #e8e4dc;
}

.mc-sec--deroulement .section-tag,
.mc-sec--deroulement .section-titre {
  text-align: center;
}

.deroulement-inner {
  box-sizing: border-box;
  width: min(100%, calc(var(--mc-der-content-w) + (2 * var(--mc-der-pad-x))));
  max-width: calc(var(--mc-der-content-w) + (2 * var(--mc-der-pad-x)));
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--mc-der-pad-x);
  padding-right: var(--mc-der-pad-x);
}

.der-steps {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--mc-der-steps-gap);
  width: 100%;
  max-width: var(--mc-der-content-w);
  margin-top: clamp(2.75rem, 5vw, 4rem);
  margin-left: auto;
  margin-right: auto;
  --mc-der-icon-size: 120px;
}

.der-step {
  box-sizing: border-box;
  flex: 1 1 0;
  min-width: 0;
  max-width: none;
  margin: 0;
  padding: 0 clamp(0.75rem, 2vw, 1.5rem);
  text-align: center;
}

.der-step__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: var(--mc-der-icon-size);
  height: var(--mc-der-icon-size);
  margin: 0 auto 1.25rem;
}

/* viewBox 80×80 ou fichier exporté plein cadre — évite le « petit » effet du viewBox 120×120 */
.der-step__icon svg,
.der-step__icon .der-step__img {
  display: block;
  width: var(--mc-der-icon-size);
  height: var(--mc-der-icon-size);
  max-width: var(--mc-der-icon-size);
  max-height: var(--mc-der-icon-size);
  object-fit: contain;
  object-position: center;
}

/* Bloc central (« La séance ») — illustration légèrement plus grande */
.der-steps > .der-step:nth-of-type(2) {
  --mc-der-icon-size: 130px;
}

.der-steps > .der-step:nth-of-type(2) .der-step__icon {
  margin-bottom: calc(1.25rem - 10px);
}

.der-step__titre {
  margin: 0 0 0.65rem;
  font-family: "Lora", Georgia, serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.35;
  color: #190d39;
}

.der-step__texte {
  margin: 0 auto;
  max-width: 17.5rem;
  font-family: "Nunito", "Public Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;
  color: #3e3650;
}

.der-step__texte p {
  margin: 0;
  font-size: 16px;
}

.der-step__connector {
  flex: 0 0 auto;
  align-self: flex-start;
  width: auto;
  max-width: none;
  margin: calc((var(--mc-der-icon-size) - 1.5rem) / 2) clamp(0.25rem, 1vw, 0.75rem) 0;
  padding-top: 0;
}

/* Flèches uploadées : dimensions natives du fichier */
.der-step__connector .der-step__fleche-img {
  display: block;
  width: auto;
  height: auto;
  max-width: none;
  max-height: none;
}

/* Flèche SVG de secours du thème */
.der-step__connector svg {
  display: block;
  width: auto;
  height: auto;
}

@keyframes mc-der-fleche-slide {
  0%,
  100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(12px);
  }
}

body.home.mc-accueil .der-step__connector svg,
body.home.mc-accueil .der-step__connector .der-step__fleche-img {
  animation: mc-der-fleche-slide 2.4s ease-in-out infinite;
}

body.home.mc-accueil .der-steps > .der-step__connector:nth-child(4) svg,
body.home.mc-accueil .der-steps > .der-step__connector:nth-child(4) .der-step__fleche-img {
  animation-delay: 0.35s;
}

@media (prefers-reduced-motion: reduce) {
  body.home.mc-accueil .der-step__connector svg,
  body.home.mc-accueil .der-step__connector .der-step__fleche-img {
    animation: none;
  }
}

@media (max-width: 900px) {
  .mc-sec--deroulement {
    --mc-der-pad-x: 30px;
    --mc-der-steps-gap: clamp(3.5rem, 12vw, 5rem);
  }

  .der-steps {
    flex-direction: column;
    align-items: center;
    gap: var(--mc-der-steps-gap);
    max-width: none;
  }

  .der-step {
    max-width: 22rem;
    padding: 0 1rem;
    flex: 0 0 auto;
  }

  .der-step__connector {
    transform: rotate(90deg);
    width: auto;
    margin: 0.5rem 0;
    padding-top: 0;
  }

  .der-step__texte {
    max-width: none;
    -webkit-line-clamp: unset;
    overflow: visible;
  }
}

/* ───────────────────────────────────────────────────────────
   Section « Pour qui » — grille de cartes (fond mc-sec--card)
   ─────────────────────────────────────────────────────────── */
body.home.mc-accueil .mc-sec--pourqui .pourqui-inner {
  max-width: var(--ldc-content-max, 1160px);
}

body.home.mc-accueil .mc-sec--pourqui .pourqui-head {
  max-width: 42rem;
  margin: 0;
  text-align: left;
}

body.home.mc-accueil .mc-sec--pourqui .section-tag,
body.home.mc-accueil .mc-sec--pourqui .section-titre {
  text-align: left;
}

body.home.mc-accueil .mc-sec--pourqui .section-titre {
  margin-bottom: 1rem;
}

body.home.mc-accueil .pourqui-intro {
  margin: 0 auto;
  font-family: "Lora", "Literata", Georgia, serif;
  font-style: italic;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.65;
}

body.home.mc-accueil .pourqui-intro p {
  margin: 0;
}

body.home.mc-accueil .pourqui-items {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 1.75vw, 1.25rem);
  margin: clamp(2.25rem, 4vw, 3rem) 0 0;
  padding: 0;
}

body.home.mc-accueil .pourqui-item {
  box-sizing: border-box;
  position: relative;
  display: block;
  margin: 0;
  padding: clamp(1.15rem, 2vw, 1.45rem) clamp(1.15rem, 2vw, 1.35rem) clamp(1.15rem, 2vw, 1.45rem) clamp(1.65rem, 2.5vw, 1.85rem);
  background: #ffffff;
  border-radius: 20px;
  box-shadow: 0 12px 40px rgba(25, 13, 57, 0.06);
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}

body.home.mc-accueil .pourqui-item::before {
  content: "";
  position: absolute;
  left: clamp(0.85rem, 1.5vw, 1rem);
  top: calc(clamp(1.15rem, 2vw, 1.45rem) + 0.62em);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--pourqui-bullet-color, #c8a96e);
}

body.home.mc-accueil .pourqui-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 48px rgba(25, 13, 57, 0.1);
}

body.home.mc-accueil .pourqui-texte {
  margin: 0;
  text-align: left;
  font-family: "Public Sans", system-ui, sans-serif;
  font-size: var(--ldc-section-text-size, 17px);
  font-weight: 300;
  line-height: 1.65;
}

body.home.mc-accueil .pourqui-texte p {
  margin: 0;
}

body.home.mc-accueil .pourqui-foot {
  max-width: 40rem;
  margin: clamp(2.5rem, 4.5vw, 3.25rem) auto 0;
}

body.home.mc-accueil .pourqui-cloture.citation {
  margin-top: 0;
  margin-bottom: 0;
  border-left-color: rgba(200, 169, 110, 0.85);
  font-family: "Lora", "Literata", Georgia, serif;
  font-size: clamp(1.05rem, 1.5vw, 1.2rem);
  line-height: 1.7;
}

body.home.mc-accueil .pourqui-cloture p {
  margin: 0;
}

body.home.mc-accueil .pourqui-cta {
  display: flex;
  justify-content: center;
  margin-top: 1.75rem;
}

body.home.mc-accueil .pourqui-cta__btn {
  margin: 0;
}

@media (prefers-reduced-motion: reduce) {
  body.home.mc-accueil .pourqui-item {
    transition: box-shadow 0.28s ease;
  }

  body.home.mc-accueil .pourqui-item:hover {
    transform: none;
  }
}

@media (max-width: 900px) {
  body.home.mc-accueil .pourqui-items {
    gap: 0.85rem;
  }
}

@media (max-width: 640px) {
  body.home.mc-accueil .pourqui-items {
    grid-template-columns: 1fr;
    max-width: 22rem;
    margin-left: auto;
    margin-right: auto;
  }

  body.home.mc-accueil .pourqui-intro {
    font-size: 1rem;
  }

  body.home.mc-accueil .pourqui-cloture.citation {
    font-size: 1.0625rem;
  }
}

/* ───────────────────────────────────────────────────────────
   Section « Principes » — 4 cartes blanches (entre praticien et pour qui)
   ─────────────────────────────────────────────────────────── */
body.home.mc-accueil section.mc-sec.mc-sec--engagements {
  padding-top: var(--ldc-y-compact) !important;
  padding-bottom: var(--ldc-sec-y) !important;
  background: transparent;
}

.engagements-inner {
  max-width: var(--ldc-content-max);
}

.mc-sec--engagements .engagements-tag {
  display: block;
  text-align: center;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.engagements-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1rem, 1.75vw, 1.5rem);
  align-items: stretch;
}

.engagements-card {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin: 0;
  padding: clamp(1.75rem, 2.5vw, 2.25rem) clamp(1.25rem, 2vw, 1.5rem);
  background: #ffffff;
  border-radius: 24px;
  box-shadow: 0 12px 40px rgba(25, 13, 57, 0.07);
  min-height: 100%;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

body.home.mc-accueil .engagements-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 50px rgba(25, 13, 57, 0.14);
}

@media (prefers-reduced-motion: reduce) {
  .engagements-card {
    transition: box-shadow 0.35s ease;
  }

  body.home.mc-accueil .engagements-card:hover {
    transform: none;
  }
}

.engagements-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  height: 120px;
  margin: 0 auto 1.5rem;
  flex-shrink: 0;
}

.engagements-card__icon svg,
.engagements-card__icon .engagements-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.engagements-card__titre {
  margin: 0 0 0.65rem;
  font-family: "Lora", Georgia, serif;
  font-size: calc(1.125rem + 1px);
  font-weight: 500;
  line-height: 1.35;
  color: #190d39;
}

.engagements-card__texte {
  margin: 0;
  font-family: "Nunito", "Public Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.55;
  color: #3e3650;
}

.engagements-card__texte p {
  margin: 0;
  font-size: 16px;
}

@media (max-width: 1024px) {
  .engagements-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .engagements-grid {
    grid-template-columns: 1fr;
    max-width: 22rem;
    margin-left: auto;
    margin-right: auto;
  }

  .engagements-card {
    border-radius: 20px;
  }
}

.contact-wrap {
  padding: 2rem var(--ldc-page-gutter, 1.25rem) 5rem;
}

body.home.mc-accueil .mc-sec--closing .contact-band {
  box-sizing: border-box;
  background: #190d39;
  border-radius: 20px;
  padding: 3.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  width: 100%;
  max-width: 100%;
  margin: 0;
  flex-shrink: 0;
}

.contact-band-titre {
  font-family: "Literata", Georgia, serif;
  font-optical-sizing: auto;
  font-size: var(--ldc-section-titre-size, 46px);
  font-weight: 300;
  color: #fff;
  line-height: 1.15em;
  letter-spacing: 0;
}

.contact-band-titre em {
  font-family: "Literata", Georgia, serif;
  font-style: italic;
  font-weight: 500;
  color: #fcda98;
}

.contact-band-titre p {
  margin: 0;
  display: inline;
}

.contact-band-sous {
  font-family: "Public Sans", sans-serif;
  font-size: 1.125rem;
  font-weight: 200;
  color: rgba(255, 255, 255, 0.55);
  margin-top: 0.5rem;
  line-height: 1.55em;
}

.contact-band-sous p {
  margin: 0;
}

/* Bandeau navy : bouton primaire doré */
.contact-band .btn-primary {
  flex-shrink: 0;
  white-space: nowrap;
}

/* ── FAQ (style maquette testoliv / Home Two) ── */
body.home.mc-accueil .closing-faq .faq-inner {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.35fr);
  gap: clamp(2.5rem, 8%, 5rem);
  align-items: center;
}

body.home.mc-accueil .closing-faq .faq-col--intro {
  position: relative;
}

body.home.mc-accueil .closing-faq .faq-titre {
  margin-bottom: clamp(calc(2.25rem + 24px), 5vw, calc(4rem + 24px));
}

body.home.mc-accueil .closing-faq .faq-illus {
  width: 100%;
  max-width: 100%;
  margin-top: 0;
}

body.home.mc-accueil .closing-faq .faq-illus__img {
  display: block;
  width: 100%;
  height: auto;
}

body.home.mc-accueil .closing-faq .faq-accordion {
  width: 100%;
}

body.home.mc-accueil .closing-faq .faq-item {
  border-bottom: 1px solid rgba(25, 13, 57, 0.12);
}

body.home.mc-accueil .closing-faq .faq-item:first-child {
  border-top: 1px solid rgba(25, 13, 57, 0.12);
}

body.home.mc-accueil .closing-faq .faq-item__head {
  margin: 0;
}

body.home.mc-accueil .closing-faq .faq-item__btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  width: 100%;
  margin: 0;
  padding: clamp(1.1rem, 2.5vw, 1.35rem) 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
  font-family: "Literata", Georgia, serif;
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  font-weight: 500;
  line-height: 1.35;
  color: var(--ldc-btn-navy, #190d39);
  transition: color 0.2s ease;
}

body.home.mc-accueil .closing-faq .faq-item__btn:hover,
body.home.mc-accueil .closing-faq .faq-item__btn:focus-visible {
  color: #4a6875;
  outline: none;
}

body.home.mc-accueil .closing-faq .faq-item__question {
  flex: 1;
}

body.home.mc-accueil .closing-faq .faq-item__trigger {
  flex-shrink: 0;
  width: 1.25rem;
  font-family: "Public Sans", system-ui, sans-serif;
  font-size: 1.35rem;
  font-weight: 300;
  line-height: 1;
  text-align: center;
  color: var(--ldc-btn-navy, #190d39);
}

body.home.mc-accueil .closing-faq .faq-item__icon--open {
  display: none;
}

body.home.mc-accueil .closing-faq .faq-item.is-open .faq-item__icon--closed {
  display: none;
}

body.home.mc-accueil .closing-faq .faq-item.is-open .faq-item__icon--open {
  display: inline;
}

body.home.mc-accueil .closing-faq .faq-item__panel {
  overflow: hidden;
}

body.home.mc-accueil .closing-faq .faq-item__content {
  padding: 0 0 clamp(1.1rem, 2.5vw, 1.35rem);
  font-family: "Public Sans", system-ui, sans-serif;
  font-size: var(--ldc-section-text-size, 17px);
  font-weight: 300;
  line-height: 1.75;
  color: #67656e;
}

body.home.mc-accueil .closing-faq .faq-item__content p {
  margin: 0;
}

@media (max-width: 900px) {
  body.home.mc-accueil .closing-faq .faq-inner {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  body.home.mc-accueil .closing-faq .faq-illus {
    width: 100%;
    max-width: min(100%, 420px);
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 900px) {
  .maieu-grid,
  .qui-grid {
    grid-template-columns: 1fr;
  }

  #maieusthesie .maieu-grid__texte {
    order: 1;
  }

  #maieusthesie .maieu-grid__media {
    order: 2;
    margin-top: clamp(1.25rem, 4vw, 2rem);
  }

  #maieusthesie .maieu-photo {
    max-height: min(320px, 68vw);
  }

  #maieusthesie .maieu-photo img {
    max-height: none;
  }

  .qui-photo {
    height: auto !important;
    min-height: 0;
    aspect-ratio: 4 / 5;
    max-height: 28rem;
  }

  .qui-photo__img {
    object-position: 24% center;
  }
  body.home.mc-accueil .mc-sec--closing .contact-band {
    width: 100%;
    max-width: 100%;
    flex-direction: column;
    text-align: center;
    padding: 2rem 1.5rem;
  }

}
