.nxb-site-header { position: relative; z-index: 50; width: 100%; color: #fff; background: var(--nxb-colour-ink); }
.nxb-site-header--overlay { position: absolute; top: 0; left: 0; background: linear-gradient(180deg,rgba(0,0,0,.72),transparent); }
.nxb-site-header__inner { display: grid; width: min(100% - (var(--nxb-gutter) * 2),var(--nxb-container)); min-height: 7.2rem; margin-inline: auto; grid-template-columns: auto 1fr auto; align-items: center; gap: clamp(1.5rem,4vw,4rem); }
.nxb-site-header__brand { display: flex; align-items: center; gap: .65rem; color: #fff; text-decoration: none; }
.nxb-site-header__brand img { width: min(14rem,22vw); height: auto; max-height: 5.2rem; object-fit: contain; }
.nxb-site-header__brand-mark { display: grid; width: 3.4rem; height: 3.4rem; place-items: center; border: .45rem solid var(--nxb-colour-brand); color: #fff; background: #06100d; font-size: 1.65rem; font-weight: 900; transform: rotate(30deg); }
.nxb-site-header__brand-mark::first-letter { transform: rotate(-30deg); }
.nxb-site-header__brand-text { display: flex; flex-direction: column; line-height: 1; text-transform: uppercase; }
.nxb-site-header__brand-text strong { font-size: 2rem; letter-spacing: -.04em; }
.nxb-site-header__brand-text small { margin-top: .28rem; font-size: .58rem; font-weight: 700; letter-spacing: .24em; }
.nxb-main-navigation { justify-self: center; }
.nxb-main-navigation__list, .nxb-main-navigation__submenu { margin: 0; padding: 0; list-style: none; }
.nxb-main-navigation__list { display: flex; align-items: center; gap: clamp(1.2rem,2.5vw,2.7rem); }
.nxb-main-navigation__item { position: relative; display: flex; align-items: center; }
.nxb-main-navigation a { position: relative; padding: 1rem 0; color: #fff; font-size: .78rem; font-weight: 750; letter-spacing: .025em; text-decoration: none; text-transform: uppercase; }
.nxb-main-navigation__item > a::after { content: ""; position: absolute; right: 0; bottom: .65rem; left: 0; height: 2px; background: var(--nxb-colour-brand-bright); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.nxb-main-navigation__item > a:hover::after, .nxb-main-navigation__item.is-active > a::after { transform: scaleX(1); }
.nxb-submenu-toggle { width: 1.6rem; height: 2.5rem; padding: 0; border: 0; background: transparent; cursor: pointer; }
.nxb-submenu-toggle span { display: block; width: .5rem; height: .5rem; margin: -.2rem auto 0; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
.nxb-main-navigation__submenu { position: absolute; top: calc(100% - .5rem); left: -.9rem; display: none; width: 15rem; padding: .75rem; border-top: 3px solid var(--nxb-colour-brand); border-radius: 0 0 var(--nxb-radius-small) var(--nxb-radius-small); background: var(--nxb-colour-ink); box-shadow: 0 18px 35px rgba(0,0,0,.28); }
.nxb-main-navigation__submenu a { display: block; padding: .7rem .6rem; font-size: .72rem; }
.nxb-main-navigation__item:hover > .nxb-main-navigation__submenu, .nxb-main-navigation__item:focus-within > .nxb-main-navigation__submenu, .nxb-main-navigation__item.submenu-open > .nxb-main-navigation__submenu { display: block; }
.nxb-menu-toggle { display: none; }

@media (max-width: 1050px) {
    .nxb-site-header__inner { min-height: 5.8rem; grid-template-columns: auto auto 1fr; }
    .nxb-site-header__brand img { width: 10.5rem; }
    .nxb-menu-toggle { display: flex; justify-self: end; align-items: center; gap: .65rem; padding: .65rem; border: 0; color: #fff; background: transparent; cursor: pointer; }
    .nxb-menu-toggle__label { font-size: .75rem; font-weight: 800; text-transform: uppercase; }
    .nxb-menu-toggle__icon, .nxb-menu-toggle__icon::before, .nxb-menu-toggle__icon::after { display: block; width: 1.5rem; height: 2px; background: currentColor; transition: transform .2s ease; }
    .nxb-menu-toggle__icon { position: relative; }
    .nxb-menu-toggle__icon::before, .nxb-menu-toggle__icon::after { content: ""; position: absolute; left: 0; }
    .nxb-menu-toggle__icon::before { top: -.45rem; }
    .nxb-menu-toggle__icon::after { top: .45rem; }
    .nxb-menu-toggle[aria-expanded="true"] .nxb-menu-toggle__icon { background: transparent; }
    .nxb-menu-toggle[aria-expanded="true"] .nxb-menu-toggle__icon::before { top: 0; transform: rotate(45deg); }
    .nxb-menu-toggle[aria-expanded="true"] .nxb-menu-toggle__icon::after { top: 0; transform: rotate(-45deg); }
    .nxb-main-navigation { position: fixed; inset: 5.8rem 0 0; display: none; overflow-y: auto; padding: 1rem var(--nxb-gutter) 3rem; background: var(--nxb-colour-ink); }
    .nxb-main-navigation.menu-open { display: block; }
    .nxb-main-navigation__list { display: block; }
    .nxb-main-navigation__item { display: grid; grid-template-columns: 1fr auto; border-bottom: 1px solid rgba(255,255,255,.13); }
    .nxb-main-navigation a { display: block; padding: 1rem 0; font-size: 1rem; }
    .nxb-main-navigation__item > a::after { display: none; }
    .nxb-submenu-toggle { width: 3rem; height: 3rem; }
    .nxb-main-navigation__submenu { position: static; grid-column: 1/-1; width: 100%; padding: 0 0 .7rem 1.2rem; border: 0; box-shadow: none; }
    .nxb-main-navigation__submenu a { font-size: .85rem; }
    .nxb-site-header__cta { justify-self: end; min-height: 2.8rem; padding: .65rem 1rem; }
}
@media (max-width: 620px) {
    .nxb-site-header__inner { grid-template-columns: 1fr auto; gap: .5rem; }
    .nxb-menu-toggle { grid-column: 2; grid-row: 1; }
    .nxb-site-header__cta { display: none; }
    .nxb-site-header__brand-text strong { font-size: 1.55rem; }
}
