.card{
    min-width: 280px;
}
.grid{
    display: grid;
    row-gap: 0;
    grid-template-columns: repeat(1, minmax(180px, 1fr));
}
.card img{
    width: 100%;
    height: 100%;
}
#gallery .grid{
    overflow: hidden;
} 
@media screen and (width >= 450px) {
    .grid{
        display: grid;
        row-gap: 0;
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    }
    .card:nth-child(1){
        grid-column: 1 / 3;
    }
    .card:nth-child(2){
        grid-row: span 2;
    }
    .card:nth-child(4){
        grid-row: span 2;
    }
}