.legal-page {
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  background: var(--color-surface);
}
.legal-content {
  width: min(100% - 2rem, 860px);
  margin: 0 auto;
  padding: 9.5rem 0 var(--spacing-4xl);
  color: var(--color-on-surface);
  font-family: var(--font-family-body);
}
.legal-content h1 {
  color: var(--color-primary);
  font-family: var(--font-family-heading);
  font-size: clamp(2.2rem, 6vw, 3.5rem);
  line-height: 1.1;
  margin-bottom: var(--spacing-md);
}
.legal-content h2 {
  color: var(--color-primary);
  font-family: var(--font-family-heading);
  font-size: clamp(1.35rem, 3vw, 1.8rem);
  line-height: 1.25;
  margin: 2rem 0 .75rem;
}
.legal-content h3 {
  color: var(--color-primary);
  font-size: 1.05rem;
  margin: 1.25rem 0 .5rem;
}
.legal-content p, .legal-content li, .legal-content address {
  color: var(--color-on-surface-secondary);
  font-size: .98rem;
  line-height: 1.8;
}
.legal-content p + p { margin-top: .9rem; }
.legal-content ul, .legal-content ol { padding-left: 1.35rem; margin: .75rem 0 1rem; }
.legal-content li + li { margin-top: .45rem; }
.legal-content a { color: var(--color-primary); text-decoration: underline; text-underline-offset: 3px; }
.legal-updated { margin-bottom: 1.5rem; font-size: .9rem !important; }
.legal-contact-card {
  margin-top: 1rem;
  padding: var(--spacing-lg);
  border: 1px solid var(--color-outline);
  border-radius: var(--border-radius-card);
  background: var(--color-surface-tint);
}
.legal-contact-card p + p { margin-top: .35rem; }
@media (max-width: 767px) {
  .legal-content { width: min(100% - 2rem, 860px); padding-top: 7rem; }
}
@media (max-width: 360px) {
  .legal-content { width: calc(100% - 1.5rem); }
}
