/* A little breathing room: shared site navigation and native disclosures. */
body .site-header.hierarchical-header {
  z-index:60;
  overflow:visible;
}

.hierarchical-nav .nav-group {
  position:relative;
  flex-shrink:0;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
}

.hierarchical-nav .nav-group > summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:44px;
  padding:10px 12px;
  border:1px solid transparent;
  border-radius:6px;
  color:#e5dce9;
  font:600 13px/1.4 "Oxanium",system-ui,sans-serif;
  list-style:none;
  cursor:pointer;
  white-space:nowrap;
}

.hierarchical-nav .nav-group > summary::-webkit-details-marker { display:none; }
.hierarchical-nav .nav-group > summary::marker { content:""; }
.hierarchical-nav .nav-group > summary::after {
  content:"";
  width:6px;
  height:6px;
  flex-shrink:0;
  margin-top:-3px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);
}
.hierarchical-nav .nav-group[open] > summary::after {
  margin-top:3px;
  transform:rotate(225deg);
}
.hierarchical-nav .nav-group > summary:hover,
.hierarchical-nav .nav-group[open] > summary {
  color:#fff7e8;
  background:#f5b8e010;
  border-color:#f5b8e03b;
}
.hierarchical-nav .nav-current > summary { color:#f5b8e0; }

body .site-header .hierarchical-nav a[href] {
  min-height:44px;
  display:flex;
  align-items:center;
  border-radius:6px;
  font-size:13px;
  line-height:1.4;
  text-decoration:none;
}
body .site-header .hierarchical-nav > a[href] {
  padding:10px 12px;
  white-space:nowrap;
}
body .site-header .hierarchical-nav .nav-submenu a[href] {
  padding:11px 14px;
  color:#e5dce9;
  white-space:normal;
  box-shadow:none;
}
body .site-header .hierarchical-nav .nav-submenu a[href]:hover,
body .site-header .hierarchical-nav .nav-submenu a[aria-current="page"] {
  color:#fff7e8;
  background:#f5b8e012;
  border-color:#f5b8e03b;
}
body .site-header .hierarchical-nav .nav-submenu a[aria-current="page"] {
  color:#f5b8e0;
}
.hierarchical-nav .nav-group > summary:focus-visible,
body .site-header .hierarchical-nav a[href]:focus-visible {
  outline:3px solid #80e5e8;
  outline-offset:2px;
  box-shadow:none;
}
body .site-header .hierarchical-nav > .nav-cta {
  margin:0;
  padding-inline:17px;
  background:#f5b8e0;
  border:1px solid #f5b8e0;
  color:#160d19;
  font-weight:700;
  box-shadow:none;
}
body .site-header .hierarchical-nav > .nav-cta:hover {
  color:#160d19;
  background:#ffd4ef;
  border-color:#ffd4ef;
}

/* Keep the browser's closed-disclosure behavior even with older site styles. */
.hierarchical-nav .nav-group:not([open]) > .nav-submenu { display:none; }

@media(min-width:1101px) {
  body .site-header.hierarchical-header {
    flex-wrap:nowrap;
    justify-content:space-between;
    gap:20px;
  }
  body .site-header .site-nav.hierarchical-nav {
    flex-wrap:nowrap;
    align-items:center;
    justify-content:flex-end;
    gap:4px;
    overflow:visible;
  }
  .hierarchical-nav .nav-group > summary { padding-inline:10px; }
  body .site-header .hierarchical-nav > a[href] { padding-inline:10px; }
  .hierarchical-nav .nav-submenu {
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    z-index:1;
    width:280px;
    padding:8px;
    border:1px solid #f5b8e044;
    border-radius:10px;
    background:#15101f;
    box-shadow:0 18px 44px #0008;
  }
}

@media(max-width:1100px) {
  body .site-header .site-nav.hierarchical-nav { gap:4px; }
  .hierarchical-nav .nav-group { width:100%; }
  .hierarchical-nav .nav-group > summary {
    min-height:48px;
    padding:13px 16px;
    font-size:15px;
  }
  .hierarchical-nav .nav-submenu {
    position:static;
    width:auto;
    margin:3px 0 8px 16px;
    padding:4px 0 4px 8px;
    border-left:1px solid #f5b8e055;
  }
  body .site-header .hierarchical-nav .nav-submenu a[href] {
    padding:12px 14px;
    font-size:14px;
  }
  body .site-header .hierarchical-nav > a[href] {
    padding:13px 16px;
    font-size:15px;
  }
  body .site-header .hierarchical-nav > .nav-cta {
    justify-content:center;
    margin-top:8px;
  }
}
