.home-partner-logos {
    position: relative;
    padding: 30px 0;
    background: rgba(8, 17, 34, 0.9);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    overflow: hidden;
}

.partner-logos-heading {
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 3px;
    font-size: 0.75rem;
    color: #94a3b8;
    margin-bottom: 16px;
}

.logo-marquee {
    position: relative;
    width: 100%;
    overflow: hidden;
    display: flex;
    justify-content: center;
}

.logo-track {
    display: flex;
    align-items: center;
    gap: 80px;
    animation: partnerMarquee 25s linear infinite;
    will-change: transform;
    white-space: nowrap;
}

.logo-item {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.7;
    transition: opacity 0.3s ease;
}

.logo-item img {
    max-height: 38px;
    width: auto;
    filter: grayscale(1);
    opacity: 0.9;
    transition: filter 0.3s ease, opacity 0.3s ease;
}

.logo-item:hover,
.logo-item:focus-within {
    opacity: 1;
}

.logo-item:hover img,
.logo-item:focus-within img {
    filter: grayscale(0);
    opacity: 1;
}

.home-partner-logos:hover .logo-track {
    animation-play-state: paused;
}

@keyframes partnerMarquee {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

@media (max-width: 768px) {
    .logo-track {
        gap: 50px;
        animation-duration: 18s;
    }

    .logo-item img {
        max-height: 30px;
    }
}
