/* ═══════════════════════════════════════════════════
   RESPONSIVE.CSS
═══════════════════════════════════════════════════ */

@media (max-width: 1024px) {
  .hero-content { padding-left: 6vw; }
  #three-canvas { width: 50%; }
  .about-grid { gap: 48px; }
  .skills-grid { grid-template-columns: 1fr 1fr; }
  .certs-grid { grid-template-columns: repeat(2,1fr); }
  .footer-inner { grid-template-columns: 1fr; text-align: center; }
  .footer-copy { text-align: center; }
  .footer-nav { justify-content: center; }
}

@media (max-width: 900px) {
  #nav { padding: 0 24px; }
  .nav-links { display: none; }
  .nav-burger { display: flex; }
  .nav-cv { display: none; }

  section { padding: 72px 0; }
  .container { padding: 0 24px; }

  #home { padding-bottom: 64px; }
  .hero-content { padding-left: 24px; max-width: 100%; }
  #three-canvas { opacity: 0.3; }

  .about-grid { grid-template-columns: 1fr; gap: 40px; }
  .contact-grid { grid-template-columns: 1fr; gap: 40px; }
  .services-grid { grid-template-columns: 1fr; }

  .proj-row { grid-template-columns: 48px 1fr 32px; gap: 16px; padding: 20px 20px; }
  .proj-code { display: none; }

  .edu-card { grid-template-columns: 1fr; gap: 12px; }
  .edu-year { font-size: 13px; }
}

@media (max-width: 680px) {
  .hero-title { letter-spacing: -2px; }
  .skills-grid { grid-template-columns: 1fr; }
  .certs-grid { grid-template-columns: 1fr; }
  .about-stats { grid-template-columns: 1fr 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .tl-item { grid-template-columns: 20px 1fr; gap: 14px; }

  .fab { bottom: 20px; right: 20px; }
  .fab .fab-label { display: none; }
  .fab { padding: 13px 15px; }
}

@media (max-width: 480px) {
  .hero-roles { font-size: 15px; }
  .hero-bio { font-size: 13px; }
  .proj-row { grid-template-columns: 1fr; }
  .proj-index { display: none; }
  .proj-arrow { position: absolute; right: 20px; top: 24px; }
  .proj-row { position: relative; }
}

/* ── CURSOR: disable on touch ─────────────────────── */
@media (hover: none) {
  body { cursor: auto; }
  #cursor-dot, #cursor-ring { display: none; }
}

/* ── REDUCED MOTION ───────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
