/* ============================================================
   OSW Marquee — verbatim from source .marquee / .marquee-track.
   Direction + pause-on-hover are added controls (§3 required
   taxonomy for the marquee/ticker pattern); source has neither,
   so both default to the source's exact behaviour (left, no pause).
   ============================================================ */

.ovs-marquee{overflow:hidden;border-bottom:1px solid var(--ovs-line);padding:1rem 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ovs-marquee-track{display:flex;gap:3rem;width:max-content}
html.ovs-anim .ovs-marquee-track{animation:ovs-mq 30s linear infinite}
.ovs-marquee.ovs-reverse .ovs-marquee-track{animation-direction:reverse}
.ovs-marquee.ovs-pause-hover:hover .ovs-marquee-track{animation-play-state:paused}
@keyframes ovs-mq{to{transform:translateX(-50%)}}
.ovs-marquee-item{font-family:var(--ovs-mono);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ovs-muted);white-space:nowrap;display:flex;align-items:center;gap:3rem}
.ovs-marquee-item::after{content:attr(data-sep);color:var(--ovs-copper);font-size:.5rem}

@media(prefers-reduced-motion:reduce){
  .ovs-marquee-track{animation:none!important}
}
