/*
 * Home index ONLY: .formats-marquee (scroll strip in #hypeads-global-inventory-map).
 * Creativity page uses #formats-showcase + inline styles in creativity.html — full animations there, unchanged.
 * --static / --lite rules below never target .formats-showcase.
 */
/* Format cards marquee (home inventario global) — card markup synced from creativity.html */
#hypeads-global-inventory-map .text-balance {
    text-wrap: balance;
}

#hypeads-global-inventory-map {
    --formats-marquee-fade-base: #ffffff;
    --formats-marquee-fade-mid: rgba(255, 255, 255, 0.72);
    --formats-marquee-fade-glow: rgba(124, 58, 237, 0.14);
    --formats-marquee-card-h: 280px;
    --formats-marquee-slide-w: 18.5rem;
    --formats-marquee-slide-wide-w: 37rem;
    /* WebKit: full-bleed marquee must not widen the page (100vw + overflow) */
    overflow-x: clip;
    -webkit-overflow-scrolling: touch;
}

@supports not (overflow: clip) {
    #hypeads-global-inventory-map {
        overflow-x: hidden;
    }
}

html.dark #hypeads-global-inventory-map {
    --formats-marquee-fade-base: #09090b;
    --formats-marquee-fade-mid: rgba(9, 9, 11, 0.78);
    --formats-marquee-fade-glow: rgba(124, 58, 237, 0.22);
}

.formats-marquee {
    position: relative;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    overflow: hidden;
    isolation: isolate;
}

.formats-marquee::before,
.formats-marquee::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: clamp(1.25rem, 3vw, 2.25rem);
    z-index: 4;
    pointer-events: none;
}

.formats-marquee::before {
    left: 0;
    background: linear-gradient(
        90deg,
        var(--formats-marquee-fade-base) 0%,
        color-mix(in srgb, var(--formats-marquee-fade-base) 55%, transparent) 45%,
        transparent 100%
    );
}

.formats-marquee::after {
    right: 0;
    background: linear-gradient(
        270deg,
        var(--formats-marquee-fade-base) 0%,
        color-mix(in srgb, var(--formats-marquee-fade-base) 55%, transparent) 45%,
        transparent 100%
    );
}

/* Safari < 16.2: no color-mix() in edge fades */
@supports not (color: color-mix(in srgb, white, transparent)) {
    .formats-marquee::before {
        background: linear-gradient(
            90deg,
            var(--formats-marquee-fade-base) 0%,
            var(--formats-marquee-fade-mid) 45%,
            transparent 100%
        );
    }

    .formats-marquee::after {
        background: linear-gradient(
            270deg,
            var(--formats-marquee-fade-base) 0%,
            var(--formats-marquee-fade-mid) 45%,
            transparent 100%
        );
    }
}

.formats-marquee__viewport {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding-inline: 0;
    background: transparent;
}

.formats-marquee__track {
    display: flex;
    align-items: stretch;
    gap: 1rem;
    width: max-content;
    min-height: calc(var(--formats-marquee-card-h) + 1.35rem);
    flex-shrink: 0;
    padding: 0.5rem 0 0.85rem;
    -webkit-animation: formats-marquee-scroll 120s linear infinite;
    animation: formats-marquee-scroll 120s linear infinite;
    -webkit-animation-play-state: paused;
    animation-play-state: paused;
}

.formats-marquee__cards {
    display: flex;
    align-items: stretch;
    gap: 1rem;
    width: max-content;
    min-height: var(--formats-marquee-card-h);
    flex-shrink: 0;
}

/* Safari <14.1: flex gap ignored — margin fallback (see docs/CSS-SAFARI-COMPATIBILITY.md) */
.formats-marquee__track > .formats-marquee__cards + .formats-marquee__cards {
    margin-left: 1rem;
}

.formats-marquee__cards > .formats-marquee__slide + .formats-marquee__slide {
    margin-left: 1rem;
}

@supports (gap: 1rem) {
    .formats-marquee__track > .formats-marquee__cards + .formats-marquee__cards,
    .formats-marquee__cards > .formats-marquee__slide + .formats-marquee__slide {
        margin-left: 0;
    }
}

.formats-marquee__slide {
    flex: 0 0 var(--formats-marquee-slide-w);
    flex-shrink: 0;
    width: var(--formats-marquee-slide-w);
    min-width: var(--formats-marquee-slide-w);
    max-width: var(--formats-marquee-slide-w);
}

.formats-marquee__card-link {
    display: block;
    height: 100%;
    color: inherit;
    text-decoration: none;
    border-radius: 1.5rem;
}

.formats-marquee__card-link:focus-visible {
    outline: 2px solid #a855f7;
    outline-offset: 3px;
}

.formats-marquee__card-link .glass-card {
    height: 100%;
}

.formats-marquee__slide--wide {
    flex: 0 0 var(--formats-marquee-slide-wide-w);
    flex-shrink: 0;
    width: var(--formats-marquee-slide-wide-w);
    min-width: var(--formats-marquee-slide-wide-w);
    max-width: var(--formats-marquee-slide-wide-w);
}

.formats-marquee__cards .glass-card {
    width: 100%;
    height: var(--formats-marquee-card-h);
    min-height: var(--formats-marquee-card-h);
    padding: 1.25rem;
    border-radius: 1.5rem;
}

.formats-marquee__cards .glass-card.formats-dooh-3d-card {
    height: var(--formats-marquee-card-h);
    min-height: var(--formats-marquee-card-h);
}

