/* ==========================================================================
   Responsive Rules (mobile-first overrides)
   ========================================================================== */

@media (max-width: 1024px) {
  .hero .container { grid-template-columns: 1fr; text-align: center; }
  .hero-actions, .hero-stack { justify-content: center; }
  .hero-visual { order: -1; margin-bottom: 20px; }
  .avatar-ring { width: 240px; height: 240px; }
  .stats-bar { grid-template-columns: repeat(2, 1fr); row-gap: 30px; }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr; }
  .resume-skill-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .nav-links { display: none; }
  .hamburger { display: flex; }

  .navbar.menu-open .nav-links {
    display: flex;
    position: absolute;
    top: var(--nav-height);
    left: 0; right: 0;
    background: var(--bg-1);
    flex-direction: column;
    padding: 24px;
    gap: 20px;
    border-bottom: 1px solid var(--border-soft);
  }

  .navbar.menu-open .hamburger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .navbar.menu-open .hamburger span:nth-child(2) { opacity: 0; }
  .navbar.menu-open .hamburger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .stats-bar { grid-template-columns: repeat(2, 1fr); }
  .section { padding: 70px 0; }
  .page-header { padding: 130px 0 40px; }
  .cta-banner { padding: 40px 24px; }
  .resume-doc { padding: 28px; }
  .resume-item .row1 { flex-direction: column; gap: 2px; }
  .floating-badge { display: none; }
}

@media (max-width: 480px) {
  .hero h1 { font-size: 2rem; }
  .btn { padding: 12px 22px; font-size: 0.88rem; }
  .avatar-ring { width: 190px; height: 190px; }
  .avatar-initials { font-size: 3rem; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
}
