/* Infinite Marquee */
.logo-ticker {
    overflow: hidden;
    position: relative;
    width: 100%;
}
.logo-ticker::before, .logo-ticker::after {
    position: absolute;
    top: 0;
    width: 250px;
    height: 100%;
    content: "";
    z-index: 2;
}
.logo-ticker::before {
    left: 0;
    background: linear-gradient(to right, var(--background) 0%, transparent 100%);
}
.logo-ticker::after {
    right: 0;
    background: linear-gradient(to left, var(--background) 0%, transparent 100%);
}

.marquee-group {
    display: flex;
    white-space: nowrap;
    animation: scrollX 30s linear infinite;
    gap: 2rem;
    padding-left: 2rem;
}

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

.marquee-group .logo-card {
    flex-shrink: 0;
}

