body.bp-hub-landing.admin-bar .bp-hub-header { top: 32px; }
@media (max-width: 782px) { body.bp-hub-landing.admin-bar .bp-hub-header { top: 46px; } }
.bp-hub-header {
    position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
    padding: 16px var(--hub-gutter);
    transition: background 250ms ease, padding 250ms ease, backdrop-filter 250ms ease;
}
.bp-hub-header.is-scrolled { background: rgba(13, 13, 13, 0.85); backdrop-filter: blur(12px); padding-top: 12px; padding-bottom: 12px; }
.bp-hub-header-inner { max-width: var(--hub-container); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; }
.bp-hub-header-logos { display: flex; align-items: center; gap: 14px; }
.bp-hub-header-logos img { height: 28px; width: auto; display: block; }
.bp-hub-header-logos img:last-child { height: 61px; }
.bp-hub-nav { display: flex; align-items: center; gap: 60px; }
.bp-hub-nav a { color: #fff; text-decoration: none; font-size: 1.25rem; font-weight: 400; }
.bp-hub-nav a:hover { opacity: .75; }
.bp-hub-nav .bp-hub-nav-cta { background: #fff; color: #0D0D0D; font-weight: 500; padding: 8px 22px; border-radius: 999px; margin-left: -23px; }
.bp-hub-nav .bp-hub-nav-cta:hover { opacity: 1; background: #e6ecff; }
/* Member CTA: avatar + name in the same pill (links to /member/profile). */
.bp-hub-nav-cta--member { display: inline-flex; align-items: center; gap: 10px; padding-left: 8px !important; max-width: 280px; }
.bp-hub-member-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bp-hub-avatar {
    flex: none; width: 28px; height: 28px; border-radius: 50%; overflow: hidden;
    display: inline-flex; align-items: center; justify-content: center; background: #D9D9D9; color: #9A9A9A;
}
.bp-hub-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bp-hub-burger { display: none; background: none; border: 0; padding: 8px; cursor: pointer; flex-direction: column; gap: 5px; }
.bp-hub-burger span { display: block; width: 26px; height: 2px; background: #fff; border-radius: 2px; }
/* bp-member's user dropdown (desktop), restyled to the hub's white pill; the menu card keeps bp-member's look. */
.bp-hub-user-menu { margin-left: 37px; }
.bp-hub-header-logos + .bp-hub-burger + .bp-hub-nav { margin-left: auto; }
.bp-hub-user-menu .bp-header-user { background: #fff; color: #0D0D0D; font-family: inherit; font-size: 1.25rem; font-weight: 500; padding: 6px 18px 6px 8px; max-width: 280px; }
.bp-hub-user-menu .bp-header-user:hover { background: #e6ecff; }
.bp-hub-nav-cta--mobile { display: none !important; }
/* Burger below 1200: the 4-item desktop nav plus logos does not fit at 1024–1199.
   Open menu (design nav-mobile-*): white full-width panel under the header, black member/login pill on top,
   then the section links; the section in view is bold on a light-gray row. */
@media (max-width: 1199px) {
    .bp-hub-burger { display: flex; }
    .bp-hub-header.is-open { background: var(--hub-bg); }
    html.bp-nav-open { overflow: hidden; }
    .bp-hub-nav {
        position: absolute; top: 100%; left: 0; right: 0; height: 100vh; box-sizing: border-box;
        flex-direction: column; align-items: stretch; gap: 0;
        background: #fff; padding: 18px 19px; overflow-y: auto;
        opacity: 0; transform: translateY(-8px); pointer-events: none;
        /* visibility keeps closed links out of the tab order; delayed so the fade-out still plays. */
        visibility: hidden; transition: opacity 200ms, transform 200ms, visibility 0s linear 200ms;
    }
    .bp-hub-header.is-open .bp-hub-nav { opacity: 1; transform: none; pointer-events: auto; visibility: visible; transition-delay: 0s; }
    .bp-hub-nav a { color: #111; font-size: 1rem; padding: 10px 16px; margin-bottom: 16px; border-radius: 10px; line-height: 1.45; }
    .bp-hub-nav a:hover { opacity: 1; background: #F7F7F7; }
    .bp-hub-nav a.is-current { font-weight: 700; background: #F7F7F7; }
    .bp-hub-nav .bp-hub-nav-cta {
        order: -1; margin: 0 0 18px; padding: 8px 16px; text-align: center; justify-content: center;
        background: #161616; color: #fff; font-weight: 600; font-size: .9375rem; border-radius: 999px;
    }
    .bp-hub-nav .bp-hub-nav-cta:hover { background: #333; }
    .bp-hub-nav-cta--member { display: flex; max-width: none; padding-left: 16px !important; }
    .bp-hub-nav-cta--member .bp-hub-avatar { width: 24px; height: 24px; }
    .bp-hub-nav .bp-hub-nav-cta--mobile { display: flex !important; }
    .bp-hub-user-menu { display: none; }
}
@media (max-width: 1023px) {
    .bp-hub-header-logos { gap: 10px; }
    .bp-hub-header-logos img { height: 19px; }
    .bp-hub-header-logos img:last-child { height: 41px; }
}
