.bw-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition:
        opacity 700ms ease,
        transform 700ms
        cubic-bezier(0.2, 0.8, 0.2, 1);
}

.bw-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.bw-floating-card-one {
    animation:
        bwFloatOne 5.5s ease-in-out infinite;
}

.bw-floating-card-two {
    animation:
        bwFloatTwo 6.5s ease-in-out infinite;
}

.bw-hero-orb-one {
    animation:
        bwOrb 9s ease-in-out infinite alternate;
}

.bw-hero-orb-two {
    animation:
        bwOrb 11s ease-in-out infinite alternate-reverse;
}

@keyframes bwFloatOne {
    0%,
    100% {
        transform: translateY(0) rotate(0);
    }

    50% {
        transform: translateY(-11px) rotate(1deg);
    }
}

@keyframes bwFloatTwo {
    0%,
    100% {
        transform: translateY(0) rotate(0);
    }

    50% {
        transform: translateY(10px) rotate(-1deg);
    }
}

@keyframes bwOrb {
    from {
        transform: translate3d(0, 0, 0) scale(1);
    }

    to {
        transform:
            translate3d(22px, -16px, 0)
            scale(1.08);
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .bw-reveal {
        opacity: 1;
        transform: none;
    }
}