/* ============================================================
   RESPONSIVE — tested breakpoints: 360/390/430/768/1024/1280/1440/1920
   ============================================================ */

@media (max-width: 1100px) {
  .pathway-grid { grid-template-columns: repeat(2, 1fr); }
  .steps-grid { grid-template-columns: repeat(3, 1fr); }
  .tool-grid { grid-template-columns: repeat(4, 1fr); }
  .source-grid { grid-template-columns: repeat(3, 1fr); }
  .dashboard__grid { grid-template-columns: repeat(2, 1fr); }
  .site-footer__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 960px) {
  .hero__grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .card-deck { height: clamp(300px, 60vw, 420px); max-width: 560px; margin: 0 auto; }
  .grid--3, .grid--4 { grid-template-columns: repeat(2, 1fr); }
  .compare-grid { grid-template-columns: 1fr; }
  .compare-card--system::before { top: -12px; }
  .compare-grid .compare-card--system { margin-top: 0.6rem; }
  .work-grid { grid-template-columns: 1fr; }
  .portfolio-grid { grid-template-columns: repeat(2, 1fr); }
  .ba-grid { grid-template-columns: 1fr; }
  .playbook-cols { grid-template-columns: 1fr; }

  /* Mobile nav */
  .nav-toggle { display: flex; }
  .site-nav { background: rgba(9,9,9,0.96); padding: 0.7rem 0; }
  .site-nav__links {
    position: fixed; top: 62px; left: 0; right: 0; bottom: 0;
    background: var(--color-black); flex-direction: column; align-items: flex-start;
    padding: 1.8rem 1.4rem; gap: 0.3rem; overflow-y: auto;
    transform: translateX(100%); transition: transform 0.35s var(--ease-out);
  }
  .site-nav__links.is-open { transform: translateX(0); }
  .site-nav__links li { width: 100%; }
  .site-nav__links a {
    display: block; width: 100%; padding: 0.9rem 0.4rem; font-size: 1.15rem;
    border-bottom: 1px solid var(--color-line-dark);
  }
  .site-nav__links .site-nav__cta { margin-top: 1.2rem; border-bottom: none; }
  .site-nav__links .site-nav__cta .btn { width: 100%; }
  body.nav-open { overflow: hidden; }
}

@media (max-width: 640px) {
  .grid--2, .grid--3, .grid--4 { grid-template-columns: 1fr; }
  .pathway-grid { grid-template-columns: 1fr; }
  .steps-grid { grid-template-columns: 1fr; }
  .tool-grid { grid-template-columns: repeat(2, 1fr); }
  .source-grid { grid-template-columns: repeat(2, 1fr); }
  .form-grid { grid-template-columns: 1fr; }
  .portfolio-grid { grid-template-columns: 1fr; }
  .dashboard__grid { grid-template-columns: 1fr; }
  .dash-bar { grid-template-columns: 96px 1fr 38px; font-size: 0.78rem; }
  .site-footer__grid { grid-template-columns: 1fr; gap: 1.8rem; }
  .site-footer__bottom { flex-direction: column; }
  .btn { width: 100%; }
  .btn-row .btn { width: 100%; }
  .filter-chip { font-size: 0.82rem; }
  .hero p.lead { font-size: 1.08rem; }
  .deck-card { width: clamp(180px, 52vw, 240px); }
  .tree-block { font-size: 0.8rem; padding: 1.1rem 1.2rem; }
}

@media (min-width: 1440px) {
  :root { --size-body: 1.1rem; }
}
