/* Homepage profile. Native Elementor typography and spacing remain editable. */
body.monpasie-home {
  --mp-home-gutter: 40px;
  --mp-home-half-space: 32px;
  --mp-home-heading-gap: 32px;
  --mp-home-heading-size: 48px;
  --mp-home-heading-leading: 1.2;
}

body.monpasie-home .mp-shell {
  width: min(1360px, calc(100% - 2 * var(--mp-home-gutter)));
  max-width: 1360px;
  margin-inline: auto;
  padding-inline: 0;
}

body.monpasie-home :is(.mp-section-heading, .mp-direction-heading, .mp-faq__intro, .mp-order__copy, .mp-proof) h2,
body.monpasie-home .mp-order--home .mp-order__copy h2 {
  margin-block: 0;
  font-family: Manrope, Arial, sans-serif;
  font-size: var(--mp-home-heading-size);
  font-weight: 800;
  line-height: var(--mp-home-heading-leading);
  letter-spacing: -.035em;
  text-wrap: balance;
}

body.monpasie-home .mp-section-heading {
  align-items: end;
  gap: 32px;
  margin-bottom: var(--mp-home-heading-gap);
}

body.monpasie-home :is(.mp-section-heading, .mp-direction-heading, .mp-faq__intro, .mp-order__copy, .mp-proof) p {
  font-family: Manrope, Arial, sans-serif;
  line-height: 1.55;
}

body.monpasie-home .mp-section-heading > :is(p, .elementor-widget-text-editor),
body.monpasie-home :is(.mp-direction-heading > p, .mp-faq__intro > p:not(.mp-kicker), .mp-order__copy > p:not(.mp-kicker), .mp-proof__copy > p:not(.mp-kicker)) {
  font-size: 16px;
  line-height: 1.55;
}

body.monpasie-home .mp-kicker {
  margin-bottom: 12px;
  font-family: Manrope, Arial, sans-serif;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: .1em;
}

body.monpasie-home .mp-kicker p { margin: 0; font-size: inherit; line-height: inherit; }

body.monpasie-home .mp-section:where(#programs, #gallery, #video) { padding-block: var(--mp-home-half-space); }

/* Adjacent sections meet on the same colour; spacing is shared by both sides. */
body.monpasie-home .mp-section:where(#programs) { background: var(--mp-ice); }
body.monpasie-home .mp-section:where(#gallery) { background: var(--mp-ice); }
body.monpasie-home .mp-section:where(#video) { background: linear-gradient(180deg, var(--mp-ice), #f7fbfc); }
body.monpasie-home #tiktok { padding-block: var(--mp-home-half-space); }
body.monpasie-home #faq { padding-block: var(--mp-home-half-space); }

body.monpasie-home :is(.mp-button, .mp-home-period button, .mp-home-duration button) {
  font-family: Manrope, Arial, sans-serif;
  transition-property: color, background-color, border-color, box-shadow, transform;
  transition-duration: 180ms;
  transition-timing-function: cubic-bezier(.16, 1, .3, 1);
}

body.monpasie-home :is(.mp-home-period button, .mp-home-duration button) { min-height: 44px; }
body.monpasie-home :is(.mp-button, .mp-home-period button, .mp-home-duration button):focus-visible {
  outline: 3px solid var(--mp-burgundy);
  outline-offset: 4px;
}

@media (max-width: 1100px) {
  body.monpasie-home {
    --mp-home-gutter: 24px;
    --mp-home-half-space: 24px;
    --mp-home-heading-gap: 24px;
    --mp-home-heading-size: 36px;
  }
  body.monpasie-home .mp-section-heading { gap: 16px; }
  body.monpasie-home #tiktok { background: #f7fbfc; }
  body.monpasie-home #faq { background: linear-gradient(180deg, #f7fbfc, #fff); }
}

@media (max-width: 760px) {
  body.monpasie-home {
    --mp-home-gutter: 16px;
    --mp-home-half-space: 16px;
    --mp-home-heading-size: 28px;
    --mp-home-heading-leading: 1.25;
  }
  body.monpasie-home .mp-section-heading { gap: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  body.monpasie-home :is(.mp-button, .mp-home-period button, .mp-home-duration button) { transition: none; }
}
