/* Global CSS Reset */

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html, body {
  width: 100%;
  max-width: 100vw;
  /* clip, not hidden: hidden turns body into a scroll container, which steals position: sticky and view() timelines from the viewport */
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  line-height: 1.6;
}

/* Prevent horizontal scrolling on all elements */
* {
  max-width: 100%;
}

/* Ensure images and media don't overflow */
img, video, iframe {
  max-width: 100%;
  height: auto;
}

/* Remove default margins and padding from common elements */
h1, h2, h3, h4, h5, h6, p, ul, ol, li, blockquote, figure {
  margin: 0;
  padding: 0;
}

/* Prevent text overflow */
* {
  word-wrap: break-word;
  overflow-wrap: break-word;
}

