.partner-showcase {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: var(--lf-section-pad-md) var(--space-6) clamp(var(--space-8), 4vw, var(--space-12));
    background:
        radial-gradient(circle at 50% 16%, rgba(var(--brand-violet-rgb), var(--a-14)), transparent 27%),
        var(--canvas);
}

.partner-showcase::before,
.partner-showcase::after {
    position: absolute;
    z-index: var(--z-below);
    width: min(50vw, 720px);
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--border-brand), transparent);
    content: '';
}

.partner-showcase::before {
    top: 0;
    left: 0;
}

.partner-showcase::after {
    right: 0;
    bottom: 0;
}

.partner-showcase__inner {
    width: min(1560px, 100%);
    margin: 0 auto;
    text-align: center;
}

.partner-showcase__eyebrow {
    margin: 0 0 var(--space-5);
    color: var(--brand-blue-tint);
    font-family: 'Inter', sans-serif;
    font-size: var(--text-2xs);
    font-weight: var(--weight-semibold);
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
}

.partner-showcase__title {
    max-width: 1450px;
    margin: 0 auto;
    letter-spacing: var(--tracking-normal);
    word-spacing: 0.1em;
}

.partner-showcase__intro {
    max-width: 660px;
    margin: var(--space-7) auto 0;
    color: var(--text-secondary);
    font-size: var(--text-xl);
    font-weight: var(--weight-medium);
    line-height: var(--leading-snug);
    text-wrap: balance;
}

.partner-showcase__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    margin-top: var(--space-7);
    padding: 0 var(--space-6);
    color: #fff;
    border: 1px solid var(--border-brand);
    border-radius: var(--radius-full);
    background: var(--brand-gradient-contrast);
    box-shadow: 0 12px 36px var(--glow-violet);
    font-family: 'Inter', sans-serif;
    font-size: var(--text-2xs);
    font-weight: var(--weight-semibold);
    letter-spacing: var(--tracking-wide);
    text-decoration: none;
    text-transform: uppercase;
    transition: border-color var(--dur-base) ease, box-shadow var(--dur-base) ease, filter var(--dur-base) ease, transform var(--dur-base) ease;
}

.partner-showcase__cta:hover {
    border-color: rgba(var(--brand-pink-rgb), var(--a-72));
    box-shadow: 0 16px 44px var(--glow-pink), 0 0 24px var(--glow-blue);
    filter: brightness(1.08);
    transform: translateY(-2px);
}

.partner-showcase__proof {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: min(1080px, 100%);
    margin: clamp(var(--space-16), 8vw, 112px) auto 0;
    padding: clamp(var(--space-6), 3.5vw, var(--space-11)) clamp(var(--space-5), 4vw, var(--space-16));
    border: 1px solid rgba(255, 255, 255, var(--a-14));
    border-radius: var(--radius-panel);
    background: linear-gradient(135deg, rgba(255, 255, 255, var(--a-08)), rgba(var(--brand-violet-rgb), var(--a-08)));
    box-shadow: var(--shadow-4), var(--shadow-inset-top);
    backdrop-filter: blur(14px);
}

.partner-showcase__proof-item {
    min-width: 0;
    padding: 0 clamp(var(--space-4), 3vw, var(--space-12));
    text-align: center;
}

.partner-showcase__proof-item+.partner-showcase__proof-item {
    border-left: 1px solid rgba(255, 255, 255, var(--a-14));
}

.partner-showcase__proof-item strong,
.partner-showcase__proof-item span {
    display: block;
}

.partner-showcase__proof-item strong {
    color: var(--text-primary);
    font-family: 'Space Grotesk', 'Inter', sans-serif;
    font-size: var(--text-5xl);
    font-weight: var(--weight-bold);
    letter-spacing: var(--tracking-tightest);
    line-height: var(--leading-flat);
    font-variant-numeric: tabular-nums;
    text-wrap: nowrap;
}

.partner-showcase__proof-item span {
    margin-top: var(--space-3);
    color: var(--text-secondary);
    font-family: 'Inter', sans-serif;
    font-size: clamp(var(--text-xs), 1.15vw, var(--text-base));
    font-weight: var(--weight-medium);
    line-height: var(--leading-snug);
    text-wrap: balance;
}

