/* =====================================================
   RESPONSIVE STYLESHEET
   Breakpoints: 1200px / 992px / 768px / 480px
   ===================================================== */

/* ---------- LAPTOP / SMALL DESKTOP ---------- */
@media (max-width: 1200px) {
  .container { padding: 0 26px; }
  .skills-grid { grid-template-columns: repeat(3, 1fr); }
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .portfolio-grid { grid-template-columns: repeat(2, 1fr); }
  .testimonial-track { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- TABLET ---------- */
@media (max-width: 992px) {
  :root { --section-padding: 90px; }

  .nav-links {
    position: fixed; top: 0; right: -100%; height: 100vh; width: 78%; max-width: 340px;
    background: rgba(255,255,255,0.85); backdrop-filter: blur(20px);
    flex-direction: column; justify-content: center; gap: 30px;
    box-shadow: -10px 0 40px rgba(124,79,219,0.15);
    transition: right .45s var(--ease);
  }
  .nav-links.open { right: 0; }
  .nav-toggle { display: flex; }
  .nav-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav-toggle.open span:nth-child(2) { opacity: 0; }
  .nav-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  .hero-inner { grid-template-columns: 1fr; text-align: center; }
  .hero-text { display: flex; flex-direction: column; align-items: center; }
  .hero-tagline { margin-left: auto; margin-right: auto; }
  .hero-cta { justify-content: center; }
  .hero-stats { justify-content: center; }
  .hero-visual { margin-top: 50px; }
  .floating-chip { display: none; }

  .about-grid { grid-template-columns: 1fr; }
  .about-visual { position: static; flex-direction: row; }

  .skills-grid { grid-template-columns: repeat(2, 1fr); }
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .portfolio-grid { grid-template-columns: 1fr; max-width: 560px; margin: 0 auto; }
  .testimonial-track { grid-template-columns: 1fr; max-width: 560px; margin: 0 auto; }

  .achievements-grid { grid-template-columns: repeat(2, 1fr); row-gap: 40px; }

  .contact-grid { grid-template-columns: 1fr; }
}

/* ---------- MOBILE ---------- */
@media (max-width: 768px) {
  :root { --section-padding: 70px; }

  .hero { padding-top: 100px; }
  .hero-cta { flex-direction: column; width: 100%; max-width: 320px; }
  .btn { width: 100%; justify-content: center; }

  .about-visual { flex-direction: column; }
  .about-highlights { gap: 18px; }

  .skills-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
  .skill-card { padding: 24px 18px; }

  .timeline-item { padding-left: 50px; }
  .timeline-card { padding: 24px; }

  .services-grid { grid-template-columns: 1fr; }

  .achievements-grid { grid-template-columns: 1fr 1fr; }

  .contact-form { padding: 28px; }
}

/* ---------- SMALL MOBILE ---------- */
@media (max-width: 480px) {
  .container { padding: 0 18px; }
  .hero-title { font-size: 2.2rem; }
  .hero-stats { flex-wrap: wrap; gap: 24px; }
  .skills-grid { grid-template-columns: 1fr; }
  .achievements-grid { grid-template-columns: 1fr; }
  .section-title { font-size: 1.8rem; }
  .back-to-top { width: 42px; height: 42px; bottom: 20px; right: 20px; }
}
