    .legacy-waterfall {
        --wall-gap: clamp(6px, .55vw, 10px);
        --cols: 2;
        position: relative;
        padding-left: max(var(--wall-gap), env(safe-area-inset-left, 0px));
        padding-right: max(var(--wall-gap), env(safe-area-inset-right, 0px));
        overflow: hidden;
    }

    .legacy-waterfall[data-mode="motion"] {
        height: clamp(36rem, 104svh, 74rem);
        -webkit-mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 88%, transparent);
        mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 88%, transparent);
    }


    .legacy-waterfall[data-mode="static"] .wall-grid:not(:empty) {
        max-height: 150svh;
        overflow: hidden;
        -webkit-mask-image: linear-gradient(to bottom, transparent, #000 10%, #000 80%, transparent);
        mask-image: linear-gradient(to bottom, transparent, #000 10%, #000 80%, transparent);
    }

    .legacy-waterfall .wall-source {
        columns: 2;
        column-gap: var(--wall-gap);
    }

    .legacy-waterfall .wall-source > * {
        break-inside: avoid;
        margin-bottom: var(--wall-gap);
    }

    @media (min-width: 1024px) {
        .legacy-waterfall .wall-source { columns: 4; }
    }

    .legacy-waterfall .wall-grid {
        display: grid;
        grid-template-columns: repeat(var(--cols), minmax(0, 1fr));
        gap: var(--wall-gap);
        align-items: start;
    }

    .legacy-waterfall .wall-col {
        min-width: 0;
    }

    .legacy-waterfall .wall-track {
        display: flex;
        flex-direction: column;
        gap: var(--wall-gap);
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .legacy-waterfall[data-mode="motion"] .wall-track {
        animation: v2-wall-up var(--duration, 60s) linear var(--delay, 0s) infinite;
        animation-play-state: paused;
        will-change: transform;
    }

    .legacy-waterfall[data-mode="motion"] .wall-col[data-dir="down"] .wall-track {
        animation-name: v2-wall-down;
    }

    .legacy-waterfall[data-running="true"] .wall-track {
        animation-play-state: running;
    }

    .legacy-waterfall[data-running="true"] .wall-col:hover .wall-track,
    .legacy-waterfall[data-running="true"] .wall-col:focus-within .wall-track {
        animation-play-state: paused;
    }

    .legacy-waterfall .wall-tile {
        position: relative;
        aspect-ratio: var(--ratio, .5625);
        overflow: hidden;
        border-radius: 8px;
        background: rgb(var(--surface));
        box-shadow: 0 0 0 1px rgb(var(--bone) / .06);
        isolation: isolate;
        list-style: none;
    }

    .legacy-waterfall .wall-link {
        position: absolute;
        inset: 0;
        display: block;
    }

    .legacy-waterfall .wall-link:focus-visible {
        outline: 2px solid rgb(var(--accent-soft));
        outline-offset: -2px;
        border-radius: 8px;
    }

    .legacy-waterfall .wall-tile video {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 1.2s var(--ease-cine);
    }

    .legacy-waterfall .wall-tile[data-orientation="landscape"] video {
        object-fit: contain;
        background: #07070b;
    }

    .legacy-waterfall .wall-tile:hover video {
        transform: scale(1.035);
    }

    .legacy-waterfall .wall-tile:not([data-state="ready"]):not([data-has-poster]) .unit-shade {
        opacity: 1;
    }

    .legacy-waterfall .wall-tile[data-has-poster] .unit-shade,
    .legacy-waterfall .wall-tile[data-has-poster]:not([data-state="ready"]) .unit-shade {
        opacity: 0;
    }

    .legacy-waterfall .wall-tile .clip-poster {
        object-fit: cover;
    }

    .legacy-waterfall .wall-tile[data-orientation="landscape"] .clip-poster {
        object-fit: contain;
        background: #07070b;
    }

    .legacy-waterfall .wall-tile .unit-shade {
        background:
            linear-gradient(110deg, transparent 30%, rgb(var(--accent-soft) / .07) 50%, transparent 70%) 0 0 / 250% 100%,
            radial-gradient(120% 80% at 50% 30%, rgb(var(--accent) / .16), transparent 70%),
            radial-gradient(120% 90% at 50% 40%, #191724, #08080c);
    }

    .legacy-waterfall .wall-meta {
        position: absolute;
        inset: auto 0 0 0;
        z-index: 7;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: .5rem;
        padding: 2.5rem .7rem .7rem;
        background: linear-gradient(to top, rgb(8 8 12 / .82), transparent);
        opacity: 0;
        transform: translateY(6px);
        transition: opacity .35s, transform .5s var(--ease-cine);
        pointer-events: none;
    }

    .legacy-waterfall .wall-tile:hover .wall-meta,
    .legacy-waterfall .wall-link:focus-visible .wall-meta {
        opacity: 1;
        transform: none;
    }

    .legacy-waterfall .wall-title {
        font-size: .8125rem;
        font-weight: 500;
        letter-spacing: -.01em;
        color: rgb(var(--bone));
    }

@keyframes v2-wall-up {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(0, calc(var(--period, 0px) * -1), 0); }
}

@keyframes v2-wall-down {
    from { transform: translate3d(0, calc(var(--period, 0px) * -1), 0); }
    to { transform: translate3d(0, 0, 0); }
}


/* Only the waterfall inherits the previous V2 RGB tokens and media states. */
.waterfall-section { position: relative; margin-top: -40px; padding-bottom: clamp(64px, 6vw, 112px); }
.legacy-waterfall { --surface: 17 16 24; --bone: 245 242 237; --accent: 155 84 247; --accent-soft: 190 153 255; --ease-cine: cubic-bezier(.22, 1, .36, 1); }
.legacy-waterfall .wall-grid { width: 100%; max-width: none; margin: 0; padding: 0; }
.legacy-waterfall .wall-source { margin: 0; padding: 0; list-style: none; }
.legacy-waterfall .clip-poster { position: absolute; inset: 0; width: 100%; height: 100%; }
.legacy-waterfall .unit-shade { position: absolute; inset: 0; pointer-events: none; }
.legacy-waterfall .wall-tile video { opacity: 0; }
.legacy-waterfall .wall-tile[data-state="ready"] video { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
    .legacy-waterfall .wall-track { animation: none; }
    .legacy-waterfall .wall-tile video { transition: none; }
}
