/* Technical additions; the original Webflow styles and animations stay intact. */
/* Bind the template's z-index:100 to the whole header, including its menu. */
.header { position: relative; }
/* Reserve the original mark's ratio before image loading. A fixed CSS ratio
   also avoids subpixel shifts between rounded responsive raster dimensions. */
.navbar-logo-image { aspect-ratio: 936 / 891; height: auto; }
.fm-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.fm-skip-link {
  position: fixed;
  top: .75rem;
  left: .75rem;
  z-index: 9999;
  padding: .75rem 1rem;
  background: #00d9cc;
  color: #111;
  transform: translateY(-200%);
}
.fm-skip-link:focus { transform: translateY(0); }
a:focus-visible, button:focus-visible, [role="button"]:focus-visible,
input:focus-visible, textarea:focus-visible {
  outline: 3px solid #00d9cc;
  outline-offset: 4px;
}
.home-hero-subheading._1 { margin-top: 0; margin-bottom: 0; }
.contact-hero-grid-right .link-2 { overflow-wrap: anywhere; }
.contact-hero-grid-left .link-2 { overflow-wrap: anywhere; }
.section-contact-hero .link-2 { overflow-wrap: anywhere; }
@media (max-width: 479px) {
  .home-services-grid._3x { grid-template-columns: minmax(0, 1fr); }
  .home-services-card-wrapper { min-width: 0; }
  .home-services-item-heading .heading-h3 { overflow-wrap: anywhere; }
}
