/* Navigation */
nav {
    background: rgba(20,20,20,0.8);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(156,163,175,0.16);
    padding: 12px 0;
    position: sticky;
    top: 0;
    z-index: 100;
}
nav .nav-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: 1fr auto 1fr; /* left logo, centered menu, right actions */
    align-items: center;
}
.nav-logo {
    font-size: 20px;
    font-weight: 800;
    color: var(--text);
    text-decoration: none;
}
.nav-menu {
    display: flex;
    gap: 32px;
    list-style: none;
    margin: 0;
    padding: 0;
    align-items: center;
    justify-self: center; /* center the menu between logo and actions */
}
.nav-menu a {
    color: var(--muted);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: color 0.2s;
}
.nav-menu a:hover,
.nav-menu a.active { color: var(--text); }

/* Match Pricing nav sizing on small screens */
@media (max-width: 768px) {
  .nav-menu { gap: 16px; }
}

/* Normalize nav vertical rhythm to match Pricing's shorter height regardless of page line-height */
#site-nav nav { line-height: 1.2; }
#site-nav .nav-logo { display: inline-flex; align-items: center; line-height: 1; }
#site-nav .nav-logo span { line-height: 1; display: inline-block; }
#site-nav .nav-menu a { line-height: 1.2; padding: 0; }

/* Responsive hamburger menu */
#site-nav .nav-container { position: relative; }
#site-nav .nav-toggle { display: none; }
#site-nav .nav-toggle {
  appearance: none;
  background: transparent;
  border: 1px solid rgba(156,163,175,0.25);
  color: var(--text);
  border-radius: 8px;
  padding: 8px;
  display: none;
  align-items: center;
  justify-content: center;
  gap: 3px;
}
#site-nav .nav-toggle:focus-visible { outline: 0; box-shadow: 0 0 0 3px rgba(46,164,255,0.45); }

@media (max-width: 768px) {
  #site-nav .nav-toggle { display: inline-flex; }
  #site-nav .nav-menu {
    position: absolute;
    top: 100%;
    right: 20px;
    left: 20px;
    display: none;
    flex-direction: column;
    gap: 10px;
    padding: 12px;
    margin-top: 10px;
    background: rgba(20,20,20,0.95);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(156,163,175,0.16);
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(0,0,0,0.35);
    z-index: 101;
  }
  #site-nav .nav-menu.open { display: flex; }
  #site-nav .nav-menu a { padding: 10px 8px; }
}


/* SVG-based nav toggle icon sizing */
#site-nav .nav-toggle-icon {
    width: 20px;
    height: 20px;
    display: block;
}

/* Right-side actions (desktop) */
.nav-actions { justify-self: end; display: flex; align-items: center; gap: 12px; }
.nav-button { font-size: 14px; font-weight: 600; text-decoration: none; }

/* Subtle outline/ghost button to match site aesthetic */
.btn-outline {
  color: var(--muted);
  border: 1px solid rgba(156,163,175,0.25);
  padding: 8px 12px;
  border-radius: 8px;
  background: transparent;
  transition: color .2s, border-color .2s, background-color .2s, box-shadow .2s;
}
.btn-outline:hover { color: var(--text); border-color: rgba(156,163,175,0.45); background: rgba(255,255,255,0.03); }
.btn-outline:focus-visible { outline: 0; box-shadow: 0 0 0 3px rgba(46,164,255,0.35); }

/* Show login only once depending on viewport */
.login-mobile { display: none; }

@media (max-width: 768px) {
  .nav-actions { display: none; }
  .login-mobile { display: list-item; }
}
