.gallery {
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-flow: dense;
    gap: 8px;
}

.gallery .item {
    height: auto;
    aspect-ratio: 1;
    background-size: cover;
    background-position: center;
}

@media all and (width >= 500px) {
    .gallery {
        grid-template-columns: repeat(2, 1fr);
    }

    .item[style="background-image: url('img/gallery-008.webp')"],
    .item[style="background-image: url('img/gallery-013.webp')"],
    .item[style="background-image: url('img/gallery-012.webp')"]
    {
        grid-column: auto / span 2;
        aspect-ratio: 2;
    }
}

@media all and (width >= 750px) {
    .gallery {
        grid-template-columns: repeat(4, 1fr);
    }

    .item[style="background-image: url('img/gallery-009.webp')"],
    .item[style="background-image: url('img/gallery-006.webp')"]
    {
        grid-column: auto / span 2;
        aspect-ratio: auto;
    }
}
