/* =====================================================================
   Clients archive (ported from the React Clients page)
   ===================================================================== */

/* Hero */
.clients__hero { padding: 0 0 40px; }
.clients__title {
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-size: clamp(24px, 4vw, 48px);
    font-weight: 400;
}

/* Groups */
.clients__group { padding-bottom: 56px; }
.clients__group-title {
    font-size: clamp(16px, 2vw, 28px);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-weight: 400;
    margin-bottom: 32px;
}

.clients__group--alt {
    background: var(--c-bg-alt);
    border-top: 1px solid var(--c-line);
    padding: 56px 0;
}
.clients__group--alt .clients__group-title { margin-bottom: 8px; }
.clients__group-sub {
    font-size: 13px;
    color: var(--c-text-2);
    letter-spacing: 0.05em;
    margin-bottom: 32px;
}

/* Logo grid (beneficiaries 2/3/4/5 · partners 2/3/4) */
.logo-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
.logo-card {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 3 / 2;
    padding: 16px;
    border: 1px solid var(--c-line);
    background: #fff;
    text-align: center;
    transition: background-color 0.25s ease, border-color 0.25s ease;
}
.logo-card:hover { background: var(--c-bg-alt); border-color: var(--c-line-strong); }
.logo-card__img { max-height: 60px; width: auto; object-fit: contain; filter: grayscale(100%); transition: filter 0.3s ease; }
.logo-card:hover .logo-card__img { filter: grayscale(0%); }
.logo-card__name {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--c-text);
    line-height: 1.3;
}

/* CTA */
.clients__cta-wrap { border-top: 1px solid var(--c-line); padding: 56px 0; }
.clients__cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}
.clients__cta-text { font-size: clamp(20px, 2.5vw, 32px); max-width: 440px; }

@media (min-width: 640px) {
    .logo-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 768px) {
    .clients.section { padding: 96px 0; }
    .logo-grid { grid-template-columns: repeat(4, 1fr); }
    .clients__hero { padding: 0 var(--gutter) 80px; }
    .clients__group { padding-bottom: 80px; }
    .clients__group--alt { padding: 80px 0; }
    .clients__cta-wrap { padding: 80px 0; }
}
@media (min-width: 1024px) {
    .logo-grid--5 { grid-template-columns: repeat(5, 1fr); }
}
