/* Mobile-only repair layer for scroll-bound visual sections. Desktop remains untouched. */
@media (max-width: 820px), (pointer: coarse) {
  html.is-mobile-performance body.services-page .services-flag-section,
  html.is-mobile-performance body.pricing-page .pricing-portal-section,
  html.is-mobile-performance body.about-page .about-galaxy-section,
  html.is-mobile-performance body.questions-page .questions-signal-section,
  html.is-mobile-performance body.contact-page .contact-launch-section {
    content-visibility: visible !important;
    contain: none !important;
    contain-intrinsic-size: auto !important;
    overflow-x: clip !important;
    overflow-y: visible !important;
  }

  html.is-mobile-performance body.pricing-page .mobile-persistent-model-section,
  html.is-mobile-performance body.about-page .mobile-persistent-model-section,
  html.is-mobile-performance body.questions-page .mobile-persistent-model-section,
  html.is-mobile-performance body.contact-page .mobile-persistent-model-section,
  html.is-mobile-performance body.pricing-page .mobile-persistent-model-layout,
  html.is-mobile-performance body.about-page .mobile-persistent-model-layout,
  html.is-mobile-performance body.questions-page .mobile-persistent-model-layout,
  html.is-mobile-performance body.contact-page .mobile-persistent-model-layout,
  html.is-mobile-performance body.pricing-page .mobile-persistent-model-visual,
  html.is-mobile-performance body.about-page .mobile-persistent-model-visual,
  html.is-mobile-performance body.questions-page .mobile-persistent-model-visual,
  html.is-mobile-performance body.contact-page .mobile-persistent-model-visual {
    content-visibility: visible !important;
    contain: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
  }

  html.is-mobile-performance body.pricing-page .mobile-persistent-model-visual > .luxury-scroll-sticky,
  html.is-mobile-performance body.about-page .mobile-persistent-model-visual > .luxury-scroll-sticky,
  html.is-mobile-performance body.questions-page .mobile-persistent-model-visual > .luxury-scroll-sticky,
  html.is-mobile-performance body.contact-page .mobile-persistent-model-visual > .luxury-scroll-sticky {
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
  }

  html.is-mobile-performance body.pricing-page .pricing-black-hole-portal,
  html.is-mobile-performance body.about-page .about-galaxy-formation,
  html.is-mobile-performance body.questions-page .questions-signal-hub,
  html.is-mobile-performance body.contact-page .contact-launch-sequence {
    opacity: 1 !important;
    visibility: visible !important;
    backface-visibility: hidden !important;
    transform-style: preserve-3d !important;
  }

  html.is-mobile-performance body.pricing-page .pricing-portal-section *,
  html.is-mobile-performance body.about-page .about-galaxy-section *,
  html.is-mobile-performance body.questions-page .questions-signal-section *,
  html.is-mobile-performance body.contact-page .contact-launch-section *,
  html.is-mobile-performance body.services-page .services-flag-section * {
    animation-play-state: running !important;
  }

  html.is-mobile-performance body.services-page .services-flag-stage {
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    contain: none !important;
  }

  html.is-mobile-performance body.services-page .services-flag-canvas {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 18rem !important;
    contain: paint !important;
  }

  html.is-mobile-performance body.questions-page .inner-luxury-model,
  html.is-mobile-performance body.questions-page .inner-luxury-model .luxury-scroll-layout,
  html.is-mobile-performance body.questions-page .inner-luxury-model .luxury-scroll-object,
  html.is-mobile-performance body.questions-page .inner-luxury-model .luxury-scroll-sticky {
    overflow: visible !important;
  }

  html.is-mobile-performance body.contact-page .launch-confirmation {
    opacity: calc(var(--launch-liftoff) * 0.9) !important;
    transform:
      translate(-50%, calc((1 - var(--launch-liftoff)) * 1.1rem))
      rotateX(-48deg)
      scale(calc(0.9 + var(--launch-liftoff) * 0.1)) !important;
    transition:
      opacity 360ms cubic-bezier(0.22, 0.61, 0.36, 1),
      transform 420ms cubic-bezier(0.22, 0.61, 0.36, 1) !important;
  }

  html.is-mobile-performance body.contact-page .contact-launch-section.is-launch-confirmed .launch-confirmation {
    opacity: 1 !important;
    transform:
      translate(-50%, 0)
      rotateX(-48deg)
      scale(1) !important;
  }

  html.is-mobile-performance .mobile-inner-model-follow-host {
    display: none;
    position: fixed !important;
    top: 0 !important;
    right: auto !important;
    bottom: auto !important;
    left: 0 !important;
    pointer-events: none !important;
    overflow: visible !important;
    contain: none !important;
    content-visibility: visible !important;
    transform: translate3d(0, 0, 0);
    will-change: transform;
  }

  html.is-mobile-performance .mobile-inner-model-follow-host .luxury-scroll-sticky {
    display: grid !important;
    place-items: center !important;
    overflow: visible !important;
    contain: none !important;
    content-visibility: visible !important;
    transform: translate3d(0, 0, 0);
    will-change: transform, opacity;
  }

  html.is-mobile-performance body.pricing-page .pricing-black-hole-portal,
  html.is-mobile-performance body.about-page .about-galaxy-formation,
  html.is-mobile-performance body.questions-page .questions-signal-hub,
  html.is-mobile-performance body.contact-page .contact-launch-sequence {
    opacity: 1 !important;
    visibility: visible !important;
    transform-origin: center center !important;
    transition:
      transform 120ms cubic-bezier(0.22, 0.61, 0.36, 1),
      opacity 120ms cubic-bezier(0.22, 0.61, 0.36, 1) !important;
  }

  html.is-mobile-performance body.pricing-page .pricing-black-hole-portal {
    width: min(10.8rem, 34vw) !important;
    transform:
      translate3d(0, 0, 0)
      scale(calc(0.9 + var(--portal-form) * 0.05)) !important;
  }

  html.is-mobile-performance body.pricing-page .portal-card-old,
  html.is-mobile-performance body.pricing-page .portal-card-new {
    width: min(6.7rem, 22vw) !important;
    min-height: 3.8rem !important;
  }

  html.is-mobile-performance body.pricing-page .portal-card-old-one {
    transform:
      translate3d(calc(var(--portal-pull) * 6.35rem), calc(var(--portal-pull) * 4.55rem), 0)
      rotate(calc(-12deg + var(--portal-pull) * 40deg))
      skewX(calc(var(--portal-pull) * -7deg))
      scale(calc(1 - var(--portal-pull) * 0.62)) !important;
  }

  html.is-mobile-performance body.pricing-page .portal-card-old-two {
    transform:
      translate3d(calc(var(--portal-pull) * -6.25rem), calc(var(--portal-pull) * 4.2rem), 0)
      rotate(calc(10deg + var(--portal-pull) * -38deg))
      skewX(calc(var(--portal-pull) * 7deg))
      scale(calc(1 - var(--portal-pull) * 0.6)) !important;
  }

  html.is-mobile-performance body.pricing-page .portal-final-presence {
    opacity: var(--portal-finish) !important;
    transform:
      translate(-50%, -50%)
      translate3d(0, calc((1 - var(--portal-finish)) * 0.7rem), 0)
      scale(calc(0.92 + var(--portal-finish) * 0.08)) !important;
  }

  html.is-mobile-performance body.about-page .about-galaxy-formation {
    width: min(10.9rem, 34vw) !important;
    transform:
      perspective(900px)
      rotateX(calc(48deg - var(--galaxy-form) * 48deg))
      rotateZ(calc(-12deg + var(--galaxy-progress) * 12deg))
      scale(calc(0.86 + var(--galaxy-form) * 0.06)) !important;
  }

  html.is-mobile-performance body.about-page .galaxy-service-points span {
    width: min(2.25rem, 7.4vw) !important;
    transform:
      rotate(var(--point-angle))
      translateX(min(6.5rem, 20vw))
      rotate(calc(var(--point-angle) * -1))
      scale(calc(0.82 + var(--galaxy-stable) * 0.18)) !important;
  }

  html.is-mobile-performance body.questions-page .questions-signal-hub {
    width: min(9.6rem, 30vw) !important;
    transform:
      translate3d(0, 0, 0)
      perspective(980px)
      rotateX(47deg)
      rotateZ(calc(-7deg + var(--signal-progress) * 7deg))
      scale(calc(0.84 + var(--signal-power) * 0.04)) !important;
  }

  html.is-mobile-performance body.questions-page .signal-console {
    width: min(10.8rem, 42vw) !important;
    min-height: 4.8rem !important;
  }

  html.is-mobile-performance body.questions-page .signal-beam,
  html.is-mobile-performance body.questions-page .signal-beam-particles,
  html.is-mobile-performance body.questions-page .signal-return {
    width: min(10.5rem, 28vw) !important;
  }

  html.is-mobile-performance body.questions-page .signal-hologram {
    right: -2% !important;
    width: min(5.8rem, 21vw) !important;
  }

  html.is-mobile-performance body.contact-page .contact-launch-sequence {
    width: min(9.2rem, 29vw) !important;
    transform:
      perspective(980px)
      rotateX(47deg)
      rotateZ(calc(-5deg + var(--launch-progress) * 6deg))
      scale(calc(0.78 + var(--launch-power) * 0.04)) !important;
  }

  html.is-mobile-performance body.contact-page .launch-rocket {
    width: min(4.9rem, 16vw) !important;
    height: min(10.8rem, 36vw) !important;
    transform:
      translate(-50%, -50%)
      rotateX(-50deg)
      translateY(calc(var(--launch-liftoff) * -9.6rem))
      translateZ(7rem)
      scale(calc(0.92 + var(--launch-ignite) * 0.04)) !important;
  }

  html.is-mobile-performance body.contact-page .launch-console {
    width: min(11.8rem, 44vw) !important;
    min-height: 4.9rem !important;
  }

  html.is-mobile-performance body.contact-page .launch-confirmation {
    width: min(10.2rem, 39vw) !important;
    opacity: calc(var(--launch-liftoff) * 0.96) !important;
  }
}

