/* --- Responsive --- */
@media (max-width: 992px) {
  .hero-content {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 50px;
  }
  .hero-text { text-align: center; }
  .hero-sub { margin: 0 auto 36px; }
  .cta-group { justify-content: center; }
  .hero-label { margin: 0 auto 24px; }
  .hero-proof { text-align: center; }
  .nav-links { display: none; }
  .hamburger { display: flex; }
  .mascot-content { grid-template-columns: 1fr; text-align: center; padding: 36px 28px; }
  .about-content { grid-template-columns: 1fr; text-align: center; }
  .testimonials-grid { grid-template-columns: repeat(2, 1fr); }
  .patch-gallery { overflow-x: auto; }
  .patch-track { padding: 0 24px; }
  .hero-phones { width: 300px; height: 420px; }
  .hero-phones .phone-bezel { width: 190px; padding: 4px; border-radius: 18px; }
  .hero-phones .phone-back .phone-bezel { width: 155px; padding: 4px; border-radius: 18px; }
}

@media (max-width: 768px) {
  .features-grid { grid-template-columns: 1fr; }
  .testimonials-grid { grid-template-columns: 1fr; }
  .feature-card-hero { flex-direction: column; align-items: flex-start; }
  .feature-card-hero .feature-card-hero-inner { flex-direction: column; }
  .patch-gallery { overflow-x: auto; }
  .roadmap-steps { flex-direction: column; align-items: center; gap: 16px; }
  .step-divider { width: 40px; height: 2px; }
  .hero h1 { font-size: 2.5rem; }
  .hero-phones { width: 260px; height: 370px; }
  .hero-phones .phone-bezel { width: 170px; padding: 4px; border-radius: 16px; }
  .hero-phones .phone-back .phone-bezel { width: 140px; padding: 4px; border-radius: 16px; }
  .phone-carousel { gap: 20px; }
  .carousel-phone .phone-bezel { width: 160px; }
  .footer-bottom {
    flex-direction: column;
    gap: 8px;
    text-align: center;
  }
  .subpage { padding: 40px 20px 60px; }
  .subpage-content { padding: 24px; }
  .subpage-content h1 { font-size: 1.75rem; }
  .subpage-content h2 { font-size: 1.125rem; margin-top: 1.5rem; }
}

@media (max-width: 480px) {
  .patch-gallery { overflow-x: auto; }
  .patch-card { width: 140px; padding: 16px 14px; }
  .patch-card img { width: 80px; height: 80px; }
  .hero-phones { width: 280px; height: 340px; }
  .hero-phones .phone-front .phone-bezel { width: 145px; padding: 3px; border-radius: 14px; }
  .hero-phones .phone-back { top: 20px; opacity: 0.55; }
  .hero-phones .phone-back .phone-bezel { width: 115px; padding: 3px; border-radius: 12px; }
  .hero-phones .phone-back-left { left: 5px; transform: rotate(-5deg); }
  .hero-phones .phone-back-right { right: 5px; transform: rotate(5deg); }
  .phone-carousel { gap: 16px; }
  .carousel-phone .phone-bezel { width: 140px; }
  .subpage { padding: 24px 16px 48px; }
}
