@media (max-width: 960px) {
  .hero-grid,
  .grid-3 {
    grid-template-columns: 1fr 1fr;
  }

  .visual-grid-3 {
    grid-template-columns: 1fr 1fr;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }

  .lp-body .grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lp-body .visual-grid-3 {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 760px) {
  .header-inner {
    flex-wrap: wrap;
    align-items: center;
    min-height: 64px;
    padding: 0.6rem 0;
  }

  .nav-toggle {
    display: inline-flex;
  }

  .global-nav {
    width: 100%;
    display: none;
  }

  .global-nav.is-open {
    display: block;
  }

  .global-nav ul {
    flex-direction: column;
    border-top: 1px solid var(--color-border);
    padding-top: 0.8rem;
  }

  .hero {
    padding-top: 2.9rem;
  }

  .hero-grid,
  .grid-2,
  .grid-3,
  .footer-grid,
  .visual-grid,
  .visual-grid-3 {
    grid-template-columns: 1fr;
  }

  .hero-media img,
  .visual-frame img,
  .lp-body .hero-media img,
  .lp-body .visual-frame img {
    aspect-ratio: 1 / 1;
    max-height: 420px;
  }

  .button-row {
    flex-direction: column;
    align-items: stretch;
  }

  .btn {
    justify-content: center;
  }

  .cta-block {
    padding: 1.25rem;
  }

  .lp-body .hero-grid,
  .lp-body .grid-2,
  .lp-body .grid-3,
  .lp-body .visual-grid,
  .lp-body .visual-grid-3 {
    grid-template-columns: 1fr;
  }

  .lp-body .btn {
    width: 100%;
  }

  .lp-body .operator-list div {
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }

  section,
  .lp-body .section {
    padding: 2.35rem 0;
  }
}
