/* ============================================
   DEVNOVA — RESPONSIVE
   Breakpoints: 1024px / 768px / 480px / 360px
   ============================================ */

/* ====== TABLET LARGO (≤ 1024px) ====== */
@media (max-width: 1024px) {
  .hero-grid {
    gap: 3rem;
  }

  .process-steps {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.25rem;
  }

  .float-card {
    right: 0;
    bottom: -20px;
  }
}

/* ====== TABLET (≤ 768px) ====== */
@media (max-width: 768px) {

  .nav-links { display: none; }
  .nav-toggle { display: flex; }

  #hero {
    padding-top: 7.5rem;
    padding-bottom: 4.5rem;
  }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: 3.25rem;
  }

  .hero-visual {
    max-width: 560px;
  }

  .setores-inner {
    flex-direction: column;
    gap: 0.65rem;
    align-items: flex-start;
  }

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

  .assurances {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .cta-inner {
    flex-direction: column;
    align-items: flex-start;
    padding: 2.75rem 2.25rem;
    gap: 1.75rem;
  }

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

  footer {
    flex-direction: column;
    gap: 0.5rem;
    text-align: center;
  }

  .form-row {
    grid-template-columns: 1fr;
  }
}

/* ====== MOBILE (≤ 480px) ====== */
@media (max-width: 480px) {

  .hero-title {
    letter-spacing: -1.2px;
  }

  .hero-actions {
    flex-direction: column;
  }

  .btn-primary,
  .btn-ghost,
  .btn-light,
  .submit-btn {
    width: 100%;
    text-align: center;
  }

  .hero-trust {
    flex-direction: column;
    gap: 0.6rem;
  }

  /* Maquete simplificada */
  .m-cards {
    grid-template-columns: repeat(2, 1fr);
  }
  .m-cards .m-card:nth-child(3) { display: none; }
  .m-links { display: none; }

  .float-card {
    position: static;
    margin-top: 14px;
    box-shadow: var(--shadow-sm);
  }

  .process-steps {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .cta-inner { padding: 2.25rem 1.5rem; }

  .contact-form { padding: 1.5rem 1.25rem; }
}

/* ====== MOBILE PEQUENO (≤ 360px) ====== */
@media (max-width: 360px) {
  .hero-title { font-size: 31px; }
}
