@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: .9rem;
        text-decoration: none;
        transition: background .3s
    }
    nav ul li a:hover {
        background: #444
    }
    .hero {
        padding: 20px 10px
    }
    .hero h1 {
        font-size: 1.4rem
    }
    .cards,
    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)
    }
    .card-content h3 {
        font-size: 1rem
    }
    .card-content p {
        font-size: .85rem
    }
}