.logo-row {
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.logo-row .logo-lockup {
  width:34px;
  height:34px;
  border-radius:8px;
  object-fit:cover;
  box-shadow:0 10px 28px rgba(49,242,139,0.16);
}
.site-logo-word {
  font-family:var(--font-display);
  font-size:1.12rem;
  font-weight:700;
  letter-spacing:0;
  color:var(--off-white);
}
.nav-links.site-menu-desktop {
  gap:8px;
}
.nav-menu-group {
  position:relative;
  display:flex;
  align-items:center;
}
.nav-menu-group::after {
  content:"";
  position:absolute;
  top:100%;
  left:0;
  width:100%;
  height:7px;
}
.nav-menu-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:38px;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:var(--grey-green);
  font:600 0.9rem var(--font-display);
  padding:0 11px;
  cursor:pointer;
  transition:color 0.18s, border-color 0.18s, background 0.18s;
}
.nav-menu-button:hover,
.nav-menu-button:focus-visible,
.nav-menu-group:hover .nav-menu-button,
.nav-menu-group:focus-within .nav-menu-button,
.nav-menu-group.is-open .nav-menu-button,
.nav-menu-group.is-active .nav-menu-button {
  color:var(--off-white);
  border-color:var(--line);
  background:rgba(18,60,42,0.48);
  outline:none;
}
.nav-menu-button svg {
  width:13px;
  height:13px;
  stroke:currentColor;
  color:var(--aurora);
  transition:transform 0.18s;
}
.nav-menu-group:hover .nav-menu-button svg,
.nav-menu-group:focus-within .nav-menu-button svg,
.nav-menu-group.is-open .nav-menu-button svg {
  transform:rotate(180deg);
}
.nav-dropdown {
  position:absolute;
  top:calc(100% + 7px);
  left:50%;
  z-index:80;
  width:min(720px, calc(100vw - 48px));
  border:1px solid rgba(49,242,139,0.36);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(12,28,20,0.98), rgba(7,19,13,0.98));
  box-shadow:0 24px 70px rgba(0,0,0,0.36);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%, 0);
  transition:opacity 0.16s, transform 0.16s, visibility 0.16s;
}
.nav-menu-group:hover .nav-dropdown,
.nav-menu-group:focus-within .nav-dropdown,
.nav-menu-group.is-open .nav-dropdown {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%, 0);
}
.nav-dropdown-inner {
  padding:18px;
}
.nav-dropdown-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border-bottom:1px solid var(--line);
  padding-bottom:13px;
  margin-bottom:12px;
}
.nav-dropdown-title {
  color:var(--off-white);
  font:700 0.94rem var(--font-display);
}
.nav-dropdown-note {
  color:var(--grey-green);
  font-size:0.82rem;
}
.nav-dropdown-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}
.nav-dropdown-grid.is-compact {
  grid-template-columns:1fr;
}
.nav-dropdown a.nav-dropdown-link {
  display:grid;
  grid-template-columns:28px 1fr;
  gap:10px;
  border:1px solid transparent;
  border-radius:11px;
  background:rgba(15,40,27,0.48);
  padding:12px;
  color:var(--grey-green);
  transition:background 0.18s, border-color 0.18s, transform 0.18s;
}
.nav-dropdown a.nav-dropdown-link:hover,
.nav-dropdown a.nav-dropdown-link:focus-visible,
.nav-dropdown a.nav-dropdown-link.is-current {
  border-color:rgba(49,242,139,0.34);
  background:rgba(18,60,42,0.68);
  color:var(--grey-green);
  outline:none;
  transform:translateY(-1px);
}
.nav-dropdown-icon {
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border:1px solid rgba(49,242,139,0.32);
  border-radius:8px;
  color:var(--aurora);
  font:700 0.76rem var(--font-mono);
}
.nav-dropdown-copy strong {
  display:block;
  color:var(--off-white);
  font:700 0.9rem var(--font-display);
  margin-bottom:3px;
}
.nav-dropdown-copy span {
  display:block;
  color:var(--grey-green);
  font-size:0.82rem;
  line-height:1.38;
}
.mobile-menu-section {
  border-bottom:1px solid var(--line);
  padding:0;
}
.mobile-menu-section-toggle {
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:48px;
  border:0;
  background:transparent;
  color:var(--aurora);
  font:500 0.74rem var(--font-mono);
  letter-spacing:0.06em;
  text-transform:uppercase;
  padding:0;
  cursor:pointer;
  text-align:left;
}
.mobile-menu-section-toggle svg {
  width:16px;
  height:16px;
  stroke:currentColor;
  transition:transform 0.18s;
}
.mobile-menu-section.is-open .mobile-menu-section-toggle svg {
  transform:rotate(180deg);
}
.mobile-menu-section-links {
  display:none;
  padding-bottom:8px;
}
.mobile-menu-section.is-open .mobile-menu-section-links {
  display:block;
}
.mobile-menu .mobile-menu-section a {
  border-bottom:0;
  padding:9px 0;
}
.mobile-menu .mobile-menu-section a.active {
  color:var(--off-white);
}
@media (max-width:1120px) {
  .nav-dropdown {
    left:auto;
    right:0;
    transform:translate(0, 0);
  }
  .nav-menu-group:hover .nav-dropdown,
  .nav-menu-group:focus-within .nav-dropdown,
  .nav-menu-group.is-open .nav-dropdown {
    transform:translate(0, 0);
  }
}
@media (max-width:1024px) {
  .site-logo-word {
    font-size:1.04rem;
  }
  .mobile-menu.open {
    max-height:calc(100vh - 68px);
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .mobile-menu-inner {
    padding-bottom:28px;
  }
}
@media (max-width:380px) {
  .logo-row .logo-lockup {
    width:30px;
    height:30px;
  }
  .site-logo-word {
    font-size:1rem;
  }
}