@media (min-width: 561px) and (max-width: 820px) {
  html.is-mobile-performance body.pricing-page .pricing-black-hole-portal,
  html.is-mobile-performance body.about-page .about-galaxy-formation {
    width: min(15.2rem, 30vw) !important;
  }

  html.is-mobile-performance body.questions-page .questions-signal-hub {
    width: min(13.2rem, 28vw) !important;
  }

  html.is-mobile-performance body.contact-page .contact-launch-sequence {
    width: min(12.6rem, 27vw) !important;
  }

  html.is-mobile-performance body.contact-page .launch-rocket {
    width: min(6.2rem, 14vw) !important;
    height: min(13.8rem, 31vw) !important;
  }
}

/* Restore the actual layered CSS-3D model treatment on inner mobile pages.
   Earlier mobile performance rules intentionally flattened filters/ambient
   loops; these page-scoped overrides keep the real model layer alive without
   changing Home or desktop. */
@media (max-width: 820px), (pointer: coarse) {
  html.is-mobile-performance body.pricing-page .pricing-black-hole-portal,
  html.is-mobile-performance body.about-page .about-galaxy-formation,
  html.is-mobile-performance body.questions-page .questions-signal-hub,
  html.is-mobile-performance body.contact-page .contact-launch-sequence {
    backface-visibility: hidden !important;
    transform-style: preserve-3d !important;
    will-change: transform, opacity !important;
  }

  html.is-mobile-performance body.pricing-page .pricing-black-hole-portal {
    filter:
      drop-shadow(0 24px 38px rgba(0, 0, 0, 0.42))
      drop-shadow(0 0 34px rgba(238, 201, 129, 0.11)) !important;
  }

  html.is-mobile-performance body.about-page .about-galaxy-formation {
    filter:
      drop-shadow(0 24px 40px rgba(0, 0, 0, 0.38))
      drop-shadow(0 0 30px rgba(238, 201, 129, 0.1)) !important;
  }

  html.is-mobile-performance body.questions-page .questions-signal-hub {
    filter:
      drop-shadow(0 22px 34px rgba(0, 0, 0, 0.38))
      drop-shadow(0 0 26px rgba(99, 223, 201, 0.1)) !important;
  }

  html.is-mobile-performance body.contact-page .contact-launch-sequence {
    filter:
      drop-shadow(0 24px 36px rgba(0, 0, 0, 0.4))
      drop-shadow(0 0 26px rgba(238, 201, 129, 0.12)) !important;
  }

  html.is-mobile-performance body.pricing-page .portal-disk {
    animation: portalDiskFlow 14s linear infinite !important;
  }

  html.is-mobile-performance body.pricing-page .portal-disk-hot {
    animation: portalHotFlow 8s ease-in-out infinite !important;
    filter: blur(0.4px) !important;
  }

  html.is-mobile-performance body.pricing-page .black-hole-disk-back {
    animation: blackHoleBackFlow 18s ease-in-out infinite !important;
    filter: url("#portalSoftGlow") !important;
  }

  html.is-mobile-performance body.pricing-page .black-hole-disk-front {
    animation: blackHoleFrontFlow 12s ease-in-out infinite !important;
    filter: url("#portalTightGlow") !important;
  }

  html.is-mobile-performance body.pricing-page .black-hole-disk-hotline {
    animation: blackHoleHotlineFlow 9s ease-in-out infinite !important;
  }

  html.is-mobile-performance body.pricing-page .portal-spiral-particles {
    opacity: calc(0.24 + var(--portal-form) * 0.56) !important;
  }

  html.is-mobile-performance body.questions-page .signal-ring {
    animation: signal-ring-breathe 7s ease-in-out infinite !important;
  }

  html.is-mobile-performance body.questions-page .signal-core-halo {
    animation: signal-core-flow 10s linear infinite !important;
  }

  html.is-mobile-performance body.questions-page .signal-hologram {
    animation: signal-hologram-float 5.8s ease-in-out infinite !important;
  }

  html.is-mobile-performance body.questions-page .signal-beam-particles {
    opacity: calc(var(--signal-launch) * 0.78) !important;
  }

  html.is-mobile-performance body.contact-page .launch-ring {
    animation: launch-ring-breathe 7s ease-in-out infinite !important;
  }

  html.is-mobile-performance body.contact-page .rocket-glow {
    animation: launch-glow-pulse 4.8s ease-in-out infinite !important;
  }

  html.is-mobile-performance body.contact-page .launch-starfield span {
    animation: launch-star-drift 9s ease-in-out infinite !important;
  }

  html.is-mobile-performance body.contact-page .launch-smoke {
    opacity: calc(var(--launch-ignite) * 0.7) !important;
  }
}

