
.legal-main { width: 100%; background: var(--color-surface); color: var(--color-on-surface); }
.legal-hero { padding: var(--spacing-3xl) var(--spacing-2xl) var(--spacing-xl); background: var(--color-primary); color: var(--color-on-primary); }
.legal-hero-inner, .legal-content { width: 100%; max-width: var(--content-max-width); margin-inline: auto; }
.legal-hero .hero-title { color: var(--color-on-primary); }
.legal-updated { margin-top: var(--spacing-sm); opacity: .75; }
.legal-content { padding: var(--spacing-3xl) var(--spacing-2xl); }
.legal-company-block { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--spacing-sm) var(--spacing-xl); padding: var(--spacing-xl); margin-bottom: var(--spacing-2xl); background: var(--color-surface-elevated); border: 1px solid var(--color-outline); border-radius: var(--border-radius-card); }
.legal-company-block h2 { grid-column: 1 / -1; }
.legal-company-block p { overflow-wrap: anywhere; }
.legal-sections { max-width: 72ch; }
.legal-sections section { padding-block: var(--spacing-lg); border-bottom: 1px solid var(--color-outline); }
.legal-sections section:last-child { border-bottom: 0; }
.legal-sections h2 { margin-bottom: var(--spacing-sm); }
.legal-sections h3 { margin: var(--spacing-md) 0 var(--spacing-xs); font-family: var(--font-family-heading); font-size: var(--font-size-lg); }
.legal-sections p + p, .legal-sections ul + p, .legal-sections p + ul { margin-top: var(--spacing-sm); }
.legal-sections ul { padding-left: 1.2rem; }
.legal-main a, .legal-main a:visited, .legal-main a:hover, .legal-main a:focus, .legal-main a:active { color: var(--color-secondary); text-decoration: none; overflow-wrap: anywhere; }
.legal-main a:hover { color: var(--color-accent-on-light); text-decoration: none; }
.legal-main a:focus-visible { outline: 2px solid var(--color-accent-on-light); outline-offset: 3px; }
@media (max-width: 767px) {
  .legal-hero { padding: var(--spacing-2xl) var(--spacing-lg) var(--spacing-lg); }
  .legal-content { padding: var(--spacing-2xl) var(--spacing-lg); }
  .legal-company-block { grid-template-columns: 1fr; padding: var(--spacing-lg); }
  .legal-company-block h2 { grid-column: auto; }
}
