/*
 * ZenMotion Apple product-page refinement v2.
 * Loaded after zenmotion-apple-minimal.css. The native Elementor tree,
 * authentic content, and coral brand signal stay intact; composition shifts
 * toward centred product moments, wide media, tonal cards, and quieter labels.
 */

:root {
  --zen-v2-ink: #1d1d1f;
  --zen-v2-black: #000000;
  --zen-v2-dark: #161617;
  --zen-v2-dark-card: #242426;
  --zen-v2-paper: #f5f5f7;
  --zen-v2-white: #ffffff;
  --zen-v2-muted: #6e6e73;
  --zen-v2-coral: #f05a3c;
  --zen-v2-coral-dark: #b73b26;
  --zen-v2-content: 1120px;
  --zen-v2-text: 760px;
  --zen-v2-scene-gutter: clamp(3rem, 6vw, 5rem);
  --zen-v2-split-gap: clamp(2.5rem, 4vw, 4rem);
  --zen-v2-radius: 28px;
  --zen-v2-radius-small: 18px;
}

/* Compact Apple-like navigation. */
body.elementor-page .zenmotion-native-header {
  background: rgba(0, 0, 0, .78) !important;
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
}

body.elementor-page .zenmotion-native-header > .e-con-inner {
  max-width: var(--zen-v2-content) !important;
  min-height: 3.5rem !important;
}

body.elementor-page .zenmotion-native-header .zenmotion-wordmark .elementor-heading-title,
body.elementor-page .zenmotion-native-header .zenmotion-wordmark a {
  font-size: .82rem !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
}

/* Verified transparent ZenMotion mark replaces the text wordmark. */
body.elementor-page :is(.zenmotion-native-header, .zenmotion-native-footer) .zenmotion-logo {
  --width: auto !important;
  width: 4rem !important;
  max-width: 4rem !important;
  flex: 0 0 auto !important;
}

body.elementor-page .zenmotion-native-footer .zenmotion-logo {
  width: 5rem !important;
  max-width: 5rem !important;
}

body.elementor-page :is(.zenmotion-native-header, .zenmotion-native-footer) .zenmotion-logo :is(.elementor-widget-container, a) {
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
}

body.elementor-page :is(.zenmotion-native-header, .zenmotion-native-footer) .zenmotion-logo img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  border-radius: 0 !important;
  object-fit: contain !important;
}

body.elementor-page .zenmotion-native-nav .elementor-item {
  font-size: .75rem !important;
  font-weight: 400 !important;
  letter-spacing: -.01em !important;
}

/* Clean self-hosted sans labels, not brutalist mono badges. */
body.elementor-page-11 .zenmotion-native-main .zenmotion-kicker,
body.elementor-page-11 .zenmotion-native-main .zenmotion-kicker p {
  color: var(--zen-v2-coral-dark) !important;
  font-family: var(--zen-am-font-text) !important;
  font-size: .76rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: .015em !important;
  text-transform: none !important;
}

body.elementor-page-11 .zenmotion-native-main .zenmotion-kicker::before,
body.elementor-page-11 .zenmotion-native-main .zenmotion-kicker p::before {
  display: none !important;
  content: none !important;
}

body.elementor-page-11 :is(#hero, #services, #book) .zenmotion-kicker,
body.elementor-page-11 :is(#hero, #services, #book) .zenmotion-kicker p {
  color: rgba(255, 255, 255, .62) !important;
}

/* Full-bleed scenes with a narrower, product-page content spine. */
body.elementor-page-11 .zenmotion-native-main > .e-con-inner > .e-con > .e-con-inner {
  max-width: calc(var(--zen-v2-content) + var(--zen-v2-scene-gutter) + var(--zen-v2-scene-gutter)) !important;
  padding-top: clamp(7rem, 10vw, 10rem) !important;
  padding-right: var(--zen-v2-scene-gutter) !important;
  padding-bottom: clamp(7rem, 10vw, 10rem) !important;
  padding-left: var(--zen-v2-scene-gutter) !important;
}

body.elementor-page-11 .zenmotion-native-main :is(h1, h2, h3).elementor-heading-title,
body.elementor-page-11 .zenmotion-native-main .elementor-heading-title {
  font-family: var(--zen-am-font-display) !important;
  font-kerning: normal;
  font-optical-sizing: auto;
}

/* Shared centred scene introductions. */
body.elementor-page-11 :is(#services, #photos, #pricing, #faq) > .e-con-inner > .e-con:first-child,
body.elementor-page-11 #reviews .zenmotion-reviews-intro {
  --width: 100% !important;
  width: 100% !important;
  max-width: var(--zen-v2-text) !important;
  margin-inline: auto !important;
  align-items: center !important;
  text-align: center !important;
}

body.elementor-page-11 :is(#services, #photos, #pricing, #faq) > .e-con-inner > .e-con:first-child > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 1.1rem !important;
  text-align: center !important;
}

body.elementor-page-11 :is(#services, #photos, #pricing, #faq) > .e-con-inner > .e-con:first-child :is(.elementor-heading-title, .elementor-widget-text-editor),
body.elementor-page-11 #reviews .zenmotion-reviews-intro :is(.elementor-heading-title, .elementor-widget-text-editor) {
  margin-inline: auto !important;
  text-align: center !important;
}

body.elementor-page-11 :is(#services, #photos, #pricing, #reviews, #faq) h2.elementor-heading-title {
  max-width: 16ch;
  font-size: clamp(3.25rem, 5.8vw, 5.25rem) !important;
  font-weight: 600 !important;
  line-height: 1.02 !important;
  letter-spacing: -.055em !important;
  text-wrap: balance;
}

body.elementor-page-11 :is(#services, #photos, #pricing, #reviews, #faq) > .e-con-inner > .e-con:first-child .elementor-widget-text-editor,
body.elementor-page-11 #reviews .zenmotion-reviews-intro > .e-con-inner > .elementor-widget-text-editor {
  max-width: 43rem !important;
  color: var(--zen-v2-muted) !important;
  font-size: 1.06rem !important;
  line-height: 1.5 !important;
}

body.elementor-page-11 #services > .e-con-inner > .e-con:first-child .elementor-widget-text-editor {
  color: rgba(255, 255, 255, .68) !important;
}

/* Hero: centred product statement followed by one wide media object. */
body.elementor-page-11 #hero {
  background: var(--zen-v2-black) !important;
}

body.elementor-page-11 #hero > .e-con-inner {
  display: flex !important;
  min-height: 0 !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: clamp(3.5rem, 7vw, 6rem) !important;
  padding-top: clamp(5.5rem, 8vw, 8rem) !important;
  padding-bottom: clamp(7rem, 10vw, 10rem) !important;
}

body.elementor-page-11 #hero > .e-con-inner > :is(.zenmotion-hero-copy, .zenmotion-hero-image) {
  --width: 100% !important;
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
}

body.elementor-page-11 #hero .zenmotion-hero-copy {
  max-width: 60rem !important;
  margin-inline: auto;
  align-items: center !important;
  text-align: center !important;
}

body.elementor-page-11 #hero .zenmotion-hero-copy > .e-con-inner {
  align-items: center !important;
  gap: clamp(1.25rem, 2.2vw, 1.8rem) !important;
}

body.elementor-page-11 #hero .zenmotion-hero-heading,
body.elementor-page-11 #hero .zenmotion-hero-heading > .e-con-inner {
  width: 100% !important;
  align-items: center !important;
}

body.elementor-page-11 #hero .zenmotion-hero-heading .elementor-heading-title,
body.elementor-page-11 #hero .zenmotion-hero-heading .zen-serif .elementor-heading-title {
  max-width: none !important;
  color: #fff !important;
  font-family: var(--zen-am-font-display) !important;
  font-size: clamp(4.25rem, 8.3vw, 7.75rem) !important;
  font-weight: 600 !important;
  line-height: .93 !important;
  letter-spacing: -.065em !important;
  text-align: center !important;
}

body.elementor-page-11 #hero .zenmotion-hero-copy > .e-con-inner > .elementor-widget-text-editor:not(.zenmotion-kicker) {
  max-width: 46rem !important;
  margin-inline: auto;
  color: rgba(255, 255, 255, .72) !important;
  font-size: clamp(1.14rem, 1.5vw, 1.3rem) !important;
  line-height: 1.48 !important;
  text-align: center !important;
}

body.elementor-page-11 #hero .zenmotion-hero-copy > .e-con-inner > .e-con:not(.zenmotion-proof) > .e-con-inner {
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

body.elementor-page-11 #hero .zenmotion-proof {
  max-width: 56rem !important;
  margin-top: 1rem;
}

body.elementor-page-11 #hero .zenmotion-proof > .e-con-inner {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: .8rem !important;
}

