.layout--gallery .gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .5rem;
}

@media (min-width: 640px) {
    .layout--gallery .gallery {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1024px) {
    .layout--gallery .gallery {
        grid-template-columns: repeat(4, 1fr);
    }
}

.layout--gallery .gallery a {
    display: block;
    overflow: hidden;
    aspect-ratio: 4 / 3;
}

.layout--gallery .gallery a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .3s ease-in-out;
}

.layout--gallery .gallery a:hover img {
    transform: scale(1.05);
}
