/* ===== Tablet ===== */
@media (max-width: 980px) {
  .cards-grid,
  .news-grid,
  .leaders-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .how-grid { grid-template-columns: 1fr; gap: 1.6rem; }
  .getstarted-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .footer-inner { grid-template-columns: 1fr 1fr; }
}

/* ===== Mobile ===== */
@media (max-width: 768px) {
  /* Menu mobile */
  .nav {
    display: none;
    position: absolute;
    top: var(--header-h);
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    background: var(--white);
    border-bottom: 1px solid var(--border);
    padding: 0.5rem 24px 1.2rem;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
  }
  .nav.is-open { display: flex; }
  .nav a { width: 100%; padding: 0.9rem 0; font-size: 1.1rem; }
  .nav-toggle { display: flex; }

  /* Đổi nút hamburger thành dấu X khi mở */
  .nav-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav-toggle.is-open span:nth-child(2) { opacity: 0; }
  .nav-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  /* Lưới/flex về 1 cột */
  .cards-grid,
  .leaders-grid { grid-template-columns: 1fr; }
  .platform-grid { flex-direction: column; gap: 2.5rem; }
  .news-grid { flex-direction: column; }
  .solutions-head { flex-direction: column; gap: 1.5rem; }
  .solutions-head > :first-child { flex-basis: auto; }
  .platform-intro, .platform-cards { max-width: none; }
  .getstarted-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .form-row { grid-template-columns: 1fr; }

  /* Hero xếp dọc: logo trên, chữ dưới */
  .hero { padding-block: 3.5rem; }
  .hero-inner { flex-direction: column; gap: 2.5rem; }
  .hero-logo-col { flex-basis: auto; width: 130px; }
  .hero-title { font-size: 34px; line-height: 1.1; }
  .hero-title .serif { font-size: 46px; line-height: 1.05; }

  /* Footer */
  .footer-inner { grid-template-columns: 1fr; gap: 2rem; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .legal { flex-wrap: wrap; gap: 1rem; }
}

/* ===== Mobile nhỏ ===== */
@media (max-width: 480px) {
  .container { padding-inline: 18px; }
  .feature-card,
  .card-body { padding: 1.5rem; }
}