body.elementor-page-11 #hero .zenmotion-proof > .e-con-inner > .zenmotion-proof-item,
body.elementor-page-11 #hero .zenmotion-proof > .e-con-inner > .zenmotion-proof-item + .zenmotion-proof-item {
  min-height: 8.5rem;
  padding: 1.35rem !important;
  background: var(--zen-v2-dark) !important;
  border-radius: var(--zen-v2-radius-small) !important;
  text-align: left !important;
}

body.elementor-page-11 #hero .zenmotion-hero-image {
  max-width: var(--zen-v2-content) !important;
  aspect-ratio: 3 / 2 !important;
  overflow: hidden;
  border-radius: 32px !important;
  box-shadow: 0 36px 100px rgba(0, 0, 0, .34) !important;
}

body.elementor-page-11 #hero .zenmotion-hero-image img {
  border-radius: 32px !important;
  object-position: 50% 50% !important;
}

body.elementor-page-11 #hero .zenmotion-media-caption {
  display: none !important;
}

/* Four-stage product strip. */
body.elementor-page-11 .zenmotion-method > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  padding-top: clamp(6rem, 8vw, 8rem) !important;
  padding-bottom: clamp(6rem, 8vw, 8rem) !important;
}

body.elementor-page-11 .zenmotion-method > .e-con-inner > .e-con:first-child {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 48rem !important;
  margin: 0 auto 2rem !important;
  padding: 0 !important;
  text-align: center !important;
}

body.elementor-page-11 .zenmotion-method > .e-con-inner > .e-con:first-child > .e-con-inner {
  align-items: center !important;
  text-align: center !important;
}

body.elementor-page-11 .zenmotion-method > .e-con-inner > .e-con:first-child .elementor-heading-title {
  font-size: clamp(2.6rem, 4.5vw, 4rem) !important;
  line-height: 1.04 !important;
  text-align: center !important;
}

body.elementor-page-11 .zenmotion-method > .e-con-inner > .zenmotion-method-item {
  min-height: 15rem;
  padding: 0 !important;
  background: var(--zen-v2-white) !important;
  border-radius: 24px !important;
}

body.elementor-page-11 .zenmotion-method-item > .e-con-inner {
  height: 100%;
  padding: 2rem !important;
  align-content: start;
  gap: .85rem !important;
}

body.elementor-page-11 .zenmotion-method-item .elementor-heading-title {
  font-size: 1.6rem !important;
  line-height: 1.1 !important;
  letter-spacing: -.035em !important;
}

body.elementor-page-11 .zenmotion-method-item .elementor-widget-text-editor:first-child {
  color: var(--zen-v2-coral-dark) !important;
  font-weight: 600 !important;
}

/* Balanced image/text story sections. */
body.elementor-page-11 :is(#approach, #journey) > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: var(--zen-v2-split-gap) !important;
  align-items: center !important;
}

body.elementor-page-11 :is(#approach, #journey) > .e-con-inner > .e-con {
  --width: 100% !important;
  width: 100% !important;
  max-width: none !important;
}

body.elementor-page-11 :is(#approach, #journey) h2.elementor-heading-title {
  font-size: clamp(3.2rem, 5.3vw, 4.9rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.055em !important;
}

body.elementor-page-11 :is(#approach .zenmotion-image-panel, #journey .zenmotion-journey-image) {
  border-radius: 30px !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .09) !important;
}

body.elementor-page-11 :is(#approach .zenmotion-image-panel, #journey .zenmotion-journey-image) img {
  border-radius: 30px !important;
}

body.elementor-page-11 #approach .zenmotion-analysis-callout {
  padding: 2rem !important;
  border-radius: 24px !important;
}

body.elementor-page-11 #approach .zenmotion-credentials > .e-con-inner {
  gap: 1rem !important;
}

body.elementor-page-11 #approach .zenmotion-credential {
  padding: 1.5rem !important;
  border-radius: 20px !important;
}

/* Dark capability scene: three cards per row, more air, less ledger. */
body.elementor-page-11 #services {
  background: var(--zen-v2-black) !important;
}

body.elementor-page-11 #services .zenmotion-toolkit > .e-con-inner {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1rem !important;
}

body.elementor-page-11 #services .zenmotion-tool {
  min-height: 15rem;
  background: var(--zen-v2-dark) !important;
  border-radius: var(--zen-v2-radius) !important;
}

body.elementor-page-11 #services .zenmotion-tool > .e-con-inner {
  display: grid !important;
  grid-template-columns: 2rem minmax(0, 1fr) !important;
  padding: 2rem !important;
  gap: .75rem 1rem !important;
}

body.elementor-page-11 #services .zenmotion-tool .elementor-heading-title {
  font-size: 1.55rem !important;
  line-height: 1.1 !important;
}

body.elementor-page-11 #services .zenmotion-tool > .e-con-inner > .elementor-widget-text-editor:first-child {
  color: var(--zen-v2-coral) !important;
  font-weight: 600 !important;
}

body.elementor-page-11 #services .zenmotion-treatment-note {
  max-width: 52rem !important;
  margin: 2.5rem auto 0 !important;
  text-align: center !important;
}

body.elementor-page-11 #services .zenmotion-conditions {
  margin-top: clamp(4rem, 7vw, 6rem) !important;
  padding: clamp(2rem, 4vw, 3.5rem) !important;
  background: var(--zen-v2-dark) !important;
  border-radius: 30px !important;
}

body.elementor-page-11 #services .zenmotion-conditions-heading > .e-con-inner {
  align-items: end !important;
  gap: 2rem !important;
}

body.elementor-page-11 #services .zenmotion-service-links > .e-con-inner {
  justify-content: center !important;
}

@media (min-width: 1025px) {
  body.elementor-page-11 #services .zenmotion-service-links > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    align-items: center !important;
    justify-content: stretch !important;
    gap: 1.5rem !important;
  }

  body.elementor-page-11 #services .zenmotion-service-links .elementor-widget-button:first-child {
    justify-self: start !important;
  }

  body.elementor-page-11 #services .zenmotion-service-links .elementor-widget-button:nth-child(2) {
    justify-self: center !important;
  }

  body.elementor-page-11 #services .zenmotion-service-links .elementor-widget-button:last-child {
    justify-self: end !important;
  }
}

/* Journey cards. */
body.elementor-page-11 #journey .zenmotion-journey-phases > .e-con-inner {
  gap: 1rem !important;
}

body.elementor-page-11 #journey .zenmotion-journey-phase {
  background: var(--zen-v2-white) !important;
  border-radius: 22px !important;
}

body.elementor-page-11 #journey .zenmotion-journey-phase > .e-con-inner {
  padding: 1.5rem !important;
}

body.elementor-page-11 #journey .zenmotion-journey-phase .phase-num {
  color: #fff !important;
  background: var(--zen-v2-coral) !important;
}

/* One wide cinematic gallery. */
body.elementor-page-11 #photos .zenmotion-pro-carousel {
  width: 100%;
  max-width: var(--zen-v2-content);
  margin-inline: auto;
  overflow: hidden !important;
  background: var(--zen-v2-black) !important;
  border: 0 !important;
  border-radius: 32px !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .09) !important;
}

body.elementor-page-11 #photos .zenmotion-pro-carousel .elementor-main-swiper {
  position: relative !important;
  width: 100% !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--zen-v2-black) !important;
  border: 0 !important;
  border-radius: inherit !important;
  box-shadow: none !important;
}

body.elementor-page-11 #photos .zenmotion-pro-carousel :is(.swiper-wrapper, .swiper-slide) {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background-clip: border-box !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-sizing: border-box !important;
}

body.elementor-page-11 #photos .zenmotion-pro-carousel .elementor-carousel-image {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background-clip: border-box !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-sizing: border-box !important;
}

body.elementor-page-11 #photos .elementor-swiper-button {
  display: flex !important;
  width: 3rem;
  height: 3rem;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  color: var(--zen-v2-ink) !important;
  background: rgba(245, 245, 247, .86) !important;
  border-radius: 50% !important;
  line-height: 1 !important;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

body.elementor-page-11 #photos .elementor-swiper-button svg {
  display: block !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
}

/* Product-like pricing without an orange billboard. */
body.elementor-page-11 #pricing {
  background: var(--zen-v2-paper) !important;
}

body.elementor-page-11 #pricing .zenmotion-price-list > .e-con-inner {
  gap: 1rem !important;
}

body.elementor-page-11 #pricing .zenmotion-price {
  background: var(--zen-v2-white) !important;
  border-radius: var(--zen-v2-radius) !important;
  box-shadow: none !important;
}

body.elementor-page-11 #pricing .zenmotion-price > .e-con-inner,
body.elementor-page-11 #pricing .zenmotion-price.featured > .e-con-inner {
  padding: 2rem !important;
}

body.elementor-page-11 #pricing .zenmotion-price.featured {
  color: #fff !important;
  background: var(--zen-v2-ink) !important;
}

body.elementor-page-11 #pricing .zenmotion-price.featured :is(.elementor-heading-title, .elementor-widget-text-editor, p) {
  color: #fff !important;
}

