/* ============================================================
   responsive.css — breakpoints: 1024 / 768 / 480
   ============================================================ */

@media (max-width: 1024px) {
  .about { grid-template-columns: 1fr; }
  .projects-rail-wrap { grid-template-columns: 1fr; }
  .skill-rail { position: static; display: flex; flex-direction: row; align-items: center; gap: 1rem; overflow-x: auto; }
  .skill-rail__chips { flex-direction: row; flex-wrap: wrap; gap: 0.4rem 0.75rem; }
  .skill-rail__chip { padding: 0.2rem 0; font-size: 0.75rem; }
  .project { grid-template-columns: 1fr; }
  .project:nth-child(even) .project__body { order: 0; }
  .project__figure { order: -1; }
}

@media (max-width: 768px) {
  :root { --nav-h: 62px; }

  /* Mobile nav */
  .nav__links {
    position: fixed;
    inset: var(--nav-h) 0 auto 0;
    flex-direction: column;
    gap: 0;
    background: rgba(6,7,9,0.97);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--hairline);
    padding: 0.5rem var(--gutter) 1rem;
    transform: translateY(-12px);
    opacity: 0; pointer-events: none;
    transition: opacity var(--dur-fast) var(--ease-out-expo), transform var(--dur-fast) var(--ease-out-expo);
  }
  .nav__links.is-open { opacity: 1; transform: none; pointer-events: auto; }
  .nav__links a { padding: 0.9rem 0; border-bottom: 1px solid var(--hairline); font-size: 1rem; }
  .nav__cta { display: none; }
  .nav__toggle {
    display: flex; flex-direction: column; justify-content: center; gap: 5px;
    margin-left: auto;
    width: 40px; height: 40px; background: none; border: 1px solid var(--hairline); border-radius: var(--radius);
    cursor: pointer;
  }
  .nav__toggle span { display: block; width: 18px; height: 1.5px; background: var(--text); margin: 0 auto; transition: transform var(--dur-fast) var(--ease-out-expo), opacity var(--dur-fast); }
  .nav__toggle[aria-expanded="true"] span:first-child { transform: translateY(3.25px) rotate(45deg); }
  .nav__toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.25px) rotate(-45deg); }

  .exp-item { grid-template-columns: 1fr; gap: 0.75rem; }
  .about__lead { font-size: 1.3rem; }
  .hero__content { max-width: 100%; }
  /* Hero graph stays but with fewer nodes (handled in JS) and lower opacity */
  #hero-graph { opacity: 0.55; }
}

@media (max-width: 480px) {
  :root { --gutter: 1.15rem; }
  .hero__actions { width: 100%; }
  .hero__actions .btn { flex: 1; justify-content: center; }
  .skills, .contact__grid { grid-template-columns: 1fr; }
  .project__figure { aspect-ratio: 3 / 2.4; }
  .footer__inner { flex-direction: column; align-items: flex-start; gap: 0.75rem; }
  .footer__top { margin-left: 0; }
}
