/* Responsive — Luminous Digital Hub */
@media (max-width: 1100px) {
  .float-2, .float-3 { display: none; }
  .team-grid { grid-template-columns: repeat(2, 1fr); }
  .blog-grid { grid-template-columns: repeat(2, 1fr); }
  .collage { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .collage .c1 { grid-row: auto; min-height: 360px; }
  .collage .c2, .collage .c3 { transform: none; min-height: 240px; }
}

@media (max-width: 900px) {
  .menu-toggle { display: block; }
  .header-actions { z-index: 110; }
  .nav {
    position: fixed; inset: 0; background: var(--nav-mobile-bg);
    flex-direction: column; justify-content: center; gap: 28px;
    opacity: 0; visibility: hidden; transition: .35s; font-size: 1.4rem;
  }
  .nav.open { opacity: 1; visibility: visible; }
  .nav-cta { margin-top: 12px; }
  .logo-text { display: none; }
  .hero-floats .float-1 { right: 5%; top: auto; bottom: 18%; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .stat-item { border-left: 0; border-top: 1px solid var(--line); }
  .stat-item:nth-child(-n+2) { border-top: 0; }
  .services-grid { grid-template-columns: 1fr; }
  .about-layout, .process-layout, .contact-inner, .case-card,
  .case-card:nth-child(even) .case-img { grid-template-columns: 1fr; }
  .case-card:nth-child(even) .case-img { order: unset; }
  .about-visuals { min-height: 420px; }
  .ba-grid { grid-template-columns: 1fr; }
  .ba-vs { writing-mode: horizontal-tb; padding: 8px 0; }
  .portfolio-grid { grid-template-columns: 1fr; }
  .t-slide { grid-template-columns: 1fr; gap: 24px; }
  .t-slide img { width: 120px; height: 120px; }
  .footer { grid-template-columns: 1fr 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .sticky-cta { display: flex; }
  .custom-cursor { display: none !important; }
  .hero-bg img { animation-duration: 30s; }
}

@media (max-width: 640px) {
  :root { --nav-h: 72px; }
  .logo img { height: 40px; }
  .hero { min-height: 100svh; }
  .hero-content { padding-bottom: 100px; }
  .float-card { padding: 12px 14px; min-width: 110px; }
  .float-card b { font-size: 1.4rem; }
  .ig-grid { grid-template-columns: repeat(2, 1fr); }
  .blog-grid, .team-grid { grid-template-columns: 1fr; }
  .footer { grid-template-columns: 1fr; }
  .section-head { flex-direction: column; align-items: start; }
  .collage { grid-template-columns: 1fr; }
  .process-visual { position: relative; top: 0; }
  .lb-prev, .lb-next { width: 40px; height: 40px; }
  .wa-float { bottom: 80px; }
  .back-top { bottom: 148px; }
}

@media (pointer: coarse) {
  .custom-cursor { display: none !important; }
}