body.elementor-page-11 #pricing .zenmotion-packages > .e-con-inner {
  gap: 1rem !important;
}

body.elementor-page-11 #pricing :is(.zenmotion-package-intro, .zenmotion-package) {
  padding: 0 !important;
  border-left: 0 !important;
  border-radius: var(--zen-v2-radius) !important;
}

body.elementor-page-11 #pricing :is(.zenmotion-package-intro, .zenmotion-package) > .e-con-inner {
  padding: 2rem !important;
}

body.elementor-page-11 #pricing .zenmotion-package-terms > .e-con-inner {
  justify-content: center !important;
}

/* Reviews: centred trust moment, tonal cards, authentic plugin data untouched. */
body.elementor-page-11 #reviews {
  background: var(--zen-v2-white) !important;
}

body.elementor-page-11 #reviews .zenmotion-reviews-intro > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 1rem !important;
  text-align: center !important;
}

body.elementor-page-11 #reviews .zenmotion-reviews-intro > .e-con-inner > .elementor-element {
  grid-column: auto !important;
  grid-row: auto !important;
  width: auto !important;
  max-width: 43rem !important;
  justify-self: auto !important;
}

body.elementor-page-11 #reviews .zenmotion-reviews-intro > .e-con-inner > .zenmotion-kicker {
  width: auto !important;
}

body.elementor-page-11 #reviews .zenmotion-reviews-google-link .elementor-button {
  min-height: 2.75rem;
  padding: .72rem 1.15rem !important;
  color: var(--zen-v2-ink) !important;
  background: var(--zen-v2-coral) !important;
  border-radius: 999px !important;
}

body.elementor-page-11 #reviews .zenmotion-reviews-google-link .elementor-button:hover {
  color: #fff !important;
  background: var(--zen-v2-coral-dark) !important;
}

body.elementor-page-11 #reviews .grw-reviews {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  align-items: stretch !important;
}

body.elementor-page-11 #reviews .grw-review:nth-child(-n+4) {
  grid-column: span 4 !important;
  width: 100% !important;
  max-width: none !important;
}

body.elementor-page-11 #reviews .grw-review:nth-child(5) {
  grid-column: span 8 !important;
  justify-self: stretch !important;
  width: 100% !important;
  max-width: none !important;
}

body.elementor-page-11 #reviews .grw-review-inner {
  height: 100% !important;
  min-height: 17rem !important;
  padding: clamp(2rem, 3vw, 2.75rem) !important;
  background: var(--zen-v2-paper) !important;
  border-radius: var(--zen-v2-radius) !important;
}

body.elementor-page-11 #reviews .grw-review:nth-child(5) .grw-review-inner {
  min-height: 0 !important;
}

body.elementor-page-11 #reviews .grw-review:nth-child(5) .wp-google-text {
  max-width: 58rem !important;
}

/* FAQ as one grouped support surface. */
body.elementor-page-11 #faq {
  background: var(--zen-v2-paper) !important;
}

body.elementor-page-11 #faq .zenmotion-native-accordion .elementor-accordion {
  padding: .75rem !important;
  background: var(--zen-v2-white) !important;
  border-radius: var(--zen-v2-radius) !important;
  gap: .15rem !important;
}

body.elementor-page-11 #faq .zenmotion-native-accordion .elementor-accordion-item {
  background: transparent !important;
  border-radius: var(--zen-v2-radius-small) !important;
}

body.elementor-page-11 #faq .zenmotion-native-accordion .elementor-tab-title {
  min-height: 4.75rem;
  padding: 1rem 1.4rem !important;
  border-radius: var(--zen-v2-radius-small) !important;
}

body.elementor-page-11 #faq .zenmotion-native-accordion .elementor-tab-title.elementor-active {
  background: var(--zen-v2-paper) !important;
}

body.elementor-page-11 #faq .zenmotion-native-accordion .elementor-tab-content {
  max-width: 48rem;
  padding: .25rem 1.4rem 1.4rem !important;
}

/* Light case-study scene before the dark booking close. */
body.elementor-page-11 #story {
  color: var(--zen-v2-ink) !important;
  background: var(--zen-v2-paper) !important;
}

body.elementor-page-11 #story > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: var(--zen-v2-split-gap) !important;
  align-items: center !important;
}

body.elementor-page-11 #story > .e-con-inner > .e-con {
  --width: 100% !important;
  width: 100% !important;
  max-width: none !important;
}

body.elementor-page-11 #story .zenmotion-case-label {
  display: none !important;
}

body.elementor-page-11 #story .zenmotion-case-visual {
  border-radius: 30px !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .09) !important;
}

body.elementor-page-11 #story .zenmotion-case-copy :is(.elementor-heading-title, .elementor-widget-text-editor, p) {
  color: var(--zen-v2-ink) !important;
}

body.elementor-page-11 #story .zenmotion-case-copy > .e-con-inner > .elementor-widget-text-editor {
  color: var(--zen-v2-muted) !important;
}

body.elementor-page-11 #story .zenmotion-case-copy h2.elementor-heading-title {
  font-size: clamp(3.2rem, 5.3vw, 4.9rem) !important;
  line-height: 1.02 !important;
}

body.elementor-page-11 #story .zenmotion-case-path > .e-con-inner {
  gap: .8rem !important;
}

body.elementor-page-11 #story .zenmotion-case-step {
  color: var(--zen-v2-ink) !important;
  background: var(--zen-v2-white) !important;
  border-radius: var(--zen-v2-radius-small) !important;
}

body.elementor-page-11 #story .zenmotion-case-step :is(.elementor-heading-title, .elementor-widget-text-editor, p) {
  color: var(--zen-v2-ink) !important;
}

/* Dark booking scene with a quiet white location card. */
body.elementor-page-11 #book {
  background: var(--zen-v2-black) !important;
}

body.elementor-page-11 #book > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(20rem, .8fr) !important;
  gap: var(--zen-v2-split-gap) !important;
  align-items: center !important;
}

body.elementor-page-11 #book > .e-con-inner > .e-con {
  --width: 100% !important;
  width: 100% !important;
  max-width: none !important;
}

body.elementor-page-11 #book h2.elementor-heading-title {
  font-size: clamp(3.4rem, 5.7vw, 5.25rem) !important;
  line-height: 1.01 !important;
}

body.elementor-page-11 #book .zenmotion-hours-row {
  background: var(--zen-v2-dark) !important;
  border-radius: 14px !important;
}

body.elementor-page-11 #book .zenmotion-location {
  color: var(--zen-v2-ink) !important;
  background: var(--zen-v2-white) !important;
  border-radius: var(--zen-v2-radius) !important;
}

body.elementor-page-11 #book .zenmotion-location > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  padding: 2.5rem !important;
  color: var(--zen-v2-ink) !important;
  background: var(--zen-v2-white) !important;
}

body.elementor-page-11 #book .zenmotion-location :is(.elementor-heading-title, .elementor-widget-text-editor, p) {
  color: var(--zen-v2-ink) !important;
}

body.elementor-page-11 #book .zenmotion-location .zenmotion-kicker,
body.elementor-page-11 #book .zenmotion-location .zenmotion-kicker p {
  color: var(--zen-v2-coral-dark) !important;
}

body.elementor-page-11 #book .zenmotion-location .elementor-button {
  color: var(--zen-v2-ink) !important;
  background: var(--zen-v2-coral) !important;
}

/* Coral is an interaction signal, not a section fill. */
body.elementor-page-11 .elementor-button {
  display: inline-flex !important;
  min-height: 2.75rem;
  align-items: center !important;
  justify-content: center !important;
  padding: .75rem 1.2rem !important;
  border-radius: 999px !important;
  line-height: 1 !important;
}

body.elementor-page-11 .elementor-button .elementor-button-content-wrapper,
body.elementor-page-11 .elementor-button .elementor-button-text {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

body.elementor-page-11 :is(#hero, #book) .elementor-button:not(.zenmotion-reviews-google-link .elementor-button) {
  color: var(--zen-v2-ink) !important;
  background: var(--zen-v2-coral) !important;
}

body.elementor-page-11 :is(#hero, #book) .elementor-button:hover {
  color: #fff !important;
  background: var(--zen-v2-coral-dark) !important;
}

body.elementor-page-11 #services .zenmotion-service-links .elementor-button,
body.elementor-page-11 #services .zenmotion-service-links .elementor-button:hover {
  padding: .55rem 0 !important;
  color: #fff !important;
  background: transparent !important;
}

body.elementor-page .zenmotion-native-footer > .e-con-inner {
  max-width: var(--zen-v2-content) !important;
}

/* BEGIN ZenMotion maker credit — 2026-09-08 */
body.elementor-page .zenmotion-footer-meta {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center !important;
  justify-content: space-between !important;
  gap: .5rem 1.25rem;
}

body.elementor-page .zenmotion-maker-credit {
  display: inline-flex;
  min-height: 44px;
  margin-inline-start: auto;
  align-items: center;
  color: rgba(255, 255, 255, .58) !important;
  font-size: .75rem !important;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .06em;
  text-decoration: none !important;
  white-space: nowrap;
}

