/* Responsive Styles */

@media (max-width: 768px) {
    :root {
        --spacing-xl: 3rem;
    }

    h1 {
        font-size: 2rem;
    }

    h2 {
        font-size: 1.75rem;
    }

    .nav-links {
        position: fixed;
        top: 80px;
        left: 0;
        width: 100%;
        background-color: var(--white);
        flex-direction: column;
        padding: var(--spacing-lg);
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        gap: var(--spacing-md);
        transform: translateY(-150%);
        transition: var(--transition-normal);
        z-index: 999;
    }

    .nav-links.active {
        transform: translateY(0);
    }

    .mobile-menu-btn {
        display: block;
    }

    .hero {
        padding: 60px 0;
    }

    .hero h1 {
        font-size: 2.2rem;
    }

    .btn {
        display: block;
        width: 100%;
        margin: var(--spacing-sm) 0;
        text-align: center;
    }

    .btn-outline {
        margin-left: 0;
    }

    .card-grid {
        display: flex;
        flex-direction: column;
        gap: var(--spacing-md);
    }
}