@media (max-width: 1024px) {
    .scroller-word { height: 90px; }
    .scroller-window { height: 90px; }
    .bento-grid { grid-template-columns: repeat(2, 1fr); }
    .card-wide { grid-column: span 2; }
    .member-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 24px; }
}

@media (max-width: 768px) {
    .hamburger { display: flex; }
    .nav-links { display: none; }
    .navbar.spread { width: calc(100% - 24px); }
    .nav-content { padding: 0 12px 0 16px; }

    .scroller-word { height: 70px; }
    .scroller-window { height: 70px; }

    .bento-grid { grid-template-columns: 1fr; gap: 16px; }
    .card-wide { grid-column: span 1; }
    .card-tall { grid-row: span 1; min-height: 220px; }
    .card-wide .card-text-wrapper { max-width: 100%; }
    .bento-card p { max-width: 100%; }

    .member-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .section-content .welcome-header,
    .section-content .team-header { margin-bottom: 20px; }

    .mobile-menu-link { font-size: 1.2rem; padding: 14px 32px; }
}

@media (max-width: 520px) {
    .navbar.spread { width: calc(100% - 12px); }
    .nav-content { padding: 0 8px 0 12px; }
    .logo { font-size: 0.85rem; }

    .scroller-word { height: 55px; }
    .scroller-window { height: 55px; }

    .member-grid { grid-template-columns: 1fr; max-width: 320px; margin: 0 auto; gap: 16px; }
}

@media (max-width: 380px) {
    .member-grid { max-width: 280px; }
}

@media (pointer: coarse) {
    .scroll-container { overscroll-behavior: contain; }
    .navbar { backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
    .ambient-canvas { filter: blur(80px); }
}

@media (prefers-reduced-motion: reduce) {
    .orb { animation: none; }
    .scroller-track { transition: none; }
    .scroller-word { transition: none; }
    .hero-photo { transition: none; }
    .navbar { transition: none; }
}

@media (max-height: 500px) and (orientation: landscape) {
    .snap-section { height: auto; min-height: 100dvh; }
    .hero { padding-top: 70px; align-items: flex-start; }
    .scroller-window { height: 45px; }
    .scroller-word { height: 45px; font-size: clamp(1.2rem, 4vw, 2.5rem); }
    .main-heading { font-size: clamp(1.2rem, 3vw, 2.5rem); }
    .welcome-title { font-size: clamp(1.4rem, 3vw, 2rem); }
    .team-title { font-size: clamp(1.2rem, 2.8vw, 1.8rem); }
    .bento-card { padding: 16px; }
    .member-img-wrapper { width: 70px; height: 70px; }
}
