@media (max-width: 900px){
    .header .menu{
        display: block;
    }

    .header nav ul{
        display: none;
    }

    .header input:checked ~ ul{
        display: block;
    }

    .header nav{
        position: absolute;
        top: 8px;
        right: 20px;
        z-index: 1;
    }

    .header nav ul{
        width: 200px;
        background-color: #fff;
        padding: 20px;
    }

    .header nav ul a{
        text-align: center;
        padding: 20px;
        display: block;
    }
}

@media (max-width: 768px){
    .projects{
        grid-template: repeat(2, 1fr) / repeat(2, 1fr);
    }
}

@media (max-width: 576px){
    .hero{
        height: 60vh;
    }

    .hero h2{
        font-size: 2.5rem;
    }

    .about{
        grid-template: repeat(4, 1fr) / repeat(1, 1fr);
    }
    
    .about .item{
        text-align: center;
    }

    .services{
        grid-template-columns: 1fr;
    }

    .projects{
        grid-template: repeat(4, 1fr) / repeat(1, 1fr);
    }
}