/* ============================================
   TABLET (<= 1024px)
   ============================================ */
@media (max-width: 1024px) {
  .about-grid, .contact-grid { grid-template-columns: 1fr; gap: 40px; }
  .roadmap-lane { grid-template-columns: 1fr; gap: 12px; }
}

/* ============================================
   MOBILE NAV + TIMELINE (<= 860px)
   ============================================ */
@media (max-width: 860px) {
  .nav-links {
    position: fixed; top: 0; right: -100%; height: 100svh; width: min(78vw, 320px);
    background: var(--color-bg-alt); border-left: 1px solid var(--color-border);
    flex-direction: column; padding: 100px 32px; gap: 26px;
    transition: right 0.4s var(--ease);
    box-shadow: var(--shadow-lg);
  }
  .nav-links.open { right: 0; }
  .nav-burger { display: flex; }
  .nav-burger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav-burger.open span:nth-child(2) { opacity: 0; }
  .nav-burger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .nav-actions .btn-outline span:last-child { display: none; }

  /* Timeline collapses to single left-aligned rail */
  .timeline-spine { left: 20px; transform: none; }
  .timeline-item { grid-template-columns: 40px 1fr; padding-left: 0; }
  .timeline-node { grid-column: 1; width: 40px; }
  .timeline-item[data-side="left"] .timeline-card,
  .timeline-item[data-side="right"] .timeline-card {
    grid-column: 2; text-align: left; transform: translateX(16px);
  }
  .timeline-item[data-side="left"] .tl-tech,
  .timeline-item[data-side="left"] .tl-header,
  .timeline-item[data-side="right"] .tl-tech,
  .timeline-item[data-side="right"] .tl-header { justify-content: flex-start; }

  .edu-timeline { padding-left: 32px; }
  .edu-marker { left: -48px; width: 34px; height: 34px; }
}

/* ============================================
   MOBILE (<= 600px)
   ============================================ */
@media (max-width: 600px) {
  .container { padding-inline: 18px; }
  .section { padding: 76px 0; }
  .hero { padding-top: 100px; }
  .hero-ctas { flex-direction: column; width: 100%; }
  .hero-ctas .btn { width: 100%; justify-content: center; }
  .about-stats { grid-template-columns: 1fr 1fr; }
  .projects-grid { grid-template-columns: 1fr; }
  .contact-form { padding: 22px; }
  .footer-inner { flex-direction: column; }
  .fab { bottom: 18px; right: 18px; }
}
