
.legal-main {
  background: var(--color-surface);
  color: var(--color-on-surface);
  padding: var(--spacing-4xl) 0;
  min-height: 60vh;
}
.legal-content {
  width: min(calc(100% - 2 * var(--spacing-2xl)), 64rem);
  margin-inline: auto;
}
.legal-kicker {
  color: var(--color-secondary);
  font-size: var(--font-size-sm);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: var(--font-weight-medium);
}
.legal-main .hero-title { margin-top: var(--spacing-sm); margin-bottom: var(--spacing-lg); }
.legal-intro { color: var(--color-on-surface-secondary); font-size: var(--font-size-lg); max-width: 50rem; }
.legal-company-card {
  margin: var(--spacing-2xl) 0 var(--spacing-3xl);
  padding: var(--spacing-xl);
  border: 1px solid var(--color-outline);
  border-radius: var(--border-radius-card);
  background: var(--color-surface-tint);
  box-shadow: var(--shadow-level-1);
}
.legal-company-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--spacing-md) var(--spacing-xl); }
.legal-company-grid p { overflow-wrap:anywhere; }
.legal-section { padding: var(--spacing-xl) 0; border-top: 1px solid var(--color-outline); }
.legal-section .section-title { margin-bottom: var(--spacing-md); }
.legal-section p, .legal-section li { color: var(--color-on-surface-secondary); line-height: var(--line-height-body); }
.legal-section p + p { margin-top: var(--spacing-md); }
.legal-section ul, .legal-section ol { padding-left: 1.35rem; display:grid; gap:var(--spacing-sm); }
.legal-main a { color: var(--color-secondary); font-weight: var(--font-weight-medium); text-decoration: none; }
.legal-main a:visited { color: var(--color-secondary); }
.legal-main a:hover { color: var(--color-primary); text-decoration: underline; }
.legal-main a:focus, .legal-main a:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 3px; border-radius:4px; }
.legal-main a:active { color: var(--color-primary); }
@media (max-width: 767px) {
  .legal-main { padding: var(--spacing-3xl) 0; }
  .legal-content { width: min(calc(100% - 2 * var(--spacing-lg)), 64rem); }
  .legal-company-grid { grid-template-columns: 1fr; }
  .legal-company-card { padding: var(--spacing-lg); }
}
