/* MATRIX BODY final hero, widget, typography and media corrections. */
:root {
  --mbx-ivory: #fbf7f0;
  --mbx-soft-white: #fffdf9;
  --mbx-light-gold: #d8c28d;
  --mbx-champagne: #b99555;
  --mbx-dusty-rose: #d88eaa;
  --mbx-lavender: #d9bfd5;
}

/* The hero must begin as one video layer. Never reveal an old background or poster. */
html body.mbx-page-home #tmt-app #goddess-chapter-0.mbx-final-hero,
html body.mbx-page-home #tmt-app #goddess-chapter-0.mbx-final-hero .mbx-home-film-stage,
html body.mbx-page-home #tmt-app #goddess-chapter-0.mbx-final-hero .mbx-film-framed {
  position: relative !important;
  min-height: 100svh !important;
  overflow: hidden !important;
  background: #171217 !important;
  background-image: none !important;
}
html body.mbx-page-home #tmt-app #goddess-chapter-0.mbx-final-hero :is(img,picture,.mbx-film-poster,.hero-poster,[class*="poster"]) {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}
html body.mbx-page-home #tmt-app #goddess-chapter-0.mbx-final-hero video {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100svh !important;
  min-height: 100svh !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;
  background: #171217 !important;
  filter: brightness(.70) saturate(.97) !important;
  opacity: 1 !important;
  transform: none !important;
}
html body.mbx-page-home #tmt-app #goddess-chapter-0.mbx-final-hero::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: rgba(20, 13, 19, .14) !important;
}
html body.mbx-page-home #tmt-app #goddess-chapter-0.mbx-final-hero > :not(video):not(picture):not(img),
html body.mbx-page-home #tmt-app #goddess-chapter-0.mbx-final-hero .mbx-home-film-stage > :not(video):not(picture):not(img) {
  position: relative !important;
  z-index: 2 !important;
}

/* Keep requested hero copy readable over motion. */
html body.mbx-page-home #tmt-app #goddess-chapter-0 .mbx-required-white,
html body.mbx-page-home #tmt-app #goddess-chapter-0 .mbx-required-white * {
  color: var(--mbx-soft-white) !important;
  -webkit-text-fill-color: var(--mbx-soft-white) !important;
  text-shadow: 0 2px 9px rgba(0,0,0,.64) !important;
}

/* User-selected site typography. */
html body[class*="mbx-page-"] :is(main,.matrix-hybrid-site) :is(h1,h2,h3,h4,h5,h6,p,li,label,.matrix-label,.matrix-eyebrow,.matrix-card-title,.matrix-card-copy,.mbx-ready-description,a,button,summary) {
  font-family: Cinzel, "Times New Roman", serif !important;
}
html body .mbx-ultimate-sculpt-heading,
html body .mbx-ultimate-sculpt-heading * {
  font-family: "Allura", "Alex Brush", "Dancing Script", cursive !important;
}

/* Media remains proportional on WordPress cards and ReadySMB embeds. */
html body :is(.matrix-catalog-card,.matrix-package-card,.matrix-featured-service,.matrix-compact-card,.mbx-family-card) :is(img,video),
html body .mbx-readysmb-shell :is(img,video),
html body iframe[src*="readysmb"] :is(img,video) {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Eliminate the obsolete purple/gold fixed rails without hiding the lavender actions. */
html body .mbx-widget-scroll,
html body #mbx-widget-up,
html body #mbx-widget-down,
html body [data-mbx-widget-scroll],
html body .mbx-obsolete-horizontal-rail {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body #livesite_action_buttons,
html body #livesite_action_buttons::before,
html body #livesite_action_buttons::after,
html body #livesite_action_buttons :is(.ls-actions,.ls-actions-C),
html body #livesite_action_buttons :is(.ls-actions,.ls-actions-C)::before,
html body #livesite_action_buttons :is(.ls-actions,.ls-actions-C)::after {
  background-color: transparent !important;
  background-image: none !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
html body #livesite_action_buttons a.ls-action {
  background: var(--mbx-lavender) !important;
  border: 1px solid rgba(255,255,255,.88) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
html body #livesite_action_buttons .ls-action-text-T {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: rgba(58,42,57,.26) !important;
  border: 0 !important;
  box-shadow: 0 2px 8px rgba(37,25,36,.24) !important;
}

/* Balanced card and button presentation. */
html body .mbx-single-card-row { justify-content: center !important; }
html body .mbx-single-card-row > * { width: min(100%, 720px) !important; margin-inline: auto !important; }
html body :is(.matrix-catalog-card,.matrix-package-card,.matrix-featured-service,.matrix-compact-card) :is(h2,h3,h4) {
  font-size: clamp(1.05rem, 2vw, 1.55rem) !important;
  line-height: 1.3 !important;
  text-wrap: balance !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
html body :is(a,button,summary).mbx-button-order-1,
html body :is(a,button,summary).mbx-button-order-2,
html body :is(a,button,summary).mbx-button-order-3 {
  width: min(100%, 620px) !important;
  min-height: 54px !important;
  margin-inline: auto !important;
  padding: 12px 20px !important;
  white-space: normal !important;
  text-wrap: balance !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

@media (max-width: 780px) {
  html body.mbx-page-home #tmt-app #goddess-chapter-0.mbx-final-hero,
  html body.mbx-page-home #tmt-app #goddess-chapter-0.mbx-final-hero .mbx-home-film-stage,
  html body.mbx-page-home #tmt-app #goddess-chapter-0.mbx-final-hero .mbx-film-framed,
  html body.mbx-page-home #tmt-app #goddess-chapter-0.mbx-final-hero video {
    min-height: 100svh !important;
    height: 100svh !important;
  }
  html body.mbx-page-home #tmt-app #goddess-chapter-0.mbx-final-hero video {
    width: 100vw !important;
    object-fit: cover !important;
    transform: none !important;
  }
  html body #livesite_action_buttons,
  html body #livesite_action_buttons:not(.ls-visible),
  html body #livesite_action_buttons.ls-visible {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
}
