.calculus-content-builder .calculus-icon--spinning {
    animation: cb-shared-icon-spin 2s linear infinite;
    transform-origin: center;
}
@keyframes cb-shared-icon-spin {
    to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
    .calculus-content-builder .calculus-icon--spinning { animation: none; }
}

/* Only the versioned native CTA uses these motion preferences. */
@media (prefers-reduced-motion: reduce) {
    .calculus-content-builder .cb-cta[data-cb-cta-native='1'] [data-cb-cta-motion-part] {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
    .calculus-content-builder .cb-cta[data-cb-cta-native='1'] .cb-cta__background {
        transform: none !important;
        transition: none !important;
    }
    .calculus-content-builder .cb-cta[data-cb-cta-native='1'][data-cb-cta-static='1'] [data-cb-cta-motion-part].cb-precise-affine,
    .calculus-content-builder .cb-cta[data-cb-cta-native='1'] [data-cb-cta-motion-part].cb-precise-affine,
    .calculus-content-builder .cb-cta[data-cb-cta-native='1'] .cb-cta__background.cb-precise-affine {
        --cb-cta-motion-transform: translate(0, 0);
        transform: var(--cb-vfx-affine, translate(0, 0)) !important;
    }
    /* This new marker keeps static geometry while suppressing motion. */
    .calculus-content-builder .cb-precise-affine {
        --cb-cta-motion-transform: translate(0, 0) !important;
        --cb-entrance-transform: translate(0, 0) !important;
        opacity: 1 !important;
        transition: none !important;
        transform: var(--cb-vfx-affine, translate(0, 0)) !important;
    }
}
