
.site-header.sticky{
  position:fixed;
  inset:0 0 auto;
  z-index:1200;
}
.header-inner{
  height:var(--header-height);
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.brand,.brand .logo{
  display:flex;
  align-items:center;
  min-width:0;
}
.brand{
  flex:0 0 auto;
}
.brand .custom-logo{
  display:block;
  height:auto;
  object-fit:contain;
  border-radius:0;
}
.logo-text{
  color:var(--shell-heading);
  font-weight:950;
  letter-spacing:.02em;
}
.site-nav{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:clamp(6px,.9vw,14px);
}
.site-nav .menu{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  margin:0;
  padding:0;
  list-style:none;
  background:transparent;
}
.site-nav .menu > li{
  position:relative;
  flex:0 0 auto;
}
.site-nav .menu > li > a, .site-nav .menu a{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 clamp(9px,.72vw,13px);
  font-size:1rem;
  line-height:1.1;
  white-space:nowrap;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease;
}
.site-nav .sub-menu{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  min-width:210px;
  margin:0;
  padding:8px;
  list-style:none;
  opacity:0;
  visibility:hidden;
  transform:translateY(6px);
  color:var(--header-link);
  border:1px solid var(--shell-border);
  border-radius:16px;
  box-shadow:0 22px 50px rgba(0,0,0,.38);
  transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
}
.site-nav .menu > li:hover > .sub-menu, .site-nav .menu > li:focus-within > .sub-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.site-nav .sub-menu a{
  justify-content:flex-start;
  min-height:38px;
  padding:9px 11px;
  white-space:normal;
}
.header-download-link.btn-download{
  flex:0 0 auto;
  gap:10px;
  min-width:max-content;
  padding:0 clamp(15px,1.35vw,23px);
  white-space:nowrap;
}
.header-download-link .menu-item-icon{
  color:var(--header-download-icon-color,currentColor);
}
.hamburger{
  display:none;
  width:46px;
  height:46px;
  align-items:center;
  justify-content:center;
  margin-left:auto;
  border:1px solid var(--shell-border);
  border-radius:14px;
  cursor:pointer;
}
#mobile-drawer.drawer{
  position:fixed;
  inset:0;
  z-index:1190;
  pointer-events:none;
}
#mobile-drawer .drawer-backdrop{
  position:fixed;
  inset:var(--header-height) 0 0;
  opacity:0;
  z-index:1;
  background:var(--shell-overlay-bg);
  backdrop-filter:none;
  transition:opacity .18s ease;
}
#mobile-drawer .drawer-panel{
  position:fixed;
  z-index:2;
  top:var(--header-height);
  left:0;
  right:0;
  max-height:calc(100dvh - var(--header-height));
  overflow:auto;
  border-bottom:1px solid var(--shell-border);
  border-radius:0 0 22px 22px;
  box-shadow:0 24px 70px rgba(0,0,0,.42);
  transform:translateY(-12px);
  opacity:0;
  visibility:hidden;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.drawer-open #mobile-drawer{
  pointer-events:auto;
}
.drawer-open #mobile-drawer .drawer-backdrop{
  opacity:1;
}
.drawer-open #mobile-drawer .drawer-panel{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.site-nav .menu a .menu-item-label, .drawer-menu a .menu-item-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:0;
  line-height:1.1;
}
.site-nav .menu a .menu-item-icon, .drawer-menu a .menu-item-icon, .header-download-link .menu-item-icon, .drawer-download-link .menu-item-icon{
  width:1.2em;
  height:1.2em;
  line-height:0;
}
.site-nav .menu a .menu-item-icon, .drawer-menu a .menu-item-icon{
  color:var(--menu-icon-color,currentColor);
}
.site-nav .menu a .menu-item-text, .drawer-menu a .menu-item-text, .header-download-link .menu-item-text, .drawer-download-link .menu-item-text{
  line-height:1.1;
}
.drawer-head{
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 clamp(18px,4.5vw,26px);
  border-bottom:1px solid var(--shell-border-soft);
}
.drawer-title{
  font-weight:900;
}
.drawer-close{
  width:42px;
  height:42px;
  border:0;
  color:var(--shell-heading);
  background:transparent;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.drawer-menu,.drawer-nav ul{
  margin:0;
  padding:0;
  list-style:none;
}
.drawer-menu a,.drawer-nav a{
  min-height:50px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px clamp(18px,4.5vw,26px);
  color:var(--header-link);
  border-bottom:1px solid var(--shell-border-soft);
  font-weight:820;
}
.drawer-menu a:hover, .drawer-menu :is(li.current-menu-item>a,li.current_page_item>a,li.current-menu-ancestor>a){
  color:var(--shell-heading);
  background:var(--shell-active-bg);
}
.drawer-menu .sub-menu{
  display:none;
  padding-left:14px;
  background:var(--shell-overlay-soft);
}
.drawer-menu .is-open > .sub-menu{
  display:block;
}
.submenu-toggle{
  position:absolute;
  right:16px;
  margin-top:-45px;
  width:38px;
  height:38px;
  border:0;
  color:var(--shell-heading);
  background:transparent;
}
.submenu-toggle__icon::before{
  content:"+";
  font-weight:900;
}
.is-open > .submenu-toggle .submenu-toggle__icon::before{
  content:"−";
}
.drawer-download-link.btn-download{
  margin:16px clamp(18px,4.5vw,26px) 20px;
}
@media (min-width:1024px){
  .site-nav .menu > li > a, .site-nav .menu a{
    gap:clamp(8px,.62vw,11px);
    padding-inline:clamp(7px,.62vw,13px);
    font-size:1rem;
  }
  .header-download-link.btn-download{
    padding-inline:clamp(13px,1vw,23px);
  }
}
@media (min-width:768px) and (max-width:1023px){
  .site-nav{
    display:none;
  }
  .hamburger{
    display:inline-flex;
  }
  .site-header.sticky > .container.header-inner{
    width:100%;
    max-width:100%;
    padding:0 clamp(16px,3vw,24px);
  }
  .site-header.sticky .brand{
    max-width:calc(100% - 68px);
  }
  .site-header.sticky .brand .custom-logo{
    width:min(220px,calc(100vw - 100px));
    height:auto;
    max-height:50px;
  }
}
@media (max-width:767px){
  .site-nav{
    display:none;
  }
  .hamburger{
    display:inline-flex;
    width:44px;
    height:44px;
  }
  .site-header.sticky > .container.header-inner{
    width:100%;
    max-width:100%;
    padding:0 clamp(14px,4vw,22px);
  }
  .site-header.sticky .brand{
    max-width:calc(100% - 64px);
  }
  .site-header.sticky .brand .custom-logo{
    width:min(190px,calc(100vw - 92px));
    height:auto;
    max-height:46px;
  }
}
.header-inner--menu-near_download .site-nav .menu,.header-inner--menu-right .site-nav .menu{
  justify-content:flex-end;
}
.header-inner--menu-center .site-nav .menu{
  justify-content:center;
}
.header-inner--download-off .site-nav{
  justify-content:flex-end;
}
.header-inner--download-off.header-inner--menu-center .site-nav{
  justify-content:center;
}
.header-inner--download-off.header-inner--menu-center .site-nav .menu{
  flex:0 1 auto;
}
.brand .custom-logo{
  width:min(172px,18vw);
  max-height:48px;
}
.site-nav .menu > li > a, .site-nav .menu a{
  min-height:40px;
}
@media (max-width:1023px){
  .brand .custom-logo{
    width:min(150px,44vw);
  }
}
.brand .logo{
  text-decoration:none;
  line-height:1;
}
.brand .logo-media{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  line-height:0;
}
.brand .logo--square .logo-brand{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
}
.brand .logo--wide{
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
}
.brand .logo--wide .custom-logo{
  height:auto;
  border-radius:0;
}
@media (max-width:1023px){
  .brand .logo{
    min-height:48px;
  }
  .brand .logo--square .custom-logo{
    width:40px;
    height:40px;
    max-width:40px;
    max-height:40px;
  }
  .brand .logo--square .logo-brand{
    font-size:1rem;
  }
  .brand .logo--wide .custom-logo{
    max-width:min(190px,44vw);
    max-height:48px;
  }
}
@media (max-width:420px){
  .brand .logo--square .logo-brand{
    display:none;
  }
}
.site-header.sticky{
  height:var(--header-height);
  color:var(--dk-layout-title,#15192a);
}
.brand .logo--square .custom-logo{
  max-width:44px;
}
.brand .logo--square .logo-brand{
  font-size:1.08rem;
  font-weight:950;
  letter-spacing:.02em;
}
.brand .logo--wide .custom-logo{
  max-width:min(240px,20vw);
  object-fit:contain;
}
.site-nav .menu > li > a, .site-nav .menu a{
  border:1px solid transparent;
  border-radius:999px;
  font-weight:820;
}
.site-nav .sub-menu, #mobile-drawer .drawer-panel{
  color:var(--dk-layout-title,#15192a);
  box-shadow:0 22px 50px rgba(21,25,42,.14);
}
.header-download-link.btn-download{
  padding-inline:clamp(17px,1.4vw,26px);
  box-shadow:0 14px 30px rgba(10,128,101,.24);
}
@media (max-width:1023px){
  .brand .logo--wide .custom-logo{
    max-width:min(198px,44vw);
  }
}
@media (max-width:420px){
  .brand .logo--square .logo-brand{
    display:none;
  }
}
.site-header.sticky{
  border-top:0;
}
.header-inner{
  gap:clamp(14px,1.8vw,28px);
}
.brand .logo{
  display:inline-flex;
  align-items:center;
  gap:12px;
  border-radius:999px;
}
.brand .logo--square .logo-media{
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:12px;
}
.brand .logo--square .custom-logo{
  width:42px;
  height:42px;
  max-height:none;
  object-fit:cover;
  border-radius:12px;
}
.brand .logo--wide .custom-logo{
  width:min(238px,20vw);
  max-height:46px;
}
.logo-brand{
  font-weight:950;
  letter-spacing:.02em;
  font-size:1.08rem;
  text-transform:uppercase;
}
.site-nav .menu{
  justify-content:flex-end;
  gap:clamp(5px,.8vw,12px);
}
.site-nav .menu > li > a,.site-nav .menu a{
  min-height:42px;
  padding:0 clamp(11px,.95vw,17px);
  font-weight:850;
}
.site-nav .menu > li > a:hover, .site-nav .menu > li.current-menu-item > a, .site-nav .menu > li.current_page_item > a, .site-nav .menu > li.current-menu-ancestor > a{
  box-shadow:none;
}
.header-download-link.btn-download{
  min-height:44px;
  border-radius:999px;
}
#mobile-drawer .drawer-panel{
  color:#dce7ff;
}
@media (max-width:767px){
  .logo-brand{
    font-size:.92rem;
  }
  .brand .logo{
    padding:5px 9px;
  }
}
.site-header.sticky{
  background:rgba(7,11,22,.88);
  border-bottom:1px solid rgba(255,255,255,.11);
  box-shadow:0 18px 42px rgba(0,0,0,.26);
  backdrop-filter:blur(16px);
}
.brand .logo{
  min-height:48px;
  padding:5px 14px 5px 6px;
  color:#edf4ff;
}
.brand .logo--square .logo-media, .brand .logo--square .custom-logo{
  width:42px;
  height:42px;
  border-radius:12px;
}
.site-nav .menu > li > a,.site-nav .menu a{
  color:#dce7ff;
  border:1px solid transparent;
  border-radius:999px;
}
.site-nav .menu > li > a:hover, .site-nav .menu > li.current-menu-item > a, .site-nav .menu > li.current_page_item > a, .site-nav .menu > li.current-menu-ancestor > a{
  color:#ffffff;
}
.site-nav .sub-menu,#mobile-drawer .drawer-panel{
  color:#edf4ff;
  background:#0d1428;
  border-color:rgba(255,255,255,.12);
}
.drawer-title{
  color:#fff;
}
.hamburger{
  color:#fff;
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.16);
}
.header-spacer{
  height:var(--header-height);
}
.brand .logo, .brand .logo--square, .site-header.sticky .brand .logo{
  padding:0;
  gap:10px;
  min-height:46px;
  color:#edf4ff;
}
.brand .logo-media, .brand .logo--square .logo-media{
  width:auto;
  height:auto;
  overflow:visible;
  border-radius:0;
}
.brand .logo--square .custom-logo, .site-header.sticky .brand .logo--square .custom-logo{
  width:44px;
  height:44px;
  max-width:44px;
  max-height:44px;
  object-fit:contain;
  border-radius:0;
}
.brand .logo--wide .custom-logo, .site-header.sticky .brand .logo--wide .custom-logo{
  width:auto;
  max-width:min(238px,20vw);
  height:auto;
  max-height:54px;
  object-fit:contain;
  border-radius:0;
}
.logo-brand{
  color:#edf4ff;
  opacity:.96;
}
.site-nav .menu a .menu-item-icon, .drawer-menu a .menu-item-icon, .header-download-link .menu-item-icon, .drawer-download-link .menu-item-icon{
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
}
@media (max-width:420px){
  .brand .logo--square .logo-brand{
    display:none;
  }
}
.brand .logo, .brand .logo--square, .site-header.sticky .brand .logo{
  background:transparent;
  border:0;
  box-shadow:none;
}
.brand .logo-media, .brand .logo--square .logo-media, .brand .logo--wide .logo-media{
  overflow:visible;
  background:transparent;
  border:0;
  box-shadow:none;
}
.brand .custom-logo, .brand .logo--square .custom-logo, .brand .logo--wide .custom-logo{
  background:transparent;
  border:0;
  box-shadow:none;
  object-fit:contain;
}
.site-nav .menu > li > a, .site-nav .menu a{
  background:transparent;
  border-color:transparent;
}
.site-nav .menu > li > a:hover, .site-nav .menu > li.current-menu-item > a, .site-nav .menu > li.current_page_item > a, .site-nav .menu > li.current-menu-ancestor > a{
  background:linear-gradient(135deg,rgba(50,230,255,.16),rgba(141,92,255,.20));
  border-color:rgba(255,255,255,.16);
}
