#fa-loader {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle at 50% 40%, #123a46 0%, #081e25 60%, #05141a 100%);
    transition: opacity .4s ease, visibility .4s ease;
}

    #fa-loader.fa-loader--hidden {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }

#fa-loader__logo {
    width: min(150px, 38vw);
    height: auto;
    opacity: 0;
    filter: blur(16px);
    transform: scale(1.35);
    animation: fa-loader-reveal 1.1s cubic-bezier(.19,1,.22,1) forwards .05s;
    will-change: opacity, filter, transform;
}

@keyframes fa-loader-reveal {
    0% {
        opacity: 0;
        filter: blur(16px);
        transform: scale(1.35);
    }

    60% {
        opacity: 1;
    }

    100% {
        opacity: 1;
        filter: blur(0);
        transform: scale(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    #fa-loader__logo {
        animation: none;
        opacity: 1;
        filter: none;
        transform: none;
    }

    #fa-loader {
        transition: none;
    }
}
