.legal-shell {
  width: min(100%, 50rem);
  margin: 0 auto;
  display: grid;
  gap: 1.25rem;
}

.legal-heading .page-heading__title {
  max-width: 18ch;
}

.legal-card {
  display: grid;
  gap: 1.5rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--rule);
  background: var(--panel);
  box-shadow: var(--surface-shadow);
}

.legal-section {
  display: grid;
  gap: 0.75rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(var(--hiisi-accent-rgb), 0.14);
}

.legal-section:first-child {
  padding-top: 0;
  border-top: 0;
}

.legal-section h2 {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--text-title);
  line-height: var(--leading-heading);
}

.legal-section p {
  margin: 0;
  max-width: var(--measure-reading);
  color: var(--muted);
  line-height: var(--leading-body);
}

.legal-card a {
  color: var(--accent);
  text-decoration-color: rgba(var(--hiisi-accent-rgb), 0.35);
}

.legal-list {
  margin: 0;
  padding-left: 1.25rem;
  display: grid;
  gap: 0.5rem;
  color: var(--muted);
}

.legal-list li {
  margin: 0;
  max-width: var(--measure-reading);
  line-height: var(--leading-body);
}

.legal-section strong,
.legal-list strong {
  color: var(--ink);
}
