/* Partner page — fit / model section motion */
[data-reveal-from='left'] {
    transform: translate3d(-28px, 0, 0);
}

[data-reveal-from='right'] {
    transform: translate3d(28px, 0, 0);
}

[data-reveal-from='left'].is-revealed,
[data-reveal-from='right'].is-revealed {
    transform: translate3d(0, 0, 0);
}

.partner-fit-card {
    transition:
        transform 0.45s cubic-bezier(0.16, 1, 0.3, 1),
        box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1),
        border-color 0.45s ease;
}

.partner-fit-card:hover {
    transform: translateX(6px);
    border-color: rgba(37, 120, 235, 0.35);
    box-shadow: 0 12px 30px -12px rgba(37, 120, 235, 0.25);
}

.partner-fit-arrow {
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.partner-fit-card:hover .partner-fit-arrow {
    animation: partner-arrow-nudge 0.9s ease-in-out infinite;
}

.partner-model-card {
    transition:
        transform 0.45s cubic-bezier(0.16, 1, 0.3, 1),
        box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1),
        border-color 0.45s ease;
    animation: partner-card-float 5.5s ease-in-out infinite;
    animation-delay: var(--float-delay, 0s);
}

.partner-model-card:hover {
    transform: translateY(-6px);
    border-color: rgba(37, 120, 235, 0.35);
    box-shadow: 0 18px 40px -16px rgba(37, 120, 235, 0.28);
    animation-play-state: paused;
}

.partner-model-badge {
    animation: partner-badge-pulse 2.8s ease-in-out infinite;
}

@keyframes partner-card-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}

@keyframes partner-arrow-nudge {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(5px); }
}

@keyframes partner-badge-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(37, 120, 235, 0.15); }
    50% { box-shadow: 0 0 0 6px rgba(37, 120, 235, 0); }
}

@media (prefers-reduced-motion: reduce) {
    .partner-model-card,
    .partner-model-badge,
    .partner-fit-card:hover .partner-fit-arrow {
        animation: none !important;
    }

    .partner-fit-card:hover,
    .partner-model-card:hover {
        transform: none;
    }
}
