.ics-logo-carousel {
    --ics-speed: 32s;
    --ics-card-width: 190px;
    --ics-card-height: 100px;
    --ics-gap: 26px;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    position: relative;
    isolation: isolate;
}
.ics-logo-carousel__viewport { width: 100%; overflow: hidden; }
.ics-logo-carousel__track {
    display: flex;
    width: max-content;
    gap: var(--ics-gap);
    align-items: center;
    will-change: transform;
    animation: ics-logo-carousel-scroll var(--ics-speed) linear infinite;
}
.ics-logo-carousel__set {
    display: flex;
    flex: 0 0 auto;
    gap: var(--ics-gap);
    align-items: center;
}
.ics-logo-carousel__link {
    display: block;
    flex: 0 0 var(--ics-card-width);
    width: var(--ics-card-width);
    text-decoration: none !important;
    outline: none;
}
.ics-logo-carousel__card {
    display: flex;
    width: var(--ics-card-width);
    height: var(--ics-card-height);
    box-sizing: border-box;
    padding: 10px 14px;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid rgba(25, 43, 66, .10);
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(25, 43, 66, .06);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.ics-logo-carousel__link:hover .ics-logo-carousel__card,
.ics-logo-carousel__link:focus-visible .ics-logo-carousel__card {
    transform: translateY(-2px);
    border-color: rgba(25, 43, 66, .25);
    box-shadow: 0 6px 18px rgba(25, 43, 66, .14);
}
.ics-logo-carousel__image {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
}
.ics-logo-carousel--pause:hover .ics-logo-carousel__track,
.ics-logo-carousel--pause:focus-within .ics-logo-carousel__track {
    animation-play-state: paused;
}
@keyframes ics-logo-carousel-scroll {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(calc(-50% - (var(--ics-gap) / 2)), 0, 0); }
}
@media (max-width: 767px) {
    .ics-logo-carousel { --ics-card-width: 150px; --ics-card-height: 82px; --ics-gap: 16px; }
    .ics-logo-carousel__card { padding: 8px 10px; }
}
@media (prefers-reduced-motion: reduce) {
    .ics-logo-carousel__track { animation-play-state: paused; }
}
