/* Shared navigation. Menus are overlays and never change the Banner height. */
:root{--navigation-header-height:80px}
body header.site-header[data-navigation-ready]{z-index:100;overflow:visible}
/* Standalone Banners intentionally isolate and clip their artwork. Keep those
   clips, but lift the whole stacking context while a navigation overlay is
   open, so later white content sections cannot paint over its final rows. */
body :is(.aav-banner,.ad-banner,.ov-banner,.sc-banner):has(.site-header[data-navigation-ready].navigation-open),
body :is(.aav-banner,.ad-banner,.ov-banner,.sc-banner):has(.site-header[data-navigation-ready] .nav-group.is-expanded){z-index:101}
body header[data-navigation-ready] .nav-group{position:relative;flex:none}
body header[data-navigation-ready] .nav-group-heading{display:flex;align-items:center;gap:3px}
body header[data-navigation-ready] .site-nav>a,body header[data-navigation-ready] .nav-group-heading>a,body header[data-navigation-ready] .nav-submenu-toggle{transition:color .18s ease,background-color .18s ease}
body header[data-navigation-ready] .site-nav>a:hover,body header[data-navigation-ready] .site-nav>a:focus-visible,body header[data-navigation-ready] .nav-group:hover>.nav-group-heading>a,body header[data-navigation-ready] .nav-group:focus-within>.nav-group-heading>a,body header[data-navigation-ready] .is-expanded>.nav-group-heading>a{color:#00d9f2}
body header[data-navigation-ready] .nav-submenu-toggle{display:grid;place-items:center;flex:none;width:22px;height:30px;border:0;padding:0;background:transparent;color:#c2eafa;cursor:pointer;border-radius:4px}
body header[data-navigation-ready] .nav-group:hover .nav-submenu-toggle,body header[data-navigation-ready] .nav-submenu-toggle[aria-expanded="true"]{color:#00d9f2}
body header[data-navigation-ready] .nav-submenu-toggle svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .18s ease}
body header[data-navigation-ready] .nav-submenu-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
body header[data-navigation-ready] .nav-submenu{position:fixed;left:var(--dropdown-left,16px);top:var(--dropdown-top,80px);width:min(640px,calc(100vw - 32px));padding:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;border:1px solid #00d9f2;border-radius:10px;background:linear-gradient(120deg,rgba(3,29,59,.94),rgba(2,24,50,.95) 65%,rgba(3,32,63,.94));box-shadow:0 16px 36px #00152e66,0 0 10px #00d9f20d;color:#f3faff;z-index:120;max-height:calc(100dvh - var(--dropdown-top,80px) - 16px);overflow:auto;overscroll-behavior:contain}
body header[data-navigation-ready] .nav-submenu[hidden]{display:none!important}
body header[data-navigation-ready] .nav-submenu--services{grid-auto-flow:column;grid-template-rows:repeat(4,auto)}
body header[data-navigation-ready] .site-nav .nav-submenu-link{display:flex;align-items:center;gap:12px;min-width:0;min-height:70px;margin:0;padding:10px 12px;border:1px solid transparent;border-radius:6px;color:#edf8ff;font:600 16px/1.45 Arial,"Microsoft YaHei","Yu Gothic","Malgun Gothic",sans-serif;white-space:normal;letter-spacing:0;overflow-wrap:anywhere;text-decoration:none;transition:background-color .18s ease,border-color .18s ease,color .18s ease}
body header[data-navigation-ready] .site-nav .nav-submenu-link::after{display:none}
body header[data-navigation-ready] .site-nav .nav-submenu-link:hover,body header[data-navigation-ready] .site-nav .nav-submenu-link:focus-visible,body header[data-navigation-ready] .site-nav .nav-submenu-link[aria-current]{background:linear-gradient(105deg,#087bff,#064bff);border-color:#3aafff;color:#fff}
body header[data-navigation-ready] .nav-submenu-icon{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;color:#00dff2}
body header[data-navigation-ready] .nav-submenu-icon svg{width:100%;height:100%;max-width:100%}
body header[data-navigation-ready] .nav-mobile-footer{display:none}
body header[data-navigation-ready] :is(a,button):focus-visible{outline:2px solid #77eaff;outline-offset:3px}
/* The contact icon/label are independent of page-specific arrow-span rules. */
body header.site-header[data-navigation-ready] :is([data-header-contact],.nav-mobile-contact) .nav-contact-icon{display:block;flex:none;width:1.05em;height:1.05em;max-width:none;stroke:currentColor;stroke-width:1.8;fill:none}
body header.site-header[data-navigation-ready] :is([data-header-contact],.nav-mobile-contact) .nav-contact-label{display:block;flex:none;width:auto;margin:0;padding:0;font:inherit;line-height:1.25rem;letter-spacing:inherit}
body header[data-navigation-ready] .site-nav .nav-submenu-link:focus-visible{outline:2px solid #b6f7ff;outline-offset:-3px}
@media(min-width:960px){
 body header.site-header[data-navigation-ready] .menu-toggle{display:none!important}
 body header.site-header[data-navigation-ready] .site-nav{display:flex!important;flex-wrap:nowrap;align-items:center;align-self:center;height:2.25rem}
 body header.site-header[data-navigation-ready] .site-nav>a,body header.site-header[data-navigation-ready] .nav-group-heading>a{display:inline-flex;align-items:center;height:1.25rem;line-height:1.25rem;margin-block:0;padding-block:0}
 body header.site-header[data-navigation-ready] .nav-group-heading{height:2.25rem;align-items:center}
 body header.site-header[data-navigation-ready] .nav-submenu-toggle{height:1.25rem}
 body header.site-header[data-navigation-ready] .search-button{display:grid;place-items:center;align-self:center;padding:0;margin-block:0}
 body header.site-header[data-navigation-ready] .search-button svg{display:block;width:100%;height:100%;object-fit:contain}
 body header.site-header[data-navigation-ready] [data-header-contact]{display:inline-flex;align-items:center;justify-content:center;align-self:center;height:1.95rem;min-height:0;max-height:52px;width:auto;min-width:0;padding:0 .8rem;font-size:.8rem;font-weight:650;line-height:1.25rem;gap:.45rem;white-space:nowrap;letter-spacing:0;border-radius:2rem;border:0;background:linear-gradient(105deg,#129bff,#0755ff)}
 /* Home retains its exact horizontal composition, but all three controls now
    use the same geometric center instead of independent top offsets. */
 body.home header.site-header[data-navigation-ready]{--navigation-content-center:3.125rem}
 body.home header.site-header[data-navigation-ready] .site-nav{top:calc(var(--navigation-content-center) - 1.125rem);transform:none}
 body.home header.site-header[data-navigation-ready] .search-button{top:calc(var(--navigation-content-center) - .71875rem);height:1.4375rem;transform:none}
 body.home header.site-header[data-navigation-ready] [data-header-contact]{top:var(--navigation-content-center);transform:translateY(-50%)}
 body.home header.site-header[data-navigation-ready] [data-header-contact]{width:auto;min-width:6.65rem;padding-inline:.7rem}
 body.home header.site-header[data-navigation-ready] .site-nav::before{top:50%;transform:translateY(-50%)}
 /* A fixed diamond is not clipped by the scrolling panel. Its lower half
    blends with the panel; the two top edges form the small nav pointer. */
 body header[data-navigation-ready] .nav-submenu::before{content:"";position:fixed;left:calc(var(--dropdown-tip-left,50px) - 8px);top:calc(var(--dropdown-top,80px) - 8px);width:16px;height:16px;border-top:1px solid #00d9f2;border-left:1px solid #00d9f2;background:#031d3b;transform:rotate(45deg);pointer-events:none}
 body header[data-navigation-ready] .nav-submenu::after{content:"";position:absolute;top:16px;bottom:16px;left:50%;width:1px;background:#7aafcf40;pointer-events:none}
 body header[data-navigation-ready] .nav-submenu--services .nav-submenu-link:not(:nth-child(4)):not(:nth-child(8)),body header[data-navigation-ready] .nav-submenu--products .nav-submenu-link:nth-child(-n+4){box-shadow:0 5px 0 -4px #7aafcf40}
}
@media(max-width:959px){
 body header.site-header[data-navigation-ready]{height:var(--navigation-header-height);min-height:var(--navigation-header-height)}
 body header.site-header[data-navigation-ready]>div:first-child{position:relative;display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;width:calc(100% - 32px);max-width:none;height:80px;min-height:80px;margin:0 16px;padding:0;gap:10px}
 body header.site-header[data-navigation-ready] .brand{position:static;display:flex;align-items:center;flex:1 1 auto;min-width:0;gap:8px;margin:0;max-width:none}
 body header.site-header[data-navigation-ready] .brand :is(picture,img){width:96px;max-width:96px;flex:none;height:auto}
 body header.site-header[data-navigation-ready] .brand>span{position:static;display:block;flex:1 1 auto;width:auto;max-width:120px;min-width:0;font-size:clamp(11px,2.7vw,14px);line-height:1.3;white-space:normal;letter-spacing:0;overflow-wrap:normal}
 body header.site-header[data-navigation-ready] .search-button{position:static;order:2;flex:0 0 28px;display:grid;place-items:center;width:28px;height:36px;margin:0;padding:2px;border:0;background:transparent;color:#fff}
 body header.site-header[data-navigation-ready] .search-button svg{width:23px;height:23px;max-width:23px;max-height:23px}
 body header.site-header[data-navigation-ready] .menu-toggle{position:static;order:3;display:grid;place-items:center;flex:0 0 32px;width:32px;height:36px;margin:0;padding:5px;border:0;border-radius:4px;background:transparent;color:#fff}
 .navigation-toggle-icon{position:relative;display:block;width:21px;height:18px}
 .navigation-toggle-icon>span{position:absolute;left:0;top:1px;width:21px;height:1.5px;border-radius:2px;background:currentColor;transition:transform .18s ease,opacity .18s ease}
 .navigation-toggle-icon>span:nth-child(2){top:8px}.navigation-toggle-icon>span:nth-child(3){top:15px}
 [aria-expanded="true"]>.navigation-toggle-icon>span:first-child{transform:translateY(7px) rotate(45deg)}
 [aria-expanded="true"]>.navigation-toggle-icon>span:nth-child(2){opacity:0}
 [aria-expanded="true"]>.navigation-toggle-icon>span:last-child{transform:translateY(-7px) rotate(-45deg)}
 body header.site-header[data-navigation-ready] [data-header-contact]{display:none!important}
 body header.site-header[data-navigation-ready]>div>.language-switch{display:none!important}
 body header.site-header[data-navigation-ready] .site-nav{position:fixed;inset:auto 16px auto auto;top:var(--navigation-menu-top,76px);display:none!important;flex:none;order:initial;width:clamp(216px,60vw,300px);max-width:calc(100vw - 32px);max-height:calc(100dvh - var(--navigation-menu-top,76px) - 12px);margin:0;padding:6px;overflow:auto;overscroll-behavior:contain;border:1px solid #00d9f2;border-radius:8px;background:linear-gradient(115deg,rgba(3,34,67,.90),rgba(2,28,58,.92) 65%,rgba(3,37,72,.90));box-shadow:0 12px 28px #00152e99,0 0 10px #00d9f218;z-index:120;scrollbar-width:thin;scrollbar-color:#3276a0 #04264e}
 body header.site-header[data-navigation-ready] .site-nav.is-open{display:block!important}
 body header.site-header[data-navigation-ready] .site-nav::before{display:none}
 body header.site-header[data-navigation-ready] .site-nav>a,body header.site-header[data-navigation-ready] .nav-group-heading>a{position:relative;display:flex;align-items:center;flex:1;min-height:42px;margin:0;padding:9px 12px;font-size:14px;line-height:1.5;letter-spacing:0;color:#f1f8ff;white-space:normal;overflow-wrap:anywhere;border-radius:4px}
 body header.site-header[data-navigation-ready] .site-nav>a{border-bottom:1px solid #4e86ac30}
 body header.site-header[data-navigation-ready] .site-nav a[aria-current]::after{display:none}
 body header.site-header[data-navigation-ready] .site-nav>a:hover,body header.site-header[data-navigation-ready] .nav-group-heading>a:hover{background:#0b559263}
 body header.site-header[data-navigation-ready] .nav-group{border-bottom:1px solid #4e86ac30}
 body header.site-header[data-navigation-ready] .nav-group-heading{gap:0}
 body header.site-header[data-navigation-ready] .nav-submenu-toggle{width:40px;height:42px;color:#b8edff}
 body header.site-header[data-navigation-ready] .is-expanded>.nav-group-heading{background:#064a8b80;color:#00d9f2;border-radius:4px}
 body header.site-header[data-navigation-ready] .is-expanded>.nav-group-heading>a{color:#00d9f2}
 body header.site-header[data-navigation-ready] .nav-submenu{position:static;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-flow:row;width:auto;max-width:none;max-height:none;margin:0 3px 5px;padding:3px;gap:0;background:transparent;border:1px solid #00d9f233;border-radius:4px;box-shadow:none;overflow:visible}
 body header.site-header[data-navigation-ready] .site-nav .nav-submenu-link{min-height:42px;padding:6px 8px;gap:9px;font-size:12px;line-height:1.4;border-radius:4px;white-space:normal;word-break:normal;overflow-wrap:anywhere;border-bottom-color:#7aafcf30}
 body header.site-header[data-navigation-ready] .site-nav .nav-submenu-link:last-child{border-bottom-color:transparent}
 body header.site-header[data-navigation-ready] .nav-submenu-icon{width:30px;height:30px;flex-basis:30px}
 body header.site-header[data-navigation-ready] .nav-mobile-footer{display:block;padding:9px 3px 2px}
 body header.site-header[data-navigation-ready] .nav-mobile-footer .language-switch{position:static;display:flex;justify-content:space-between;align-items:center;gap:2px;width:100%;margin:0 0 9px;padding:0;border:0;white-space:nowrap}
 body header.site-header[data-navigation-ready] .nav-mobile-footer .language-switch a{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:4px 6px;margin:0;font:500 10px/1.2 Arial,"Yu Gothic","Malgun Gothic",sans-serif;letter-spacing:0;border:1px solid transparent;border-radius:16px;color:#cbe7fb;background:transparent}
 body header.site-header[data-navigation-ready] .nav-mobile-footer .language-switch a[aria-current]{background:#087df8;border-color:#39b5ff;color:#fff}
 body header.site-header[data-navigation-ready] .site-nav .nav-mobile-contact{display:flex;align-items:center;justify-content:center;gap:10px;min-height:40px;margin:0;padding:8px 10px;border:0;border-radius:5px;background:linear-gradient(105deg,#00b7f2,#0963fc);color:#fff;font-size:14px;font-weight:650;line-height:1.4;white-space:normal;text-align:center}
 body header.site-header[data-navigation-ready] .nav-mobile-contact span{font-size:18px;line-height:1}
}
@media(prefers-reduced-motion:reduce){body header[data-navigation-ready] *{transition:none!important}}
