html, body { overflow-x: hidden; }

@media (min-width: 721px) and (max-width: 1100px) {
  .hero { min-height: calc(116svh + 140px); padding: 22px 24px; }
  .nav { font-size: 15px; }
  .nav a:last-child { font-size: 15px; }
  .wordmark { font-size: 22px; }
  .hero-copy { left: 7vw; }
  .hero h1 { font-size: clamp(88px, 14vw, 145px); }
  .hero-copy .eyebrow { font-size: 13px; }
  .intro { max-width: 310px; font-size: 18px; }
  .scroll { font-size: 16px; }
  .hero-films { display: block; }
  .hero-film { width: clamp(235px, 31vw, 330px); aspect-ratio: 3 / 5; }
  .hero-film--one { top: 10vh; right: 20vw; }
  .hero-film--two { top: 54vh; right: 4vw; }
  .edition { font-size: 14px; right: 18px; bottom: 20px; }
  .drop { grid-template-columns: 1fr; }
  .product-image { min-height: 620px; }
  .product-info { min-height: auto; padding: 72px clamp(32px, 9vw, 90px); }
  .product-info h2 { font-size: clamp(74px, 12vw, 122px); }
  .description { max-width: 560px; }
  .film-heading { display: block; }
}

@media (max-width: 720px) {
  .hero { min-height: 112svh; padding: 18px; }
  .nav { gap: 8px; font-size: 10px; }
  .nav > span { display: block; font-size: 10px; }
  .nav a:last-child { font-size: 10px; }
  .wordmark { font-size: 22px; }
  .hero-copy { top: 54%; left: 18px; width: 64%; transform: translateY(-50%); }
  .hero-copy .eyebrow { margin-bottom: 14px; font-size: 10px; line-height: 1.3; }
  .hero h1 { font-size: clamp(72px, 20vw, 100px); line-height: .74; }
  .intro { max-width: 220px; margin: 30px 0 22px; font-size: 15px; }
  .scroll { font-size: 13px; border-bottom-width: 2px; }
  .scroll span { margin-left: 16px; font-size: 20px; }
  .hero-films { display: block; }
  .hero-film { width: clamp(132px, 37vw, 180px); aspect-ratio: 3 / 5; }
  .hero-film--one { top: 10vh; right: 4vw; }
  .hero-film--two { top: 55vh; right: 14vw; }
  .edition { font-size: 10px; right: 12px; bottom: 15px; }
  .drop { grid-template-columns: 1fr; }
  .product-image { min-height: 390px; }
  .product-image img { width: min(100%, 540px); }
  .product-info { min-height: auto; padding: 52px 18px 60px; }
  .product-info h2 { font-size: clamp(58px, 17vw, 86px); }
  .description { margin: 36px 0 25px; font-size: 17px; }
  .details { font-size: 10px; }
  .sizes { flex-wrap: wrap; gap: 8px; padding-top: 24px; }
  .sizes button { width: 46px; height: 46px; font-size: 13px; }
  .size-guide-trigger { margin-bottom: 24px; font-size: 11px; }
  .cart { padding: 17px; font-size: 13px; }
  .fineprint { font-size: 10px; }
  .manifesto { min-height: 38svh; padding: 14vw 7vw; }
  .manifesto p { font-size: clamp(37px, 11vw, 62px); }
  footer { gap: 12px; padding: 18px; font-size: 9px; }
  .legal-links { gap: 8px 12px; }
  .cookie-banner { max-width: none; }
  .size-guide-dialog { width: calc(100vw - 20px); max-height: calc(100vh - 20px); overflow-y: auto; overflow-x: hidden; }
  .size-guide-panel { padding: 44px 16px 20px; }
  .size-guide-panel h2 { white-space: normal; font-size: clamp(28px, 9vw, 46px); }
  .size-guide-content { grid-template-columns: 1fr; gap: 24px; }
  .size-guide-content img { max-width: 360px; margin: 0 auto; }
  .size-guide-table { font-size: 9px; }
  .size-guide-table th, .size-guide-table td { padding: 8px 2px; }
}

@media (max-width: 380px) {
  .nav > span { display: none; }
  .hero-copy { width: 67%; }
  .hero-film { width: 128px; }
  .hero-film--two { right: 10vw; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
