.gallery-grid {
    columns: 3;
    column-gap: 22px;
}

.gallery-card {
    break-inside: avoid;
    margin: 0 0 22px;
    background: #fff;
    border: 1px solid var(--line);
}

.gallery-card a {
    display: block;
    overflow: hidden;
    background: #ddd;
}

.gallery-card img {
    display: block;
    width: 100%;
    height: auto;
    transition: transform .25s ease;
}

.gallery-card a:hover img,
.gallery-card a:focus img {
    transform: scale(1.02);
}

.gallery-card a:focus-visible {
    outline: 3px solid var(--orange);
    outline-offset: 3px;
}

.gallery-card figcaption {
    padding: 15px 17px;
    color: #555;
    font-size: 14px;
    line-height: 1.45;
}

.gallery-note {
    margin: 24px 0 0;
    color: #666;
    font-size: 14px;
}

@media (max-width: 900px) {
    .gallery-grid {
        columns: 2;
    }
}

@media (max-width: 600px) {
    .gallery-grid {
        columns: 1;
    }
}
