.srp-marquee {
    position: relative;
    z-index: 4;
    overflow: hidden;
    padding-block: clamp(1rem,1.5vw,1.35rem);
    border-block: 1px solid rgba(255,255,255,.08);
    background: #0d0c13;
}
.srp-marquee::before,
.srp-marquee::after {
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    width: clamp(2rem,7vw,8rem);
    content: "";
    pointer-events: none;
}
.srp-marquee::before {
    left: 0;
    background: linear-gradient(90deg,#0d0c13,transparent);
}
.srp-marquee::after {
    right: 0;
    background: linear-gradient(-90deg,#0d0c13,transparent);
}
.srp-marquee__track {
    position: relative;
    z-index: 3;
    display: flex;
    width: max-content;
    align-items: center;
    gap: 1.35rem;
    animation: srp-marquee 38s linear infinite;
}
.srp-marquee:hover .srp-marquee__track { animation-play-state: paused; }
.srp-skill {
    display: inline-flex;
    align-items: center;
    gap: 1.35rem;
    color: rgba(255,255,255,.78);
    font-size: clamp(.85rem,.72rem + .35vw,1.08rem);
    font-weight: 780;
    letter-spacing: .02em;
    white-space: nowrap;
}
.srp-skill::after {
    width: .42rem;
    height: .42rem;
    border-radius: 50%;
    content: "";
    background: var(--srp-color-violet);
    box-shadow: 0 0 1.2rem rgba(140,114,255,.55);
}
.srp-skill:nth-child(4n+2) { color: var(--srp-color-lilac); }
@keyframes srp-marquee { to { transform: translateX(-50%); } }
@media (max-width:39.9375rem) {
    .srp-marquee { padding-block: .9rem; }
    .srp-marquee__track { gap: 1rem; }
    .srp-skill { gap: 1rem; font-size: .78rem; }
    .srp-skill::after { width: .32rem; height: .32rem; }
}
@media (prefers-reduced-motion:reduce) { .srp-marquee__track { animation-play-state: paused; } }
