.section--partners {
    background: var(--bg-soft);
}

.partners__head {
    margin: 0 auto clamp(56px, 9vh, 96px);
    text-align: center;
}

.partners__heading {
    font-family: var(--serif);
    font-weight: 600;
    /* Fluid size locked to viewport width so the line never wraps on desktop/tablet. */
    font-size: clamp(22px, calc((100vw - 4rem) / 22), 58px);
    line-height: 1.1;
    letter-spacing: -0.01em;
    color: var(--ink);
    white-space: nowrap;
}

@media (max-width: 520px) {
    /* On very narrow screens, let the title wrap rather than overflow. */
    .partners__heading {
        white-space: normal;
        font-size: clamp(22px, 7vw, 32px);
    }
}

.partners__heading em {
    font-style: italic;
    font-weight: 300;
}

/* ── ELEVATED LOGO TILES ──────────────────────────── */
.partners__list {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 1rem;
}

.partners__item {
    width: 100%;
    height: 120px;
    /* Padding original menos un toque para dejar ~10% más de aire al logo. */
    padding: 1.25rem;
    background: var(--surface-elevated);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s ease;
}

.partners__item:hover {
    background: var(--surface-elevated-hover);
}

.partners__item img {
    max-width: calc(100% * var(--logo-scale, 1));
    max-height: calc(100% * var(--logo-scale, 1));
    width: auto;
    height: auto;
    object-fit: contain;
}

@media (max-width: 1100px) {
    .partners__list { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 700px) {
    .partners__list { grid-template-columns: repeat(3, 1fr); }
    .partners__item { height: 100px; padding: 1rem; }
}
@media (max-width: 480px) {
    .partners__list { grid-template-columns: repeat(2, 1fr); }
}
