.legal-main { width: 100%; padding: var(--spacing-4xl) var(--spacing-xl); background: var(--color-surface); color: var(--color-on-surface); }
.legal-shell { width: min(860px, 100%); margin: 0 auto; }
.legal-shell h1 { margin: 0 0 var(--spacing-sm); color: var(--color-on-surface); font-size: var(--font-size-4xl); font-family: var(--font-family-heading); line-height: var(--line-height-heading); }
.legal-updated { margin: 0 0 var(--spacing-2xl); color: var(--color-on-surface-secondary); font-size: var(--font-size-sm); }
.legal-intro { font-size: var(--font-size-lg); margin-bottom: var(--spacing-2xl); }
.legal-section { padding: var(--spacing-xl) 0; border-top: 1px solid color-mix(in srgb, var(--color-neutral) 35%, transparent); }
.legal-section h2 { margin: 0 0 var(--spacing-sm); font-family: var(--font-family-heading); font-size: var(--font-size-2xl); line-height: var(--line-height-heading); }
.legal-section h3 { margin: var(--spacing-lg) 0 var(--spacing-xs); font-family: var(--font-family-heading); font-size: var(--font-size-lg); }
.legal-section p, .legal-section li { color: var(--color-on-surface-secondary); line-height: 1.75; }
.legal-section p + p { margin-top: var(--spacing-sm); }
.legal-section ul, .legal-section ol { margin: var(--spacing-sm) 0 0; padding-left: 1.35rem; }
.legal-section li + li { margin-top: .45rem; }
.legal-contact { padding: var(--spacing-lg); background: var(--color-surface-tint); border-radius: var(--border-radius-lg); }
.legal-contact p { margin: .25rem 0; }
@media (max-width: 767px) { .legal-main { padding: var(--spacing-3xl) var(--spacing-md); } .legal-shell h1 { font-size: clamp(2.25rem, 11vw, 3.2rem); } }
@media (max-width: 479px) {
  .legal-shell h1 {
    font-size: clamp(1.9rem, 8.4vw, 2.3rem);
    overflow-wrap: normal;
    word-break: normal;
    hyphens: auto;
  }
}