body.elementor-page .zenmotion-maker-credit:hover {
  color: rgba(255, 255, 255, .86) !important;
}

body.elementor-page .zenmotion-maker-credit:focus-visible {
  color: #fff !important;
  outline: 2px solid #fff;
  outline-offset: 3px;
}

@media (max-width: 600px) {
  body.elementor-page .zenmotion-footer-meta {
    align-items: flex-start !important;
  }
}
/* END ZenMotion maker credit — 2026-09-08 */

@media (min-width: 901px) and (max-width: 1100px) {
  body.elementor-page-11 #reviews .grw-review:nth-child(-n+4) {
    grid-column: span 6 !important;
  }

  body.elementor-page-11 #reviews .grw-review:nth-child(5) {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 1024px) {
  body.elementor-page-11 .zenmotion-method > .e-con-inner,
  body.elementor-page-11 #services .zenmotion-toolkit > .e-con-inner,
  body.elementor-page-11 #pricing .zenmotion-price-list > .e-con-inner,
  body.elementor-page-11 #pricing .zenmotion-packages > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.elementor-page-11 #pricing .zenmotion-package-intro {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 900px) {
  body.elementor-page-11 .zenmotion-native-main > .e-con-inner > .e-con > .e-con-inner {
    padding-top: clamp(5rem, 12vw, 7rem) !important;
    padding-right: clamp(2rem, 6vw, 3rem) !important;
    padding-bottom: clamp(5rem, 12vw, 7rem) !important;
    padding-left: clamp(2rem, 6vw, 3rem) !important;
  }

  body.elementor-page-11 #hero > .e-con-inner {
    padding-top: 4.5rem !important;
  }

  body.elementor-page-11 #hero .zenmotion-hero-heading .elementor-heading-title,
  body.elementor-page-11 #hero .zenmotion-hero-heading .zen-serif .elementor-heading-title {
    font-size: clamp(3.8rem, 13vw, 6.2rem) !important;
  }

  body.elementor-page-11 #hero .zenmotion-hero-image {
    aspect-ratio: 4 / 3 !important;
  }

  body.elementor-page-11 .zenmotion-method > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.elementor-page-11 .zenmotion-method > .e-con-inner > .e-con:first-child {
    grid-column: 1 / -1 !important;
  }

  body.elementor-page-11 :is(#approach, #journey, #story, #book) > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 3.5rem !important;
  }

  body.elementor-page-11 #reviews .grw-reviews {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.elementor-page-11 #reviews .grw-review,
  body.elementor-page-11 #reviews .grw-review:nth-child(-n+4),
  body.elementor-page-11 #reviews .grw-review:nth-child(5) {
    grid-column: 1 !important;
    width: 100% !important;
  }

  body.elementor-page-11 #reviews .grw-review-inner {
    min-height: 0 !important;
  }

  body.elementor-page-11 #story .zenmotion-case-visual {
    order: 2;
  }

  body.elementor-page-11 #story .zenmotion-case-copy {
    order: 1;
  }
}

@media (max-width: 600px) {
  body.elementor-page-11 .zenmotion-native-main > .e-con-inner > .e-con > .e-con-inner {
    padding-top: 4.75rem !important;
    padding-right: 1.25rem !important;
    padding-bottom: 4.75rem !important;
    padding-left: 1.25rem !important;
  }

  body.elementor-page-11 #hero > .e-con-inner {
    gap: 3rem !important;
    padding-top: 3.5rem !important;
    padding-bottom: 5rem !important;
  }

  body.elementor-page-11 #hero .zenmotion-hero-heading .elementor-heading-title,
  body.elementor-page-11 #hero .zenmotion-hero-heading .zen-serif .elementor-heading-title {
    font-size: clamp(3.2rem, 15vw, 4.6rem) !important;
    line-height: .95 !important;
  }

  body.elementor-page-11 #hero .zenmotion-proof > .e-con-inner,
  body.elementor-page-11 .zenmotion-method > .e-con-inner,
  body.elementor-page-11 #services .zenmotion-toolkit > .e-con-inner,
  body.elementor-page-11 #pricing .zenmotion-price-list > .e-con-inner,
  body.elementor-page-11 #pricing .zenmotion-packages > .e-con-inner,
  body.elementor-page-11 #story .zenmotion-case-path > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.elementor-page-11 :is(#services, #photos, #pricing, #reviews, #faq) h2.elementor-heading-title,
  body.elementor-page-11 :is(#approach, #journey, #story, #book) h2.elementor-heading-title {
    font-size: clamp(2.8rem, 12vw, 3.75rem) !important;
  }

  body.elementor-page-11 .zenmotion-method > .e-con-inner > .e-con:first-child {
    grid-column: 1 !important;
  }

  body.elementor-page-11 .zenmotion-method > .e-con-inner > .zenmotion-method-item,
  body.elementor-page-11 #services .zenmotion-tool {
    min-height: 0;
  }

  body.elementor-page-11 #reviews .grw-review-inner {
    padding: 1.6rem !important;
    border-radius: 22px !important;
  }

  body.elementor-page-11 #faq .zenmotion-native-accordion .elementor-accordion {
    padding: .45rem !important;
    border-radius: 22px !important;
  }

  body.elementor-page-11 #book .zenmotion-location > .e-con-inner {
    padding: 1.75rem !important;
  }
}

/* Media wrappers must use every pixel supplied by their Elementor container. */
body.elementor-page-11 :is(
  #hero .zenmotion-hero-image,
  #approach .zenmotion-image-panel,
  #journey .zenmotion-journey-image,
  #story .zenmotion-case-visual
) {
  padding: 0 !important;
}

body.elementor-page-11 :is(
  #hero .zenmotion-hero-image,
  #approach .zenmotion-image-panel,
  #journey .zenmotion-journey-image,
  #story .zenmotion-case-visual
) :is(.e-con-inner, .elementor-widget-image, .elementor-widget-container, img) {
  width: 100% !important;
  max-width: none !important;
}

/* Subject-focused cover media inside the exact space supplied by each column. */
body.elementor-page-11 #hero .zenmotion-hero-image {
  background: var(--zen-v2-black) !important;
}

body.elementor-page-11 #approach .zenmotion-image-panel {
  background: var(--zen-v2-paper) !important;
}

body.elementor-page-11 :is(#journey .zenmotion-journey-image, #story .zenmotion-case-visual) {
  background: var(--zen-v2-white) !important;
}

body.elementor-page-11 :is(
  #approach .zenmotion-image-panel,
  #journey .zenmotion-journey-image,
  #story .zenmotion-case-visual
) > :is(.e-con-inner, .elementor-widget-image) {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}

/* Elementor's optimized image loading applies a 3000x1500 intrinsic
 * containment placeholder. It must not participate in these explicitly
 * reserved editorial frames or it inflates a paired grid row to 1500px. */
body.elementor-page-11 :is(
  #hero .zenmotion-hero-image,
  #approach .zenmotion-image-panel,
  #journey .zenmotion-journey-image,
  #story .zenmotion-case-visual
) img {
  contain: none !important;
  contain-intrinsic-size: none !important;
}

body.elementor-page-11 :is(
  #hero .zenmotion-hero-image,
  #approach .zenmotion-image-panel,
  #journey .zenmotion-journey-image,
  #story .zenmotion-case-visual
) img {
  object-fit: cover !important;
}

/* Per-source focal points from local face, human, and saliency detection. */
body.elementor-page-11 #hero .zenmotion-hero-image img {
  object-position: 67% 48% !important;
}

body.elementor-page-11 #approach .zenmotion-image-panel img {
  object-position: 58% 16% !important;
}

body.elementor-page-11 #journey .zenmotion-journey-image img {
  object-position: 49% 47% !important;
}

body.elementor-page-11 #story .zenmotion-case-visual img {
  object-position: 45% 42% !important;
}

body.elementor-page-11 #photos .zenmotion-pro-carousel .elementor-carousel-image {
  background-color: var(--zen-v2-black) !important;
  background-position: 50% 50% !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

body.elementor-page-11 #photos .elementor-carousel-image[aria-label="ZenMotion practitioner performing a movement assessment"] {
  background-position: 49% 47% !important;
}

body.elementor-page-11 #photos .elementor-carousel-image[aria-label="ZenMotion hands-on sports massage and manual therapy session"] {
  background-position: 43% 50% !important;
}

body.elementor-page-11 #photos .elementor-carousel-image[aria-label="Close detail of a manual therapy technique at ZenMotion"] {
  background-position: 45% 42% !important;
}

body.elementor-page-11 #photos .elementor-carousel-image[aria-label="ZenMotion practitioner providing sports massage and manual therapy in Singapore"] {
  background-position: 67% 48% !important;
}

body.elementor-page-11 #photos .elementor-carousel-image[aria-label="Zack, ZenMotion sports massage and manual therapy practitioner in Singapore"] {
  background-position: 58% 32% !important;
}

