.site-nav { margin: 30px -24px 0 -40px; display: grid; gap: 4px; font-family: var(--font-body); }
.site-nav-heading { display: flex; align-items: center; }
.site-nav-heading a { display: flex; align-items: center; flex: 1; padding: .6rem 24px .6rem 40px; font-size: .9rem; font-weight: var(--weight-semibold); }
.site-nav-heading svg { width: 1.25rem; height: 1.25rem; margin-right: 1rem; flex-shrink: 0; fill: currentColor; opacity: .8; }
.site-nav a { color: var(--color-muted); text-decoration: none; }
.site-nav a:hover, .site-nav a[aria-current], .site-nav a.active { color: var(--color-nav-active); }
.site-nav-heading:has(a[aria-current]), .site-nav-heading:hover { background: var(--color-nav-hover); }
.site-nav-sub { margin: .4rem 24px .8rem 49px; padding-left: 17px; border-left: 1px solid var(--color-sidebar-border); }
.site-nav-sub a { display: block; padding: .28rem 0; font-size: .75rem; line-height: 1.35; }
#home-sections a { font-size: .7rem; letter-spacing: .055em; text-transform: uppercase; }
.site-nav-sub a.active { font-weight: var(--weight-semibold); }
@media screen and (min-width: 1650px) {
  .site-nav { margin-left: -56px; margin-right: -44px; }
  .site-nav-heading a { padding-left: 56px; }
  .site-nav-sub { margin-left: 65px; }
}
@media screen and (max-width: 849px) {
  .site-nav-sub a { min-height: 44px; display: flex; align-items: center; }
}
