.hub-header{
    width:100%;
    background:var(--primary);
    color:var(--white);
    position:relative;
    z-index:10;
}

.hub-header__bar{
    display:grid;
    grid-template-columns:minmax(390px,.9fr) auto minmax(170px,.55fr);
    align-items:center;
    column-gap:18px;
    min-height:116px;
}

.hub-header__brand{
    display:flex;
    align-items:center;
    min-width:0;
    gap:20px;
}

.hub-header__logo{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    width:100px;
    height:100px;
}

.hub-header__logo .custom-logo-link{
    display:flex;
    align-items:center;
    justify-content:center;
}

.hub-header__logo img{
    display:block;
    width:auto;
    height:100px;
    max-width:none;
    max-height:100px;
}

.hub-header__logo-fallback{
    display:flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    border:1px solid rgba(191,155,77,.65);
    border-radius:50%;
    color:var(--white);
    font-weight:800;
    text-decoration:none;
}

.hub-header__name{
    display:flex;
    flex-direction:column;
    gap:2px;
    color:var(--gold);
    font-family:var(--font-heading);
    font-weight:400;
    line-height:1;
    letter-spacing:0;
    text-decoration:none;
    text-transform:uppercase;
    white-space:nowrap;
}

.hub-header__name-kicker{
    color:var(--gold);
    font-size:.95rem;
    font-weight:600;
    letter-spacing:0;
}

.hub-header__name-line{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:6px;
}

.hub-header__name-main{
    color:var(--white);
    font-size:1.75rem;
    font-weight:400;
    letter-spacing:0;
    line-height:.98;
}

.hub-header__name-year{
    color:var(--gold);
    font-size:.95rem;
    letter-spacing:.03em;
}

.hub-header__nav{
    justify-self:center;
    min-width:0;
}

.hub-header__menu{
    display:flex;
    align-items:center;
    flex-wrap:nowrap;
    gap:16px;
    list-style:none;
    margin:0;
    padding:0;
}

.hub-header__menu > li{
    position:relative;
    display:flex;
    align-items:center;
}

.hub-header__menu a{
    display:inline-flex;
    align-items:center;
    min-height:116px;
    border-bottom:2px solid transparent;
    color:rgba(245,244,239,.88);
    font-size:.89rem;
    font-weight:700;
    text-decoration:none;
    text-transform:uppercase;
    transition:color .18s ease,border-color .18s ease;
    white-space:nowrap;
}

.hub-header__menu .sub-menu{
    position:absolute;
    top:100%;
    left:0;
    min-width:150px;
    margin:0;
    padding:8px 0;
    list-style:none;
    background:var(--primary);
    border:1px solid rgba(191,155,77,.42);
    box-shadow:0 12px 24px rgba(0,0,0,.18);
    opacity:0;
    pointer-events:none;
    transform:translateY(-6px);
    transition:opacity .18s ease,transform .18s ease;
    visibility:hidden;
    z-index:20;
}

.hub-header__menu li:hover > .sub-menu,
.hub-header__menu li:focus-within > .sub-menu{
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
    visibility:visible;
}

.hub-header__menu .sub-menu a{
    width:100%;
    min-height:0;
    padding:10px 14px;
    border-bottom:0;
    color:rgba(245,244,239,.88);
}

.hub-header__menu .sub-menu a:hover,
.hub-header__menu .sub-menu a:focus{
    color:var(--white);
    background:rgba(245,244,239,.05);
    border-bottom:0;
}

.hub-header__menu a:hover,
.hub-header__menu a:focus{
    color:var(--white);
    border-bottom-color:rgba(191,155,77,.7);
}

.hub-header__menu .current-menu-item > a,
.hub-header__menu .current_page_item > a{
    color:var(--white);
    border-bottom-color:var(--gold);
}

.hub-header__login-wrap{
    display:flex;
    align-items:center;
    justify-content:flex-end;
}

.hub-header__member{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    min-width:0;
}

.hub-header__login{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:7px 12px;
    border:1px solid rgba(245,244,239,.2);
    border-radius:var(--button-radius);
    background:transparent;
    color:rgba(245,244,239,.82);
    font-size:.8rem;
    font-weight:600;
    line-height:1;
    text-decoration:none;
    transition:color .18s ease,border-color .18s ease,background-color .18s ease;
}

.hub-header__member-name,
.hub-header__member-logout{
    display:inline-flex;
    min-height:32px;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(245,244,239,.2);
    border-radius:var(--button-radius);
    background:transparent;
    color:rgba(245,244,239,.82);
    font-size:.78rem;
    font-weight:700;
    line-height:1;
    padding:7px 11px;
    text-decoration:none;
    transition:color .18s ease,border-color .18s ease,background-color .18s ease;
    white-space:nowrap;
}

.hub-header__member-name{
    max-width:150px;
    overflow:hidden;
    text-overflow:ellipsis;
}

.hub-header__login:hover,
.hub-header__login:focus,
.hub-header__member-name:hover,
.hub-header__member-name:focus,
.hub-header__member-logout:hover,
.hub-header__member-logout:focus{
    color:var(--white);
    border-color:rgba(191,155,77,.55);
    background:rgba(245,244,239,.04);
}

.hub-header__login-icon{
    flex:0 0 auto;
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-width:1.8;
}

@media (max-width:1200px){
    .hub-header__member{
        gap:6px;
    }

    .hub-header__member-name,
    .hub-header__member-logout{
        min-height:30px;
        font-size:.7rem;
        padding:6px 9px;
    }

    .hub-header__member-name{
        max-width:118px;
    }
}

@media (max-width:760px){
    .hub-header__member{
        flex-wrap:wrap;
        justify-content:flex-end;
    }

    .hub-header__member-name,
    .hub-header__member-logout{
        max-width:132px;
    }
}
