html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

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

@media (max-width: 900px) {
  .site-header {
    width: 100%;
    max-width: 100%;
  }

  .hero {
    width: 100%;
    max-width: 100vw;
    grid-template-columns: minmax(0, 1fr);
  }

  .hero > *,
  .hero-copy {
    min-width: 0;
  }

  .hero-intro {
    width: 100%;
    max-width: 100%;
  }

  main,
  section,
  footer,
  .gallery-showcase,
  .gallery-previews {
    min-width: 0;
    max-width: 100%;
  }

  .gallery-previews,
  .filter-list {
    overscroll-behavior-inline: contain;
  }
}

@media (max-width: 600px) {
  .hero h1 {
    max-width: 330px;
    font-size: 4rem;
  }

  .filter-list {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
  }

  .gallery-previews {
    width: 100%;
  }

  .floating-wishlist {
    max-width: calc(100% - 24px);
  }

  .section-heading h2 {
    max-width: 100%;
    font-size: clamp(2.65rem, 13vw, 3.35rem);
    overflow-wrap: anywhere;
  }

  .game-info {
    min-width: 0;
  }

  .game-info h3 {
    overflow-wrap: anywhere;
  }

  .game-links {
    width: 100%;
  }

  .game-links .button {
    width: 100%;
    justify-content: space-between;
  }

  .contact-row,
  .contact-row > * {
    min-width: 0;
    max-width: 100%;
  }

  .contact-row h2 {
    font-size: clamp(3rem, 15vw, 3.8rem);
    overflow-wrap: anywhere;
  }

  .email-link {
    max-width: 100%;
    overflow-wrap: anywhere;
  }
}
