/* ══════════════════════════════════════════════
   NXTHARBOR — RESPONSIVE STYLES
   ══════════════════════════════════════════════ */

/* ── TABLET (≤ 1024px) ────────────────────────────────── */
@media (max-width: 1024px) {
  .service-block {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .contact-page-wrap {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

/* ── MOBILE (≤ 768px) ─────────────────────────────────── */
@media (max-width: 768px) {
  .top-nav {
    padding: 10px 16px;
    flex-wrap: nowrap;
    align-items: center;
  }

  .nav-links,
  .nav-auth {
    display: none;
    flex-direction: column;
    width: 100%;
    gap: 16px;
    padding: 16px 0 8px;
  }
  .nav-links.open,
  .nav-auth.open { display: flex; }
  .nav-toggle { display: flex; }

  .nav-pill { display: none; }

  /* Make nav wrap on mobile */
  .top-nav {
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .nav-row {
    width: 100%;
  }

  .hero { padding: 90px 20px 60px; }
  .hero-logo .logo-nxt,
  .hero-logo .logo-har { font-size: 2.2rem; }

  .two-col {
    grid-template-columns: 1fr;
    gap: 36px;
    padding: 52px 20px;
  }

  .cards-section { padding: 0 20px 52px; }

  .ig-section {
    grid-template-columns: 1fr;
    padding: 0 20px 52px;
  }

  .reg-inner { grid-template-columns: 1fr; gap: 36px; }
  .vol-inner { grid-template-columns: 1fr; gap: 36px; }

  .advisors-section { padding: 60px 20px; }
  .advisors-grid { grid-template-columns: 1fr; }

  .cases-section { padding: 0 20px 60px; }

  .site-footer {
    flex-direction: column;
    align-items: flex-start;
    padding: 24px 20px;
    gap: 14px;
  }
  .footer-links { flex-wrap: wrap; gap: 14px; }

  .contact-section { padding: 48px 20px; }
  .contact-form-grid { grid-template-columns: 1fr; }

  .auth-card { padding: 32px 24px; }

  .privacy-content { padding: 40px 20px 60px; }

  .about-values { padding: 0 20px 52px; }
  .about-mission { padding: 52px 20px; }

  .services-page-wrap { padding: 40px 20px 60px; }

  .contact-page-wrap { padding: 40px 20px 60px; }

  .page-hero { padding: 120px 20px 60px; }

  .cta-band { padding: 60px 20px; }
}

/* ── SMALL MOBILE (≤ 580px) ───────────────────────────── */
@media (max-width: 580px) {
  .hero-form-grid { grid-template-columns: 1fr; }
  .contact-form-grid { grid-template-columns: 1fr; }
  .stat-strip { flex-direction: column; }
  .stat-item { border-right: none; border-bottom: 1px solid rgba(0,194,168,0.14); }
  .stat-item:last-child { border-bottom: none; }
}