.gallery-section {
    padding-top: 64px;
}

.gallery-heading {
    display: grid;
    gap: 16px;
    margin-bottom: 22px;
}

.gallery-heading p:last-child {
    max-width: 34rem;
}

.gallery-rail {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}

.gallery-card {
    position: relative;
    overflow: hidden;
    min-height: 360px;
    border-radius: var(--radius-md);
    background: #1a1d23;
    box-shadow: var(--shadow);
    isolation: isolate;
}

.gallery-card img {
    height: 100%;
    object-fit: cover;
    transform: scale(1.02);
    transition: transform 700ms ease;
}

.gallery-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(16, 18, 22, 0.06) 0%, rgba(16, 18, 22, 0.88) 100%);
    z-index: 1;
}

.gallery-card > div {
    position: absolute;
    inset: auto 18px 18px 18px;
    z-index: 2;
    display: grid;
    gap: 8px;
}

.gallery-card span {
    display: inline-flex;
    width: fit-content;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(248, 244, 238, 0.14);
    color: var(--text-inverse);
    font-size: 0.8rem;
    font-weight: 800;
}

.gallery-card h3 {
    max-width: 15ch;
    color: var(--text-inverse);
}

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