/* ============================================================
   RESPONSIVIDADE — Desktop / Tablet / Mobile
   ============================================================ */

/* ---------- Tablet (<= 1024px) ---------- */
@media (max-width: 1024px) {
  .container { padding-inline: 24px; }
  .section { padding-block: 96px; }

  .hero-grid { min-height: 74vh; }
  .hero-inner { min-height: 74vh; }

  .about-grid { grid-template-columns: 1fr; }
  .about-media { max-width: 340px; margin-inline: auto; }

  .cards-grid,
  .cards-grid-5,
  .cards-grid-3 { grid-template-columns: repeat(2, 1fr); }

  .method-steps { grid-template-columns: repeat(3, 1fr); }

  .case-study { padding: 40px; }
  .case-kpis { grid-template-columns: repeat(3, 1fr); }
}

/* ---------- Mobile (<= 768px) ---------- */
@media (max-width: 768px) {
  .main-nav {
    position: fixed;
    inset: 76px 0 0 0;
    background-color: var(--bg-primary);
    padding: 32px 24px;
    transform: translateY(-12px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
    overflow-y: auto;
  }
  .main-nav.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
  .main-nav ul { flex-direction: column; gap: 4px; }
  .main-nav a { display: block; padding: 14px 4px; font-size: 17px; border-bottom: 1px solid var(--border-subtle); }
  .menu-toggle { display: flex; }
  .lang-menu { right: -8px; }

  .hero-grid { min-height: 64vh; }
  .hero-inner { min-height: 64vh; justify-content: center; }
  .hero-media::after {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0.6) 55%, rgba(255, 255, 255, 0.68) 100%);
  }
  .hero-content { align-items: center; text-align: center; max-width: 340px; margin-inline: auto; }
  .hero-headline { font-size: clamp(19px, 6vw, 23px); }
  .hero-subheadline { max-width: 300px; }
  .hero-cta { flex-direction: column; width: 100%; justify-content: center; }
  .hero-cta .btn { width: 100%; }
  .hero-badges { flex-direction: column; align-items: center; justify-content: center; gap: 6px; }
  .hero-badges span[aria-hidden="true"] { display: none; }

  .cards-grid,
  .cards-grid-5,
  .cards-grid-3 { grid-template-columns: 1fr; }

  .method-steps { grid-template-columns: 1fr; }

  .case-study { padding: 28px; }
  .case-kpis { grid-template-columns: repeat(2, 1fr); }

  .footer-inner { flex-direction: column; }

  .timeline { margin-left: 4px; }
  .timeline-item { padding-left: 28px; }
}

/* ---------- Small mobile (<= 400px) ---------- */
@media (max-width: 400px) {
  .container { padding-inline: 18px; }
  .case-kpis { grid-template-columns: 1fr; }
}