body.elementor-page-11 #photos .elementor-carousel-image[aria-label="Private ZenMotion therapy room in Singapore"] {
  background-position: 51% 51% !important;
}

body.elementor-page-11 #photos .elementor-carousel-image[aria-label="Prepared treatment space at ZenMotion"] {
  background-position: 48% 48% !important;
}

@media (min-width: 901px) {
  body.elementor-page-11 :is(
    #approach .zenmotion-image-panel,
    #journey .zenmotion-journey-image,
    #story .zenmotion-case-visual
  ) {
    height: auto !important;
    min-height: 0 !important;
    align-self: stretch !important;
    aspect-ratio: auto !important;
  }
}

@media (max-width: 900px) {
  body.elementor-page-11 #hero .zenmotion-hero-image {
    height: auto !important;
    min-height: 0 !important;
    align-self: center !important;
    aspect-ratio: 3 / 2 !important;
  }

  body.elementor-page-11 #approach .zenmotion-image-panel {
    height: auto !important;
    min-height: 0 !important;
    align-self: center !important;
    aspect-ratio: 2 / 3 !important;
  }

  body.elementor-page-11 :is(#journey .zenmotion-journey-image, #story .zenmotion-case-visual) {
    height: auto !important;
    min-height: 0 !important;
    align-self: center !important;
    aspect-ratio: 3 / 2 !important;
  }
}

/* Professional dual-route service enquiry form. */
body.elementor-page-11 #book .zenmotion-contact-form {
  width: 100% !important;
  max-width: none !important;
}

body.elementor-page-11 #book .zenmotion-contact-form .elementor-form-fields-wrapper {
  align-items: flex-start;
  column-gap: 0;
}

body.elementor-page-11 #book .zenmotion-contact-form .elementor-field-group {
  margin-bottom: .9rem;
  padding-inline: .4rem;
}

body.elementor-page-11 #book .zenmotion-contact-form .elementor-field-label {
  margin-bottom: .45rem;
  color: rgba(255, 255, 255, .82) !important;
  font-family: var(--zen-v2-font) !important;
  font-size: .78rem !important;
  font-weight: 650 !important;
  letter-spacing: .035em;
}

body.elementor-page-11 #book .zenmotion-contact-form :is(input:not([type="checkbox"]), select, textarea) {
  width: 100%;
  color: var(--zen-v2-ink) !important;
  background: var(--zen-v2-white) !important;
  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  font-family: var(--zen-v2-font) !important;
  font-size: 1rem !important;
  line-height: 1.35 !important;
}

body.elementor-page-11 #book .zenmotion-contact-form :is(input, textarea)::placeholder {
  color: #5f6064 !important;
  opacity: 1 !important;
}

body.elementor-page-11 #book .zenmotion-contact-form select,
body.elementor-page-11 #book .zenmotion-contact-form select option {
  color: var(--zen-v2-ink) !important;
  background: var(--zen-v2-white) !important;
  color-scheme: light;
}

body.elementor-page-11 #book .zenmotion-contact-form :is(input:not([type="checkbox"]), select) {
  min-height: 3.5rem;
  padding: .85rem 1rem !important;
}

body.elementor-page-11 #book .zenmotion-contact-form textarea {
  min-height: 9rem;
  padding: 1rem !important;
  resize: vertical;
}

body.elementor-page-11 #book .zenmotion-contact-form :is(input, select, textarea):focus-visible {
  outline: 3px solid var(--zen-v2-coral) !important;
  outline-offset: 2px;
}

body.elementor-page-11 #book .zenmotion-contact-form .elementor-field-type-acceptance {
  align-items: flex-start;
  margin-top: .25rem;
}

body.elementor-page-11 #book .zenmotion-contact-form .elementor-field-type-acceptance .elementor-field-option {
  display: grid;
  min-height: 44px;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .7rem;
  align-items: start;
}

body.elementor-page-11 #book .zenmotion-contact-form .elementor-field-type-acceptance input {
  width: 1.15rem;
  height: 1.15rem;
  margin-top: .18rem;
  accent-color: var(--zen-v2-coral);
}

body.elementor-page-11 #book .zenmotion-contact-form .elementor-field-type-acceptance label {
  color: rgba(255, 255, 255, .7) !important;
  font-size: .78rem !important;
  line-height: 1.5;
}

body.elementor-page-11 #book .zenmotion-contact-form .elementor-button {
  display: flex;
  min-height: 3.6rem;
  align-items: center;
  justify-content: center;
  padding: 1rem 1.25rem !important;
  color: var(--zen-v2-white) !important;
  background: var(--zen-v2-coral) !important;
  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  font-family: var(--zen-v2-font) !important;
  font-size: .82rem !important;
  font-weight: 750 !important;
  letter-spacing: .06em;
}

body.elementor-page-11 #book .zenmotion-contact-form .elementor-button:focus-visible {
  outline: 3px solid var(--zen-v2-white) !important;
  outline-offset: 3px;
}

body.elementor-page-11 #book .zenmotion-enquiry-status {
  min-height: 1.5rem;
  margin: .2rem .4rem 0;
  color: rgba(255, 255, 255, .7);
  font-size: .78rem;
  line-height: 1.45;
}

body.elementor-page-11 #book .zenmotion-enquiry-status[data-state="error"],
body.elementor-page-11 #book .elementor-message-danger {
  color: #ffb4a4 !important;
}

body.elementor-page-11 #book .zenmotion-enquiry-status[data-state="success"],
body.elementor-page-11 #book .elementor-message-success {
  color: #ffffff !important;
}

@media (max-width: 767px) {
  body.elementor-page-11 #book .zenmotion-contact-form .elementor-field-group {
    width: 100% !important;
  }
}

/* Preserve the previously verified no-jump posture. */
body.elementor-page-11 .zenmotion-native-main *,
body.elementor-page-11 .zenmotion-native-main *::before,
body.elementor-page-11 .zenmotion-native-main *::after {
  animation: none !important;
  transition-duration: 0s !important;
}

/* ZenMotion image-led hero — 2026-09-02
 * Zack requested that the visible slogan be replaced by his massage-action
 * photograph. The complete 3:2 source remains visible without crop or distortion.
 */
body.elementor-page-11 #hero.zenmotion-image-led-hero > .e-con-inner {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: calc(1134px + 8rem) !important;
  min-height: 0 !important;
  margin-inline: auto !important;
  padding: clamp(2rem, 5vw, 4rem) var(--zen-v2-scene-gutter) clamp(1.5rem, 3vw, 2.5rem) !important;
}

body.elementor-page-11 #hero.zenmotion-image-led-hero > .e-con-inner > :is(.zenmotion-image-hero-copy, .zenmotion-image-hero-photo) {
  --width: 100% !important;
  width: 100% !important;
  max-width: 1134px !important;
  min-width: 0 !important;
  margin-inline: auto !important;
  flex: none !important;
}

body.elementor-page-11 #hero .zenmotion-image-hero-photo {
  order: 2;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  overflow: hidden;
  background: var(--zen-v2-black) !important;
  border-radius: 32px !important;
  box-shadow: 0 32px 90px rgba(0, 0, 0, .3) !important;
}

body.elementor-page-11 #hero .zenmotion-image-hero-photo > .e-con-inner,
body.elementor-page-11 #hero .zenmotion-image-hero-photo .elementor-widget-image,
body.elementor-page-11 #hero .zenmotion-image-hero-photo .elementor-widget-container {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
}

body.elementor-page-11 #hero .zenmotion-image-hero-photo img {
  position: static !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: 32px !important;
}

body.elementor-page-11 #hero .zenmotion-image-hero-copy {
  order: 1;
  align-items: stretch !important;
  margin-bottom: 1rem !important;
  padding: clamp(1.25rem, 2.5vw, 2rem) !important;
  background: rgba(255, 255, 255, .065) !important;
  border-radius: 24px !important;
}

body.elementor-page-11 #hero .zenmotion-image-hero-copy > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-rows: auto auto auto !important;
  align-items: center !important;
  gap: .55rem clamp(1.5rem, 4vw, 4rem) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

body.elementor-page-11 #hero .zenmotion-image-hero-offer {
  grid-column: 1;
  grid-row: 1;
  width: 100% !important;
}

body.elementor-page-11 #hero .zenmotion-image-hero-heading {
  grid-column: 1;
  grid-row: 2;
  width: 100% !important;
}

body.elementor-page-11 #hero .zenmotion-image-hero-heading .elementor-heading-title {
  max-width: 17ch;
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(2.2rem, 4.6vw, 4.6rem) !important;
  font-weight: 600 !important;
  line-height: .98 !important;
  letter-spacing: -.055em !important;
}

body.elementor-page-11 #hero .zenmotion-image-hero-value {
  grid-column: 1;
  grid-row: 3;
  width: 100% !important;
  max-width: 58ch !important;
  color: rgba(255, 255, 255, .72) !important;
  font-size: 1rem !important;
  line-height: 1.55 !important;
}

