/* Equal navbar gutters. Keep links beside the logo and the original menu motion. */
nav.framer-8Y4uB .framer-13o8dgw {
  width: 100% !important;
  max-width: 100%;
  min-width: 0;
  gap: 24px !important;
  justify-content: space-between !important;
}

/* Remove the empty horizontal space around the contained logo image. */
nav.framer-8Y4uB .framer-1ibsv5n-container {
  width: 113px !important;
  flex-shrink: 0;
}

nav.framer-8Y4uB .framer-1ibsv5n-container img {
  object-position: left center !important;
}

nav.framer-8Y4uB .framer-19f69p3 {
  flex: 0 1 auto;
  min-width: 0;
  justify-content: flex-start !important;
}

nav.framer-8Y4uB .framer-1k12k8k {
  flex-shrink: 0;
}

@media (max-width: 809px) {
  nav.framer-8Y4uB .framer-1ibsv5n-container {
    width: 74px !important;
  }
}

/* About page: keep the small section label, remove the oversized title. */
#our-numbers .framer-hfp9k9 h2 {
  display: none !important;
}

/* Keep the footer photograph visible above the decorative texture layer. */
footer .framer-f2tb4,
footer .framer-f2tb4 > div,
footer .framer-f2tb4 img {
  opacity: 1 !important;
  visibility: visible !important;
}

footer .framer-f2tb4 {
  position: relative;
  z-index: 2 !important;
}

/* Framer's mobile variant places this photo 551px above its wrapper, which
   clips it out of the footer. Put it inside the mobile footer instead. */
@media (max-width: 809px) {
  /* Services hero: preserve the complete 16:9 photograph on phones. */
  .framer-o0jisq .framer-vrphhr,
  .framer-o0jisq .framer-b9t8lt {
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
  }

  .framer-o0jisq .framer-b9t8lt img {
    object-fit: contain !important;
  }

  /* Work cards: allow long YouTube titles to wrap instead of being clipped. */
  .framer-1m4titr {
    height: auto !important;
    min-height: 50px;
  }

  .framer-1m4titr h3 {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    line-height: 1.2 !important;
  }

  /* Two compact columns: Pages / Other Pages, then Social / photo. */
  footer.framer-2pDNd .framer-4849xw {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 20px !important;
    row-gap: 32px !important;
    height: auto !important;
    min-height: 0 !important;
    align-content: start !important;
  }

  footer.framer-2pDNd .framer-1vvudzo,
  footer.framer-2pDNd .framer-1s1lcuo,
  footer.framer-2pDNd .framer-1dz9j8c {
    width: auto !important;
    min-width: 0 !important;
  }

  footer.framer-2pDNd .framer-f2tb4 {
    position: absolute !important;
    top: 193px !important;
    left: auto !important;
    right: 0 !important;
    width: 160px !important;
    height: 132px !important;
  }
}
