.marquee-gallery-ff0ae597 {
    max-width: 100%;
    height: 650px;
    margin: auto;
    overflow: hidden;
    position: relative;
    --mg-duration: 20s;
    --mg-fade-color: #000;
}

.marquee-grid-ff0ae597 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    height: 100%;
}

.marquee-column-ff0ae597 {
    position: relative;
    overflow: hidden;
    height: 100%;
}

.marquee-track-ff0ae597 {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.marquee-down-ff0ae597 .marquee-track-ff0ae597 {
    animation: scrollDown-ff0ae597 var(--mg-duration) linear infinite;
}

.marquee-up-ff0ae597 .marquee-track-ff0ae597 {
    animation: scrollUp-ff0ae597 var(--mg-duration) linear infinite;
}

.marquee-gallery-ff0ae597.pause-on-hover:hover .marquee-track-ff0ae597 {
    animation-play-state: paused;
}

.mg-card-ff0ae597 {
    border-radius: 28px;
    overflow: hidden;
    background: #111;
    aspect-ratio: 1 / 1.2;
    flex-shrink: 0;
}

.mg-card-ff0ae597 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.marquee-gallery-ff0ae597.has-fade:before,
.marquee-gallery-ff0ae597.has-fade:after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 100px;
    z-index: 5;
    pointer-events: none;
}

.marquee-gallery-ff0ae597.has-fade:before {
    top: 0;
    background: linear-gradient(to bottom, var(--mg-fade-color) 0%, transparent 100%);
}

.marquee-gallery-ff0ae597.has-fade:after {
    bottom: 0;
    background: linear-gradient(to top, var(--mg-fade-color) 0%, transparent 100%);
}

@keyframes scrollDown-ff0ae597 {
    from {
        transform: translateY(-50%);
    }
    to {
        transform: translateY(0);
    }
}

@keyframes scrollUp-ff0ae597 {
    from {
        transform: translateY(0);
    }
    to {
        transform: translateY(-50%);
    }
}
