/* Sitewide safety net against text/layout overflowing the viewport width.
   overflow-x: clip (not hidden) on purpose — hidden forces the paired axis to
   compute as auto, which turns body into a scroll container and breaks the
   position: sticky elements used throughout this site (nav, bio sidebar, etc.). */
html,
body {
  overflow-x: clip;
}

body {
  overflow-wrap: break-word;
}

h1, h2, h3, h4, h5, h6,
p, blockquote,
.text-rich-text, .text-rich-text * {
  -webkit-hyphens: auto;
  hyphens: auto;
}

/* Short UI labels must stay on one line, never hyphenate/wrap — even though they
   inherit overflow-wrap: break-word from body as a fallback safety net above. */
.nav-link__label,
.nav-dropdown__link-label,
.lang-dropdown_code,
.nav-end .button {
  overflow-wrap: normal;
  white-space: nowrap;
}
