.partners-productworlds {
    --partners-gold: #f1b51c;
    --partners-gold-bright: #ffc528;
    --partners-row-height: 82px;
    --partners-grid-gap: 6px;
    --partners-viewport-height: 346px;
    position: relative;
    isolation: isolate;
    width: 100%;
    overflow: hidden;
    padding: var(--section-space-y) 0;
    color: #f7f5ef;
    background: var(--dark-section-background);
}

.partners-productworlds::before {
    position: absolute;
    inset: 0;
    z-index: -1;
    content: "";
    pointer-events: none;
    opacity: .13;
    background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, .2) 1px, transparent 1.2px);
    background-size: 18px 18px;
    mask-image: linear-gradient(90deg, #000, transparent 43%, #000 78%);
}

.partners-productworlds__inner {
    width: min(100%, 1400px);
    min-width: 0;
    margin-inline: auto;
    padding-inline: var(--side-pad, 36px);
}

.partners-productworlds__stage {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 34px;
    min-width: 0;
}

.partners-productworlds__editorial {
    position: relative;
    min-width: 0;
    width: 100%;
    padding: 0;
}

.partners-productworlds__eyebrow {
    margin: 0 0 18px;
    color: var(--partners-gold);
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 16px;
    font-weight: 820;
    line-height: 1.2;
    letter-spacing: 2.8px;
    text-transform: uppercase;
}

.partners-productworlds__editorial h2 {
    max-width: 760px;
    margin: 0;
    color: #f8f8f5;
    font-family: Sora, Poppins, Arial, sans-serif;
    font-size: var(--type-section-title);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -.9px;
    text-wrap: balance;
}

.partners-productworlds__editorial .section-heading-signal {
    margin-top: 20px;
    color: var(--partners-gold);
}

.partners-productworlds__lead {
    max-width: 720px;
    margin: 20px 0 0;
    color: #d9dbd7;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: var(--type-section-copy);
    font-weight: 430;
    line-height: 1.55;
}

.partners-productworlds__logo-stage,
.partners-productworlds__viewport,
.partners-productworlds__track,
.partners-productworlds__cycle,
.partners-productworlds__block {
    min-width: 0;
}

.partners-productworlds__logo-stage {
    width: 100%;
    padding: 7px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: var(--radius-ui);
    background: rgba(255, 255, 255, .02);
}

.partners-productworlds__viewport {
    height: var(--partners-viewport-height);
    overflow: hidden;
    contain: layout paint;
}

.partners-productworlds__track {
    display: flex;
    flex-direction: column;
    width: 100%;
    animation: partners-productworlds-loop 40s linear infinite;
    will-change: transform;
}

.partners-productworlds__cycle {
    display: grid;
    gap: var(--partners-grid-gap);
    padding-bottom: var(--partners-grid-gap);
}

.partners-productworlds__block {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: var(--partners-row-height);
    gap: var(--partners-grid-gap);
}

.partners-productworlds__logo-card {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    place-items: center;
    min-width: 0;
    min-height: 0;
    margin: 0;
    padding: 10px 8px 7px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: var(--radius-ui);
    color: #171a1b;
    background: #ecebe7;
}

.partners-productworlds__logo {
    display: block;
    width: 100%;
    max-width: 112px;
    height: 36px;
    object-fit: contain;
}

.partners-productworlds__logo-card figcaption {
    max-width: 100%;
    margin-top: 4px;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 10px;
    font-weight: 720;
    line-height: 1.15;
    text-align: center;
    overflow-wrap: anywhere;
}

.partners-productworlds__cta {
    position: relative;
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr) minmax(270px, 310px);
    align-items: center;
    width: 100%;
    min-height: var(--section-cta-height);
    margin-top: 34px;
    overflow: hidden;
    border: 0;
    border-radius: var(--radius-ui);
    background: linear-gradient(105deg, #121617 0%, #080b0c 100%);
    color: #fff;
}

.partners-productworlds__cta-mark {
    position: relative;
    align-self: stretch;
    display: grid;
    place-items: center;
    min-width: 0;
    overflow: hidden;
}

.partners-productworlds__cta-mark::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 118px;
    content: "";
    background: linear-gradient(135deg, var(--partners-gold-bright), var(--partners-gold));
    clip-path: polygon(0 0, 100% 0, 48% 100%, 0 100%);
}