/* Web Display — compact article mockup for 280px marquee cards */
.formats-marquee__cards .formats-web-display-card .formats-web-display__leaderboard {
    height: 1.625rem;
}

.formats-marquee__cards .formats-web-display-card .formats-web-display__body {
    align-items: center;
}

.formats-marquee__cards .formats-web-display-card .formats-web-display__square {
    width: calc(1.625rem * 250 / 90);
    height: calc(1.625rem * 250 / 90);
    max-width: 42%;
    max-height: 100%;
}

.formats-marquee__cards .glass-card .text-lg {
    font-size: 1rem;
    line-height: 1.35;
}

.formats-marquee__cards .glass-card .text-xl {
    font-size: 1.0625rem;
    line-height: 1.35;
}

.formats-marquee__cards .glass-card [class*='mb-6'] {
    margin-bottom: 1rem;
}

.formats-marquee__cards .glass-card [class*='mb-4'] {
    margin-bottom: 0.75rem;
}

@-webkit-keyframes formats-marquee-scroll {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
    }
}

@keyframes formats-marquee-scroll {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0);
    }
}

.formats-marquee--lite .formats-marquee__track {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: transform;
}
.formats-marquee__cards .glass-card {
            background: #120a20;
            backdrop-filter: blur(24px);
            -webkit-backdrop-filter: blur(24px);
            border: 1px solid rgba(255, 255, 255, 0.05);
            box-shadow:
                0 10px 28px rgba(15, 23, 42, 0.14),
                0 4px 14px rgba(76, 34, 179, 0.1);
        }

        html.dark .formats-marquee__cards .glass-card {
            box-shadow:
                0 12px 32px rgba(0, 0, 0, 0.32),
                0 4px 14px rgba(124, 58, 237, 0.14);
        }

        .formats-marquee__cards .card-hover-fx {
            position: relative;
            transition:
                transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
                box-shadow 0.45s ease,
                border-color 0.35s ease;
        }

        .formats-marquee__cards .card-hover-fx:hover {
            transform: translateY(-5px);
            box-shadow:
                0 22px 48px rgba(91, 33, 182, 0.28),
                0 10px 28px rgba(0, 0, 0, 0.35);
            border-color: rgba(168, 85, 247, 0.28);
        }

        html.dark .formats-marquee__cards .card-hover-fx:hover {
            box-shadow:
                0 18px 44px rgba(0, 0, 0, 0.42),
                0 8px 22px rgba(124, 58, 237, 0.22);
        }

        .formats-marquee__cards .card-hover-fx > .absolute.blur-3xl {
            transition:
                transform 0.7s ease,
                background-color 0.7s ease;
        }

        .formats-marquee__cards .card-hover-fx:hover > .absolute.blur-3xl {
            transform: scale(1.2);
        }

        .formats-marquee__cards .card-hover-fx .rounded-lg.bg-brand-violet\/20 {
            transition:
                transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1),
                background-color 0.35s ease;
        }

        .formats-marquee__cards .card-hover-fx:hover .rounded-lg.bg-brand-violet\/20 {
            transform: scale(1.1) rotate(-3deg);
        }

        .formats-marquee__cards .card-hover-fx > .flex-1.min-h-0 {
            transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
        }

        .formats-marquee__cards .card-hover-fx:hover > .flex-1.min-h-0 {
            transform: scale(1.02);
        }

        .formats-marquee__cards .card-hover-fx .grid > div {
            transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
        }

        .formats-marquee__cards .card-hover-fx:hover .grid > div:first-child {
            transform: translateY(-3px);
        }

        .formats-marquee__cards .card-hover-fx:hover .grid > div:last-child {
            transform: translateY(3px);
        }

        .formats-marquee__cards .card-hover-fx:hover .ph-fill.ph-heart {
            transform: scale(1.25);
            transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
        }

        @media (prefers-reduced-motion: reduce) {
            .formats-marquee__cards .card-hover-fx,
            .formats-marquee__cards .card-hover-fx:hover,
            .formats-marquee__cards .card-hover-fx > .absolute.blur-3xl,
            .formats-marquee__cards .card-hover-fx:hover > .absolute.blur-3xl,
            .formats-marquee__cards .card-hover-fx .rounded-lg.bg-brand-violet\/20,
            .formats-marquee__cards .card-hover-fx:hover .rounded-lg.bg-brand-violet\/20,
            .formats-marquee__cards .card-hover-fx > .flex-1.min-h-0,
            .formats-marquee__cards .card-hover-fx:hover > .flex-1.min-h-0,
            .formats-marquee__cards .card-hover-fx .grid > div,
            .formats-marquee__cards .card-hover-fx:hover .grid > div:first-child,
            .formats-marquee__cards .card-hover-fx:hover .grid > div:last-child {
                transform: none;
                transition: none;
            }
        }

        .formats-marquee__cards .card-hover-fx::before {
            content: '';
            position: absolute;
            inset: -1px;
            border-radius: inherit;
            padding: 1px;
            background: linear-gradient(to bottom right, rgba(124, 58, 237, 0.5), rgba(232, 121, 249, 0.1), transparent);
            -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
            -webkit-mask-composite: xor;
            mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
            mask-composite: exclude;
            opacity: 0;
            transition: opacity 0.5s ease;
            pointer-events: none;
        }

        .formats-marquee__cards .card-hover-fx:hover::before {
            opacity: 1;
        }

        .formats-story-bar__fill {
            transition:
                width 0.55s cubic-bezier(0.22, 1, 0.36, 1),
                opacity 0.35s ease,
                filter 0.35s ease;
        }

        .formats-marquee__cards .card-hover-fx:hover .formats-story-bar__fill--partial {
            width: 80%;
        }

        .formats-marquee__cards .card-hover-fx:hover .formats-story-bar__fill--ghost {
            width: 38%;
        }

        .formats-marquee__cards .card-hover-fx:hover .formats-story-bar__fill {
            filter: brightness(1.15);
        }

        @keyframes formats-story-bar-pulse {
            0%,
            100% {
                opacity: 1;
            }

            50% {
                opacity: 0.72;
            }
        }

        .formats-marquee__cards .card-hover-fx:hover .formats-story-bar__fill:not(.formats-story-bar__fill--ghost) {
            animation: formats-story-bar-pulse 1.1s ease-in-out infinite;
        }

        @media (prefers-reduced-motion: reduce) {
            .formats-marquee__cards .card-hover-fx:hover .formats-story-bar__fill {
                animation: none;
                filter: none;
            }

            .formats-marquee__cards .card-hover-fx:hover .formats-story-bar__fill--partial,
            .formats-marquee__cards .card-hover-fx:hover .formats-story-bar__fill--ghost {
                width: auto;
            }
        }

        .formats-social-feed__thumb {
            width: 2.5rem;
            aspect-ratio: 4 / 5;
            flex-shrink: 0;
            border-radius: 0.5rem;
            border: 1px solid rgb(139 92 246 / 0.4);
            background: linear-gradient(to bottom, rgb(139 92 246 / 0.3), rgb(88 28 135 / 0.4));
            transition:
                transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1),
                border-color 0.35s ease;
        }

        .formats-marquee__cards .card-hover-fx:hover .formats-social-feed__thumb {
            transform: scale(1.08);
            border-color: rgb(232 121 249 / 0.45);
        }

