/*
 * ZenMotion focused-page composition v2.
 *
 * Scope: the three public Elementor landing pages only. This late layer fixes
 * the nested Elementor grid collapse and replaces the cramped ledger layout
 * with a calm Apple-minimal editorial composition plus a restrained coral edge.
 */

body:is(.page-id-53, .page-id-54, .page-id-55) {
  --zsp-ink: #111214;
  --zsp-ink-soft: #1d1f22;
  --zsp-paper: #f5f5f3;
  --zsp-white: #ffffff;
  --zsp-muted: #65666a;
  --zsp-coral: #f05a3c;
  --zsp-coral-dark: #a93420;
  --zsp-max: 1240px;
  --zsp-gutter: clamp(1.25rem, 4.8vw, 4.5rem);
  --zsp-section: clamp(5rem, 9vw, 8rem);
  color: var(--zsp-ink);
  background: var(--zsp-white);
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-main {
  overflow: clip;
  background: var(--zsp-white);
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-main > .e-con-inner,
body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-main > .e-con-inner > .e-con {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}

/* Shared section spine. */
body:is(.page-id-53, .page-id-54, .page-id-55) :is(
  .zenmotion-seo-hero,
  .zenmotion-seo-fact-band,
  .zenmotion-seo-section,
  .zenmotion-seo-faq,
  .zenmotion-seo-booking
) > .e-con-inner {
  width: 100% !important;
  max-width: var(--zsp-max) !important;
  min-width: 0 !important;
  margin-inline: auto !important;
  padding-right: var(--zsp-gutter) !important;
  padding-left: var(--zsp-gutter) !important;
}

/* Hero: one statement, one documentary image, no squeezed side rail. */
body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-hero {
  color: #fff;
  background: var(--zsp-ink) !important;
  border: 0 !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-hero > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1.06fr) minmax(380px, .94fr) !important;
  gap: clamp(3rem, 7vw, 7rem) !important;
  min-height: min(78svh, 780px);
  padding-top: clamp(4.5rem, 8vw, 7.5rem) !important;
  padding-bottom: clamp(4.5rem, 8vw, 7.5rem) !important;
  align-items: center !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-hero > .e-con-inner > .e-con {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-hero h1,
body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-hero .elementor-heading-title {
  max-width: 11ch !important;
  margin: 0 !important;
  overflow: visible !important;
  color: #fff !important;
  font-size: clamp(4.5rem, 6.4vw, 7rem) !important;
  line-height: .98 !important;
  letter-spacing: -.07em !important;
  text-wrap: balance;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-hero p {
  max-width: 44rem;
  margin: 0;
  color: rgba(255, 255, 255, .72) !important;
  font-size: clamp(1rem, 1.35vw, 1.2rem) !important;
  line-height: 1.65 !important;
}

body.elementor-page:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-native-main .zenmotion-seo-hero-image {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  aspect-ratio: 3 / 2 !important;
  align-self: center !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 24px !important;
  background: #26282b;
  box-shadow: none !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-hero-image > .e-con-inner,
body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-hero-image .elementor-widget-image,
body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-hero-image .elementor-widget-container,
body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-hero-image img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
}

body.elementor-page:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-native-main .zenmotion-seo-hero-image img {
  display: block;
  object-fit: contain !important;
  object-position: 50% 50% !important;
  filter: none !important;
}

body.elementor-page.page-id-53 .zenmotion-native-main .zenmotion-seo-hero-image {
  aspect-ratio: 4 / 3 !important;
}

/* Facts: quiet information, not a border grid. */
body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-fact-band {
  background: var(--zsp-paper) !important;
  border: 0 !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-fact-band > .e-con-inner {
  padding-top: 1.15rem !important;
  padding-bottom: 1.15rem !important;
}

/* Elementor adds a boxed .e-con-inner. Keep the outer shell full width and put
 * the actual grid on the inner only; otherwise the implicit outer grid shrinks
 * to one min-content column. */
body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-facts {
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: 1 1 100% !important;
  grid-template-columns: none !important;
  border: 0 !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-facts > .e-con-inner {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: .75rem !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-fact {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: var(--zsp-white) !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-fact > .e-con-inner {
  padding: 1.25rem !important;
  border: 0 !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-fact-label,
body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-row-index {
  color: var(--zsp-coral-dark) !important;
}

/* Editorial sections: full-width introduction followed by a usable details grid. */
body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-section {
  background: var(--zsp-white) !important;
  border: 0 !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-section.is-ink {
  color: #fff;
  background: var(--zsp-ink) !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-section > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(4rem, 7vw, 6.5rem) !important;
  padding-top: var(--zsp-section) !important;
  padding-bottom: var(--zsp-section) !important;
  align-items: start !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-section > .e-con-inner > .e-con {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-section > .e-con-inner > .e-con:first-child {
  max-width: none !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) :is(.zenmotion-seo-section, .zenmotion-seo-faq, .zenmotion-seo-booking) h2,
body:is(.page-id-53, .page-id-54, .page-id-55) :is(.zenmotion-seo-section, .zenmotion-seo-faq, .zenmotion-seo-booking) .elementor-heading-title {
  max-width: 14ch !important;
  margin: 0 !important;
  overflow: visible !important;
  font-size: clamp(3.25rem, 5.3vw, 5.75rem) !important;
  line-height: 1 !important;
  letter-spacing: -.065em !important;
  text-wrap: balance;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-section > .e-con-inner > .e-con:first-child p {
  max-width: 62ch;
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
}

/* Same outer-shell correction as the facts band. */
body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-rows {
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: 1 1 100% !important;
  grid-template-columns: none !important;
  border: 0 !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-rows > .e-con-inner {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: .85rem !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-row {
  display: flex !important;
  grid-template-columns: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100%;
  border: 0 !important;
  border-radius: 18px !important;
  background: var(--zsp-paper) !important;
  box-shadow: none !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-section.is-ink .zenmotion-seo-row {
  background: var(--zsp-ink-soft) !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-row > .e-con-inner {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  grid-template-columns: 2rem minmax(0, 1fr) !important;
  gap: .8rem !important;
  padding: 1.35rem !important;
  align-items: start !important;
  border: 0 !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-row > .e-con-inner > .e-con {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-row h3,
body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-row .elementor-heading-title {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  overflow: visible !important;
  color: var(--zsp-ink) !important;
  font-size: clamp(1.2rem, 1.7vw, 1.45rem) !important;
  line-height: 1.18 !important;
  letter-spacing: -.035em !important;
  text-wrap: pretty;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-row p {
  width: 100% !important;
  max-width: 58ch !important;
  margin: .5rem 0 0 !important;
  overflow: visible !important;
  color: var(--zsp-muted) !important;
  font-size: .94rem !important;
  line-height: 1.65 !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-section.is-ink .zenmotion-seo-row h3,
body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-section.is-ink .zenmotion-seo-row .elementor-heading-title {
  color: #fff !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-section.is-ink .zenmotion-seo-row p {
  color: rgba(255, 255, 255, .68) !important;
}

/* FAQ: one calm disclosure surface, not a rule-heavy ledger. */
body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-faq {
  background: var(--zsp-paper) !important;
  border: 0 !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-faq > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 2.75rem !important;
  padding-top: var(--zsp-section) !important;
  padding-bottom: var(--zsp-section) !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-faq > .e-con-inner > .e-con:first-child {
  max-width: 60rem !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-faq .elementor-widget-accordion {
  width: 100% !important;
  max-width: 64rem;
}

/* Close: direct request plus a restrained related-link panel. */
body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-booking {
  color: #fff;
  background: var(--zsp-ink) !important;
  border: 0 !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-booking > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(3rem, 7vw, 7rem) !important;
  padding-top: var(--zsp-section) !important;
  padding-bottom: var(--zsp-section) !important;
  align-items: start !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-booking > .e-con-inner > .e-con {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-related {
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  grid-template-columns: none !important;
  border: 0 !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-related > .e-con-inner {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: .5rem !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-related .elementor-button {
  display: flex;
  width: 100%;
  min-height: 3.25rem;
  justify-content: flex-start;
  color: #fff !important;
  background: var(--zsp-ink-soft) !important;
  border: 0 !important;
  border-radius: 12px !important;
}

body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-main :is(a, button, [role="button"]):focus-visible {
  outline: 2px solid var(--zsp-coral) !important;
  outline-offset: 3px;
}

@media (max-width: 1100px) {
  body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-hero > .e-con-inner,
  body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-section > .e-con-inner,
  body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-booking > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 3rem !important;
    min-height: 0;
  }

  body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-hero > .e-con-inner > .e-con,
  body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-section > .e-con-inner > .e-con,
  body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-booking > .e-con-inner > .e-con {
    width: 100% !important;
    max-width: none !important;
    flex-basis: auto !important;
  }

  body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-hero-image {
    max-width: 50rem !important;
  }

  body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-rows > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-facts > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-fact:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-rows > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-hero h1,
  body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-hero .elementor-heading-title {
    font-size: clamp(3.5rem, 10vw, 5.4rem) !important;
  }
}

@media (max-width: 640px) {
  body:is(.page-id-53, .page-id-54, .page-id-55) {
    --zsp-gutter: 1.25rem;
    --zsp-section: 4.5rem;
  }

  body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-hero > .e-con-inner {
    gap: 2.5rem !important;
    padding-top: 3.5rem !important;
    padding-bottom: 4.25rem !important;
  }

  body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-hero h1,
  body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-hero .elementor-heading-title {
    max-width: none !important;
    font-size: clamp(3rem, 14vw, 4.25rem) !important;
    line-height: 1 !important;
    letter-spacing: -.06em !important;
  }

  body:is(.page-id-53, .page-id-54, .page-id-55) :is(.zenmotion-seo-section, .zenmotion-seo-faq, .zenmotion-seo-booking) h2,
  body:is(.page-id-53, .page-id-54, .page-id-55) :is(.zenmotion-seo-section, .zenmotion-seo-faq, .zenmotion-seo-booking) .elementor-heading-title {
    max-width: none !important;
    font-size: clamp(2.65rem, 12vw, 3.6rem) !important;
    line-height: 1.02 !important;
  }

  body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-facts > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-fact:last-child {
    grid-column: auto;
  }

  body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-row > .e-con-inner {
    grid-template-columns: 1.5rem minmax(0, 1fr) !important;
    gap: .625rem !important;
    padding: .75rem !important;
  }

  body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-row h3,
  body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-row .elementor-heading-title {
    font-size: 1.13rem !important;
  }

  body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-row p {
    font-size: .92rem !important;
  }

  body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-hero-image {
    border-radius: 18px !important;
  }

  body:is(.page-id-53, .page-id-54, .page-id-55) .zenmotion-seo-main .elementor-button {
    width: 100%;
    min-height: 3rem;
    justify-content: center;
  }
}
