/* ==========================================================================
   Kingswell & Partners — Responsive overrides (v2)
   ========================================================================== */

@media (max-width: 991px) {
  .nav-links {
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    width: min(340px, 82vw);
    background: var(--kp-ink);
    border-left: 1px solid var(--kp-line);
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 110px 34px 40px;
    gap: 30px;
    transform: translateX(100%);
    transition: transform 0.4s var(--ease);
    box-shadow: -20px 0 50px rgba(0, 0, 0, 0.5);
  }
  .nav-links.is-open { transform: translateX(0); }
  .nav-links a { font-size: 0.9rem; }
  .nav-toggle { display: flex; }

  .hero-split { grid-template-columns: 1fr; min-height: auto; }
  .hero-split-media { height: 46vh; order: -1; }
  .hero-split-text { padding: 60px 24px; }

  .index-grid-2 { grid-template-columns: 1fr; gap: 0; }
  .mv-split { grid-template-columns: 1fr; }
  .mv-split > div:first-child { border-right: none; border-bottom: 1px solid var(--kp-line); }

  .section-head { grid-template-columns: 1fr; gap: 24px; }

  .split-section { grid-template-columns: 1fr; gap: 40px; }
  .split-section.reverse { direction: ltr; }
  .media-block { min-height: 300px; }

  .stats-row { flex-wrap: wrap; }
  .stat-item { flex: 1 1 50%; }
  .stat-item:nth-child(2)::after { display: none; }
  .stat-item:nth-child(odd)::after { display: none; }

  .section { padding: 90px 0; }
}

@media (max-width: 767px) {
  .hero-split-text h1 { font-size: 2.1rem; }
  .hero-actions,
  .cta-actions { flex-direction: column; align-items: stretch; }
  .btn-ghost { justify-content: center; width: 100%; }
  .page-banner-min { padding: 140px 0 60px; }
  .section { padding: 70px 0; }
  .section-head { margin-bottom: 48px; }
  .index-row { grid-template-columns: 50px 1fr; }
  .stat-item { flex: 1 1 100%; }
  .stat-item::after { display: none !important; }
  .footer-bottom { flex-direction: column; text-align: center; justify-content: center; }
  .tag-flow { font-size: 1.25rem; }
  .tag-flow .sep { margin: 0 12px; }
}

@media (max-width: 575px) {
  .brand-kp img { height: 28px; }
  h1 { font-size: 1.9rem !important; }
  .mv-split > div { padding: 40px 24px; }
}
