/* Final, shared header rules override legacy page-specific header styling. */
#shared-header { position:sticky!important; top:0!important; z-index:1000; height:78px!important; min-height:78px!important; max-height:78px!important; background:#fffafd!important; }
#shared-header .nav-wrap {width:min(1600px, calc(100% - 48px))!important; height:100%!important; padding:0!important; gap:24px!important; margin:auto!important;}
#shared-header .brand, #shared-header .logo {width:210px!important; min-width:210px!important; max-width:210px!important; flex:0 0 210px!important; height:auto!important; transform:none!important; filter:none!important;}
#shared-header .nav {display:flex!important; justify-content:flex-end!important; gap:6px!important; margin-left:auto!important; height:100%!important;}
#shared-header .nav a {font-size:12px!important; font-weight:600!important; padding:0 9px!important; height:100%!important; transform:none!important;}
#shared-header .nav a.active::after {bottom:16px!important; left:9px!important; right:9px!important; height:2px!important; background:#e94fae!important;}
#shared-header .search-btn {margin-left:8px!important; transform:none!important; flex:0 0 34px!important; width:34px!important; min-width:34px!important; max-width:34px!important;}
#shared-header .menu-btn {display:none!important;}
#shared-header .mobile-nav {position:absolute; top:100%; left:0; right:0; background:#fffafd; max-height:calc(100dvh - 78px); overflow-y:auto;}
#shared-header a:focus-visible, #shared-header button:focus-visible {outline:2px solid #792e83; outline-offset:3px;}
#shared-header .mobile-nav a.active {color:#792e83; font-weight:700; background:#faeaf4;}
#manufacturing {scroll-margin-top:94px;}
@media(max-width:1050px) {
 #shared-header .nav {display:none!important;}
 #shared-header .menu-btn {display:inline-flex!important; margin-left:auto!important;}
 #shared-header .nav-wrap {width:calc(100% - 32px)!important; gap:12px!important;}
 #shared-header .brand, #shared-header .logo {width:180px!important; min-width:180px!important; max-width:180px!important; flex-basis:180px!important;}
}
@media(min-width:1051px) {#shared-header .mobile-nav {display:none!important;}}

/* v03: use the Home/About outline search icon on every page. */
#shared-header .search-btn {
  background: transparent !important;
  color: #20156d !important;
  border: 0 !important;
}
#shared-header .search-btn svg {
  width: 18px !important;
  height: 18px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* Keep the three menu strokes visually centered inside the circular menu control at every viewport size. */
#shared-header .menu-btn {
  box-sizing: border-box !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  overflow: hidden !important;
}
#shared-header .menu-btn svg {
  display: block !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
  flex: none !important;
}

#shared-header .search-close { display:grid !important; place-items:center !important; padding:0 !important; overflow:hidden !important; }
#shared-header .search-close svg { display:block !important; position:absolute !important; left:50% !important; top:50% !important; transform:translate(-50%, -50%) !important; margin:0 !important; flex:none !important; }
