html,
body:has(> #ed-site) { max-width: 100%; overflow-x: clip; }
#ed-site { width: 100%; max-width: 100%; }
#ed-site img, #ed-site video, #ed-site iframe { max-width: 100%; }

@media (max-width: 700px) {
  #ed-site .hero > *,
  #ed-site .hero-copy,
  #ed-site .section-heading,
  #ed-site .product-panel > * {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  #ed-site .hero-copy {
    width: 88vw;
  }

  #ed-site h1 { max-width: 88vw; font-size: clamp(2.25rem, 10vw, 2.75rem); line-height: .98; letter-spacing: -.11rem; overflow-wrap: anywhere; }
  #ed-site h2 { font-size: clamp(2.25rem, 10vw, 2.75rem); letter-spacing: -.106rem; overflow-wrap: anywhere; }
  #ed-site .product-copy h3 { font-size: clamp(2rem, 9.2vw, 2.5rem); letter-spacing: -.0875rem; overflow-wrap: anywhere; }
  #ed-site header { gap: .75rem; }
  #ed-site .brand img { width: min(7.75rem, 36vw); }
  #ed-site .nav-toggle { flex: 0 0 auto; padding: .625rem .75rem; font-size: .75rem; }
  #ed-site .actions, #ed-site .hero-order { width: 100%; min-width: 0; flex-direction: column; align-items: flex-start; }
  #ed-site .button, #ed-site .text-link, #ed-site .hero-order span { max-width: 100%; white-space: normal; }
  #ed-site .tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .375rem; }
  #ed-site .tabs button { min-width: 0; padding-inline: .1875rem; white-space: normal; overflow-wrap: anywhere; }
  #ed-site .hero-art, #ed-site .product-art, #ed-site .menu-card, #ed-site .discover a { min-width: 0; max-width: 100%; }
}

@media (max-width: 380px) {
  #ed-site h1 { font-size: clamp(2.125rem, 9.8vw, 2.375rem); }
  #ed-site h2 { font-size: clamp(2.125rem, 9.8vw, 2.4375rem); }
  #ed-site header { padding-inline: 5%; }
  #ed-site .brand img { width: min(7.875rem, 40vw); }
}
