@media (max-width: 1080px) {
  .hero,
  .audiences,
  .pricing,
  .review-grid,
  .faq-contact {
    grid-template-columns: 1fr;
  }
  .product-stage {
    min-height: 560px;
  }
  .capability-grid,
  .boundary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .price-card {
    position: static;
  }
}
@media (max-width: 760px) {
  .topbar {
    padding: 12px 16px;
  }
  .menu-toggle {
    display: block;
  }
  .nav {
    position: fixed;
    inset: 67px 12px auto 12px;
    z-index: 30;
    display: none;
    flex-direction: column;
    align-items: stretch;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 10px;
    background: #fff;
    box-shadow: var(--shadow);
  }
  .nav.open {
    display: flex;
  }
  .nav a {
    padding: 13px;
  }
  .right-actions .btn {
    display: none;
  }
  .lang summary {
    min-width: 88px;
    padding-inline: 8px;
  }
  section {
    padding: 52px 16px;
  }
  .hero {
    min-height: auto;
  }
  .hero-actions .btn {
    flex: 1 1 100%;
  }
  h1 {
    font-size: clamp(36px, 13vw, 52px);
  }
  .lead {
    font-size: 17px;
  }
  .facts-strip,
  .split-card,
  .capability-grid,
  .boundary-grid,
  .steps {
    grid-template-columns: 1fr;
  }
  .product-stage {
    min-height: auto;
  }
  .operator-board,
  .qr-card,
  .admin-card {
    position: relative;
    inset: auto;
    left: auto;
    right: auto;
    bottom: auto;
    transform: none;
    width: 100%;
    margin-top: 12px;
  }
  .dish-row {
    grid-template-columns: 42px minmax(0, 1fr);
  }
  .dish-row strong:last-child {
    grid-column: 2;
  }
  .qr {
    max-width: 190px;
    margin: 0 auto;
  }
  .route-card {
    grid-template-columns: minmax(0, 1fr);
  }
  .step {
    min-height: auto;
  }
  footer {
    grid-template-columns: 1fr;
  }
}
.reveal-target {
  opacity: 0;
  transform: translate3d(0, 22px, 0);
  transition:
    opacity 720ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 720ms cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
.reveal-target.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
(prefers-reduced-motion: reduce) {
  .reveal-target {
    opacity: 1;
    transform: none;
    transition: none;
    will-change: auto;
  }
}
