html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}

body { min-width: 0; }
main { width: 100%; max-width: 100%; overflow-x: hidden; }
img, video, svg { max-width: 100%; }
button, a { touch-action: manipulation; }

@supports (padding: max(0px)) {
  .site-header {
    padding-top: max(14px, env(safe-area-inset-top));
    padding-right: max(16px, env(safe-area-inset-right));
    padding-left: max(16px, env(safe-area-inset-left));
  }

  footer { padding-bottom: max(22px, env(safe-area-inset-bottom)); }
}

@media (max-width: 760px) {
  .hero-content { width: 100%; min-width: 0; }
  .event-lockup { width: 100%; max-width: 100%; min-width: 0; overflow: hidden; }
  .exhibition-logo { width: 100%; max-width: 100%; margin: -4% 0 -3%; }

  .event-section,
  .guest-section { grid-template-columns: minmax(0, 1fr); }

  .guest-section > *,
  .event-section > *,
  .access-grid > * { min-width: 0; max-width: 100%; }

  .event-details h2 {
    max-width: 100%;
    font-size: clamp(48px, 16vw, 72px);
    line-height: .78;
    overflow-wrap: anywhere;
  }

  form {
    width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
  }

  form label,
  form input { min-width: 0; }

  form input { font-size: 16px; }

  .footer-links { grid-template-columns: minmax(0, 1fr); }
  .footer-links a,
  .footer-links button {
    width: auto;
    max-width: 100%;
    overflow-wrap: anywhere;
    text-align: left;
  }
}

@media (max-width: 420px) {
  .exhibition-logo { width: 100%; margin-left: 0; margin-right: 0; }
}