body.elementor-page-11 #hero .zenmotion-image-hero-actions {
  grid-column: 2;
  grid-row: 1 / 4;
  align-self: center;
  --width: auto !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}

body.elementor-page-11 #hero .zenmotion-image-hero-actions > .e-con-inner {
  padding: 0 !important;
}

body.elementor-page-11 #hero .zenmotion-image-hero-actions .elementor-button {
  min-height: 44px;
}

@media (max-width: 767px) {
  body.elementor-page-11 #hero.zenmotion-image-led-hero > .e-con-inner {
    padding: 1rem 1rem 1.25rem !important;
  }

  body.elementor-page-11 #hero .zenmotion-image-hero-photo,
  body.elementor-page-11 #hero .zenmotion-image-hero-photo img {
    border-radius: 20px !important;
  }

  body.elementor-page-11 #hero .zenmotion-image-hero-copy > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto auto !important;
  }

  body.elementor-page-11 #hero .zenmotion-image-hero-offer,
  body.elementor-page-11 #hero .zenmotion-image-hero-heading,
  body.elementor-page-11 #hero .zenmotion-image-hero-value,
  body.elementor-page-11 #hero .zenmotion-image-hero-actions {
    grid-column: 1;
    grid-row: auto;
  }

  body.elementor-page-11 #hero .zenmotion-image-hero-actions,
  body.elementor-page-11 #hero .zenmotion-image-hero-actions .elementor-widget-button,
  body.elementor-page-11 #hero .zenmotion-image-hero-actions .elementor-button {
    width: 100% !important;
  }
}

/* ZenMotion compact trust feed — 2026-09-02
 * Keep two low-claim authentic reviews on-page and route visitors to Google for
 * the complete public listing. The Elementor copy states the curation boundary.
 */
body.elementor-page-11 #reviews .zenmotion-rich-showcase-feed .grw-reviews {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.elementor-page-11 #reviews .zenmotion-rich-showcase-feed .grw-review:nth-child(n + 3) {
  display: none !important;
}

@media (max-width: 767px) {
  body.elementor-page-11 #reviews .zenmotion-rich-showcase-feed .grw-reviews {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* ZenMotion five-review follow-up — 2026-09-02
 * Zack explicitly requested all five authentic cached reviews. Keep their
 * wording unedited; the adjacent Elementor source note carries the claim boundary.
 */
body.elementor-page-11 #reviews .zenmotion-rich-showcase-feed .grw-reviews {
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
}

body.elementor-page-11 #reviews .zenmotion-rich-showcase-feed .grw-review:nth-child(n + 3) {
  display: block !important;
}

@media (max-width: 1024px) {
  body.elementor-page-11 #reviews .zenmotion-rich-showcase-feed .grw-reviews {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.elementor-page-11 #reviews .zenmotion-rich-showcase-feed .grw-review,
  body.elementor-page-11 #reviews .zenmotion-rich-showcase-feed .grw-review:nth-child(-n + 4),
  body.elementor-page-11 #reviews .zenmotion-rich-showcase-feed .grw-review:nth-child(5) {
    grid-column: 1 !important;
    width: 100% !important;
  }
}

/* ZenMotion hero coherence fix — 2026-09-02
 * Keep the primary action in the hero's reading flow instead of isolating it
 * in a detached right rail when the headline wraps across browser engines.
 */
@media (min-width: 768px) {
  body.elementor-page-11 #hero .zenmotion-image-hero-copy > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto auto !important;
    gap: .55rem !important;
  }

  body.elementor-page-11 #hero :is(
    .zenmotion-image-hero-offer,
    .zenmotion-image-hero-heading,
    .zenmotion-image-hero-value,
    .zenmotion-image-hero-actions
  ) {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  body.elementor-page-11 #hero .zenmotion-image-hero-actions {
    justify-self: center !important;
    align-self: start !important;
    margin: .55rem auto 0 !important;
  }
}

/* ZenMotion image-order correction — 2026-09-02
 * The assessment photograph moved into Meet Zack. Keep the complete 3:2
 * documentary source visible instead of inheriting the old portrait crop.
 */
body.elementor-page-11 #approach .zenmotion-image-panel img {
  object-fit: contain !important;
  object-position: center !important;
}

@media (max-width: 900px) {
  body.elementor-page-11 #approach .zenmotion-image-panel {
    aspect-ratio: 3 / 2 !important;
  }
}

/* ZenMotion integrated image hero — 2026-09-03
 * Keep the native responsive Image widget, but use it as the hero's visual
 * backing layer so the offer, value copy, and request action read on top.
 * The existing movement-assessment image remains the first media below it.
 */
body.elementor-page-11 #hero.zenmotion-image-led-hero {
  overflow: hidden !important;
  background: var(--zen-v2-black) !important;
}

body.elementor-page-11 #hero.zenmotion-image-led-hero > .e-con-inner {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: calc(1134px + 8rem) !important;
  min-height: 0 !important;
  margin-inline: auto !important;
  padding: clamp(1.25rem, 3vw, 3rem) var(--zen-v2-scene-gutter) clamp(2rem, 5vw, 5rem) !important;
}

body.elementor-page-11 #hero.zenmotion-image-led-hero > .e-con-inner > :is(.zenmotion-image-hero-copy, .zenmotion-image-hero-photo) {
  grid-area: 1 / 1;
  --width: 100% !important;
  width: 100% !important;
  max-width: 1134px !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  flex: none !important;
}

body.elementor-page-11 #hero .zenmotion-image-hero-photo {
  position: relative !important;
  z-index: 0;
  order: initial;
  height: 100% !important;
  min-height: 0 !important;
  aspect-ratio: 3 / 2 !important;
  overflow: hidden;
  isolation: isolate;
  background: var(--zen-v2-black) !important;
  border-radius: 32px !important;
  box-shadow: 0 32px 90px rgba(0, 0, 0, .3) !important;
}

body.elementor-page-11 #hero .zenmotion-image-hero-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, .86) 0%, rgba(0, 0, 0, .72) 36%, rgba(0, 0, 0, .32) 62%, rgba(0, 0, 0, .18) 100%),
    linear-gradient(0deg, rgba(0, 0, 0, .48) 0%, rgba(0, 0, 0, 0) 48%, rgba(0, 0, 0, .16) 100%);
  border-radius: inherit;
}

body.elementor-page-11 #hero .zenmotion-image-hero-photo > .e-con-inner,
body.elementor-page-11 #hero .zenmotion-image-hero-photo .elementor-widget-image,
body.elementor-page-11 #hero .zenmotion-image-hero-photo .elementor-widget-container {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
}

body.elementor-page-11 #hero .zenmotion-image-hero-photo img {
  position: absolute !important;
  inset: 0;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: 50% 38% !important;
  border-radius: 32px !important;
}

body.elementor-page-11 #hero .zenmotion-image-hero-copy {
  position: relative !important;
  z-index: 2;
  order: initial;
  align-self: stretch !important;
  height: 100% !important;
  margin: 0 auto !important;
  padding: clamp(2rem, 5vw, 5rem) !important;
  background: transparent !important;
  border-radius: 32px !important;
}

body.elementor-page-11 #hero .zenmotion-image-hero-copy > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto auto !important;
  align-content: center !important;
  align-items: start !important;
  justify-items: start !important;
  gap: clamp(.65rem, 1.2vw, 1rem) !important;
  width: min(52%, 36rem) !important;
  max-width: 36rem !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 auto 0 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

body.elementor-page-11 #hero :is(
  .zenmotion-image-hero-offer,
  .zenmotion-image-hero-heading,
  .zenmotion-image-hero-value,
  .zenmotion-image-hero-actions
) {
  grid-column: 1 !important;
  grid-row: auto !important;
  justify-self: start !important;
  width: 100% !important;
  margin-inline: 0 !important;
  text-align: left !important;
}

body.elementor-page-11 #hero .zenmotion-image-hero-heading .elementor-heading-title {
  max-width: 13ch !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(3.25rem, 5.35vw, 4.8rem) !important;
  font-weight: 600 !important;
  line-height: .96 !important;
  letter-spacing: -.055em !important;
  text-align: left !important;
  text-wrap: balance;
  text-shadow: 0 2px 30px rgba(0, 0, 0, .32);
}

body.elementor-page-11 #hero .zenmotion-image-hero-value {
  max-width: 48ch !important;
  color: rgba(255, 255, 255, .82) !important;
  font-size: clamp(1rem, 1.2vw, 1.12rem) !important;
  line-height: 1.52 !important;
  text-shadow: 0 2px 22px rgba(0, 0, 0, .45);
}

body.elementor-page-11 #hero .zenmotion-image-hero-actions {
  --width: auto !important;
  width: auto !important;
  max-width: none !important;
  align-self: start !important;
  margin: .45rem 0 0 !important;
}

