.logo-gallery-section {
    padding: 60px 20px;
    background: var(--light-beige);
}

.logo-gallery-container {
    max-width: 1200px;
    margin: 0 auto;
}

.logo-gallery-header {
    display: flex;
    flex-direction: column;
    padding-block: 2rem;
    gap: 2rem;
    width: min(880px, 100% - 40px);
    margin: auto;
}

.logo-gallery-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    justify-items: center;
    align-items: center;
}

.logo-gallery-item {
    width: 100%;
    max-width: 251px;
    aspect-ratio: 251 / 111;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px;
    background: var(--light);
    border: 1px solid var(--light-grey);
    border-radius: 12px;
    box-sizing: border-box;
    overflow: hidden;
}

.logo-gallery-item__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 15px;
    box-sizing: border-box;
    text-decoration: none;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.logo-gallery-item__link:hover,
.logo-gallery-item__link:focus-visible {
    transform: scale(1.05);
    opacity: 0.85;
}

.logo-gallery-item__link:focus-visible {
    outline: 2px solid var(--accent, currentColor);
    outline-offset: 2px;
}

.logo-gallery-item img,
.logo-gallery-item__link img {
    height: 70px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    display: block;
    aspect-ratio: auto;
}


@media (max-width: 768px) {
    .logo-gallery-list {
        grid-template-columns: repeat(2, 1fr);
    }
}


@media (max-width: 480px) {
    .logo-gallery-list {
        grid-template-columns: 1fr;
    }
}