/* Header-only layout: reserve the logo and request controls before allocating menu space. */
header.site>.wrap{display:grid;grid-template-columns:max-content minmax(0,1fr) max-content}
header.site>.wrap>.brand{grid-column:1;min-width:0;max-width:100%}
header.site>.wrap>nav.main{grid-column:2;min-width:0;max-width:100%;width:max-content;justify-self:end}
header.site>.wrap>.head-cta{grid-column:3;flex-shrink:0}
header.site nav.main>ul{width:max-content;flex-wrap:nowrap}
html.js header.site:not(.gk-nav-ready) nav.main{visibility:hidden}
header.site nav.main .drop{width:max-content;max-width:min(360px,calc(100vw - 48px))}
header.site nav.main .drop a{white-space:normal;overflow-wrap:anywhere}
header.site nav.main .drop .nav-check{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}
/* The same compact layout can activate at any viewport when measured space runs out. */
header.site.gk-nav-compact>.wrap{position:relative;grid-template-columns:minmax(0,1fr) max-content}
header.site.gk-nav-compact>.wrap>.head-cta{grid-column:2}
header.site.gk-nav-compact .menu-btn{display:inline-flex;align-items:center}
header.site.gk-nav-compact nav.main{display:none;position:absolute;left:0;right:0;top:100%;width:auto;max-width:none;justify-self:stretch;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 14px 24px rgba(7,29,64,.1);padding:10px 24px 18px;max-height:calc(100dvh - var(--gk-nav-top,var(--gk-header-height,110px)) - 16px);overflow-y:auto;overscroll-behavior:contain}
header.site.gk-nav-compact nav.main.open{display:block}
header.site.gk-nav-compact nav.main>ul{width:auto;flex-direction:column;align-items:stretch;gap:0}
header.site.gk-nav-compact nav.main li{border-bottom:1px solid var(--soft)}
header.site.gk-nav-compact nav.main a{padding:14px 8px;font-size:1.05rem;white-space:normal;overflow-wrap:anywhere}
header.site.gk-nav-compact nav.main .navrow{justify-content:space-between}
header.site.gk-nav-compact nav.main .navrow>a{flex:1;padding-right:8px}
header.site.gk-nav-compact nav.main .subtoggle{width:52px;height:52px;margin:0;border-left:1px solid var(--soft);border-radius:0}
header.site.gk-nav-compact nav.main .subtoggle.nav-disclosure{width:100%;height:auto;min-height:52px;justify-content:space-between;padding:14px 8px;border:0;font-size:1.05rem;white-space:normal;text-align:left}
header.site.gk-nav-compact nav.main .drop{position:static;width:auto;max-width:none;min-width:0;border:0;box-shadow:none;padding:0 0 8px 14px;border-radius:0}
header.site.gk-nav-compact nav.main li.open>.drop{display:flex}
header.site.gk-nav-compact nav.main .drop a{padding:13px 8px}
/* Without JavaScript all destinations remain available, with wrapping rather than overlap. */
html:not(.js) header.site>.wrap{display:flex;flex-wrap:wrap}
html:not(.js) header.site .brand{order:1}
html:not(.js) header.site .head-cta{order:2;margin-left:auto}
html:not(.js) header.site nav.main{display:block;position:static;order:3;width:100%;max-width:100%;padding:8px 0;box-shadow:none}
html:not(.js) header.site nav.main>ul{width:auto;flex-wrap:wrap}
html:not(.js) header.site nav.main .drop{display:flex;position:static;min-width:0;max-width:100%;width:auto;box-shadow:none}
html:not(.js) header.site nav.main .subtoggle,html:not(.js) header.site .menu-btn{display:none}
html:not(.js) header.site nav.main a{white-space:normal;overflow-wrap:anywhere}
