/* Responsive Media Queries */

/* Tablet Portrait and below */
@media screen and (max-width: 992px) {
    .grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .hero-section .container {
        flex-direction: column;
        text-align: center;
    }
    
    .hero-content h1 {
        font-size: 2.8rem;
    }
}

/* Mobile Landscape and below */
@media screen and (max-width: 768px) {
    .top-bar {
        display: none;
    }
    
    .menu-toggle {
        display: flex;
    }
    
    .nav-menu {
        display: flex;
        flex-direction: column;
        width: 280px;
        height: 100vh;
        position: fixed;
        top: 0;
        left: -280px;
        background: var(--white);
        box-shadow: 2px 0 15px rgba(0,0,0,0.1);
        padding: 80px 30px 30px;
        gap: 15px;
        transition: left 0.3s ease;
        z-index: 999;
    }
    
    .nav-menu.active {
        left: 0;
    }
    
    .nav-menu a:not(.btn) {
        font-size: 1.25rem;
        text-align: center;
        display: block;
        width: 100%;
        padding: 12px 20px;
    }
    
    .nav-menu .btn {
        width: 100%;
        text-align: center;
        display: block;
        font-size: 1.1rem;
        padding: 12px 20px;
    }
    
    .grid-2, .grid-3 {
        grid-template-columns: 1fr;
    }
    
    .hero-content h1 {
        font-size: 2.2rem;
    }
    
    .page-header {
        padding: 50px 0;
    }
    
    .page-header h1 {
        font-size: 2rem;
    }
    
    .section-padding {
        padding: 50px 0;
    }
}