body.elementor-page-11 #hero .zenmotion-image-hero-actions > .e-con-inner {
  width: auto !important;
  padding: 0 !important;
}

body.elementor-page-11 #hero .zenmotion-image-hero-actions .elementor-button {
  min-height: 44px;
}

@media (max-width: 900px) {
  body.elementor-page-11 #hero.zenmotion-image-led-hero > .e-con-inner {
    padding: 1rem var(--zen-v2-scene-gutter) 2rem !important;
  }

  body.elementor-page-11 #hero .zenmotion-image-hero-photo::after {
    background:
      linear-gradient(0deg, rgba(0, 0, 0, .94) 0%, rgba(0, 0, 0, .78) 42%, rgba(0, 0, 0, .26) 72%, rgba(0, 0, 0, .14) 100%),
      linear-gradient(90deg, rgba(0, 0, 0, .2), rgba(0, 0, 0, .08));
  }

  body.elementor-page-11 #hero .zenmotion-image-hero-photo img {
    object-position: 58% 38% !important;
  }

  body.elementor-page-11 #hero .zenmotion-image-hero-copy {
    padding: clamp(1.5rem, 5vw, 3rem) !important;
    padding-top: clamp(9rem, 25vw, 12rem) !important;
  }

  body.elementor-page-11 #hero .zenmotion-image-hero-copy > .e-con-inner {
    align-content: end !important;
    align-items: end !important;
    justify-items: center !important;
    width: min(100%, 42rem) !important;
    max-width: 42rem !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  body.elementor-page-11 #hero :is(
    .zenmotion-image-hero-offer,
    .zenmotion-image-hero-heading,
    .zenmotion-image-hero-value,
    .zenmotion-image-hero-actions
  ) {
    justify-self: center !important;
    margin-inline: auto !important;
    text-align: center !important;
  }

  body.elementor-page-11 #hero .zenmotion-image-hero-heading .elementor-heading-title {
    max-width: 15ch !important;
    text-align: center !important;
  }

  body.elementor-page-11 #hero .zenmotion-image-hero-value {
    max-width: 52ch !important;
  }

  body.elementor-page-11 #hero .zenmotion-image-hero-actions {
    margin: .45rem auto 0 !important;
  }
}

@media (max-width: 767px) {
  body.elementor-page-11 #hero.zenmotion-image-led-hero > .e-con-inner {
    padding: .75rem 1.25rem 1.25rem !important;
  }

  body.elementor-page-11 #hero .zenmotion-image-hero-photo {
    min-height: clamp(640px, calc(100svh - 72px), 760px) !important;
    aspect-ratio: auto !important;
    border-radius: 20px !important;
  }

  body.elementor-page-11 #hero .zenmotion-image-hero-photo,
  body.elementor-page-11 #hero .zenmotion-image-hero-photo img,
  body.elementor-page-11 #hero .zenmotion-image-hero-copy {
    border-radius: 20px !important;
  }

  body.elementor-page-11 #hero .zenmotion-image-hero-photo img {
    object-position: 61% 38% !important;
  }

  body.elementor-page-11 #hero .zenmotion-image-hero-copy {
    padding: 8.5rem 1.25rem 1.5rem !important;
  }

  body.elementor-page-11 #hero .zenmotion-image-hero-copy > .e-con-inner {
    gap: .7rem !important;
  }

  body.elementor-page-11 #hero .zenmotion-image-hero-heading .elementor-heading-title {
    max-width: 12ch !important;
    font-size: clamp(2.55rem, 12vw, 3.35rem) !important;
    line-height: .98 !important;
  }

  body.elementor-page-11 #hero .zenmotion-image-hero-value {
    max-width: 34ch !important;
    font-size: .98rem !important;
    line-height: 1.48 !important;
  }

  body.elementor-page-11 #hero .zenmotion-image-hero-actions,
  body.elementor-page-11 #hero .zenmotion-image-hero-actions > .e-con-inner,
  body.elementor-page-11 #hero .zenmotion-image-hero-actions .elementor-widget-button,
  body.elementor-page-11 #hero .zenmotion-image-hero-actions .elementor-button {
    width: 100% !important;
  }
}

/* ZenMotion full-width image hero + restored gallery — 2026-09-03
 * The opening scene is one edge-to-edge documentary photograph. The native
 * header sits over it so the supplied ZenMotion mark remains at the left; the
 * existing offer, value statement and request action continue in their own
 * Elementor section immediately below.
 */
html body.elementor-page.elementor-page-11 .zenmotion-native-header,
html body.elementor-page.elementor-page-11 .zenmotion-native-header.elementor-sticky--active {
  position: absolute !important;
  inset: 0 0 auto !important;
  z-index: 100 !important;
  width: 100% !important;
  margin: 0 !important;
  background: linear-gradient(180deg, rgba(0, 0, 0, .66) 0%, rgba(0, 0, 0, .2) 72%, transparent 100%) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html body.elementor-page.elementor-page-11 .zenmotion-native-header.elementor-sticky--effects {
  position: fixed !important;
  background: #000 !important;
}

html body.elementor-page.elementor-page-11 .zenmotion-native-header > .e-con-inner {
  justify-content: space-between !important;
}

html body.elementor-page.elementor-page-11 .zenmotion-native-header .zenmotion-logo {
  margin-right: auto !important;
}

body.elementor-page-11 #hero.zenmotion-fullwidth-photo-hero {
  position: relative !important;
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 100svh !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #000 !important;
}

body.elementor-page-11 #hero.zenmotion-fullwidth-photo-hero > .e-con-inner {
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 100svh !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
}

body.elementor-page-11 #hero .zenmotion-fullwidth-hero-photo {
  position: relative !important;
  display: block !important;
  --width: 100% !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 100svh !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #000 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.elementor-page-11 #hero .zenmotion-fullwidth-hero-photo::after {
  display: none !important;
  content: none !important;
}

body.elementor-page-11 #hero .zenmotion-fullwidth-hero-photo :is(
  .e-con-inner,
  .elementor-widget-image,
  .elementor-widget-container
) {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.elementor-page-11 #hero .zenmotion-fullwidth-hero-photo img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: 64% 45% !important;
  contain: none !important;
  contain-intrinsic-size: none !important;
  border-radius: 0 !important;
}

/* Message: the former hero copy stays intact and remains native/editable. */
body.elementor-page-11 #hero-message.zenmotion-hero-message {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #000 !important;
  color: #fff !important;
}

body.elementor-page-11 #hero-message.zenmotion-hero-message > .e-con-inner {
  display: flex !important;
  width: min(100%, 1240px) !important;
  max-width: 1240px !important;
  margin-inline: auto !important;
  padding: clamp(6rem, 10vw, 9rem) var(--zen-v2-scene-gutter) !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

body.elementor-page-11 #hero-message .zenmotion-below-hero-copy {
  --width: 100% !important;
  width: min(100%, 64rem) !important;
  max-width: 64rem !important;
  margin-inline: auto !important;
  padding: 0 !important;
  align-items: center !important;
  text-align: center !important;
  background: transparent !important;
}

body.elementor-page-11 #hero-message .zenmotion-below-hero-copy > .e-con-inner {
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(1rem, 2vw, 1.5rem) !important;
  text-align: center !important;
}

body.elementor-page-11 #hero-message .zenmotion-below-hero-copy :is(
  .zenmotion-kicker,
  .zenmotion-hero-heading,
  .zenmotion-image-hero-value,
  .zenmotion-hero-actions
) {
  width: 100% !important;
  max-width: none !important;
  margin-inline: auto !important;
  justify-self: center !important;
  text-align: center !important;
}

body.elementor-page-11 #hero-message .zenmotion-hero-heading > .e-con-inner {
  align-items: center !important;
  justify-content: center !important;
}

body.elementor-page-11 #hero-message .zenmotion-hero-heading .elementor-heading-title {
  max-width: 15ch !important;
  margin-inline: auto !important;
  color: #fff !important;
  font-family: var(--zen-am-font-display) !important;
  font-size: clamp(3.8rem, 7.4vw, 7rem) !important;
  font-weight: 600 !important;
  line-height: .96 !important;
  letter-spacing: -.06em !important;
  text-align: center !important;
  text-wrap: balance;
}

body.elementor-page-11 #hero-message .zenmotion-image-hero-value {
  max-width: 46rem !important;
  color: rgba(255, 255, 255, .74) !important;
  font-size: clamp(1.05rem, 1.4vw, 1.24rem) !important;
  line-height: 1.52 !important;
}

body.elementor-page-11 #hero-message .zenmotion-hero-actions {
  --width: auto !important;
  width: auto !important;
  align-self: center !important;
  margin-top: .35rem !important;
}

body.elementor-page-11 #hero-message .zenmotion-hero-actions > .e-con-inner {
  width: auto !important;
  padding: 0 !important;
}

body.elementor-page-11 #hero-message .zenmotion-hero-actions .elementor-button {
  min-height: 44px !important;
}

