.marquee {
  border-block: 1px solid var(--c-line);
  background: linear-gradient(180deg, rgba(124,58,237,0.03), transparent);
  overflow: hidden;
  padding: 2rem 0;
  position: relative;
}

.marquee::before, .marquee::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 120px;
  pointer-events: none;
  z-index: 2;
}
.marquee::before {
  left: 0;
  background: linear-gradient(90deg, var(--c-bg-0), transparent);
}
.marquee::after {
  right: 0;
  background: linear-gradient(270deg, var(--c-bg-0), transparent);
}

.marquee__track {
  display: inline-flex;
  align-items: center;
  gap: 2.5rem;
  white-space: nowrap;
  animation: marquee-scroll 28s linear infinite;
  will-change: transform;
}

.marquee__item {
  font-family: var(--ff-display);
  font-size: clamp(2rem, 5vw, 3.75rem);
  font-weight: 700;
  letter-spacing: -0.025em;
  color: var(--c-text-2);
  text-transform: uppercase;
  transition: color var(--dur-base) var(--ease-out-expo);
}
.marquee__item:nth-child(4n+2) {
  background: var(--grad-primary);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  font-style: italic;
}
.marquee:hover .marquee__item { color: var(--c-text); }

.marquee__sep {
  color: var(--c-text-muted);
  font-size: clamp(1.5rem, 3.5vw, 2.5rem);
}

@keyframes marquee-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

@media (max-width: 768px) {
  .marquee__track { animation-duration: 40s; }
  .marquee { padding: 1.25rem 0; }
}
