/* Shared fixed-header behavior for all non-home pages. */
body {
    padding-top: 90px;
}

header {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
}

/* On mobile, open the navigation directly beneath the fixed header. */
@media (max-width: 992px) {
    :root {
        --header-height: 90px;
    }

    nav.navbar {
        display: flex !important;
    }

    .nav-links {
        position: fixed !important;
        top: calc(var(--header-height) - 1px) !important;
        right: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: calc(100dvh - var(--header-height) + 1px) !important;
        padding-top: 0 !important;
        transform: translateY(-100%);
        opacity: 0;
        pointer-events: none;
        box-shadow: 0 12px 25px rgba(0, 0, 0, .08) !important;
        transition: transform .35s ease, opacity .35s ease !important;
    }

    .nav-links.active {
        transform: translateY(0);
        opacity: 1;
        pointer-events: auto;
    }
}

@media (max-width: 768px) {
    :root {
        --header-height: 82px;
    }

    body {
        padding-top: 82px;
    }
}
