.hero-barrage {
    position: absolute;
    top: calc(var(--nav-height, 80px) + 12px);
    right: 0;
    left: 0;
    z-index: 4;
    width: 100%;
    overflow: hidden;
    padding: 10px 0;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.hero-barrage-row { --barrage-unit: 100vw; display: flex; width: max-content; margin: 9px 0; animation: hero-barrage-left 32s linear infinite; animation-delay: -7s; will-change: transform; }
.hero-barrage-row:nth-child(2) { animation-duration: 38s; animation-delay: -21s; }
.hero-barrage-row:nth-child(3) { animation-duration: 44s; animation-delay: -14s; }
.hero-barrage-track { display: flex; flex-shrink: 0; align-items: center; gap: 52px; padding-right: 52px; }
.hero-barrage-item { color: rgba(255,255,255,.9); font-size: clamp(12px, 1.18vw, 16px); font-weight: 500; letter-spacing: .08em; line-height: 1.5; white-space: nowrap; text-shadow: 0 2px 12px rgba(0,0,0,.72); }
.hero-barrage-row:nth-child(2) .hero-barrage-item { color: rgba(255,255,255,.82); font-size: clamp(11px, 1vw, 14px); }
.hero-barrage-row:nth-child(3) .hero-barrage-item { color: rgba(255,255,255,.76); font-size: clamp(11px, .95vw, 13px); }
@keyframes hero-barrage-left { from { transform: translate3d(calc(0px - var(--barrage-unit)), 0, 0); } to { transform: translate3d(calc(0px - var(--barrage-unit) - var(--barrage-unit)), 0, 0); } }
@media (prefers-reduced-motion: reduce) { .hero-barrage-row { animation-play-state: paused; } }
@media (max-width: 768px) {
    .hero-barrage { top: calc(var(--nav-height, 80px) + 8px); padding: 6px 0; }
    .hero-barrage-row { margin: 6px 0; }
    .hero-barrage-track { gap: 32px; padding-right: 32px; }
    .hero-barrage-item { letter-spacing: .03em; }
}