/* Mobile-only inner-page 3D rebuild: keep the real layered model in the
   section, anchored on the left, and drive it across one full five-step range.
   This intentionally excludes Home and desktop. */
@media (max-width: 820px), (pointer: coarse) {
  html.is-mobile-performance.inner-mobile-anchored-models body.pricing-page .inner-luxury-model,
  html.is-mobile-performance.inner-mobile-anchored-models body.about-page .inner-luxury-model,
  html.is-mobile-performance.inner-mobile-anchored-models body.questions-page .inner-luxury-model,
  html.is-mobile-performance.inner-mobile-anchored-models body.contact-page .inner-luxury-model {
    min-height: 440svh !important;
    overflow-x: clip !important;
    overflow-y: visible !important;
  }

  html.is-mobile-performance.inner-mobile-anchored-models body.pricing-page .inner-luxury-model > .container,
  html.is-mobile-performance.inner-mobile-anchored-models body.about-page .inner-luxury-model > .container,
  html.is-mobile-performance.inner-mobile-anchored-models body.questions-page .inner-luxury-model > .container,
  html.is-mobile-performance.inner-mobile-anchored-models body.contact-page .inner-luxury-model > .container,
  html.is-mobile-performance.inner-mobile-anchored-models body.pricing-page .mobile-persistent-model-layout,
  html.is-mobile-performance.inner-mobile-anchored-models body.about-page .mobile-persistent-model-layout,
  html.is-mobile-performance.inner-mobile-anchored-models body.questions-page .mobile-persistent-model-layout,
  html.is-mobile-performance.inner-mobile-anchored-models body.contact-page .mobile-persistent-model-layout {
    display: grid !important;
    grid-template-columns: minmax(8.2rem, 39vw) minmax(0, 1fr) !important;
    gap: clamp(0.6rem, 2.2vw, 1.15rem) !important;
    align-items: stretch !important;
    min-height: 440svh !important;
    overflow: visible !important;
    transform: none !important;
    perspective: none !important;
  }

  html.is-mobile-performance.inner-mobile-anchored-models body.pricing-page .mobile-persistent-model-visual,
  html.is-mobile-performance.inner-mobile-anchored-models body.about-page .mobile-persistent-model-visual,
  html.is-mobile-performance.inner-mobile-anchored-models body.questions-page .mobile-persistent-model-visual,
  html.is-mobile-performance.inner-mobile-anchored-models body.contact-page .mobile-persistent-model-visual {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: stretch !important;
    min-height: 440svh !important;
    position: relative !important;
    inset: auto !important;
    overflow: visible !important;
  }

  html.is-mobile-performance.inner-mobile-anchored-models body.pricing-page .mobile-persistent-model-visual > .luxury-scroll-sticky,
  html.is-mobile-performance.inner-mobile-anchored-models body.about-page .mobile-persistent-model-visual > .luxury-scroll-sticky,
  html.is-mobile-performance.inner-mobile-anchored-models body.questions-page .mobile-persistent-model-visual > .luxury-scroll-sticky,
  html.is-mobile-performance.inner-mobile-anchored-models body.contact-page .mobile-persistent-model-visual > .luxury-scroll-sticky {
    position: sticky !important;
    top: calc(var(--header-height) + 0.35rem) !important;
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    height: calc(100svh - var(--header-height) - 0.7rem) !important;
    min-height: 19rem !important;
    max-height: none !important;
    overflow: visible !important;
    contain: none !important;
    content-visibility: visible !important;
    perspective: 1000px !important;
    z-index: 7 !important;
    pointer-events: none !important;
    transform: translate3d(0, 0, 0) !important;
    will-change: transform, opacity !important;
  }

  html.is-mobile-performance.inner-mobile-anchored-models body.pricing-page .mobile-persistent-model-steps,
  html.is-mobile-performance.inner-mobile-anchored-models body.about-page .mobile-persistent-model-steps,
  html.is-mobile-performance.inner-mobile-anchored-models body.questions-page .mobile-persistent-model-steps,
  html.is-mobile-performance.inner-mobile-anchored-models body.contact-page .mobile-persistent-model-steps {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    padding: 9svh 0 12svh !important;
    position: relative !important;
    z-index: 8 !important;
    overflow: visible !important;
  }

  html.is-mobile-performance.inner-mobile-anchored-models body.pricing-page .inner-luxury-model .luxury-chapter,
  html.is-mobile-performance.inner-mobile-anchored-models body.about-page .inner-luxury-model .luxury-chapter,
  html.is-mobile-performance.inner-mobile-anchored-models body.questions-page .inner-luxury-model .luxury-chapter,
  html.is-mobile-performance.inner-mobile-anchored-models body.contact-page .inner-luxury-model .luxury-chapter {
    display: grid !important;
    align-content: center !important;
    min-height: 82svh !important;
    padding: 0.75rem 0 !important;
    overflow: visible !important;
  }

  html.is-mobile-performance.inner-mobile-anchored-models body.pricing-page .pricing-black-hole-portal,
  html.is-mobile-performance.inner-mobile-anchored-models body.about-page .about-galaxy-formation,
  html.is-mobile-performance.inner-mobile-anchored-models body.questions-page .questions-signal-hub,
  html.is-mobile-performance.inner-mobile-anchored-models body.contact-page .contact-launch-sequence {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform-origin: center center !important;
    transform-style: preserve-3d !important;
    will-change: transform, opacity !important;
  }

  html.is-mobile-performance.inner-mobile-anchored-models body.pricing-page .pricing-black-hole-portal {
    width: min(12.6rem, 38vw) !important;
    transform:
      translate3d(0, 0, 0)
      perspective(980px)
      rotateX(calc(8deg - var(--portal-finish) * 8deg))
      rotateZ(calc(-3deg + var(--portal-progress) * 6deg))
      scale(calc(0.91 + var(--portal-form) * 0.08)) !important;
  }

  html.is-mobile-performance.inner-mobile-anchored-models body.about-page .about-galaxy-formation {
    width: min(12.9rem, 39vw) !important;
    transform:
      perspective(920px)
      rotateX(calc(50deg - var(--galaxy-stable) * 50deg))
      rotateZ(calc(-14deg + var(--galaxy-progress) * 14deg))
      scale(calc(0.88 + var(--galaxy-form) * 0.08)) !important;
  }

  html.is-mobile-performance.inner-mobile-anchored-models body.questions-page .questions-signal-hub {
    width: min(11.3rem, 35vw) !important;
    transform:
      translate3d(0, 0, 0)
      perspective(980px)
      rotateX(47deg)
      rotateZ(calc(-9deg + var(--signal-progress) * 10deg))
      scale(calc(0.82 + var(--signal-power) * 0.06)) !important;
  }

  html.is-mobile-performance.inner-mobile-anchored-models body.contact-page .contact-launch-sequence {
    width: min(10.8rem, 34vw) !important;
    transform:
      perspective(980px)
      rotateX(47deg)
      rotateZ(calc(-6deg + var(--launch-progress) * 7deg))
      scale(calc(0.78 + var(--launch-power) * 0.06)) !important;
  }

  html.is-mobile-performance.inner-mobile-anchored-models body.contact-page .launch-rocket {
    width: min(5.2rem, 16vw) !important;
    height: min(11.5rem, 35vw) !important;
    transform:
      translate(-50%, -50%)
      rotateX(-50deg)
      translateY(calc(var(--launch-liftoff) * -10.8rem))
      translateZ(7rem)
      scale(calc(0.92 + var(--launch-ignite) * 0.05)) !important;
  }
}

