/* ===================================================================
   RESPONSIVE — Desktop → Laptop → Tablet → Mobile
=================================================================== */

/* Laptop */
@media (max-width: 1200px) {
  .container { padding: 0 26px; }
  .skills-grid { grid-template-columns: repeat(3, 1fr); }
}

/* Tablet */
@media (max-width: 992px) {
  .nav-links, .nav-cta { display: none; }
  .nav-toggle { display: flex; }

  .hero-grid { grid-template-columns: 1fr; text-align: center; }
  .hero p.lead { margin-left: auto; margin-right: auto; }
  .hero-actions, .hero-stats { justify-content: center; }
  .hero-visual { height: 380px; margin-top: 20px; }

  .about-grid { grid-template-columns: 1fr; }
  .about-visual { max-width: 380px; margin: 0 auto; }

  .skills-grid { grid-template-columns: repeat(2, 1fr); }
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .project-grid { grid-template-columns: repeat(2, 1fr); }
  .process-row { grid-template-columns: repeat(2, 1fr); }
  .testimonial-track { grid-template-columns: 1fr; }

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

/* Mobile */
@media (max-width: 640px) {
  .container { padding: 0 20px; }
  .section-head { margin-bottom: 40px; }

  .hero { padding-top: 130px; }
  .hero-stats { flex-wrap: wrap; gap: 28px; }
  .hero-actions { flex-direction: column; width: 100%; }
  .hero-actions .btn { width: 100%; justify-content: center; }

  .skills-grid, .services-grid, .project-grid, .process-row, .awards-grid { grid-template-columns: 1fr; }
  .mini-list { grid-template-columns: 1fr; }
  .lang-row { flex-direction: column; gap: 18px; }

  .form-row { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: 34px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }

  .cta-banner { padding: 50px 24px; }
  .page-header { padding: 130px 0 60px; }

  .floating-tag { display: none; }
}

/* Small mobile */
@media (max-width: 400px) {
  .hero h1 { font-size: 32px; }
  .stat-num { font-size: 24px; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
