* { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

body {
  background: var(--site-bg, #020617);
  color: var(--site-text, #e2e8f0);
  overflow-x: hidden;
  transition: background 0.35s ease, color 0.35s ease;
}

.glass {
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.nav-scrolled {
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.06) !important;
}

.legal-prose h1 {
  font-family: 'Plus Jakarta Sans', Inter, sans-serif;
  font-size: 2rem;
  font-weight: 800;
  color: #f8fafc;
  line-height: 1.2;
}

.legal-prose h2 {
  font-family: 'Plus Jakarta Sans', Inter, sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #f1f5f9;
  margin-top: 2rem;
  margin-bottom: 0.75rem;
}

.legal-prose h3 {
  font-size: 1rem;
  font-weight: 600;
  color: #cbd5e1;
  margin-top: 1.25rem;
  margin-bottom: 0.5rem;
}

.legal-prose p,
.legal-prose li {
  color: #94a3b8;
  line-height: 1.75;
  font-size: 0.95rem;
}

.legal-prose ul {
  list-style: disc;
  padding-left: 1.25rem;
  margin: 0.75rem 0 1rem;
}

.legal-prose li { margin-bottom: 0.35rem; }

.legal-prose a {
  color: #818cf8;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.legal-prose a:hover { color: #a5b4fc; }

.legal-meta {
  color: #64748b;
  font-size: 0.875rem;
}

.legal-nav-link.active {
  background: rgba(99, 102, 241, 0.15);
  border-color: rgba(129, 140, 248, 0.35);
  color: #e0e7ff;
}

::selection {
  background: rgba(99, 102, 241, 0.35);
  color: #fff;
}

@media (min-width: 1024px) {
  .legal-sidebar { position: sticky; top: 5.5rem; }
}
