:root{
  --sum-icon-w:12px;
  --sum-gap:0px;
  
  --outer-pad: clamp(30px, 5vw, 60px);
  --menu-size:12px;
  --logo-h:22px;
  --line-h:18px;
  --pad-top:45px;
  --pad-btm:25px;
  --gap-menu: 32px; 
  --divider:#e6e6e6;
  --text:#111;
  --rowY:14px;
  --dd-head-gap:6px;
  --dd-item-gap:0px;
  --dd-item-line:1.32;
  --dd-overlap:20px;
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0}
html { overflow-y: scroll; }

body { 
  font:400 12px/1.55 "Helvetica Neue", Helvetica, Arial, sans-serif; 
  color:var(--text);
  overflow-x: hidden; 
}

a{color:inherit; text-decoration:none}

.site-header{ position:sticky; top:0; background:#fff; z-index:2000; transform: translateZ(0); }

.hdr{
  width:100%;
  padding:var(--pad-top) var(--outer-pad) var(--pad-btm);
  display:flex; 
  justify-content:center;
  align-items:center;
  position:relative;
  z-index:2000; overflow:visible;
}

.nav{
  display:flex; 
  align-items:center; 
  white-space:nowrap; 
  font-size:var(--menu-size);
  gap: var(--gap-menu) !important; 
}

.brand{ 
  display:flex; 
  justify-content:center; 
  align-items:center; 
  position:relative; 
}

.nav .nav-item{
  position:relative;
  display:inline-flex; align-items:center;
}

.link {
  display: inline-flex;
  align-items: center;
  height: var(--line-h);
  text-decoration: none;
  position: relative;
  z-index: 2100;
  transition: none !important;
}
.link::after { display: none; }
.link .label { font-weight: 400; }

.dropdown{
  position:absolute;
  top: calc(100% - var(--dd-overlap));
  left: 0;
  width: auto;
  min-width: 100%;
  padding: calc(var(--dd-overlap) + 30px) 0 30px;
  background: transparent;
  z-index: 2050;
  display:none; 
}

.dropdown::before {
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  left: -5000px; right: -5000px;
  background: #fff;
  border-bottom: 1px solid var(--divider);
  z-index: -1;
}

.nav-item.has-dd > .dropdown{ display:none; }
.nav-item.has-dd:hover > .dropdown,
.nav-item.has-dd:focus-within > .dropdown { display:block; }

.dropdown .guide { width: auto; display: block; }
.dropdown .inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: 6px;
}

.dropdown ul{ margin:0; padding:0; list-style:none; }
.dropdown li{ margin:0; padding:0; display:block; }

.dd-link {
  display: inline-block;
  text-decoration: none;
  position: relative;
  transition: none !important;
  padding: 2px 0;
  white-space: nowrap;
}
.dd-link::after { display: none; }
.dd-link .label { font-weight: 400; }
.dd-link::before{
  content:""; position:absolute; left:-12px; right:-12px; top:-2px; bottom:-2px; pointer-events:auto;
}

.mobile-trigger{
  display:none; 
  position:absolute; 
  left: 50%;
  transform: translateX(-50%);
  top: 50%; 
  margin-top: 10px; 
  background:transparent; border:0; padding:0; cursor:pointer; -webkit-appearance:none;
  z-index:2002;
  width: 22px; 
  height: 16px;
}

.icon-min{ position:relative; width:100%; height:100%; display:block; }
.icon-min span{
  position:absolute; left:0; right:0; height:1px; 
  background:#111; 
  transition: transform .44s ease, top .44s ease, bottom .44s ease;
}
.icon-min .l1{ top:2px; }
.icon-min .l2{ bottom:2px; }

.mobile-trigger.open .icon-min .l1{ top:7.5px; transform:rotate(45deg); }
.mobile-trigger.open .icon-min .l2{ bottom:7.5px; transform:rotate(-45deg); }

.mobile-trigger:hover .icon-min span {
  background: #999 !important;
}

.menu-overlay{
  position:fixed; inset:0; background:#fff; display:none;
  z-index:1900; 
  padding-top: 120px; 
  padding-left: var(--outer-pad);
  padding-right: var(--outer-pad);
  padding-bottom: 40px;
  overflow-y:auto; 
  overscroll-behavior:contain;
}

.menu-grid{
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}

.lvl1 { list-style:none; padding:0; margin:0; }
.lvl1 > li { margin-bottom: 30px; }

.sum, .mobile-link {
  display: block;
  font-size: 12px;
  color: var(--text);
  cursor: pointer;
  position: relative;
  transition: none !important;
}

.sum:hover, .mobile-link:hover {
  color: #999 !important;
}

details { margin:0; padding:0; }
details > summary { list-style:none; cursor:pointer; }
summary::-webkit-details-marker { display:none; }

.sum {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.sum::before,
.sum::after {
  content:""; 
  position:absolute; 
  top:50%; 
  transform:translateY(-50%);
  right:0; 
  pointer-events:none; 
  background:currentColor;
  transition:transform .36s ease, opacity .36s ease;
}

.sum::before{ width:12px; height:1px; }

.sum::after{ width:1px; height:12px; right:5.5px; }

details > summary.open .sum::after {
  transform: translateY(-50%) scaleY(0.05);
  opacity: 0;
}

details[open] > summary:not(.open) .sum::after {
  transform: translateY(-50%) scaleY(1);
  opacity: 1;
}

.lvl2 {
  list-style: none;
  padding: 0;
  margin: 0; 
  overflow: hidden; 
}
.lvl2 > li:first-child {
  padding-top: 20px;
}

.lvl2 li { padding-bottom: 16px; }
.lvl2 li:last-child { padding-bottom: 0; }

.lvl2 li a {
  display: block;
  font-size: 12px;
  color: var(--text);
}
.lvl2 li a:hover { color: #999 !important; }

@media (max-width:1024px){
  .nav { display:none; }
  .mobile-trigger{ display:block; }
  
  .site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
  }
  
  body {

    padding-top: var(--headerH, 85px);
  }

  .hdr{ 
    justify-content:center; 
    padding-top: 30px; 

    padding-bottom: 45px;
    display:block; 
    text-align:center;
  } 
  
  .brand{ display:block; margin:0 auto; }
  .brand img{ display:inline-block; }
}

*,*::before,*::after{-webkit-tap-highlight-color:transparent}

.menu-overlay[aria-hidden="true"]{ display:none; }
.menu-overlay[aria-hidden="false"]{ display:block; }

.menu-overlay .lvl2{
  margin-left: 12px;
}

.menu-overlay .lvl3{
  margin-left: 22px;
}

.menu-overlay .lvl2 li a,
.menu-overlay .lvl3 li a{
  display: block;
}