/* Media Queries for Responsiveness */

@media (max-width: 1200px) {
    .bento-grid { grid-template-columns: repeat(2, 1fr); }
    .about-grid { grid-template-columns: 1fr; gap: 60px; }
    .about-content { text-align: center; }
    .about-content .section-title { text-align: center !important; }
    .about-features { justify-content: center; }
}

@media (max-width: 992px) {
    .features-grid { grid-template-columns: repeat(2, 1fr); }
    .pricing-grid { grid-template-columns: repeat(2, 1fr); }
    .reviews-grid { grid-template-columns: repeat(2, 1fr); }
    .contact-container { grid-template-columns: 1fr; gap: 60px; }
    
    /* Show mobile button when hiding nav links */
    .mobile-btn { display: block; position: relative; z-index: 1001; }
    .nav-links {
        display: flex;
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        height: 100vh;
        background: var(--primary-bg);
        flex-direction: column;
        justify-content: center;
        align-items: center;
        transition: 0.6s cubic-bezier(0.16, 1, 0.3, 1);
        z-index: 1000;
    }
    .nav-links.active { right: 0; }
    .nav-links li { margin: 15px 0; }
    
    .hero-content { padding-left: 0; text-align: center; margin: 0 auto; }
    .hero-desc { margin: 0 auto 50px; }
    .hero-btns { justify-content: center; }
}

@media (max-width: 768px) {
    .container { padding: 0 20px; }
    .hero-title { font-size: 3.5rem; }
    .bento-grid { grid-template-columns: 1fr; }
    .stat-item-large, .stat-item-wide { grid-column: span 1; grid-row: span 1; }
    .features-grid, .pricing-grid, .gallery-grid, .reviews-grid { grid-template-columns: 1fr; }
    
    .footer-grid { grid-template-columns: 1fr; text-align: center; }
    .footer-title::after { left: 50%; transform: translateX(-50%); }
    .footer-about p { margin: 20px auto 0; }
    
    .about-experience { right: 20px; bottom: 20px; padding: 20px; }
    .exp-num { font-size: 1.8rem; }
    
    /* Disable custom cursor on mobile */
    .cursor-dot, .cursor-outline { display: none; }
    * { cursor: auto !important; }

    section { padding: 80px 0; }
    .scroll-indicator { display: none; }
}

@media (max-width: 480px) {
    .hero-title { font-size: 2.8rem; }
    .hero-btns { flex-direction: column; gap: 15px; }
    .btn { width: 100%; }
    .section-title { font-size: 2.2rem; }
}
