.banner-impresoras {
  position: absolute;
  top: 8%;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.08);
  padding: 10px 0;
  border-radius: 8px;
  width: 80%;          /* deja 10% de margen por lado */
  overflow: hidden;    /* recorta lo que sale del contenedor */
}

/* Track que se desplaza en loop */
.banner-track {
  display: inline-flex;
  flex-wrap: nowrap;
  white-space: nowrap;          /* una sola línea */
  animation: banner-scroll 18s linear infinite;
}

/* Cada bloque de texto ocupa su ancho natural */
.banner-text {
  font-size: clamp(20px, 3vw, 32px);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  white-space: nowrap;

  background: linear-gradient(90deg, #00e5ff, #7c4dff, #ff4081);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;

  padding-right: 4rem;          /* espacio entre repeticiones */
}

/* Loop infinito: cuando termina el segundo, vuelve al primero sin corte */
@keyframes banner-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    /* mueve el track hasta que el segundo .banner-text
       ocupa la posición donde estaba el primero */
    transform: translateX(-50%);
  }
}