/* Guardrails for narrow viewports: never let content enlarge the document. */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

@supports (overflow: clip) {
  html,
  body {
    overflow-x: clip;
  }
}

main,
header,
footer,
section,
.hero-copy > div,
.split-copy,
.section-head,
.contact > div,
.details,
form,
.mobile-menu,
.mobile-menu nav,
.modal,
.modal-panel {
  min-width: 0;
}

img,
iframe,
input,
select,
textarea {
  max-width: 100%;
}

@media (max-width: 760px) {
  body {
    overflow-wrap: anywhere;
  }

  .mobile-menu {
    width: 100dvw;
    max-width: 100%;
    overflow-x: hidden;
  }

  .mobile-menu nav,
  .mobile-menu nav a,
  .mobile-menu .cta,
  .modal-panel,
  .modal iframe {
    max-width: 100%;
  }

  .mobile-menu nav a,
  .modal-fallback,
  .notice,
  form small {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .modal {
    width: 100dvw;
    max-width: 100%;
    overflow: hidden;
  }

  .modal-panel {
    width: 100%;
    overflow: hidden;
  }

  .modal iframe {
    display: block;
    min-width: 0;
  }
}