/* 3D DOOH — anamorphic corner (design3DD, card-safe 3D stack) */

        .formats-marquee__cards .formats-ctv__stage {
            container-type: size;
            container-name: ctv-stage;
            padding: 0.85rem 1.35rem 1rem;
            box-sizing: border-box;
        }

        .formats-marquee__cards .formats-ctv__unit {
            width: 100%;
            max-width: 17.5rem;
            height: 100%;
            max-height: 100%;
            margin-inline: auto;
            flex: 0 1 auto;
            justify-content: center;
            box-sizing: border-box;
        }

        .formats-marquee__cards .formats-ctv__bezel {
            position: relative;
            width: min(100%, calc((100cqh - 0.7rem) * 16 / 9));
            max-height: calc(100cqh - 0.7rem);
            height: auto;
            aspect-ratio: 16 / 9;
            flex-shrink: 1;
            min-height: 0;
            background: #0d0d0d;
            border: 4px solid #1a1a1a;
            border-radius: 0.5rem;
            box-shadow:
                0 14px 28px -10px rgba(0, 0, 0, 0.6),
                inset 0 0 0 1px rgba(255, 255, 255, 0.04);
        }

        .formats-marquee__cards .formats-ctv__screen {
            position: absolute;
            inset: 0;
        }

        .formats-marquee__cards .formats-ctv__neck {
            width: 2.25rem;
            height: 0.35rem;
            margin-top: 0.12rem;
            flex-shrink: 0;
            background: linear-gradient(180deg, #222228 0%, #141418 100%);
            border-radius: 0 0 0.15rem 0.15rem;
        }

        .formats-marquee__cards .formats-ctv__base {
            width: 4.25rem;
            height: 0.28rem;
            margin-top: 0.08rem;
            flex-shrink: 0;
            background: linear-gradient(90deg, #0a0a0e 0%, #1e1e26 50%, #0a0a0e 100%);
            border-radius: 999px;
            box-shadow: 0 3px 10px rgba(0, 0, 0, 0.4);
        }

        .formats-marquee__cards .formats-dooh-3d-card {
            overflow: hidden;
        }

        .formats-marquee__cards .formats-dooh-3d__stage {
            position: relative;
            flex: 1 1 auto;
            min-height: 8.5rem;
            overflow: hidden;
            isolation: isolate;
            display: flex;
            flex-direction: column;
        }

        .formats-marquee__cards .formats-dooh-3d__stage-bg {
            position: absolute;
            inset: 0;
            border-radius: inherit;
            overflow: hidden;
            pointer-events: none;
        }

        .formats-marquee__cards .formats-dooh-3d__viewport {
            position: relative;
            z-index: 1;
            flex: 1 1 auto;
            width: 100%;
            min-height: 0;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
            container-type: size;
            container-name: dooh-3d;
            perspective: clamp(380px, 46cqw, 540px);
            perspective-origin: 50% 48%;
        }

        .formats-marquee__cards .formats-dooh-3d__building-corner {
            position: relative;
            flex-shrink: 0;
            width: min(92%, 12.5rem);
            height: min(78%, 7.75rem);
            max-height: 100%;
            transform-style: preserve-3d;
            transform: rotateX(12deg) rotateY(-20deg);
            transform-origin: center center;
        }

        @container dooh-3d (min-height: 140px) {
            .formats-marquee__cards .formats-dooh-3d__building-corner {
                width: min(94%, 13.25rem);
                height: min(82%, 8.25rem);
            }
        }

        @container dooh-3d (min-height: 180px) {
            .formats-marquee__cards .formats-dooh-3d__building-corner {
                width: min(96%, 14rem);
                height: min(86%, 8.75rem);
            }
        }

        .formats-marquee__cards .formats-dooh-3d__wall {
            position: absolute;
            top: 0;
            height: 100%;
            transform-style: preserve-3d;
            background: #121215;
            border: 1px solid #2a2a32;
            backface-visibility: hidden;
        }

        .formats-marquee__cards .formats-dooh-3d__wall-left {
            width: 50%;
            left: 0;
            transform-origin: 100% 50%;
            transform: rotateY(-32deg);
        }

        .formats-marquee__cards .formats-dooh-3d__wall-right {
            width: 50%;
            right: 0;
            transform-origin: 0% 50%;
            transform: rotateY(32deg);
        }

        .formats-marquee__cards .formats-dooh-3d__screen {
            position: absolute;
            top: 8%;
            height: 84%;
            background: #050508;
            border: 2px solid #3d3d48;
            box-shadow: 0 0 28px rgba(123, 6, 204, 0.35) inset;
            overflow: hidden;
        }

        .formats-marquee__cards .formats-dooh-3d__screen-left {
            width: 88%;
            right: 0;
        }

        .formats-marquee__cards .formats-dooh-3d__screen-right {
            width: 88%;
            left: 0;
        }

        .formats-marquee__cards .formats-dooh-screen-grid,
        .formats-marquee__cards .formats-dooh-3d__screen-grid {
            position: absolute;
            inset: 0;
            background-image:
                linear-gradient(rgba(123, 6, 204, 0.28) 1px, transparent 1px),
                linear-gradient(90deg, rgba(123, 6, 204, 0.28) 1px, transparent 1px);
            background-size: 12px 12px;
            opacity: 0.65;
            pointer-events: none;
        }

        .formats-marquee__cards .formats-dooh-billboard__face,
        .formats-marquee__cards .formats-dooh-totem__screen {
            box-shadow: 0 0 28px rgba(123, 6, 204, 0.35) inset;
        }

        .formats-marquee__cards .formats-dooh-totem__screen {
            width: 4.75rem;
            height: 7.25rem;
            background: #050508;
            border: 1px solid #3d3d48;
            border-radius: 0.2rem;
        }

        .formats-marquee__cards .formats-dooh-totem {
            transform: perspective(440px) rotateY(-11deg) rotateX(3deg);
            transform-origin: center bottom;
        }

        .formats-marquee__cards .formats-dooh-totem__screen-content {
            display: flex;
            flex-direction: column;
            flex: 1;
            min-height: 0;
            width: 100%;
        }

        .formats-marquee__cards .formats-dooh-totem__hologram {
            flex: 1;
            min-height: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
            background: radial-gradient(circle at center, rgba(123, 6, 204, 0.18) 0%, transparent 68%);
        }

        .formats-marquee__cards .formats-dooh-totem__wireframe-sphere {
            width: 2.35rem;
            height: 2.35rem;
            border-radius: 50%;
            border: 1px solid rgba(232, 121, 249, 0.55);
            position: relative;
            box-shadow: 0 0 16px rgba(124, 58, 237, 0.45);
            transition: transform 0.35s ease, box-shadow 0.35s ease;
        }

        .formats-marquee__cards .formats-dooh-totem__wireframe-sphere::before,
        .formats-marquee__cards .formats-dooh-totem__wireframe-sphere::after {
            content: '';
            position: absolute;
            border-radius: 50%;
            border: 1px solid rgba(123, 6, 204, 0.42);
            pointer-events: none;
            transition: transform 0.35s ease, opacity 0.35s ease;
        }

        .formats-marquee__cards .formats-dooh-totem__wireframe-sphere::before {
            inset: 10%;
            transform: scaleY(0.38);
        }

        .formats-marquee__cards .formats-dooh-totem__wireframe-sphere::after {
            inset: 10%;
            transform: scaleX(0.38);
        }

        @keyframes formatsDoohSpherePulse {
            0%, 100% {
                transform: scale(1);
                box-shadow: 0 0 16px rgba(124, 58, 237, 0.45);
            }

            50% {
                transform: scale(1.07);
                box-shadow: 0 0 22px rgba(232, 121, 249, 0.55);
            }
        }

        @keyframes formatsDoohSphereRingY {
            0%, 100% {
                transform: scaleY(0.38) rotate(0deg);
                opacity: 0.7;
            }

            50% {
                transform: scaleY(0.48) rotate(14deg);
                opacity: 1;
            }
        }

        @keyframes formatsDoohSphereRingX {
            0%, 100% {
                transform: scaleX(0.38) rotate(0deg);
                opacity: 0.7;
            }

            50% {
                transform: scaleX(0.48) rotate(-14deg);
                opacity: 1;
            }
        }

        .formats-marquee__cards .group:hover .formats-dooh-totem__wireframe-sphere {
            animation: formatsDoohSpherePulse 2.4s ease-in-out infinite;
        }

        .formats-marquee__cards .group:hover .formats-dooh-totem__wireframe-sphere::before {
            animation: formatsDoohSphereRingY 2.8s ease-in-out infinite;
        }

        .formats-marquee__cards .group:hover .formats-dooh-totem__wireframe-sphere::after {
            animation: formatsDoohSphereRingX 2.8s ease-in-out infinite;
        }

        .formats-marquee__cards .formats-dooh-totem__stem {
            width: 0.6rem;
            height: 1.1rem;
            background: linear-gradient(90deg, #0a0a0e 0%, #18181f 42%, #0a0a0e 100%);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
        }

        .formats-marquee__cards .formats-dooh-3d__corner-mask {
            position: absolute;
            inset: 0;
            background: linear-gradient(90deg, transparent 92%, rgba(0, 0, 0, 0.88) 100%);
            pointer-events: none;
        }

        .formats-marquee__cards .formats-dooh-3d__wall-right .formats-dooh-3d__corner-mask {
            background: linear-gradient(-90deg, transparent 92%, rgba(0, 0, 0, 0.88) 100%);
        }

        .formats-marquee__cards .formats-dooh-3d__illusion {
            position: absolute;
            inset: 0;
            transform-style: preserve-3d;
            pointer-events: none;
        }

        .formats-marquee__cards .formats-dooh-3d__cube-wrapper {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 0;
            height: 0;
            transform-style: preserve-3d;
            transform: translate(-50%, -50%) translateZ(1.75rem);
            animation: formats-dooh-3d-float 8s ease-in-out infinite;
        }

        .formats-marquee__cards .formats-dooh-3d__cube {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 3rem;
            height: 3rem;
            margin: -1.5rem 0 0 -1.5rem;
            transform-style: preserve-3d;
            animation: formats-dooh-3d-rotate 16s linear infinite;
        }

        .formats-marquee__cards .formats-dooh-3d__cube-face {
            position: absolute;
            inset: 0;
            border: 2px solid rgba(167, 139, 250, 0.9);
            background: rgba(123, 6, 204, 0.18);
            box-shadow: 0 0 16px rgba(123, 6, 204, 0.4) inset;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.5rem;
            font-weight: 700;
            letter-spacing: 0.05em;
            color: #e9d5ff;
            backface-visibility: hidden;
        }

        .formats-marquee__cards .formats-dooh-3d__cube-face:nth-child(1) {
            transform: translateZ(1.5rem);
        }

        .formats-marquee__cards .formats-dooh-3d__cube-face:nth-child(2) {
            transform: rotateY(180deg) translateZ(1.5rem);
        }

        .formats-marquee__cards .formats-dooh-3d__cube-face:nth-child(3) {
            transform: rotateY(90deg) translateZ(1.5rem);
        }

        .formats-marquee__cards .formats-dooh-3d__cube-face:nth-child(4) {
            transform: rotateY(-90deg) translateZ(1.5rem);
        }

        .formats-marquee__cards .formats-dooh-3d__cube-face:nth-child(5) {
            transform: rotateX(90deg) translateZ(1.5rem);
        }

        .formats-marquee__cards .formats-dooh-3d__cube-face:nth-child(6) {
            transform: rotateX(-90deg) translateZ(1.5rem);
        }

        @keyframes formats-dooh-3d-rotate {
            from {
                transform: rotateX(-18deg) rotateY(0deg);
            }

            to {
                transform: rotateX(-18deg) rotateY(360deg);
            }
        }

        @keyframes formats-dooh-3d-float {
            0%,
            100% {
                transform: translate(-50%, -50%) translateZ(1.6rem) translateY(0);
            }

            50% {
                transform: translate(-50%, -50%) translateZ(2.05rem) translateY(-0.35rem);
            }
        }

/* --- Performance: pause off-screen only --- */
.formats-marquee__viewport {
    overflow: hidden;
}

.formats-marquee--active .formats-marquee__track {
    -webkit-animation-play-state: running;
    animation-play-state: running;
}

.formats-marquee--active:focus-within .formats-marquee__track,
.formats-marquee--offscreen .formats-marquee__track,
.formats-marquee:not(.formats-marquee--active) .formats-marquee__track {
    -webkit-animation-play-state: paused !important;
    animation-play-state: paused !important;
}

.formats-marquee--lite .formats-marquee__slide {
    content-visibility: visible;
}

.formats-marquee--lite .card-hover-fx:hover {
    transform: none;
}

.formats-marquee--lite .card-hover-fx:hover > .flex-1.min-h-0,
.formats-marquee--lite .card-hover-fx:hover .grid > div:first-child,
.formats-marquee--lite .card-hover-fx:hover .grid > div:last-child {
    transform: none;
}

.formats-marquee--lite .blur-xl {
    filter: blur(20px);
}

/* macOS desktop: no hover FX (compositor jank with animated marquee) */
.formats-marquee--mac .formats-marquee__cards .card-hover-fx,
.formats-marquee--mac .formats-marquee__cards .card-hover-fx:hover,
.formats-marquee--mac .formats-marquee__cards .card-hover-fx > .absolute.blur-3xl,
.formats-marquee--mac .formats-marquee__cards .card-hover-fx:hover > .absolute.blur-3xl,
.formats-marquee--mac .formats-marquee__cards .card-hover-fx .rounded-lg.bg-brand-violet\/20,
.formats-marquee--mac .formats-marquee__cards .card-hover-fx:hover .rounded-lg.bg-brand-violet\/20,
.formats-marquee--mac .formats-marquee__cards .card-hover-fx > .flex-1.min-h-0,
.formats-marquee--mac .formats-marquee__cards .card-hover-fx:hover > .flex-1.min-h-0,
.formats-marquee--mac .formats-marquee__cards .card-hover-fx .grid > div,
.formats-marquee--mac .formats-marquee__cards .card-hover-fx:hover .grid > div:first-child,
.formats-marquee--mac .formats-marquee__cards .card-hover-fx:hover .grid > div:last-child,
.formats-marquee--mac .formats-marquee__cards .card-hover-fx:hover .ph-fill.ph-heart {
    transform: none !important;
    transition: none !important;
    box-shadow: inherit;
    border-color: inherit;
    filter: none !important;
}

.formats-marquee--mac .formats-marquee__cards .card-hover-fx:hover {
    box-shadow:
        0 10px 28px rgba(15, 23, 42, 0.14),
        0 4px 14px rgba(76, 34, 179, 0.1);
    border-color: rgba(255, 255, 255, 0.05);
}

html.dark .formats-marquee--mac .formats-marquee__cards .card-hover-fx:hover {
    box-shadow:
        0 12px 32px rgba(0, 0, 0, 0.32),
        0 4px 14px rgba(124, 58, 237, 0.14);
}

.formats-marquee--mac .formats-marquee__cards .card-hover-fx::before,
.formats-marquee--mac .formats-marquee__cards .card-hover-fx:hover::before {
    opacity: 0 !important;
}

.formats-marquee--mac .formats-marquee__cards .card-hover-fx:hover .formats-story-bar__fill,
.formats-marquee--mac .formats-marquee__cards .card-hover-fx:hover .formats-story-bar__fill--partial,
.formats-marquee--mac .formats-marquee__cards .card-hover-fx:hover .formats-story-bar__fill--ghost {
    animation: none !important;
    filter: none !important;
    width: auto;
}

.formats-marquee--mac .formats-marquee__cards .card-hover-fx:hover .formats-social-feed__thumb {
    transform: none !important;
    border-color: rgb(139 92 246 / 0.4);
}

.formats-marquee--mac .formats-marquee__cards .group:hover .formats-dooh-totem__wireframe-sphere,
.formats-marquee--mac .formats-marquee__cards .group:hover .formats-dooh-totem__wireframe-sphere::before,
.formats-marquee--mac .formats-marquee__cards .group:hover .formats-dooh-totem__wireframe-sphere::after,
.formats-marquee--mac .formats-marquee__cards .group:hover .formats-micro-drama__progress-fill,
.formats-marquee--mac .formats-marquee__cards .group-hover\:animate-\[shimmer_2s_infinite\] {
    animation: none !important;
}

.formats-marquee--mac .formats-marquee__cards .group:hover [class*='group-hover\:'] {
    --tw-scale-x: 1 !important;
    --tw-scale-y: 1 !important;
    --tw-translate-x: 0 !important;
    --tw-translate-y: 0 !important;
    transform: translate3d(0, 0, 0) !important;
    animation: none !important;
}

.formats-marquee--mac .formats-marquee__cards .group:hover > .absolute.blur-3xl[class*='group-hover\:bg-'] {
    background-color: rgb(124 58 237 / 0.15) !important;
}

.formats-marquee--mac .formats-marquee__cards .group:hover [class*='group-hover\:border-brand'] {
    border-color: rgb(255 255 255 / 0.05) !important;
}

.formats-marquee--mac .formats-marquee__cards .group:hover [class*='group-hover\:bg-brand-fuchsia'] {
    background-color: transparent !important;
}

.formats-marquee--mac .formats-marquee__cards .group:hover [class*='group-hover\:bg-brand-violet'] {
    background-color: rgb(124 58 237 / 0.15) !important;
}

.formats-marquee--mac .formats-marquee__cards .group:hover [class*='group-hover\:opacity-'] {
    opacity: 0 !important;
}

.formats-marquee--mac .formats-marquee__cards .group:hover [class*='group-hover\:-translate-y'] {
    transform: translate3d(0, 0, 0) !important;
}

.formats-marquee--mac .formats-marquee__cards .flex.items-end.gap-1\.5 > div {
    transition: none !important;
}

.formats-marquee--mac .formats-marquee__cards .group:hover .flex.items-end.gap-1\.5 > div:nth-child(1) {
    height: 30% !important;
}

.formats-marquee--mac .formats-marquee__cards .group:hover .flex.items-end.gap-1\.5 > div:nth-child(2) {
    height: 50% !important;
}

.formats-marquee--mac .formats-marquee__cards .group:hover .flex.items-end.gap-1\.5 > div:nth-child(3) {
    height: 80% !important;
}

.formats-marquee--mac .formats-marquee__cards .group:hover .flex.items-end.gap-1\.5 > div:nth-child(4) {
    height: 100% !important;
}

.formats-marquee--mac .formats-marquee__cards .group:hover .flex.items-end.gap-1\.5 > div:nth-child(5) {
    height: 60% !important;
}

.formats-marquee--mac .formats-marquee__cards .group:hover .flex.items-end.gap-1\.5 > div:nth-child(6) {
    height: 40% !important;
}

.formats-marquee--mac .formats-marquee__cards .group:hover .flex.items-end.gap-1\.5 > div:nth-child(7) {
    height: 70% !important;
}

.formats-marquee .blur-3xl {
    filter: blur(32px);
}

.formats-marquee:not(.formats-marquee--active) .animate-pulse,
.formats-marquee:not(.formats-marquee--active) .animate-float-delayed,
.formats-marquee:not(.formats-marquee--active) .formats-dooh-3d__cube,
.formats-marquee:not(.formats-marquee--active) .formats-dooh-totem__wireframe-sphere,
.formats-marquee:not(.formats-marquee--active) [class*='animate-'] {
    animation-play-state: paused !important;
}

.formats-marquee:not(.formats-marquee--active) .group-hover\:animate-\[shimmer_2s_infinite\] {
    animation: none !important;
}

/* Static strip: manual scroll (prefers-reduced-motion + Apple WebKit via JS --static) */
.formats-marquee--static .formats-marquee__viewport {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-padding-inline: 1rem;
    scrollbar-width: thin;
    scrollbar-color: rgba(124, 58, 237, 0.45) transparent;
    touch-action: pan-x;
    overscroll-behavior-x: contain;
}

.formats-marquee--static .formats-marquee__viewport::-webkit-scrollbar {
    height: 6px;
}

.formats-marquee--static .formats-marquee__viewport::-webkit-scrollbar-thumb {
    background: rgba(124, 58, 237, 0.45);
    border-radius: 999px;
}

.formats-marquee--static .formats-marquee__track {
    -webkit-animation: none !important;
    animation: none !important;
    -webkit-transform: none !important;
    transform: none !important;
    width: max-content;
}

.formats-marquee--static .formats-marquee__cards[aria-hidden='true'] {
    display: none !important;
}

.formats-marquee--static.formats-marquee--active .formats-marquee__track,
.formats-marquee--static .formats-marquee__track {
    -webkit-animation-play-state: paused !important;
    animation-play-state: paused !important;
}

.formats-marquee--static .animate-pulse,
.formats-marquee--static .animate-float-delayed,
.formats-marquee--static .formats-dooh-3d__cube,
.formats-marquee--static .formats-dooh-3d__cube-wrapper,
.formats-marquee--static .formats-dooh-totem__wireframe-sphere,
.formats-marquee--static .group:hover .formats-dooh-totem__wireframe-sphere,
.formats-marquee--static .group:hover .formats-dooh-totem__wireframe-sphere::before,
.formats-marquee--static .group:hover .formats-dooh-totem__wireframe-sphere::after,
.formats-marquee--static .group:hover .formats-micro-drama__progress-fill,
.formats-marquee--static .card-hover-fx:hover .formats-story-bar__fill:not(.formats-story-bar__fill--ghost),
.formats-marquee--static [class*='animate-'],
.formats-marquee--static .group-hover\:animate-\[shimmer_2s_infinite\] {
    animation: none !important;
}

@media (prefers-reduced-motion: reduce) {
    .formats-marquee__viewport {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scroll-padding-inline: 1rem;
    }

    .formats-marquee__track {
        -webkit-animation: none !important;
        animation: none !important;
        -webkit-transform: none !important;
        transform: none !important;
        width: max-content;
    }

    .formats-marquee__cards[aria-hidden='true'] {
        display: none !important;
    }

    .formats-marquee .animate-pulse,
    .formats-marquee .animate-float-delayed,
    .formats-marquee .formats-dooh-3d__cube,
    .formats-marquee .formats-dooh-3d__cube-wrapper,
    .formats-marquee .formats-dooh-totem__wireframe-sphere,
    .formats-marquee .group:hover .formats-dooh-totem__wireframe-sphere,
    .formats-marquee .group:hover .formats-dooh-totem__wireframe-sphere::before,
    .formats-marquee .group:hover .formats-dooh-totem__wireframe-sphere::after,
    .formats-marquee .group:hover .formats-micro-drama__progress-fill,
    .formats-marquee .card-hover-fx:hover .formats-story-bar__fill:not(.formats-story-bar__fill--ghost),
    .formats-marquee [class*='animate-'],
    .formats-marquee .group-hover\:animate-\[shimmer_2s_infinite\] {
        animation: none !important;
    }
}

/* ==========================================================================
   Safari / WebKit layout compatibility — .formats-marquee ONLY
   Documented in docs/CSS-SAFARI-COMPATIBILITY.md
   ========================================================================== */

/* 1. Flexbox — explicit flex children + Tailwind flex gap → margin (grid keeps gap) */
.formats-marquee .glass-card.flex.flex-col {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: var(--formats-marquee-card-h);
    height: var(--formats-marquee-card-h);
}

.formats-marquee .flex-1.min-h-0 {
    flex: 1 1 0%;
    min-height: 0;
}

.formats-marquee .shrink-0,
.formats-marquee .formats-marquee__slide,
.formats-marquee .formats-web-display__square,
.formats-marquee .formats-social-feed__thumb,
.formats-marquee .rounded-lg.bg-brand-violet\/20 {
    flex-shrink: 0;
}

.formats-marquee .grid > * {
    flex-shrink: 0;
    min-width: 0;
}

/* Row flex: margin replaces gap when flex gap unsupported */
.formats-marquee .flex.gap-px:not(.flex-col) > * + * {
    margin-left: 1px;
}

.formats-marquee .flex.gap-1:not(.flex-col) > * + * {
    margin-left: 0.25rem;
}

.formats-marquee .flex.gap-1\.5:not(.flex-col) > * + * {
    margin-left: 0.375rem;
}

.formats-marquee .flex.gap-2:not(.flex-col) > * + * {
    margin-left: 0.5rem;
}

.formats-marquee .flex.gap-2\.5:not(.flex-col) > * + * {
    margin-left: 0.625rem;
}

.formats-marquee .flex.gap-3:not(.flex-col) > * + * {
    margin-left: 0.75rem;
}

.formats-marquee .flex.gap-4:not(.flex-col) > * + * {
    margin-left: 1rem;
}

/* Column flex: margin-top fallback */
.formats-marquee .flex.flex-col.gap-px > * + * {
    margin-top: 1px;
    margin-left: 0;
}

.formats-marquee .flex.flex-col.gap-1 > * + * {
    margin-top: 0.25rem;
    margin-left: 0;
}

.formats-marquee .flex.flex-col.gap-1\.5 > * + * {
    margin-top: 0.375rem;
    margin-left: 0;
}

.formats-marquee .flex.flex-col.gap-2 > * + * {
    margin-top: 0.5rem;
    margin-left: 0;
}

.formats-marquee .flex.flex-col.gap-2\.5 > * + * {
    margin-top: 0.625rem;
    margin-left: 0;
}

.formats-marquee .flex.flex-col.gap-3 > * + * {
    margin-top: 0.75rem;
    margin-left: 0;
}

.formats-marquee .flex.flex-col.gap-4 > * + * {
    margin-top: 1rem;
    margin-left: 0;
}

@supports (gap: 1rem) {
    .formats-marquee .flex[class*='gap-']:not(.flex-col) > * + * {
        margin-left: 0;
    }

    .formats-marquee .flex.flex-col[class*='gap-'] > * + * {
        margin-top: 0;
    }
}

/* 2. Form / text — WebKit native style reset inside cards */
.formats-marquee button,
.formats-marquee input,
.formats-marquee textarea,
.formats-marquee select {
    appearance: none;
    -webkit-appearance: none;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    font: inherit;
    line-height: inherit;
}

.formats-marquee h3,
.formats-marquee .glass-card .text-lg {
    line-height: 1.35;
}

.formats-marquee p,
.formats-marquee .text-xs,
.formats-marquee .text-\[7px\],
.formats-marquee .text-\[8px\],
.formats-marquee .text-\[9px\],
.formats-marquee .text-\[10px\] {
    line-height: 1.4;
}

.formats-marquee .leading-tight {
    line-height: 1.25;
}

.formats-marquee .leading-snug {
    line-height: 1.375;
}

.formats-marquee .leading-none {
    line-height: 1;
}

/* 3. Fixed / sticky — GPU layer for scroll stability on macOS Safari */
.formats-marquee .fixed,
.formats-marquee .sticky,
.formats-marquee [class*='fixed'],
.formats-marquee [class*='sticky'] {
    transform: translate3d(0, 0, 0);
    will-change: transform;
}

.formats-marquee--webkit .formats-marquee__viewport,
.formats-marquee--webkit .formats-marquee__track {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.formats-marquee--webkit .formats-marquee__slide {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}

.formats-marquee--active.formats-marquee--webkit .formats-marquee__track {
    will-change: -webkit-transform, transform;
}

/* backdrop-filter + animated transform = broken compositing on WebKit */
.formats-marquee--webkit.formats-marquee--active .formats-marquee__cards .glass-card,
.formats-marquee--webkit.formats-marquee--mac .formats-marquee__cards .glass-card {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: #120a20;
}

.formats-marquee--webkit .formats-marquee__cards .card-hover-fx > .absolute.blur-3xl {
    -webkit-filter: blur(24px);
    filter: blur(24px);
}

.formats-marquee--webkit .formats-marquee__cards .formats-dooh-3d__viewport {
    -webkit-perspective: clamp(380px, 46vw, 540px);
    perspective: clamp(380px, 46vw, 540px);
}

.formats-marquee--webkit .formats-marquee__cards .formats-dooh-3d__building-corner,
.formats-marquee--webkit .formats-marquee__cards .formats-dooh-3d__wall,
.formats-marquee--webkit .formats-marquee__cards .formats-dooh-3d__illusion,
.formats-marquee--webkit .formats-marquee__cards .formats-dooh-3d__cube-wrapper,
.formats-marquee--webkit .formats-marquee__cards .formats-dooh-3d__cube {
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
}

.formats-marquee--webkit .formats-marquee__cards .formats-dooh-totem {
    -webkit-perspective: 440px;
    perspective: 440px;
}

/* aspect-ratio + flex: explicit box on WebKit */
.formats-marquee--webkit .formats-social-feed__thumb {
    width: 2.5rem;
    height: 3.125rem;
}

.formats-marquee--webkit .formats-micro-drama__player {
    width: calc(9.75rem * 9 / 16);
    height: 9.75rem;
    max-width: 55%;
}

@supports (aspect-ratio: 9 / 16) {
    .formats-marquee--webkit .formats-micro-drama__player {
        width: auto;
        height: auto;
        max-height: 9.75rem;
        aspect-ratio: 9 / 16;
    }
}

/* container queries: CTV bezel fallback when unsupported */
@supports not (container-type: size) {
    .formats-marquee__cards .formats-ctv__stage {
        padding: 0.75rem 1rem;
    }

    .formats-marquee__cards .formats-ctv__bezel {
        width: min(100%, 14rem);
        max-height: 7.875rem;
        height: auto;
        aspect-ratio: 16 / 9;
    }

    .formats-marquee__cards .formats-dooh-3d__building-corner {
        width: min(92%, 12.5rem);
        height: 7.75rem;
    }
}

/* 4. Images / SVG / icon fonts — explicit responsive box */
.formats-marquee img {
    display: block;
    max-width: 100%;
    height: auto;
    flex-shrink: 0;
}

.formats-marquee svg {
    display: block;
    max-width: 100%;
    height: auto;
    flex-shrink: 0;
}

.formats-marquee i[class*='ph'] {
    display: inline-flex;
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    line-height: 1;
    vertical-align: middle;
}

.formats-marquee .text-xl[class*='ph'],
.formats-marquee i.ph.text-xl {
    font-size: 1.25rem;
    width: 1.25rem;
    height: 1.25rem;
}

.formats-marquee .text-lg[class*='ph'],
.formats-marquee i.ph.text-lg {
    font-size: 1.125rem;
    width: 1.125rem;
    height: 1.125rem;
}

.formats-marquee .text-sm[class*='ph'],
.formats-marquee i.ph.text-sm {
    font-size: 0.875rem;
    width: 0.875rem;
    height: 0.875rem;
}

.formats-marquee .text-xs[class*='ph'],
.formats-marquee i.ph.text-xs {
    font-size: 0.75rem;
    width: 0.75rem;
    height: 0.75rem;
}
