/* ── Navigation ── */
nav#top-nav {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0;
}

nav#top-nav.scrolled {
    background-color: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 1rem;
    padding-bottom: 1rem;
}

nav#top-nav.at-top {
    background-color: transparent;
    backdrop-filter: blur(0px);
    border-bottom-color: transparent;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

nav#top-nav.revealed {
    opacity: 1;
}

/* ── Mobile Video Rotation ── */
@media (orientation: portrait) and (max-width: 768px) {
    #video-wrapper {
        top: calc((100vh - 100vw) / 2);
        left: calc((100vw - 100vh) / 2);
        right: auto;
        bottom: auto;
        width: 100vh;
        height: 100vw;
        transform: rotate(90deg);
    }
}

/* ── Noscript Fallbacks ── */
noscript nav#top-nav {
    opacity: 1 !important;
}

noscript .immersive-hidden {
    opacity: 1 !important;
    pointer-events: auto !important;
}
