/* =========================================================
   Responsive rules — mobile-first overrides
   ========================================================= */

@media (max-width: 1024px) {
  .wrap { padding: 0 26px; }
  .hero .wrap { grid-template-columns: 1fr; gap: 70px; }
  .hero { padding-top: 150px; }
  .hero-visual { max-width: 480px; }
  .tech-grid { grid-template-columns: repeat(4, 1fr); }
  .about-grid { grid-template-columns: 1fr; gap: 44px; }
  .about-visual { max-width: 380px; }
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .projects-grid { grid-template-columns: repeat(2, 1fr); }
  .two-col { grid-template-columns: 1fr; gap: 48px; }
  .skills-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-top { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 860px) {
  .nav-links { display: none; }
  .hamburger { display: flex; }
  .section { padding: 88px 0; }
  .section-tight { padding: 64px 0; }
  .cta-band { padding: 44px 26px; }
}

@media (max-width: 640px) {
  .wrap { padding: 0 20px; }
  .hero { padding: 130px 0 70px; }
  .hero-badge { font-size: 12px; }
  .hero-desc { font-size: 16px; }
  .hero-actions { flex-wrap: wrap; }
  .tech-grid { grid-template-columns: repeat(3, 1fr); }
  .services-grid { grid-template-columns: 1fr; }
  .projects-grid { grid-template-columns: 1fr; }
  .stat-row { grid-template-columns: repeat(2, 1fr); row-gap: 24px; }
  .skills-grid { grid-template-columns: 1fr 1fr; }
  .footer-top { grid-template-columns: 1fr; gap: 32px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .process-item { grid-template-columns: 1fr; gap: 8px; }
  .float-card { display: none; }
  .nav-cta .btn-secondary { display: none; }
  .back-to-top { bottom: 18px; right: 18px; width: 42px; height: 42px; }
  .cta-band .hero-actions { flex-direction: column; width: 100%; }
  .cta-band .btn { width: 100%; justify-content: center; }
}

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