/* Legal pages use the same dark shell as the public product pages. */
.public-page.legal-page {
  min-height: 100vh;
  color: var(--page-ink);
  background: var(--page-paper);
}

.legal-hero {
  color: var(--page-white);
  background:
    radial-gradient(circle at 84% 18%, rgba(69, 105, 212, .28), transparent 35%),
    radial-gradient(circle at 10% 82%, rgba(29, 191, 159, .12), transparent 33%),
    var(--page-ink);
}

.legal-hero-inner,
.legal-shell {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

.legal-hero-inner { padding: 112px 0 86px; }

.legal-kicker {
  margin: 0 0 18px;
  color: var(--page-mint);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .18em;
}

.legal-hero h1 {
  max-width: 860px;
  margin: 0;
  color: var(--page-white);
  font-family: "Arial Narrow", "Avenir Next Condensed", Inter, ui-sans-serif, sans-serif;
  font-size: clamp(3.1rem, 7vw, 6.5rem);
  line-height: .95;
  letter-spacing: -.06em;
}

.legal-hero-intro {
  max-width: 780px;
  margin: 26px 0 0;
  color: rgba(255, 255, 255, .76);
  font-size: 1.06rem;
}

.legal-updated {
  margin: 20px 0 0;
  color: rgba(255, 255, 255, .52);
  font-size: .78rem;
}

.legal-body { padding: 84px 0 112px; background: var(--page-paper); }

.legal-document {
  display: grid;
  grid-template-columns: minmax(180px, .3fr) minmax(0, .7fr);
  gap: 56px;
  align-items: start;
}

.legal-document-aside {
  position: sticky;
  top: 104px;
  padding: 22px 20px;
  border-top: 3px solid var(--page-coral);
  color: var(--page-soft);
  background: var(--page-paper-2);
}

.legal-document-aside p {
  margin: 0;
  font-size: .82rem;
  line-height: 1.55;
}

.legal-sections {
  min-width: 0;
  border-top: 1px solid var(--page-line);
}

.legal-section {
  padding: 25px 0 28px;
  border-bottom: 1px solid var(--page-line);
}

.legal-section h2 {
  margin: 0 0 10px;
  color: var(--page-ink);
  font-size: 1.22rem;
  line-height: 1.25;
}

.legal-section p {
  margin: 0;
  color: var(--page-soft);
  font-size: .96rem;
  line-height: 1.72;
  white-space: pre-wrap;
}

.legal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

.legal-actions .btn { min-height: 44px; }

@media (max-width: 760px) {
  .legal-hero-inner,
  .legal-shell { width: min(100% - 32px, 1180px); }
  .legal-hero-inner { padding: 86px 0 70px; }
  .legal-body { padding: 66px 0 82px; }
  .legal-document { grid-template-columns: 1fr; gap: 28px; }
  .legal-document-aside { position: static; }
  .legal-hero h1 { font-size: clamp(3rem, 15vw, 5rem); }
  .legal-hero-intro { font-size: 1rem; }
}
