/* Shared small-screen guardrails: long text must stay inside the viewport. */
@media (max-width: 620px) {
  html, body { width: 100%; max-width: 100%; overflow-x: clip; }
  .container, .contact-bar-inner, .header-inner, .site-search-form { min-width: 0; max-width: 100%; }

  .contact-bar-inner { padding-inline: 12px; gap: 5px; }
  .contact-bar-group { min-width: 0; flex-wrap: wrap; justify-content: center; }
  .contact-bar-email { min-width: 0; max-width: 100%; }
  .contact-bar-email span { min-width: 0; overflow-wrap: anywhere; word-break: break-word; }

  .header-inner { gap: 8px; padding-inline: 14px; }
  .logo { min-width: 0; max-width: calc(100vw - 70px); font-size: clamp(.84rem, 4vw, 1rem); line-height: 1.14; white-space: normal; }
  .logo span { min-width: 0; overflow-wrap: anywhere; }
  .nav-toggle { flex: 0 0 40px; }

  .site-search-row .container { padding-inline: 12px; }
  .site-search-form { min-width: 0; padding-left: 12px; }
  .site-search-form input { width: 0; min-width: 0; font-size: 16px; }
  .site-search-form button { flex: 0 0 auto; }

  h1, h2, h3, h4, p, li, dd, dt, label, small, .btn { overflow-wrap: anywhere; }
  .btn { white-space: normal; }
}