@media (max-width: 430px) {
  html.is-mobile-performance.inner-mobile-anchored-models body.pricing-page .inner-luxury-model > .container,
  html.is-mobile-performance.inner-mobile-anchored-models body.about-page .inner-luxury-model > .container,
  html.is-mobile-performance.inner-mobile-anchored-models body.questions-page .inner-luxury-model > .container,
  html.is-mobile-performance.inner-mobile-anchored-models body.contact-page .inner-luxury-model > .container,
  html.is-mobile-performance.inner-mobile-anchored-models body.pricing-page .mobile-persistent-model-layout,
  html.is-mobile-performance.inner-mobile-anchored-models body.about-page .mobile-persistent-model-layout,
  html.is-mobile-performance.inner-mobile-anchored-models body.questions-page .mobile-persistent-model-layout,
  html.is-mobile-performance.inner-mobile-anchored-models body.contact-page .mobile-persistent-model-layout {
    grid-template-columns: minmax(7.8rem, 38vw) minmax(0, 1fr) !important;
    gap: 0.55rem !important;
  }

  html.is-mobile-performance.inner-mobile-anchored-models body.pricing-page .pricing-black-hole-portal {
    width: min(11.8rem, 37vw) !important;
  }

  html.is-mobile-performance.inner-mobile-anchored-models body.about-page .about-galaxy-formation {
    width: min(11.8rem, 38vw) !important;
  }

  html.is-mobile-performance.inner-mobile-anchored-models body.questions-page .questions-signal-hub {
    width: min(10.4rem, 34vw) !important;
  }

  html.is-mobile-performance.inner-mobile-anchored-models body.contact-page .contact-launch-sequence {
    width: min(10rem, 33vw) !important;
  }
}
