﻿
    .animations-ready [data-reveal] {
        opacity: 0;
        transform: translateY(28px);
        transition: opacity 700ms ease var(--reveal-delay, 0ms), transform 700ms ease var(--reveal-delay, 0ms);
    }

        .animations-ready [data-reveal].is-visible {
            opacity: 1;
            transform: translateY(0);
        }

    @keyframes floatLight {
        0%, 100% {
            transform: translate3d(0, 0, 0);
        }

        50% {
            transform: translate3d(0, -24px, 0);
        }
    }

    @keyframes pulseNode {
        0%, 100% {
            box-shadow: 0 0 0 0 rgba(109, 190, 215, 0.25);
        }

        50% {
            box-shadow: 0 0 0 14px rgba(109, 190, 215, 0);
        }
    }

    @keyframes networkPulse {
        0%, 100% {
            opacity: 0.28;
        }

        50% {
            opacity: 0.95;
        }
    }

    @media (prefers-reduced-motion: reduce) {
        html {
            scroll-behavior: auto;
        }

        *,
        *::before,
        *::after {
            animation-duration: 0.01ms !important;
            animation-iteration-count: 1 !important;
            transition-duration: 0.01ms !important;
        }

        .animations-ready [data-reveal] {
            opacity: 1;
            transform: none;
        }
    }
