@media (max-width: 1024px) {
  .project-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .hero-name { font-size: 1.6rem; }
  .terminal-body { padding: 20px; }
  .terminal-line { font-size: 0.78rem; }

  .nav-links {
    position: fixed; top: var(--nav-height); left: 0; width: 100%;
    flex-direction: column;
    background: rgba(10, 10, 15, 0.95);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    padding: 16px; gap: 4px;
    transform: translateY(-110%); opacity: 0;
    transition: all var(--transition);
    pointer-events: none;
    border-bottom: 1px solid var(--border);
  }

  .nav-links.open { transform: translateY(0); opacity: 1; pointer-events: all; }
  .hamburger { display: flex; }

  .about-layout { grid-template-columns: 1fr; gap: 32px; }
  .avatar-frame { width: 140px; height: 140px; margin: 0 auto; }
  .code-body { padding: 16px; font-size: 0.8rem; }

  .project-grid { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr; gap: 32px; }
  .repo-grid { grid-template-columns: 1fr; }
  .section { padding: 60px 0; }
  .hero-cta { flex-direction: column; align-items: stretch; }
  .hero-cta .btn { justify-content: center; }
  .blog-scroll { grid-template-columns: 1fr; }
  .nav-logo { font-size: 1rem; }
  .nav-link { font-size: 0.85rem; padding: 10px 14px; }
  .section-title { font-size: 0.95rem; }
}

@media (max-width: 480px) {
  .hero-name { font-size: 1.3rem; }
  .terminal-body { padding: 16px; }
  .terminal-line { font-size: 0.72rem; }
  .hero-role { font-size: 0.85rem; }
}
