@media (max-width: 980px) {
  .hero-product__grid,
  .download-register__grid,
  .partners-layout,
  .premium-panel,
  .support-grid,
  .phone-showcase {
    grid-template-columns: 1fr;
  }
  .phone-frame--hero { width: min(260px, 72vw); }
  .phone-showcase .phone-frame {
    max-width: 280px;
    margin: 0 auto;
  }
  .phone-frame--center { order: -1; }
  .premium-list {
    grid-template-columns: 1fr;
  }
  .premium-panel {
    padding: 28px 24px;
  }
  .cards-3,
  .steps {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .wrap {
    padding-left: max(var(--page-gutter), env(safe-area-inset-left, 0px));
    padding-right: max(var(--page-gutter), env(safe-area-inset-right, 0px));
  }

  .section { padding: 56px 0; }
  .section-download { padding: 56px 0 72px; }
  .hero-product {
    padding: calc(var(--header-h) + 28px) 0 48px;
    min-height: auto;
  }
  .partners-panel,
  .premium-panel,
  .download-register-panel {
    padding: 24px 20px;
  }

  .partners-layout {
    gap: 32px;
  }

  .partners-device {
    width: 100%;
    margin: 0;
  }
  .cards-3,
  .steps { grid-template-columns: 1fr; }
  .download-register__grid { gap: 28px; }
  .download-register__stores {
    padding: 20px;
    align-items: stretch;
  }

  .store-badge--apple img { height: 40px; }
  .store-badge--google img { height: 58px; }

  .logo-wordmark { display: none; }

  /* Mockup mobile — dritti, full width; animazioni solo su desktop */
  .phone-showcase {
    display: grid;
    grid-template-columns: 1fr;
    gap: 36px;
    width: 100%;
    margin-top: 28px;
  }

  .phone-frame,
  .phone-frame--hero,
  .phone-frame--center,
  .phone-frame--partner,
  .phone-showcase .phone-frame {
    width: 100%;
    max-width: none;
    transform: none !important;
    animation: none !important;
    border-radius: 18px;
  }

  .hero-product__device,
  .phone-showcase,
  .partners-device {
    width: 100%;
  }

}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .reveal { opacity: 1; transform: none; }
}