/* Show the front half of a rotating 3D orbit. */
.partner-showcase__wordmarks {
    --partner-orbit-radius: clamp(300px, 30vw, 620px);
    position: relative;
    width: min(1560px, 100%);
    height: clamp(232px, 20vw, 352px);
    margin-right: auto;
    margin-left: auto;
    margin-top: calc(clamp(var(--space-10), 4vw, var(--space-16)) + var(--space-6));
    overflow: hidden;
    perspective: 1500px;
    perspective-origin: 50% 42%;
}

.partner-showcase__orbit {
    position: absolute;
    inset: 0;
    transform: rotateX(5deg) rotateY(0deg);
    transform-style: preserve-3d;
    -webkit-transform-style: preserve-3d;
    animation: partner-orbit-turn 34s linear infinite;
    will-change: transform;
}

@keyframes partner-orbit-turn {
    to {
        transform: rotateX(5deg) rotateY(360deg);
    }
}

.partner-showcase__wordmark {
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    left: 50%;
    width: clamp(120px, 10.4vw, 192px);
    height: clamp(70px, 6.24vw, 109px);
    opacity: 0.94;
    transform: translate(-50%, -50%) rotateY(var(--partner-angle)) translateZ(var(--partner-orbit-radius));
    transform-style: preserve-3d;
    -webkit-transform-style: preserve-3d;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    padding: clamp(var(--space-1), 0.52vw, var(--space-2));
    border: 1px solid rgba(255, 255, 255, var(--a-62));
    border-radius: var(--radius-md);
    background: linear-gradient(135deg, rgba(255, 255, 255, var(--a-95)), rgba(232, 240, 255, var(--a-85)));
    box-shadow: 0 10px 21px rgba(0, 0, 0, var(--a-24)), inset 0 1px 0 rgba(255, 255, 255, var(--a-72));
}

.partner-showcase__wordmark>img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: none;
    opacity: 1;
    transition: filter var(--dur-base) ease;
}

.partner-showcase__cta:focus-visible {
    outline: 3px solid var(--brand-blue);
    outline-offset: 4px;
}

@media (max-width: 959px) {
    .partner-showcase__wordmarks {
        --partner-orbit-radius: clamp(138px, 36vw, 300px);
        height: clamp(172px, 32vw, 256px);
        overflow: hidden;
        perspective: clamp(900px, 180vw, 1400px);
    }

    .partner-showcase__orbit {
        animation-duration: 46s;
    }

    .partner-showcase__wordmark {
        width: clamp(51px, 10.4vw, 104px);
        height: clamp(34px, 6.96vw, 69px);
    }
}

@media (max-width: 560px) {
    .partner-showcase {
        padding-right: var(--space-5);
        padding-left: var(--space-5);
    }

    .partner-showcase__eyebrow {
        margin-bottom: var(--space-4);
        font-size: var(--text-2xs);
    }

    .partner-showcase__intro {
        margin-top: var(--space-5);
        font-size: var(--text-base);
    }

    .partner-showcase__title {
        letter-spacing: var(--tracking-normal);
        word-spacing: 0.06em;
    }

    .partner-showcase__proof {
        grid-template-columns: 1fr;
        gap: var(--space-6);
        margin-top: var(--space-14);
        padding: var(--space-7) var(--space-5);
    }

    .partner-showcase__proof-item {
        padding: 0;
    }

    .partner-showcase__proof-item+.partner-showcase__proof-item {
        padding-top: var(--space-6);
        border-top: 1px solid rgba(255, 255, 255, var(--a-14));
        border-left: 0;
    }

    .partner-showcase__wordmarks {
        margin-top: calc(var(--space-10) + var(--space-4));
    }
}

@media (prefers-reduced-motion: reduce) {

    .partner-showcase__cta,
    .partner-showcase__wordmark>img {
        transition: none;
    }

    .partner-showcase__orbit {
        animation: none;
        transform: rotateX(5deg) rotateY(-15deg);
        will-change: auto;
    }
}
