body { overflow-x: hidden; }
img { display: block; max-width: 100%; }
.hero-copy, .hero-visual, .product-card { min-width: 0; }

@media (max-width: 680px) {
  .menu-toggle { display: block; flex: 0 0 auto; }
  .menu-toggle span { width: 23px; background: var(--mint); }
  .hero h1 { max-width: 100%; font-size: 39px; letter-spacing: -2.7px; overflow-wrap: break-word; }
  .hero-visual { width: 100%; }
  .hero-visual img { width: 100%; height: 100%; }
  .hero-intro, .finder { max-width: 100%; }
  .trust-row { flex-wrap: wrap; }
  .setup-grid, .product-grid, .tip-grid { grid-template-columns: minmax(0, 1fr); }
}
