.contact-clientsay-stack {
  position: relative;
  isolation: isolate;
}

.contact-clientsay-stack__bg {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  margin-bottom: -100dvh;
  z-index: 0;
  background: url("../img/contactUsSec.png") 68% center / cover no-repeat;
  background-color: transparent;
  pointer-events: none;
}

.contact-clientsay-stack #contact-section {
  position: relative;
  z-index: 1;
}

.contact-clientsay-stack #clientsay-section {
  position: relative;
  z-index: 2;
}

/* Pin Client Say for 100vh scroll, then release for footer overlay */
.clientsay-pin {
  position: relative;
  z-index: 2;
  height: 200vh;
  height: calc(100dvh + 100dvh);
}

.clientsay-pin .clientsay {
  position: sticky;
  top: 0;
  height: 100vh;
  height: 100dvh;
  min-height: 100vh;
  min-height: 100dvh;
  max-height: 100vh;
  max-height: 100dvh;
}

/* Footer slides up over pinned Client Say (no parallax on Client Say) */
#footer-section {
  position: relative;
  z-index: 10;
  margin-top: -100vh;
  margin-top: -100dvh;
}

@media (max-width: 900px) {
  .contact-clientsay-stack__bg {
    position: relative;
    top: auto;
    height: min(56vh, 420px);
    min-height: 280px;
    margin-bottom: 0;
    background-position: center center;
  }

  .clientsay-pin {
    height: auto;
  }

  .clientsay-pin .clientsay {
    position: relative;
    top: auto;
    height: auto;
    min-height: auto;
    max-height: none;
  }

  #footer-section {
    margin-top: 0;
  }
}

@media (max-width: 768px) {
  .contact-clientsay-stack__bg {
    height: min(50vh, 360px);
    min-height: 240px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-footer-wrap,
  .site-footer-wrap.is-footer-parallax {
    transform: none !important;
    transition: none !important;
  }
}
