.marquee-mask {
  height: 80vh;
  min-height: 630px;
  max-height: 820px;
  overflow: hidden;
  position: relative;
}

@media (min-width: 1600px) {
  .marquee-mask {
    height: 80vh;
    max-height: 900px;
  }
}

/* FILAS INCLINADAS */

.marquee-tilt {
  position: absolute;
  left: -10%;
  width: 120%;
}

.tilt-top {
  top: -520px;
  transform: rotate(-18deg);
}

.tilt-middle {
  top: 170px;
  transform: rotate(-18deg);
}

.tilt-bottom {
  top: 860px;
  transform: rotate(-18deg);
}

/* VIEWPORT COMPENSADO */

.marquee-viewport {
  transform: rotate(-8deg);
  width: 180%;
  margin-left: -40%;
  overflow: hidden;
}

/* TRACK */

.marquee-track {
  display: flex;
  width: max-content;
  white-space: nowrap;
  gap: 40px;
}

/* DIRECCIONES */

.track-left {
  animation: marquee-left 40s linear infinite alternate;
}

.track-right {
  animation: marquee-right 40s linear infinite alternate;
}

/* MOVIMIENTO SUAVE */

@keyframes marquee-left {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-30%); }
}

@keyframes marquee-right {
  0%   { transform: translateX(-30%); }
  100% { transform: translateX(0); }
}

/* CARDS */

.marquee-card {
  flex: 0 0 auto;
  width: 660px;
  height: 580px;
  border-radius: 16px;
  overflow: hidden;
  background: #eee;
  transition: transform .4s ease;
}

.marquee-card:hover {
  transform: scale(1.05);
}

.marquee-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
