.partner-page {
    --partner-green: #315b48;
    --partner-dark: #1f382d;
}

.py-lg-6 {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.partner-hero {
    overflow: hidden;
    background:
        radial-gradient(
            circle at 82% 16%,
            rgb(255 255 255 / 12%),
            transparent 24%
        ),
        linear-gradient(
            135deg,
            #17362a,
            #315b48 58%,
            #567864
        );
}

.partner-hero-lead,
.partner-hero-copy .lead {
    color: #fff !important;
}

.partner-pill {
    display: inline-flex;
    align-items: center;
    border: 1px solid rgb(255 255 255 / 20%);
    border-radius: 999px;
    padding: .55rem .8rem;
    background: rgb(255 255 255 / 10%);
    color: #fff;
    font-size: .82rem;
}

.partner-hero-media {
    animation: partnerFloat 5.5s ease-in-out infinite;
}

.partner-hero-media > img,
.partner-section-image,
.partner-demo-image {
    width: 100%;
    object-fit: cover;
}

.partner-hero-media > img {
    aspect-ratio: 4 / 3;
}

.partner-section-image,
.partner-demo-image {
    aspect-ratio: 16 / 11;
}

.partner-hero-card {
    position: absolute;
    right: -1rem;
    bottom: 1.2rem;
    max-width: 18rem;
    animation: partnerCardFloat 4.2s ease-in-out infinite;
}

.partner-icon-box,
.partner-feature-icon,
.partner-step-number {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
}

.partner-icon-box,
.partner-feature-icon {
    width: 3rem;
    height: 3rem;
    border-radius: 1rem;
    background: #edf4ef;
    font-size: 1.35rem;
}

.partner-step-number {
    min-width: 3rem;
    height: 3rem;
    border-radius: 999px;
    background: var(--partner-green);
    color: #fff;
    font-size: .84rem;
    font-weight: 900;
}

.partner-step-card,
.partner-case-card,
.partner-calculator {
    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.partner-step-card:hover,
.partner-case-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 1.25rem 2.5rem rgb(31 56 45 / 12%) !important;
}

.partner-case-image {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    transition: transform .55s cubic-bezier(.2, .65, .3, 1);
}

.partner-case-card {
    overflow: hidden;
}

.partner-case-card:hover .partner-case-image {
    transform: scale(1.035);
}

.partner-viewability,
.partner-final-cta {
    background:
        radial-gradient(
            circle at 90% 20%,
            rgb(255 255 255 / 8%),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            #1d342a,
            #315b48
        );
}

.partner-dark-stat {
    height: 100%;
    border: 1px solid rgb(255 255 255 / 15%);
    border-radius: 1rem;
    padding: 1rem;
    background: rgb(255 255 255 / 8%);
}

.partner-dark-stat strong,
.partner-dark-stat span {
    display: block;
}

.partner-dark-stat strong {
    font-size: 1.1rem;
}

.partner-dark-stat span {
    margin-top: .2rem;
    color: rgb(255 255 255 / 72%);
    font-size: .82rem;
}

[data-partner-reveal] {
    opacity: 1;
    transform: none;
}

.js-partner-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition:
        opacity .7s ease,
        transform .7s cubic-bezier(.2, .65, .3, 1);
    transition-delay: var(--partner-delay, 0ms);
}

.js-partner-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@keyframes partnerFloat {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}

@keyframes partnerCardFloat {
    0%,
    100% {
        transform: translateY(0) rotate(-1deg);
    }

    50% {
        transform: translateY(-7px) rotate(1deg);
    }
}

@media (max-width: 991.98px) {
    .py-lg-6 {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .partner-hero-card {
        right: .6rem;
        bottom: .6rem;
    }
}

