
.legal-page-shell { min-height: 100vh; display: flex; flex-direction: column; background: var(--color-surface); color: var(--color-on-surface); }
.legal-main { flex: 1; padding: calc(var(--spacing-4xl) + 70px) var(--spacing-xl) var(--spacing-4xl); }
.legal-container { width: min(100%, var(--content-max-width)); margin: 0 auto; }
.legal-hero { padding-bottom: var(--spacing-xl); border-bottom: 1px solid var(--color-border); margin-bottom: var(--spacing-2xl); }
.legal-kicker { color: var(--color-secondary); font-weight: 600; text-transform: uppercase; letter-spacing: .08em; font-size: var(--font-size-sm); }
.legal-title { margin-top: var(--spacing-xs); font-family: var(--font-family-heading); font-size: var(--font-size-3xl); line-height: var(--line-height-heading); overflow-wrap: anywhere; }
.legal-updated { margin-top: var(--spacing-sm); color: var(--color-on-surface-secondary); }
.legal-company-block { padding: var(--spacing-xl); border-radius: var(--border-radius-card); background: var(--color-surface-elevated); border: 1px solid var(--color-border); }
.legal-company-block h2 { font-family: var(--font-family-heading); font-size: var(--font-size-xl); margin-bottom: var(--spacing-md); }
.legal-company-block dl { display: grid; grid-template-columns: minmax(160px, .45fr) 1fr; gap: var(--spacing-sm) var(--spacing-lg); }
.legal-company-block dt { font-weight: 600; }
.legal-company-block dd { margin: 0; overflow-wrap: anywhere; }
.legal-content { display: grid; gap: var(--spacing-2xl); }
.legal-section { padding-bottom: var(--spacing-xl); border-bottom: 1px solid var(--color-border); }
.legal-section:last-child { border-bottom: 0; }
.legal-section h2 { font-family: var(--font-family-heading); font-size: var(--font-size-2xl); margin-bottom: var(--spacing-md); }
.legal-section h3 { font-family: var(--font-family-heading); font-size: var(--font-size-xl); margin: var(--spacing-lg) 0 var(--spacing-sm); }
.legal-section p, .legal-section li { line-height: 1.75; overflow-wrap: anywhere; }
.legal-section p + p { margin-top: var(--spacing-md); }
.legal-section ul, .legal-section ol { padding-left: 1.25rem; margin: var(--spacing-md) 0 0; display: grid; gap: var(--spacing-sm); }
.legal-section a, .legal-section a:visited { color: var(--color-primary); text-decoration: none; font-weight: 600; }
.legal-section a:hover { color: var(--color-secondary); }
@media (max-width: 767px) {
  .legal-main { padding: calc(var(--spacing-3xl) + 64px) var(--spacing-md) var(--spacing-2xl); }
  .legal-company-block { padding: var(--spacing-md); }
  .legal-company-block dl { grid-template-columns: 1fr; gap: var(--spacing-xs); }
  .legal-company-block dd { margin-bottom: var(--spacing-sm); }
}
