/* ─── Responsive Breakpoints ─── */

/* ── Tablet (≤ 1100px) ── */
@media (max-width: 1100px) {
  #about {
    grid-template-columns: 1fr;
    gap: 60px;
  }
  .about-img-secondary { right: 0; }

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

  .footer-main { grid-template-columns: 1fr 1fr; }

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

  .projects-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }
  /* Reset mosaic layout */
  .project-card:nth-child(1),
  .project-card:nth-child(2),
  .project-card:nth-child(3),
  .project-card:nth-child(4),
  .project-card:nth-child(5) {
    grid-column: auto;
    grid-row: auto;
  }
  .project-card { height: 260px; }
}

/* ── Mobile (≤ 768px) ── */
@media (max-width: 768px) {
  /* Hide desktop nav, show hamburger */
  nav { display: none; }
  nav.open {
    display: flex;
    flex-direction: column;
    position: fixed;
    inset: 0;
    top: 65px;
    background: rgba(10, 10, 10, 0.98);
    backdrop-filter: blur(20px);
    align-items: center;
    justify-content: center;
    gap: 32px;
    padding: 40px;
    z-index: 999;
  }
  nav.open a { font-size: 20px; }

  .hamburger { display: flex; }

  /* Hero adjustments */
  .hero-stats {
    position: static;
    flex-wrap: wrap;
    gap: 0;
    margin-top: 60px;
  }
  .stat-item { padding: 20px 28px; }
  .hero-content { padding: 0 5%; }
  .hero-btns { flex-direction: column; }
  .hero-scroll { display: none; }

  /* Section padding */
  #about,
  #services,
  #projects,
  #testimonials,
  #contact {
    padding: 80px 5%;
  }

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

  /* Projects */
  .projects-grid { grid-template-columns: 1fr; }
  .project-card { height: 220px; }

  /* Testimonials */
  .testimonial-card { min-width: 85%; }

  /* Contact form */
  .form-row { grid-template-columns: 1fr; }

  /* Footer */
  .footer-main {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  /* Disable custom cursor on touch devices */
  .cursor,
  .cursor-ring { display: none; }
  body { cursor: auto; }

  /* Restore pointer cursor for interactive elements */
  .btn-primary,
  .btn-secondary,
  nav a,
  .filter-btn,
  .t-nav-btn,
  .submit-btn,
  .social-btn,
  .contact-item { cursor: pointer; }
}
