/* R17i: one unified header + site menu on all 32 pages, including entrance.
   All changes are to header/menu presentation. Approved page content is untouched. */
body.v8 .site-header{
  box-sizing:border-box!important;position:sticky!important;top:0!important;z-index:90!important;
  width:100%;margin:0!important;padding:0!important;background:#07111f!important;
  backdrop-filter:none!important;box-shadow:none!important;border-bottom:0!important
}
body.v8 .site-header>.shell{width:min(1160px,calc(100% - 48px))!important;max-width:none!important;margin-inline:auto!important;padding:0!important}
body.v8 .site-header .nav-row{
  display:grid!important;position:relative!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
  gap:1rem!important;min-height:120px!important;height:auto!important;align-items:center!important;
  margin:0!important;padding:0!important
}
body.v8 .site-header .brand{display:flex!important;align-items:center!important;min-width:0!important;justify-self:start!important}
body.v8 .site-header .brand-logo{
  display:block!important;width:250px!important;max-width:250px!important;max-height:56px!important;
  height:auto!important;object-fit:contain!important;object-position:left center!important
}
body.v8 .site-header .nav-signature{
  display:block!important;grid-column:2!important;grid-row:1!important;align-self:center!important;
  margin:0!important;white-space:nowrap!important;text-align:center!important;
  color:#ecc77c!important;font:500 1.48rem/1.15 var(--display)!important;letter-spacing:.012em!important
}
body.v8 .site-header .menu-button{
  display:inline-flex!important;grid-column:3!important;grid-row:1!important;justify-self:end!important;
  align-items:center!important;justify-content:center!important;gap:.85rem!important;position:relative!important;
  height:49px!important;min-height:49px!important;width:124px!important;min-width:124px!important;
  margin:0!important;padding:0 14px!important;border:1px solid #b48e48!important;border-radius:4px!important;
  background:linear-gradient(180deg,#263d54,#13263b)!important;color:#f3e0b1!important;
  font:700 .8rem/1.1 var(--body)!important;letter-spacing:.12em!important;text-transform:uppercase!important;
  cursor:pointer!important;z-index:101!important
}
body.v8 .site-header .menu-button::after{
  content:""!important;display:block!important;flex:0 0 24px!important;width:24px!important;height:14px!important;
  background:linear-gradient(#edc779 0 2px,transparent 2px 6px,#edc779 6px 8px,transparent 8px 12px,#edc779 12px 14px)!important
}
body.v8 .site-header .menu-button:hover,body.v8 .site-header .menu-button:focus-visible{
  background:#294962!important;border-color:#f1ca7a!important
}
body.v8 .site-header .signature-rule{
  margin:0!important;height:1px!important;min-height:1px!important;opacity:.75!important;
  background:linear-gradient(90deg,transparent,#3b4e61 12%,#a9884d 50%,#3b4e61 88%,transparent)!important
}
body.v8 .site-header .primary-nav{
  display:none!important;position:absolute!important;inset:calc(100% + 4px) 0 auto auto!important;
  left:auto!important;right:0!important;bottom:auto!important;top:calc(100% + 4px)!important;
  width:min(540px,calc(100vw - 48px))!important;max-width:none!important;
  max-height:calc(100vh - 140px)!important;height:auto!important;overflow-y:auto!important;
  margin:0!important;padding:20px!important;
  background:#10243a!important;color:#f2f4f6!important;
  border:1px solid #b38c47!important;border-bottom:3px solid #9e762f!important;border-radius:5px!important;
  box-shadow:0 18px 48px #0008!important;z-index:100!important
}
body.v8 .site-header .primary-nav.open{display:block!important}
body.v8 .site-header .primary-nav::before,body.v8 .site-header .primary-nav.open::before{display:none!important}
body.v8 .site-header .primary-nav ul{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:stretch!important;gap:0 16px!important;list-style:none!important;padding:0!important;margin:0 0 7px!important
}
body.v8 .site-header .primary-nav li{margin:0!important;padding:0!important;border-bottom:1px solid #40536a!important}
body.v8 .site-header .primary-nav a{
  display:block!important;padding:12px 10px!important;color:#f3f4f6!important;
  background:transparent!important;border:0!important;border-radius:0!important;
  text-transform:none!important;letter-spacing:0!important;font:500 .94rem/1.2 var(--body)!important;
  text-decoration:none!important
}
body.v8 .site-header .primary-nav a:hover,body.v8 .site-header .primary-nav a:focus-visible{
  color:#f4d394!important;background:#1d3955!important;outline:2px solid #d2ae69!important;outline-offset:-2px!important
}
body.v8 .site-header .primary-nav a[aria-current="page"],
body.v8 .site-header .primary-nav a[aria-current="location"]{
  color:#f1ca7e!important;background:#213e57!important;
  border-left:3px solid #eac16f!important;padding-left:12px!important;font-weight:700!important;border-radius:3px!important
}
@media(max-width:780px){
 body.v8 .site-header>.shell{width:calc(100% - 32px)!important}
 body.v8 .site-header .nav-row{
   min-height:76px!important;grid-template-columns:minmax(75px,1fr) minmax(0,1.3fr) minmax(80px,1fr)!important;
   gap:.45rem!important
 }
 body.v8 .site-header .brand-logo{width:min(130px,100%)!important;max-width:100%!important;max-height:42px!important}
 body.v8 .site-header .nav-signature{
  font-size:clamp(.82rem,2.75vw,1.14rem)!important;white-space:normal!important;line-height:1.05!important
 }
 body.v8 .site-header .menu-button{
   width:auto!important;min-width:78px!important;height:39px!important;min-height:39px!important;
   padding:0 8px!important;font-size:.66rem!important;gap:.38rem!important
 }
 body.v8 .site-header .menu-button::after{width:17px!important;height:13px!important;flex-basis:17px!important}
 body.v8 .site-header .primary-nav{width:min(420px,calc(100vw - 32px))!important;max-height:calc(100dvh - 90px)!important;padding:14px!important}
 body.v8 .site-header .primary-nav ul{grid-template-columns:1fr!important;gap:0!important}
 body.v8 .site-header .primary-nav a{padding:10px!important}
}
@media(max-width:380px){
 body.v8 .site-header .nav-row{grid-template-columns:minmax(65px,1fr) minmax(0,1.4fr) minmax(70px,1fr)!important;gap:.25rem!important}
 body.v8 .site-header .brand-logo{width:min(108px,100%)!important}
 body.v8 .site-header .nav-signature{font-size:.8rem!important}
 body.v8 .site-header .menu-button{min-width:70px!important;font-size:.59rem!important;gap:.25rem!important;padding-inline:6px!important}
}
