/* Gallery images should reveal once and remain visible after the scroll trigger. */
.waves-image-gallery-1 {
  transition: opacity 700ms ease, transform 700ms ease;
}

.waves-image-gallery-1.is-gallery-visible {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  visibility: visible !important;
}

/* Keep the footer wordmark inside the viewport on smaller screens. */
@media screen and (max-width: 767px) {
  .footer-bottom.font-zodiak {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }

  .footer-text {
    flex: 0 1 auto;
    max-width: 100%;
    white-space: nowrap;
    font-size: clamp(4rem, 15vw, 7rem);
    letter-spacing: -0.04em;
  }

  .footer-image {
    width: clamp(3rem, 11vw, 5rem);
    height: auto;
    flex: 0 0 auto;
  }
}

@media screen and (max-width: 479px) {
  .footer-image {
    display: none;
  }
}

/* The mobile menu has no useful links; keep only the contact CTA visible. */
@media screen and (max-width: 991px) {
  .w-nav[data-collapse="medium"] .nav-menu {
    display: flex !important;
    width: auto;
    padding: 0;
    background-color: transparent;
    border-radius: 0;
    overflow: visible;
  }

  .w-nav[data-collapse="medium"] .nav-menu_wrap {
    display: flex;
    flex-flow: row;
    width: auto;
    padding: 0;
    background-color: transparent;
    border-radius: 0;
    overflow: visible;
  }

  .w-nav[data-collapse="medium"] .nav-left,
  .w-nav[data-collapse="medium"] .nav_button {
    display: none !important;
  }

  .w-nav[data-collapse="medium"] .button.is-nav {
    display: flex;
  }
}

@media (prefers-reduced-motion: reduce) {
  .waves-image-gallery-1 {
    transition: none;
  }
}
