.bp-hub-partners { padding: 76px 0 84px; }
.bp-hub-partners-title { text-align: center; font-size: 2.6rem; margin-bottom: 56px; }
/* The design card is wider (1520) than the 1296 container: centre it on the section, capped to the viewport gutter. */
.bp-hub-partners-card {
    box-sizing: border-box; width: min(1520px, calc(100vw - 2 * var(--hub-gutter))); margin-left: 50%; transform: translateX(-50%);
    background: #fff; border-radius: 60px; padding: 52px 64px;
    display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 52px 44px;
}
.bp-hub-partner { width: auto; max-width: 290px; object-fit: contain; display: block; }
.bp-hub-partner--s { height: 60px; }
.bp-hub-partner--m { height: 84px; }
.bp-hub-partner--l { height: 110px; }
@media (min-width: 768px) and (max-width: 1279px) {
    .bp-hub-partners-card { border-radius: 40px; padding: 40px; gap: 32px; }
    .bp-hub-partner { max-width: 200px; }
    .bp-hub-partner--s { height: 42px; }
    .bp-hub-partner--m { height: 58px; }
    .bp-hub-partner--l { height: 76px; }
}
@media (max-width: 767px) {
    .bp-hub-partners { padding: 20px 0 30px; }
    .bp-hub-partners-title { font-size: 1.5rem; margin-bottom: 18px; }
    .bp-hub-partners-card { border-radius: 20px; padding: 16px 10px; gap: 10px 10px; }
    .bp-hub-partner { max-width: 62px; }
    .bp-hub-partner--s { height: 18px; }
    .bp-hub-partner--m { height: 23px; }
    .bp-hub-partner--l { height: 30px; }
}
