/* ============================================
   RESPONSIVE - Mobile / Tablet Breakpoints
   ============================================ */

@media (max-width:1024px) {
  nav { padding:1.1rem 2.5rem; }
  nav.scrolled { padding:0.8rem 2.5rem; }
  .section { padding:5.5rem 2.5rem; }
  .stats-strip { padding:4rem 2.5rem; }
  .masonry-grid { columns:3; }
}

@media (max-width:768px) {
  /* Hide desktop-only effects */
  .cursor-glow { display:none; }
  .raster-overlay { display:none; }
  .float-bubbles { display:none; }
  .title-glow-layer { display:none; }

  /* Navigation */
  nav { padding:1rem 1.5rem; }
  nav.scrolled { padding:0.8rem 1.5rem; }
  .nav-links { display:none; }
  .nav-toggle { display:flex; }

  /* Hero */
  .hero { padding:0 1.5rem; min-height:100vh; }
  .title-above-layer {
    font-size:clamp(2.2rem, 10vw, 3.5rem);
    white-space:normal;
  }
  .hero-subtitle { font-size:1rem; }

  /* Sections */
  .section { padding:4rem 1.5rem; }
  .section-header { margin-bottom:3rem; }
  .stats-strip { padding:3rem 1.5rem; }

  /* Grids */
  .about-grid { grid-template-columns:1fr; gap:1.2rem; }
  .stats-grid { grid-template-columns:repeat(2, 1fr); gap:1rem; }
  .stat-num { font-size:2.6rem; }
  .members-grid { grid-template-columns:repeat(2, 1fr); gap:1rem; }

  /* Activities */
  .activity-row { grid-template-columns:1fr; gap:0.4rem; }

  /* Gallery */
  .masonry-grid { columns:2; column-gap:0.8rem; }
  .masonry-item { margin-bottom:0.8rem; }
  .image-stack { flex-wrap:wrap; gap:1rem; padding:2rem 0; }
  .image-stack .stack-card {
    width:140px; height:200px;
    margin:0 !important;
    transform:none !important;
  }
  .image-stack:hover .stack-card { transform:none !important; }
  .image-stack .stack-card:hover {
    transform:scale(1.05) !important;
  }

  /* Lightbox */
  .lightbox .lb-arrow { width:38px; height:38px; font-size:1rem; }
  .lightbox .lb-arrow.prev { left:0.8rem; }
  .lightbox .lb-arrow.next { right:0.8rem; }
  .lightbox .lb-close { top:1rem; right:1rem; width:36px; height:36px; }

  /* Contact */
  .contact-meta { flex-direction:column; align-items:center; gap:1rem; }

  /* Buttons */
  .btn-group { flex-direction:column; align-items:center; }
  .btn { width:100%; max-width:300px; text-align:center; }
}

@media (max-width:480px) {
  .masonry-grid { columns:1; }
  .members-grid { grid-template-columns:1fr; }
  .stats-grid { grid-template-columns:1fr 1fr; }
  .gallery-filters button { font-size:0.75rem; padding:0.45rem 1rem; }
}
