Shadcn UI Logos Block
Logos20 is a logos-double-row-marquee block built with shadcn/ui layout conventions and react-fast-marquee for motion. The top row scrolls in the default direction while the bottom row scrolls the opposite way, so the two strips read as a paired system rather than a single band. Each logo can link out with standard new-tab behavior for external URLs.
The section keeps a centered headline and optional muted subtitle above full-width marquee lanes. Light gradient masks sit on the left and right edges so logos ease out at the viewport rim. Logo tiles use a wide aspect frame with object-contain marks, slightly reduced opacity, and dark mode inversion for SVG wordmarks.
Motion is steady and equal speed on both rows, with pause on hover to reduce distraction while reading. Spacing between the two rows is generous so the alternating directions stay legible. The overall feel is kinetic but controlled, closer to a product trust wall than a noisy ticker.
Content follows the shared logos-double-row-static pack for defaults: separate arrays for the first and second row, typically four and five marks. Props match other blocks in the subgroup so you can swap placeholder and modern packs without changing the component.