/* ============================================
   6E Virtual - Responsive v3.0
   ============================================ */

@media (max-width: 1024px) {
    .features-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
    .nav-links { display: none; }
    nav { padding: 0.6rem 1rem; }

    .hero { padding: 100px 1.25rem var(--spacing-2xl); }
    .hero h1 { font-size: 2.4rem; letter-spacing: -0.5px; }
    .hero-subtitle { font-size: 1rem; }

    .section-header { text-align: center; }
    .section-title { font-size: 1.8rem; }

    .features-grid { grid-template-columns: 1fr; }
    .ranks-grid { grid-template-columns: 1fr; }
    .ranks-header h2 { font-size: 1.8rem; }

    .partners-grid { gap: 0.75rem; }
    .partner-logo { padding: 1rem 1.75rem; }

    .footer-grid { grid-template-columns: 1fr; gap: var(--spacing-lg); }
    .footer-bottom { flex-direction: column; gap: 0.75rem; text-align: center; }

    .scroll-cue { display: none; }
    .cta-banner h2 { font-size: 1.8rem; }
}

@media (max-width: 480px) {
    :root {
        --spacing-lg: 1.5rem;
        --spacing-xl: 2rem;
        --spacing-2xl: 3rem;
        --spacing-3xl: 4rem;
    }

    .hero h1 { font-size: 2rem; }
    .feature-card { padding: 1.5rem; }
    .btn { padding: 0.6rem 1.2rem; font-size: 0.8rem; }
    .btn-large { padding: 0.75rem 1.5rem; font-size: 0.85rem; }
    .partners-grid { flex-direction: column; }
    .partner-logo { width: 100%; max-width: 260px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    html { scroll-behavior: auto; }
    .reveal { opacity: 1; transform: none; }
}
