.legal-page-shell { width: 100%; min-height: 100vh; background: var(--color-surface); }
.legal-main { width: 100%; padding: var(--spacing-3xl) var(--spacing-xl); }
.legal-content { width: 100%; max-width: 58rem; margin-inline: auto; }
.legal-hero { padding-bottom: var(--spacing-xl); border-bottom: var(--divider-value); }
.legal-title { margin-top: var(--spacing-sm); margin-bottom: var(--spacing-sm); max-width: none; }
.legal-updated { margin: 0; color: var(--color-on-surface-secondary); }
.legal-company-card { margin: var(--spacing-xl) 0; padding: var(--spacing-lg); background: var(--color-surface-tint); border-radius: var(--border-radius-card); }
.legal-section { padding: var(--spacing-lg) 0; border-bottom: 1px solid var(--color-outline); }
.legal-section .section-title { margin-bottom: var(--spacing-sm); font-size: var(--font-size-2xl); }
.legal-section p, .legal-section li { color: var(--color-on-surface-secondary); overflow-wrap: anywhere; }
.legal-section p { margin: 0; }
.legal-section a,
.legal-section a:visited { color: var(--color-primary); text-decoration: none; }
.legal-section a:hover { color: var(--color-on-surface); text-decoration: underline; text-underline-offset: .16em; }
.legal-section a:focus,
.legal-section a:focus-visible { color: var(--color-on-surface); text-decoration: none; }
.legal-section a:active { color: var(--color-accent); }
.not-found-main { min-height: 62vh; display: grid; place-items: center; padding: var(--spacing-3xl) var(--spacing-lg); }
.not-found-card { width: min(42rem, 100%); text-align: center; display: grid; justify-items: center; gap: var(--spacing-md); }
.not-found-code { margin: 0; color: var(--color-primary); font-size: clamp(4rem, 14vw, 9rem); font-family: var(--font-family-heading); line-height: .85; }
.not-found-card .hero-title { margin: 0; max-width: none; }
@media (max-width: 767px) {
  .legal-main { padding: var(--spacing-2xl) var(--spacing-lg); }
  .legal-company-card { padding: var(--spacing-md); }
}
