/* Base responsive helpers */
html {
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body {
  overflow-x: hidden;
}

/* Prevent long words from breaking layout on small screens */
h1, h2, h3, h4, p {
  overflow-wrap: break-word;
}

/* Mobile nav open state */
#main-nav.is-open {
  display: flex;
}

/* Larger tap targets on touch devices */
@media (hover: none) and (pointer: coarse) {
  #main-nav a {
    min-height: 2.75rem;
  }
}
