/* Page Loader (intro video) */
html.has-page-loader {
    overflow: hidden;
}

#page-loader {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(62.56% 62.56% at 50% -10%, rgba(255, 59, 0, 0.18) 0%, rgba(255, 59, 0, 0) 100%),
        #09090B;
    transition: opacity 0.6s ease, visibility 0.6s ease;
}

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

.page-loader-video {
    width: 100vw;
    height: 100vh;
    object-fit: cover;
    transition: opacity 0.8s ease;
}

.page-loader-video.is-fading {
    opacity: 0;
}

@media (max-width: 767px) {
    .page-loader-video {
        /* The source video's content (the "eye" reveal) sits in the bottom
           ~half of its 16:9 frame. A plain 100vh cover would show the whole
           frame height (nothing to crop vertically at this aspect), leaving
           the eye pushed down with empty space above it. Sizing well past
           100vh and anchoring to the bottom crops that empty margin away,
           so the eye fills the screen edge-to-edge like on desktop. */
        width: 100vw;
        height: 100vh;
        object-fit: cover;
        /* align-self: flex-end; */
    }
}
