.hero-shell--legal {
  padding-block: clamp(4.5rem, 3.5rem + 4vw, 7.5rem);
}

.hero-shell__bg--legal {
  background-image: linear-gradient(135deg, rgba(10, 25, 60, 0.85), rgba(5, 8, 20, 0.95)), url('/assets/images/hero-legal-placeholder.webp');
}

.hero-shell__overlay--legal {
  background:
    radial-gradient(circle at 15% 0%, rgba(141, 210, 255, 0.32), transparent 55%),
    radial-gradient(circle at 90% 90%, rgba(59, 124, 255, 0.5), transparent 60%),
    linear-gradient(170deg, rgba(5, 8, 20, 0.96), rgba(5, 8, 20, 0.96));
}

.hero-shell__card {
  max-width: 720px;
}

.hero-shell__meta-legal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
}

.hero-shell__meta-link {
  font-size: var(--font-size-sm);
  color: var(--color-silver);
  text-decoration: underline;
  text-decoration-color: rgba(207, 212, 227, 0.6);
  text-underline-offset: 3px;
}

.hero-shell__meta-link:hover {
  color: var(--color-ice);
}

.legal-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 2fr);
  gap: var(--space-8);
}

@media (max-width: 980px) {
  .legal-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

.legal-sidebar {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.legal-toc {
  border-radius: var(--radius-lg);
  border: 1px solid rgba(207, 212, 227, 0.25);
  padding: var(--space-4);
  background:
    radial-gradient(circle at 0 0, rgba(141, 210, 255, 0.18), transparent 50%),
    linear-gradient(145deg, rgba(4, 10, 26, 0.98), rgba(3, 7, 18, 0.98));
  box-shadow: var(--shadow-soft-alt);
}

.legal-toc__title {
  font-size: var(--font-size-sm);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-silver-soft);
  margin-bottom: var(--space-3);
}

.legal-toc__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  font-size: var(--font-size-sm);
  counter-reset: legal-counter;
}

.legal-toc__list li a {
  display: inline-flex;
  align-items: baseline;
  gap: var(--space-2);
  padding: 0.25rem 0.35rem;
  border-radius: var(--radius-sm);
  color: var(--color-text-muted);
}

.legal-toc__list li a::before {
  counter-increment: legal-counter;
  content: counter(legal-counter) ".";
  font-variant-numeric: tabular-nums;
  color: var(--color-silver);
}

.legal-toc__list li a:hover {
  color: var(--color-ice);
  background: rgba(59, 124, 255, 0.12);
}

.legal-sidebar__heading {
  font-size: var(--font-size-lg);
  margin-bottom: var(--space-2);
}

.legal-sidebar__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-3);
}

.legal-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.legal-section h2 {
  font-size: var(--font-size-xl);
  margin-bottom: var(--space-3);
}

.legal-section p + p {
  margin-top: var(--space-2);
}

.legal-section--last {
  padding-bottom: var(--space-2);
}

.legal-section a {
  text-decoration: underline;
  text-decoration-color: rgba(141, 210, 255, 0.7);
  text-underline-offset: 3px;
}

.legal-section a:hover {
  text-decoration-color: rgba(141, 210, 255, 1);
}
