.ibw-site .ibw-header {
    position: absolute;
    z-index: 100;
    top: 1rem;
    left: 50%;
    width: min(calc(100% - 2rem), var(--ibw-container));
    pointer-events: none;
    transform: translateX(-50%);
}

.ibw-site .ibw-header__inner {
    display: flex;
    width: 100%;
    min-height: 3.2rem;
    align-items: center;
    justify-content: flex-end;
}

.ibw-site .ibw-header__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(1.15rem, 2.7vw, 2.5rem);
    pointer-events: auto;
}

.ibw-site .ibw-header__nav > a,
.ibw-site .ibw-header__nav > span {
    position: relative;
    padding-block: .55rem;
    color: rgba(228, 238, 249, .78);
    font-size: .8rem;
    font-weight: 670;
    line-height: 1.15;
    text-decoration: none;
    text-shadow: 0 .1rem .8rem rgba(0, 0, 0, .9);
    transition: color var(--ibw-transition-fast);
}

.ibw-site .ibw-header__nav > a::after {
    position: absolute;
    right: 0;
    bottom: .15rem;
    left: 0;
    height: 1px;
    content: '';
    background: var(--ibw-blue-bright);
    box-shadow: 0 0 .7rem var(--ibw-blue);
    transform: scaleX(0);
    transition: transform var(--ibw-transition-fast);
}

.ibw-site .ibw-header__nav > a[aria-current='page'],
.ibw-site .ibw-header__nav > a:hover,
.ibw-site .ibw-header__nav > a:focus-visible { color: var(--ibw-text); }

.ibw-site .ibw-header__nav > a[aria-current='page']::after,
.ibw-site .ibw-header__nav > a:hover::after,
.ibw-site .ibw-header__nav > a:focus-visible::after { transform: scaleX(1); }

.ibw-site .ibw-header__courses { cursor: default; opacity: .58; }

.ibw-site .ibw-header__courses small {
    display: block;
    margin-top: .12rem;
    color: var(--ibw-blue-bright);
    font-size: .46rem;
    font-weight: 760;
    letter-spacing: .1em;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.ibw-site .ibw-header__toggle { display: none; }

@media (max-width: 900px) {
    .ibw-site .ibw-header {
        top: .7rem;
        width: min(calc(100% - 1.5rem), var(--ibw-container));
    }

    .ibw-site .ibw-header__inner {
        position: relative;
        min-height: 2.75rem;
        justify-content: flex-end;
    }

    .ibw-site .ibw-header__toggle {
        display: inline-flex;
        min-height: 2.75rem;
        align-items: center;
        gap: .7rem;
        padding: .55rem .8rem;
        border: 1px solid rgba(84, 181, 255, .3);
        border-radius: .65rem;
        color: var(--ibw-text);
        background: rgba(3, 12, 23, .72);
        box-shadow: 0 .8rem 2rem rgba(0, 0, 0, .24);
        font: inherit;
        pointer-events: auto;
        backdrop-filter: blur(.8rem);
    }

    .ibw-site .ibw-header__toggle-label {
        font-size: .7rem;
        font-weight: 740;
        letter-spacing: .06em;
        text-transform: uppercase;
    }

    .ibw-site .ibw-header__toggle-icon {
        position: relative;
        width: .9rem;
        height: .65rem;
        border-top: 1px solid currentColor;
        border-bottom: 1px solid currentColor;
    }

    .ibw-site .ibw-header__toggle-icon::after {
        position: absolute;
        top: 50%;
        right: 0;
        left: 0;
        height: 1px;
        content: '';
        background: currentColor;
        transform: translateY(-50%);
    }

    .ibw-site .ibw-header__nav {
        position: absolute;
        top: calc(100% + .5rem);
        right: 0;
        display: flex;
        width: min(17rem, calc(100vw - 1.5rem));
        align-items: stretch;
        flex-direction: column;
        gap: .05rem;
        padding: .7rem 1rem;
        border: 1px solid rgba(84, 181, 255, .2);
        border-radius: .9rem;
        background: rgba(3, 12, 23, .94);
        box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, .4);
        backdrop-filter: blur(1rem);
    }

    .ibw-site .ibw-header[data-menu-ready='true'] .ibw-header__nav { display: none; }
    .ibw-site .ibw-header[data-menu-ready='true'][data-menu-open='true'] .ibw-header__nav { display: flex; }

    .ibw-site .ibw-header__nav > a,
    .ibw-site .ibw-header__nav > span { padding: .72rem 0; text-shadow: none; }

    .ibw-site .ibw-header__courses small { display: inline; margin-left: .45rem; }

    .ibw-site .ibw-header:not([data-menu-ready]) {
        position: relative;
        top: auto;
        left: auto;
        width: calc(100% - 1.5rem);
        margin: .7rem auto 0;
        transform: none;
    }

    .ibw-site .ibw-header:not([data-menu-ready]) .ibw-header__toggle { display: none; }
    .ibw-site .ibw-header:not([data-menu-ready]) .ibw-header__nav { position: relative; top: auto; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .ibw-site .ibw-header__nav > a,
    .ibw-site .ibw-header__nav > a::after { transition: none; }
}
