.partners {
    background:var(--section-alt);
    border-top:1px solid var(--panel-border);
    position:relative;
    overflow:hidden
}

.partners .wrap {
    max-width:1400px;
    margin:auto;
    padding:60px 0;
    position:relative;
    z-index:1
}

.partners-top {
    max-width:1400px;
    margin:0 auto 36px;
    padding:0 40px
}

.partners-kicker {
    font-size:13px;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:var(--red);
    font-weight:700;
    margin-bottom:16px
}

.partners-kicker::before {
    content:"";
    display:inline-block;
    width:34px;
    height:2px;
    background:var(--red);
    vertical-align:middle;
    margin-right:12px
}

.partners h2 {
    font-size:clamp(26px,3.2vw,42px);
    font-weight:900;
    line-height:1.1;
    letter-spacing:-1.2px;
    text-transform:uppercase;
    color:var(--text-h1)
}

.partners h2 .accent {
    color:var(--red)
}

.partners-grid {
    display:block;
    overflow:hidden;
    position:relative
}

.partners-track {
    display:flex;
    flex:none;
    width:max-content;
    animation:partnersScroll 32s linear infinite;
    will-change:transform
}

.partners-grid:hover .partners-track {
    animation-play-state:paused
}

.partner-logo {
    flex:none;
    width:200px;
    height:110px;
    border:1px solid var(--panel-border);
    border-radius:12px;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-right:14px;
    transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease
}

.partner-logo:hover {
    transform:translateY(-4px);
    border-color:var(--red);
    box-shadow:0 16px 34px -20px rgba(0,132,201,.4)
}

.partner-logo img {
    max-width:80%;
    max-height:64px;
    width:auto;
    height:auto;
    object-fit:contain
}

.logo-fallback {
    font-size:13px;
    font-weight:700;
    color:var(--text-h1);
    text-align:center;
    padding:10px;
    line-height:1.3;
    display:flex;
    align-items:center;
    justify-content:center;
    height:100%
}

@keyframes partnersScroll {
    from {
        transform:translateX(0)
    }
    to {
        transform:translateX(-50%)
    }
}
