/* Logo artwork +15%, backing +20%; independent sizing preserves the requested proportions. */
/* The logo stays at the exact viewport centre, independent of either menu side. */
.site-header{overflow:visible;background:var(--bg)}
.site-header #main-nav{max-height:calc(100svh - 112px);overflow-y:auto}
.site-header-inner.container{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 172.8px minmax(0,1fr);grid-template-rows:auto;gap:0;min-height:112px;padding-block:16px;align-items:center;isolation:isolate}
.site-header .site-logo{position:absolute;z-index:2;left:50%;top:8px;transform:translateX(-50%);width:172.8px;padding:12.8px;background:var(--bg);margin:0;box-sizing:border-box}
.site-header .site-logo img{width:100%;height:auto;display:block}
.site-header .main-nav{grid-column:1/-1;grid-row:1;position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:224px;margin:0;padding:0;min-width:0}
.nav-group{display:flex;align-items:center;gap:24px;min-width:0}
.nav-group-right{justify-content:flex-end;padding-right:168px}
.site-header .header-reserve{grid-column:3;grid-row:1;justify-self:end;z-index:1}
.site-header .main-nav a{white-space:normal}
html{scroll-padding-top:192px}
@media(max-width:1280px){
 .site-header-inner.container{grid-template-columns:minmax(0,1fr) 134.4px minmax(0,1fr);min-height:96px;padding-block:16px}
 .site-header .site-logo{width:134.4px;padding:12px}
 .site-header .nav-toggle{display:block;grid-column:1;grid-row:1;justify-self:start;margin:0}
 .site-header .main-nav{position:absolute;left:0;right:0;top:calc(100% + 48px);z-index:3;display:grid;grid-template-columns:1fr;gap:0;padding:24px;background:var(--bg);border:1px solid var(--line);box-shadow:0 16px 32px #282c2615}
 .nav-group{display:grid;gap:8px;padding:0;justify-content:stretch}
 .nav-group-right{margin-top:8px}
 .site-header .main-nav a{padding-block:8px}
 .nav-ready .site-header .main-nav:not(.is-open){display:none}
 html{scroll-padding-top:160px}
}
@media(max-width:760px){
 .site-header-inner.container{grid-template-columns:minmax(0,1fr) 115.2px minmax(0,1fr);min-height:80px;padding-block:8px}
 .site-header .site-logo{width:115.2px;padding:11.6px;top:8px}
 .site-header .header-reserve,.site-header .nav-toggle{padding-inline:8px}
 .site-header .main-nav{top:calc(100% + 48px)}
 html{scroll-padding-top:144px}
}
@media(max-width:380px){
 .site-header-inner.container{width:calc(100% - 16px)}
 .site-header-inner.container{grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr);min-height:72px}
 .site-header .site-logo{width:96px;padding:11.2px;top:16px}
}

/* Desktop subpages: centre the complete logo within the header height. */
@media(min-width:761px){
 body:not(.home-page) .site-header .site-logo{width:96px;padding:8px;top:50%;transform:translate(-50%,-50%);background:transparent}
}
@media(min-width:761px) and (max-width:1280px){
 body:not(.home-page) .site-header .site-logo{width:80px;padding:4px}
}

/* Anchor desktop dropdowns to the full-width header, not the inset container. */
@media(min-width:761px){
 .site-header .site-header-inner.container{position:static}
 .home-page .site-header #main-nav{right:0;left:auto;top:100%;width:min(400px,100%)}
}
@media(min-width:761px) and (max-width:1280px){
 body:not(.home-page) .site-header #main-nav{right:0;left:auto;top:100%;width:min(400px,100%)}
}

@media(min-width:761px){
 .site-header #main-nav,.site-header #main-nav a{border:0}
}

/* The expanded menu also stays compact on wide subpages. */
@media(min-width:1281px){
 body:not(.home-page) .site-header .nav-toggle{display:flex;align-items:center;justify-content:center;grid-column:1;grid-row:1;justify-self:start}
 body:not(.home-page) .site-header #main-nav{position:absolute;left:auto;right:0;top:100%;z-index:3;display:grid;grid-template-columns:1fr;gap:0;width:min(400px,100%);padding:24px;background:var(--bg);box-shadow:0 16px 32px #282c2615}
 body:not(.home-page) .site-header .nav-group{display:grid;gap:8px;padding:0;justify-content:stretch}
 body:not(.home-page) .site-header .nav-group-right{margin-top:8px}
 body:not(.home-page) .site-header #main-nav a{padding-block:8px}
 .nav-ready body:not(.home-page) .site-header #main-nav:not(.is-open){display:none}
}