/* Meet Zack: the supplied 1086 × 1448 selfie is exactly 3:4, so this frame
 * reserves its space without cropping or stretching the source. */
body.elementor-page-11 #approach .zenmotion-image-panel {
  position: relative !important;
  align-self: center !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 3 / 4 !important;
  overflow: hidden !important;
  background: var(--zen-v2-paper) !important;
}

body.elementor-page-11 #approach .zenmotion-image-panel :is(
  .e-con-inner,
  .elementor-widget-image,
  .elementor-widget-container
) {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.elementor-page-11 #approach .zenmotion-image-panel img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: 50% 45% !important;
  contain: none !important;
  contain-intrinsic-size: none !important;
}

/* Restored Elementor Pro Media Carousel. Native arrows and fraction navigation
 * remain visible; autoplay, looping, lazy shadow-loading and lightbox are off. */
body.elementor-page-11 #photos.zenmotion-gallery {
  background: #F5F0E7 !important;
}

body.elementor-page-11 #photos .zenmotion-pro-carousel {
  width: 100% !important;
  max-width: var(--zen-v2-content) !important;
  margin-inline: auto !important;
  overflow: hidden !important;
  background: #000 !important;
  border: 0 !important;
  border-radius: 32px !important;
}

body.elementor-page-11 #photos .zenmotion-pro-carousel .elementor-main-swiper,
body.elementor-page-11 #photos .zenmotion-pro-carousel :is(.swiper, .swiper-wrapper, .swiper-slide) {
  width: 100% !important;
  max-width: none !important;
}

body.elementor-page-11 #photos .zenmotion-pro-carousel .elementor-swiper-button {
  z-index: 4 !important;
  display: flex !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
}

body.elementor-page-11 #photos .zenmotion-pro-carousel .swiper-pagination-fraction {
  right: auto !important;
  bottom: 18px !important;
  left: 50% !important;
  z-index: 4 !important;
  width: auto !important;
  min-width: 4.25rem !important;
  padding: .5rem .75rem !important;
  color: #fff !important;
  background: rgba(0, 0, 0, .68) !important;
  border-radius: 999px !important;
  transform: translateX(-50%) !important;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

@media (max-width: 900px) {
  body.elementor-page-11 #hero .zenmotion-fullwidth-hero-photo img {
    object-position: 70% 45% !important;
  }

  body.elementor-page-11 #hero-message.zenmotion-hero-message > .e-con-inner {
    padding: clamp(5rem, 12vw, 7rem) var(--zen-v2-scene-gutter) !important;
  }

  body.elementor-page-11 #approach .zenmotion-image-panel {
    width: min(100%, 42rem) !important;
    aspect-ratio: 3 / 4 !important;
  }
}

@media (max-width: 767px) {
  html body.elementor-page.elementor-page-11 .zenmotion-native-header,
  html body.elementor-page.elementor-page-11 .zenmotion-native-header.elementor-sticky--active {
    padding-top: env(safe-area-inset-top, 0px) !important;
    background: linear-gradient(180deg, rgba(0, 0, 0, .74) 0%, rgba(0, 0, 0, .18) 78%, transparent 100%) !important;
  }

  html body.elementor-page.elementor-page-11 .zenmotion-native-header.elementor-sticky--effects {
    background: #000 !important;
  }

  body.elementor-page-11 #hero-message .zenmotion-hero-heading .elementor-heading-title {
    max-width: 12ch !important;
    font-size: clamp(2.7rem, 12vw, 3.6rem) !important;
    line-height: .98 !important;
  }

  body.elementor-page-11 #hero-message .zenmotion-image-hero-value {
    max-width: 34ch !important;
    font-size: 1rem !important;
  }

  body.elementor-page-11 #hero-message .zenmotion-hero-actions,
  body.elementor-page-11 #hero-message .zenmotion-hero-actions > .e-con-inner,
  body.elementor-page-11 #hero-message .zenmotion-hero-actions .elementor-widget-button,
  body.elementor-page-11 #hero-message .zenmotion-hero-actions .elementor-button {
    width: 100% !important;
  }

  body.elementor-page-11 #photos .zenmotion-pro-carousel {
    border-radius: 20px !important;
  }

  body.elementor-page-11 #photos .zenmotion-pro-carousel .elementor-swiper-button {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.elementor-page-11 #photos .zenmotion-pro-carousel :is(.swiper-wrapper, .swiper-slide) {
    transition-duration: 0s !important;
  }
}

/* ZenMotion branded cover hero — 2026-09-03 */

/* Keep the generated 16:9 composition intact so its baked-in ZenMotion
   wordmark remains visible at the left instead of being cropped away. */
body.elementor-page-11 #hero.zenmotion-fullwidth-photo-hero {
  height: clamp(260px, 56.25vw, 900px) !important;
  min-height: 0 !important;
  max-height: 900px !important;
}

body.elementor-page-11 #hero.zenmotion-fullwidth-photo-hero > .e-con-inner,
body.elementor-page-11 #hero .zenmotion-fullwidth-hero-photo,
body.elementor-page-11 #hero .zenmotion-fullwidth-hero-photo > .e-con-inner,
body.elementor-page-11 #hero .zenmotion-fullwidth-hero-photo .elementor-widget-image,
body.elementor-page-11 #hero .zenmotion-fullwidth-hero-photo .elementor-widget-container {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}

body.elementor-page-11 #hero .zenmotion-fullwidth-hero-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 50% 45% !important;
}

/* The hero artwork already contains the large wordmark. Keep the native
   header's duplicate logo out of the opening frame, then restore it once
   the sticky header becomes an opaque navigation bar. */
body.elementor-page-11 .zenmotion-native-header:not(.elementor-sticky--effects) .zenmotion-wordmark {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.elementor-page-11 .zenmotion-native-header.elementor-sticky--effects .zenmotion-wordmark {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

@media (max-width: 462px) {
  body.elementor-page-11 #hero .zenmotion-fullwidth-hero-photo img {
    object-position: 55% 45% !important;
  }
}

/* ZenMotion mobile hero + hash-navigation repair — 2026-09-03
 * Root causes addressed:
 * 1. The 16:9 branded artwork was forced into a taller phone frame with cover,
 *    cropping 12–14% of its composed width.
 * 2. The header logo was hidden until Elementor's asynchronous effects class,
 *    while the header itself remained absolute. Fragment jumps could therefore
 *    move the navigation off-screen before the effects class arrived.
 */

/* Keep navigation pinned and complete before Elementor's sticky JS runs. */
html body.elementor-page.elementor-page-11 .zenmotion-native-header,
html body.elementor-page.elementor-page-11 .zenmotion-native-header.elementor-sticky--active,
html body.elementor-page.elementor-page-11 .zenmotion-native-header.elementor-sticky--effects {
  position: fixed !important;
  inset: 0 0 auto !important;
  width: 100% !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* Navigation must not depend on a delayed JS class for its identity to exist. */
html body.elementor-page.elementor-page-11 .zenmotion-native-header .zenmotion-wordmark,
html body.elementor-page.elementor-page-11 .zenmotion-native-header:not(.elementor-sticky--effects) .zenmotion-wordmark,
html body.elementor-page.elementor-page-11 .zenmotion-native-header.elementor-sticky--effects .zenmotion-wordmark {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Keep fragment headings below the fixed navigation instead of underneath it. */
body.elementor-page-11 :is(#approach, #photos, #services, #reviews, #book) {
  scroll-margin-top: 99px !important;
}

@media (max-width: 767px) {
  /* Mobile navigation becomes a stable black bar in normal document reading
     order; the hero begins immediately below it rather than behind it. */
  html body.elementor-page.elementor-page-11 .zenmotion-native-header,
  html body.elementor-page.elementor-page-11 .zenmotion-native-header.elementor-sticky--active,
  html body.elementor-page.elementor-page-11 .zenmotion-native-header.elementor-sticky--effects {
    background: #000 !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  body.elementor-page-11 #hero.zenmotion-fullwidth-photo-hero {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-top: calc(70px + env(safe-area-inset-top, 0px)) !important;
    aspect-ratio: 1601 / 900 !important;
  }

  body.elementor-page-11 #hero.zenmotion-fullwidth-photo-hero > .e-con-inner,
  body.elementor-page-11 #hero .zenmotion-fullwidth-hero-photo,
  body.elementor-page-11 #hero .zenmotion-fullwidth-hero-photo > .e-con-inner,
  body.elementor-page-11 #hero .zenmotion-fullwidth-hero-photo .elementor-widget-image,
  body.elementor-page-11 #hero .zenmotion-fullwidth-hero-photo .elementor-widget-container {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  body.elementor-page-11 #hero .zenmotion-fullwidth-hero-photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: 50% 50% !important;
  }

  body.elementor-page-11 :is(#approach, #photos, #services, #reviews, #book) {
    scroll-margin-top: calc(86px + env(safe-area-inset-top, 0px)) !important;
  }
}
