/* ═══════════════════════════════════════════
   LOFFICINA — Responsive
   ═══════════════════════════════════════════ */

@media (max-width: 1024px) {
  .services-grid, .why-grid { grid-template-columns: repeat(2, 1fr); }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .contact-grid { gap: 2.5rem; }
}

@media (max-width: 768px) {
  :root { font-size: 15px; }

  .container { padding: 0 1.25rem; }
  .section { padding: 4.5rem 0; }

  .topbar { display: none; }

  .nav { display: none; }

  .nav.open {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: rgba(5,5,5,0.98);
    backdrop-filter: blur(20px);
    padding: 1.5rem 1.25rem;
    gap: 1rem;
    border-bottom: 1px solid var(--border);
  }

  .header__cta-mobile { display: block; }

  .mobile-toggle { display: block; }

  .hero__slide { min-height: 300px; }
  .hero__controls { margin-top: 2rem; }
  .hero__arrow { width: 38px; height: 38px; font-size: 0.75rem; }

  .services-grid, .why-grid, .testimonials-grid { grid-template-columns: 1fr; }

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

  .contact-grid { grid-template-columns: 1fr; gap: 2.5rem; }

  .contact-form { padding: 1.5rem; }

  .footer__grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .footer__bottom { flex-direction: column; align-items: flex-start; }

  .whatsapp-float { bottom: 1.5rem; right: 1.5rem; width: 50px; height: 50px; font-size: 1.25rem; }
  .scroll-top { bottom: 1.5rem; left: 1.5rem; width: 40px; height: 40px; font-size: 0.8rem; }

  .brand-statement { padding: 5rem 0; }

  .section__header { margin-bottom: 2.5rem; }
}

@media (max-width: 480px) {
  .footer__grid { grid-template-columns: 1fr; }
  .hero__title { font-size: clamp(2rem, 8vw, 2.5rem); }
}