.partners-productworlds__cta-mark::after {
    position: absolute;
    top: -43px;
    right: 24px;
    width: 2px;
    height: 190px;
    content: "";
    background: var(--partners-gold);
    transform: rotate(31deg);
    transform-origin: center;
}

.partners-productworlds__cta-zap {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 59px;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    color: #111516;
    transform: translate(-50%, -50%);
}

.partners-productworlds__cta-zap .icon {
    display: block;
    width: 32px;
    height: 32px;
}

.partners-productworlds__cta p {
    margin: 0;
    padding: 18px 32px;
    color: #f2f2ed;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.45;
}

.partners-productworlds__cta-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 54px;
    margin: 16px 18px 16px 0;
    padding: 12px 22px 12px 27px;
    border: 0;
    border-radius: var(--radius-ui);
    color: #121514;
    background: linear-gradient(135deg, var(--partners-gold-bright), var(--partners-gold));
}

.partners-productworlds__cta-button strong {
    font-family: Sora, Poppins, Arial, sans-serif;
    font-size: 16px;
    font-weight: 760;
    line-height: 1.2;
}

.partners-productworlds__cta-arrow {
    display: grid;
    place-items: center;
    flex: 0 0 23px;
    color: #121514;
}

.partners-productworlds__cta-arrow .icon {
    display: block;
    width: 23px;
    height: 23px;
}

@keyframes partners-productworlds-loop {
    to { transform: translateY(-50%); }
}

@media (max-width: 1100px) {
    .partners-productworlds__stage {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }

    .partners-productworlds__cta {
        grid-template-columns: 190px minmax(0, 1fr) minmax(245px, 285px);
    }
}

@media (max-width: 900px) {
    .partners-productworlds {
        --partners-row-height: 78px;
        --partners-viewport-height: 330px;
        padding: var(--section-space-y) 0;
    }

    .partners-productworlds__stage {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .partners-productworlds__editorial {
        padding: 0;
        text-align: center;
    }

    .partners-productworlds__editorial h2,
    .partners-productworlds__lead {
        margin-inline: auto;
    }

    .partners-productworlds__editorial .section-heading-signal {
        margin-inline: auto;
    }

    .partners-productworlds__block {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .partners-productworlds__track {
        animation-duration: 52s;
    }

    .partners-productworlds__cta {
        grid-template-columns: 165px minmax(0, 1fr) 245px;
        margin-top: 28px;
    }

    .partners-productworlds__cta-mark::before {
        width: 80px;
    }

    .partners-productworlds__cta-mark::after {
        right: 22px;
    }

    .partners-productworlds__cta-zap {
        left: calc(50% + 17px);
    }

    .partners-productworlds__cta p {
        padding-inline: 22px;
    }
}

@media (max-width: 680px) {
    .partners-productworlds {
        --partners-row-height: 82px;
        --partners-viewport-height: 346px;
    }

    .partners-productworlds__inner {
        padding-inline: 18px;
    }

    .partners-productworlds__eyebrow {
        font-size: 15px;
        letter-spacing: 2.2px;
    }

    .partners-productworlds__editorial h2 {
        font-size: var(--type-section-title);
        letter-spacing: -.6px;
    }

    .partners-productworlds__lead {
        font-size: var(--type-section-copy);
        text-align: center;
    }

    .partners-productworlds__block {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .partners-productworlds__track {
        animation-duration: 68s;
    }

    .partners-productworlds__logo {
        max-width: 126px;
        height: 38px;
    }

    .partners-productworlds__cta {
        grid-template-columns: 82px minmax(0, 1fr);
        grid-template-areas:
            "mark copy"
            "button button";
        margin-top: 24px;
    }

    .partners-productworlds__cta-mark {
        grid-area: mark;
        min-height: 76px;
    }

    .partners-productworlds__cta-mark::before {
        width: 47px;
    }

    .partners-productworlds__cta-mark::after {
        top: -28px;
        right: 2px;
        height: 150px;
    }

    .partners-productworlds__cta-zap {
        left: calc(50% + 16px);
    }

    .partners-productworlds__cta p {
        grid-area: copy;
        padding: 18px;
        text-align: left;
    }

    .partners-productworlds__cta-button {
        grid-area: button;
        width: calc(100% - 28px);
        min-height: 52px;
        margin: 0 14px 14px;
        padding-inline: 20px;
    }
}

@media (max-width: 390px) {
    .partners-productworlds__inner {
        padding-inline: 14px;
    }

    .partners-productworlds__editorial h2 {
        font-size: var(--type-section-title);
    }
}
