/* The homepage is the source for the shared global header.  Inner pages load
   this file after their page CSS instead of carrying a second header skin. */
.candidate-header{position:absolute;z-index:5;top:0;left:0;width:100%;height:92px;color:#fff;font-family:Arial,"Helvetica Neue",sans-serif;transition:background-color .5s ease,box-shadow .5s ease,color .5s ease}
.candidate-header .header-shell{display:flex;width:88%;max-width:1440px;height:92px;align-items:center;margin:0 auto}
.candidate-header .brand{display:flex;align-items:center;gap:11px;color:inherit;font-size:18px;font-weight:700;text-decoration:none;white-space:nowrap}
.candidate-header .brand span{font-size:inherit;line-height:normal}
.candidate-header .brand img{width:46px;height:46px;object-fit:contain}
.candidate-header nav{display:flex;height:100%;align-items:center;gap:30px;margin-left:auto}
.candidate-header nav>a,.candidate-header nav .header-menu-group>a{position:relative;display:flex;height:100%;align-items:center;color:inherit;font-size:14px;font-weight:700;letter-spacing:0;text-decoration:none;transition:color .35s ease}
.candidate-header .language{margin-left:24px;padding:9px 11px;border:1px solid rgba(255,255,255,.72);color:inherit;font-size:11px;text-decoration:none}
.candidate-header.scrolled{position:fixed;top:0;background:#fff;color:#252a30;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.candidate-header.scrolled .brand,.candidate-header.scrolled nav a,.candidate-header.scrolled .language{color:#252a30}
.candidate-header.scrolled .language{border-color:#cfd4d9}
.candidate-header .header-menu-group{position:relative;display:flex;height:100%;align-items:center}
.candidate-header .header-menu-group>a::after{margin-left:7px;font-size:11px;content:'⌄'}
.candidate-header .header-submenu{position:absolute;top:108px;left:0;width:260px;min-width:260px;padding:0;overflow:hidden;border-radius:6px;background:#fff;box-shadow:0 10px 25px rgba(0,0,0,.15);opacity:0;transform:translateY(8px);visibility:hidden;transition:.25s ease}
.candidate-header .header-menu-group:hover .header-submenu{opacity:1;transform:translateY(0);visibility:visible}
.candidate-header .header-submenu a{display:flex;height:51px;align-items:center;padding:0 16px;border-bottom:1px solid #e7e7e7;color:#30363b;font-size:16px;font-weight:400;text-decoration:none}
.candidate-header .header-submenu a:last-child{border-bottom:0}
.candidate-header .header-submenu a:hover{background:#1d4388;color:#fff}
.candidate-header nav>a[aria-current="page"]::before,.candidate-header .header-menu-group:hover>a::before,.candidate-header .header-menu-group.active>a::before{position:absolute;right:0;bottom:27px;left:0;height:3px;background:#1593db;content:''}
@media (max-width:1919px){.candidate-header .header-submenu{top:86px}}
/* Both homepage and inner routes use the same header geometry. */
[data-site-header] .candidate-header{top:0}
@media (min-width:1920px){.candidate-header,.candidate-header .header-shell{height:110px}.candidate-header .brand{font-size:21px}.candidate-header .brand img{width:54px;height:54px}.candidate-header nav{gap:38px}.candidate-header nav>a,.candidate-header nav .header-menu-group>a{font-size:18px}.candidate-header .language{margin-left:30px;font-size:12px}}
.language-menu{position:relative;margin-left:24px}.language-menu-toggle{display:inline-flex;align-items:center;gap:3px;min-height:36px;padding:0 10px;border:1px solid rgba(255,255,255,.72);background:transparent;color:inherit;font:inherit;font-size:11px;cursor:pointer}.language-menu-toggle:hover,.language-menu.open .language-menu-toggle{background:rgba(255,255,255,.12)}.language-menu-panel{position:absolute;z-index:120;top:calc(100% + 8px);right:0;width:190px;visibility:hidden;overflow:hidden;border:1px solid #d9dde1;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.24);opacity:0;transform:translateY(-4px);transition:opacity .16s ease,transform .16s ease,visibility .16s}.language-menu.open .language-menu-panel{visibility:visible;opacity:1;transform:translateY(0)}.language-menu-panel button{display:grid;grid-template-columns:34px 1fr;align-items:center;width:100%;min-height:40px;padding:0 16px;border:0;border-bottom:1px solid #e5e5e5;background:#fff;color:#1976d2;font:inherit;font-size:14px;font-weight:400;text-align:left;cursor:pointer}.language-menu-panel button:last-child{border-bottom:0}.language-menu-panel button:hover,.language-menu-panel button[aria-current=true]{background:#f4f7fa;color:#0c5da8}.language-flag{display:block;width:24px;height:16px;box-shadow:0 0 0 1px rgba(0,0,0,.1)}.language-flag-en{background:linear-gradient(33deg,transparent 43%,#fff 43% 47%,#c8102e 47% 53%,#fff 53% 57%,transparent 57%),linear-gradient(-33deg,transparent 43%,#fff 43% 47%,#c8102e 47% 53%,#fff 53% 57%,transparent 57%),linear-gradient(#012169 0 38%,#fff 38% 43%,#c8102e 43% 57%,#fff 57% 62%,#012169 62%)}.language-flag-fr{background:linear-gradient(90deg,#002654 0 33%,#fff 33% 66%,#ed2939 66%)}.language-flag-vi{position:relative;background:#da251d}.language-flag-vi:after{position:absolute;inset:-3px 0 0;color:#ffdf00;content:'★';font-size:18px;line-height:16px;text-align:center}.language-flag-th{background:linear-gradient(#a51931 0 20%,#fff 20% 35%,#2d2a4a 35% 65%,#fff 65% 80%,#a51931 80%)}.language-flag-id{background:linear-gradient(#e70011 0 50%,#fff 50%)}.language-flag-ar{background:#006c35}.language-flag-ar:after{display:block;color:#fff;content:'—';font-size:18px;line-height:12px;text-align:center}.language-flag-es{background:linear-gradient(#aa151b 0 25%,#f1bf00 25% 75%,#aa151b 75%)}.language-flag-pt{background:radial-gradient(circle at 40% 50%,#f8d249 0 12%,transparent 13%),linear-gradient(90deg,#046a38 0 40%,#da291c 40%)}.language-flag-zh-CN{position:relative;background:#de2910}.language-flag-zh-CN:after{position:absolute;inset:-3px 0 0;color:#ffde00;content:'★';font-size:14px;line-height:16px;text-align:center}.candidate-header.scrolled .language-menu-toggle{border-color:#cfd4d9;background:#fff;color:#252a30}

/* Keep long translated product-family labels fully visible. */
.candidate-header .header-menu-group > a[href$="products/index.html"] + .header-submenu { width: min(380px, calc(100vw - 32px)); min-width: min(380px, calc(100vw - 32px)); }

/* One responsive header contract for the homepage and inner pages. */
.mobile-menu-toggle { display: none; }
/* Reuse the homepage contact rail unchanged on every route. */
.float-contact { position: fixed; z-index: 20; top: 420px; right: 0; width: 70px; overflow: hidden; color: #fff; background: #0a4784; box-shadow: 0 4px 16px rgba(0,0,0,.2); }
.float-contact a { display: flex; height: 60px; align-items: center; justify-content: center; flex-direction: column; gap: 3px; padding: 4px; border-bottom: 1px solid rgba(255,255,255,.22); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: 0; line-height: 1; text-align: center; text-decoration: none; text-transform: none; transition: background .3s ease; }
.float-contact .rail-icon { font-size: 17px; line-height: 1; }
.float-contact svg.rail-icon { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.float-contact .brand-icon { display: block; width: 19px; height: 19px; }
.float-contact .rail-label { font-size: 11px; line-height: 1; }
.float-contact a:last-child { border-bottom: 0; }
.float-contact a:hover { background: #0d66b4; }

/* Flags were removed, so menu labels must use the full row rather than a reserved flag column. */
.language-menu-panel button { display: block; white-space: nowrap; }
/* The homepage keeps only the active-state indicator; remove the old first-link border. */
.candidate-header nav > a:first-child { border-bottom: 0; }

@media (min-width: 761px) and (max-width: 1439px) {
  html:not([lang="en"]) .candidate-header nav { gap: 16px; }
  html:not([lang="en"]) .candidate-header nav > a,
  html:not([lang="en"]) .candidate-header nav .header-menu-group > a { font-size: 12px; }
}

@media (max-width: 760px) {
  .candidate-header, .candidate-header .header-shell { height: 64px; }
  .candidate-header .header-shell { width: 100%; padding: 0 16px; }
  .candidate-header .brand { font-size: 14px; }
  .candidate-header .brand img { width: 36px; height: 36px; }
  .candidate-header .language-menu { order: 2; margin-left: auto; margin-right: 12px; }
  .candidate-header .language-menu-toggle { min-height: 34px; font-size: 11px; }
  .candidate-header .mobile-menu-toggle { order: 3; display: inline-flex; width: 34px; height: 34px; align-items: center; justify-content: center; flex-direction: column; gap: 5px; padding: 0; border: 1px solid currentColor; background: transparent; color: inherit; cursor: pointer; }
  .candidate-header .mobile-menu-toggle span { display: block; width: 16px; height: 1px; background: currentColor; }
  .candidate-header nav { display: none; position: absolute; top: 64px; right: 0; left: 0; height: auto; max-height: calc(100vh - 64px); overflow-y: auto; padding: 8px 0 16px; background: #fff; box-shadow: 0 10px 24px rgba(0,0,0,.18); }
  .candidate-header.mobile-menu-open nav { display: flex; align-items: stretch; flex-direction: column; gap: 0; }
  .candidate-header nav > a, .candidate-header nav .header-menu-group { display: block; height: auto; }
  .candidate-header nav > a, .candidate-header nav .header-menu-group > a { min-height: 48px; height: auto; padding: 0 20px; color: #252a30; font-size: 14px !important; }
  .candidate-header nav > a[aria-current="page"]::before, .candidate-header .header-menu-group:hover > a::before, .candidate-header .header-menu-group.active > a::before { display: none; }
  .candidate-header .header-submenu { display: none !important; }
  .candidate-header .language-menu-panel { width: min(260px, calc(100vw - 32px)); }
}
