/* =========================================================
   RIVERA PIANO STUDIOS — RESPONSIVE
   ========================================================= */

@media (max-width: 1024px){
  .card-grid{ grid-template-columns: repeat(2, 1fr); }
  .feature-grid{ grid-template-columns: 1fr; }
  .hero-grid{ grid-template-columns: 1fr; }
  .hero-visual{ order:-1; aspect-ratio: 16/10; }
  .footer-grid{ grid-template-columns: 1fr 1fr; gap: 40px; }
  .gallery-grid{ grid-template-columns: repeat(2, 1fr); }
  .contact-grid{ grid-template-columns: 1fr; }
}

@media (max-width: 860px){
  .nav-links{
    position: fixed;
    top: 0; right: 0;
    height: 100vh;
    width: min(320px, 80vw);
    background: var(--ivory);
    flex-direction: column;
    justify-content:center;
    align-items:flex-start;
    padding: 60px 44px;
    gap: 30px;
    transform: translateX(100%);
    transition: transform 0.4s var(--ease);
    box-shadow: var(--shadow-deep);
  }
  .nav-links.open{ transform: translateX(0); }
  .nav-toggle{ display:flex; }
  .nav-phone{ display:none; }
  .section{ padding: 80px 0; }
  .pricing-grid{ grid-template-columns: 1fr; }
}

@media (max-width: 640px){
  .container{ padding: 0 22px; }
  .card-grid{ grid-template-columns: 1fr; }
  .gallery-grid{ grid-template-columns: 1fr 1fr; }
  .footer-grid{ grid-template-columns: 1fr; gap: 34px; }
  .footer-bottom{ flex-direction:column; align-items:flex-start; }
  .form-grid{ grid-template-columns: 1fr; }
  .trust-row{ flex-direction:column; align-items:flex-start; }
  .hero{ padding-top: 120px; }
  .btn{ padding: 14px 26px; font-size: 0.78rem; }
  .thread::before{ display:none; }
}
