.legal-main {
  min-height: 65vh;
  padding-block: clamp(2rem, 5vw, 4rem);
  background: var(--color-surface);
}

.legal-wrap {
  width: min(100% - 2rem, 920px);
  margin-inline: auto;
}

.legal-heading {
  margin-bottom: 1.5rem;
  text-align: center;
}

.legal-heading h1 {
  margin-bottom: 0.5rem;
  color: var(--color-secondary);
  font-size: clamp(1.8rem, 4vw, 2.6rem);
}

.legal-heading p,
.legal-meta {
  color: var(--color-text-muted);
}

.legal-document {
  padding: clamp(1rem, 3vw, 2rem);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-white);
  box-shadow: var(--shadow-sm);
}

.legal-document[hidden] {
  display: none !important;
}

.legal-document h2 {
  margin: 1.6rem 0 0.5rem;
  color: var(--color-secondary);
  font-size: 1.2rem;
}

.legal-document h2:first-child {
  margin-top: 0;
}

.legal-document p,
.legal-document li {
  color: var(--color-text-muted);
  line-height: 1.7;
  overflow-wrap: anywhere;
}

.legal-document ul {
  padding-left: 1.25rem;
}

.legal-document a {
  color: var(--color-secondary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.legal-pending {
  padding: 0.85rem 1rem;
  border-left: 3px solid var(--color-accent);
  background: var(--color-surface);
  color: var(--color-text);
}

.legal-source-note {
  margin-top: 1.5rem;
  font-size: var(--font-size-sm);
}

@media (max-width: 479px) {
  .legal-wrap {
    width: min(100% - 1.25rem, 920px);
  }

  .legal-document {
    padding: 1rem;
  }
}
