:root {
  --global-contact-bar-height: 54px;
  --global-contact-bar-width: min(100vw, 420px);
  --contact-widget-gap: 14px;
  --contact-tawk-gap: var(--contact-widget-gap);
}

.desktop-nav {
  min-width: 0;
}

.desktop-nav ul {
  flex-wrap: nowrap;
}

.desktop-nav a {
  white-space: nowrap;
}

.nav-shell > *,
.hero-grid > *,
.footer-inner > * {
  min-width: 0;
}

@media (min-width: 901px) {
  .desktop-nav ul {
    gap: clamp(7px, 1vw, 15px);
  }

  .desktop-nav a {
    padding-inline: 3px;
    font-size: clamp(0.64rem, 0.7vw, 0.75rem);
    white-space: nowrap;
  }
}

.mobile-contact {
  min-height: calc(var(--global-contact-bar-height) + env(safe-area-inset-bottom));
}

.mobile-contact .contact-button {
  min-height: var(--global-contact-bar-height);
}

.contact-dock {
  max-width: calc(100vw - 28px);
}

.footer-links a,
.contact-button,
.btn,
.page-navigation-link {
  overflow-wrap: anywhere;
}

.scope-link {
  margin: 22px 0 0;
  color: var(--muted);
}

.scope-link a {
  color: var(--white);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: var(--red);
  text-underline-offset: 4px;
}

.faq-more-group {
  margin-top: 10px;
  border-color: rgba(225, 43, 43, .4);
}

.faq-more-toggle {
  color: var(--white);
}

.faq-more-answer.is-open {
  display: block;
}

.faq-more-answer > .faq-list-secondary {
  padding-top: 4px;
}

@media (max-width: 1180px) {
  .desktop-nav {
    display: none !important;
  }

  .menu-toggle {
    display: block !important;
    flex: 0 0 auto;
  }

  .mobile-nav.is-open {
    display: block !important;
  }
}

@media (min-width: 1181px) {
  .desktop-nav {
    display: block !important;
  }

  .menu-toggle,
  .mobile-nav {
    display: none !important;
  }
}

@media (max-width: 760px) {
  body.has-mobile-contact {
    padding-bottom: calc(var(--global-contact-bar-height) + env(safe-area-inset-bottom));
  }

  .mobile-contact {
    width: 100%;
    max-width: 100vw;
  }
}

@media (max-width: 390px) {
  .mobile-contact .contact-button {
    font-size: .52rem;
  }
}
