/* ===== INFINITE SCROLL TICKER ===== */
/* 2025 Minimal marquee design - Partner logos */

.ticker-section {
    width: 100%;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(0, 71, 171, 0.12) 0%, rgba(0, 10, 20, 0.8) 100%);
    border-top: 4px solid rgba(0, 71, 171, 0.6);
    border-bottom: 4px solid rgba(0, 71, 171, 0.6);
    padding: clamp(60px, 8vh, 80px) 0;
    margin: clamp(50px, 7vh, 70px) 0;
    position: relative;
    box-shadow:
        0 -15px 50px rgba(0, 71, 171, 0.2),
        0 15px 50px rgba(0, 71, 171, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        inset 0 -1px 0 rgba(255, 255, 255, 0.05);
}

.ticker-section.stats {
    background: linear-gradient(180deg, rgba(0, 71, 171, 0.08) 0%, rgba(0, 10, 20, 0.6) 100%);
}

.ticker-wrapper {
    display: flex;
    width: fit-content;
    animation: scroll 60s linear infinite;
    will-change: transform;
}

.ticker-wrapper:hover {
    animation-play-state: paused;
}

.ticker-content {
    display: flex;
    align-items: center;
    gap: clamp(60px, 8vw, 100px);
    white-space: nowrap;
    padding-right: clamp(60px, 8vw, 100px);
}

/* Stats ticker styling */
.ticker-stat {
    font-family: var(--font-family-primary);
    font-size: clamp(1rem, 1.3vw, 1.15rem);
    font-weight: 700;
    color: rgba(255, 255, 255, 0.9);
    letter-spacing: 0.02em;
    white-space: nowrap;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.ticker-separator {
    color: rgba(0, 71, 171, 0.6);
    font-size: var(--font-size-sm);
    font-weight: 700;
}

/* Scroll animation */
@keyframes scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    .ticker-wrapper {
        animation: none;
    }

    .ticker-section {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/* Responsive */
@media (max-width: 768px) {
    .ticker-stat {
        font-size: var(--font-size-sm);
    }

    .ticker-wrapper {
        animation-duration: 45s;
    }

    .ticker-content {
        gap: clamp(40px, 6vw, 60px);
        padding-right: clamp(40px, 6vw, 60px);
    }
}
