/* --- Mobile View --- */

@media (max-width: 768px) {
    nav ul {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 8px;
        background: #fff;
        padding: 10px;
        border-radius: 8px;
        list-style: none;
    }
    nav ul li {
        text-align: center;
    }
    nav ul li a {
        display: block;
        padding: 8px 4px;
        color: #fff;
        background: red;
        border-radius: 6px;
        font-size: 0.9rem;
        text-decoration: none;
        transition: background 0.3s;
    }
    nav ul li a:hover {
        background: #444;
    }
    .hero {
        padding: 20px 10px;
    }
    .hero h1 {
        font-size: 1.4rem;
    }
    .cards {
        grid-template-columns: 1fr;
    }
    footer {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    header {
        flex-direction: column;
        align-items: flex-start;
    }
    .social-icons {
        margin-top: 10px;
    }
    nav ul {
        grid-template-columns: repeat(2, 1fr);
        /* 2 per row on very small screens */
    }
    .card-content h3 {
        font-size: 1rem;
    }
    .card-content p {
        font-size: 0.85rem;
    }
}