/* Clear branding and shared navigation. Keep the supplied artwork in its brand colours. */
.wsLogo img.wsFullLogo, .wsSiteShell .wsLogo img.wsFullLogo, .wsReferenceHome .wsLogo img.wsFullLogo,
.wsFooterLogo img.wsFullLogo, .wsSiteFooter .wsFooterLogo img.wsFullLogo {
  width: 280px; height: 72px; max-width: none; object-fit: cover;
  object-position: 50% 51%; flex-shrink: 0;
}
.wsLogo { flex-shrink: 0; }
.wsSiteFooter .wsFooterLogo { background: #fff; padding: 8px 12px; border-radius: 14px; max-width: 100%; }
.wsSiteFooter .wsFooterLogo img.wsFullLogo { width: 240px; height: 62px; filter: none; }
.wsSiteFooter .wsFooterLogo:hover img.wsFullLogo { transform: none; }
:is(.wsReferenceHome, .wsSiteShell) .wsHeader { background: #fff; border-bottom: 1px solid #dce6f2; box-shadow: 0 4px 24px rgb(15 37 76 / 5%); }
:is(.wsReferenceHome, .wsSiteShell) .wsHeaderInner { min-height: 100px; gap: 24px; }
:is(.wsReferenceHome, .wsSiteShell) .wsNav { gap: clamp(14px, 1.5vw, 28px); }
:is(.wsReferenceHome, .wsSiteShell) .wsNavItem > a { font-size: 14px; font-weight: 600; color: #152e56; padding: 16px 0; }
:is(.wsReferenceHome, .wsSiteShell) .wsNoticeBar { font-size: 12px; }
:is(.wsReferenceHome, .wsSiteShell) .wsNoticeLink { color: #e2edff; }
:is(.wsReferenceHome, .wsSiteShell) a:focus-visible,
:is(.wsReferenceHome, .wsSiteShell) button:focus-visible { outline: 3px solid #3699ff; outline-offset: 5px; }
@media (max-width: 1250px) {
  :is(.wsReferenceHome, .wsSiteShell) .wsHeaderInner { flex-wrap: wrap; }
  :is(.wsReferenceHome, .wsSiteShell) .wsNav { order: 3; width: 100%; justify-content: space-between; }
}
@media (max-width: 600px) {
  .wsLogo img.wsFullLogo, .wsSiteShell .wsLogo img.wsFullLogo, .wsReferenceHome .wsLogo img.wsFullLogo { width: 220px; height: 57px; }
  :is(.wsReferenceHome, .wsSiteShell) .wsHeaderInner { gap: 12px; min-height: 80px; }
  :is(.wsReferenceHome, .wsSiteShell) .wsNav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 12px; }
  :is(.wsReferenceHome, .wsSiteShell) .wsNavItem > a { font-size: 12px; padding: 10px 0; }
}

.wsMobileMenuToggle, .wsMobileSubmenuToggle, .wsMobileMenuCta { display: none; }
@media (max-width: 850px) {
  .wsHeader .wsHeaderInner { position: relative; width: 100%; flex-wrap: nowrap; gap: 8px; min-height: 64px; height: auto; padding-left: clamp(12px, 4vw, 20px); padding-right: clamp(12px, 4vw, 20px); }
  .wsHeader .wsLogo { flex: 1 1 auto; min-width: 0; }
  .wsHeader .wsLogo img.wsFullLogo { width: min(220px, calc(100vw - 88px)); max-width: 100%; height: 50px; }
  .wsHeader .wsMobileMenuToggle { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 42px; height: 42px; border: 1px solid #dbe3ef; border-radius: 9px; background: #fff; color: #0b1a38; font-size: 17px; cursor: pointer; }
  .wsHeader .wsHeaderActions { display: none; }
  .wsHeader .wsNav { position: absolute; top: 100%; left: 0; right: 0; z-index: 1001; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0; width: auto; height: auto; max-height: calc(100vh - 72px); max-height: calc(100dvh - 72px); overflow-y: auto; padding: 8px 16px 16px; background: #fff; border-top: 1px solid #e2e8f0; box-shadow: 0 18px 32px #0b1a3826; opacity: 1; transform: none; }
  .wsHeader .wsNav[hidden] { display: none !important; }
  .wsHeader .wsNavItem { position: static; display: grid; grid-template-columns: minmax(0, 1fr) 44px; align-items: center; gap: 0; padding: 0; border-bottom: 1px solid #edf2f7; }
  .wsHeader .wsNavItem > a { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 10px 4px; font-size: 14px; white-space: normal; }
  .wsHeader .wsNavItem > a .wsNavArrow { display: none; }
  .wsHeader .wsMobileSubmenuToggle { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 0; border-radius: 8px; background: #f1f5f9; color: #334155; font-size: 13px; cursor: pointer; }
  .wsHeader .wsMobileSubmenuToggle[aria-expanded="true"] span { transform: rotate(180deg); }
  .wsHeader .wsMobileSubmenuToggle span { transition: transform .18s ease; }
  .wsHeader .wsNavItem .wsDropdownMenu { position: static; grid-column: 1 / -1; display: grid; grid-template-columns: 1fr; gap: 4px; width: 100%; min-width: 0; max-width: none; padding: 4px 0 12px 12px; border: 0; border-left: 2px solid #dbeafe; border-radius: 0; background: transparent; box-shadow: none; opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
  .wsHeader .wsDropdownMenu[hidden] { display: none !important; }
  .wsHeader .wsDropdownLink { min-height: 44px; padding: 8px 10px; }
  .wsHeader .wsDropdownLink div span { line-height: 1.45; }
  .wsHeader .wsMobileMenuCta { display: flex; align-items: center; justify-content: space-between; min-height: 48px; margin-top: 12px; padding: 12px 16px; border-radius: 8px; background: #0066ff; color: #fff; font-size: 14px; font-weight: 700; }
}
@media (max-width: 540px) {
  .wsHeader .wsHeaderInner { gap: 8px; }
  .wsHeader .wsCtaBtn { padding: 10px 12px; font-size: 11px; }
  .wsHeader .wsSearchBtn { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .wsHeader .wsMobileSubmenuToggle span { transition: none; }
}
