
.legal-page-shell { min-height: 100vh; background: var(--color-surface); color: var(--color-on-surface); font-family: var(--font-family-body); }
.legal-main { width: 100%; }
.legal-hero { width: 100%; padding: var(--spacing-4xl) var(--spacing-lg) var(--spacing-2xl); background: var(--color-surface-tint); border-bottom: 1px solid var(--color-outline); }
.legal-container { width: min(100% - 2rem, var(--content-max-width)); margin-inline: auto; }
.legal-kicker { margin-bottom: var(--spacing-sm); color: var(--color-primary); font-weight: var(--font-weight-medium); text-transform: uppercase; letter-spacing: .08em; font-size: var(--font-size-xs); }
.legal-updated { margin-top: var(--spacing-sm); color: var(--color-on-surface-secondary); }
.legal-content { padding-block: var(--spacing-3xl); }
.legal-section { padding-block: var(--spacing-xl); border-bottom: 1px solid var(--color-outline); }
.legal-section:last-child { border-bottom: 0; }
.legal-section .section-title { margin-bottom: var(--spacing-md); }
.legal-section .section-content, .legal-list { max-width: 72ch; }
.legal-list { margin: var(--spacing-md) 0 0; padding-left: 1.25rem; }
.legal-list li { margin-bottom: var(--spacing-sm); }
.site-legal-details-upper { margin-top: var(--spacing-xl); border-top-color: var(--color-outline); color: var(--color-on-surface); }
.legal-page-shell a { color: inherit; text-decoration: none; }
.legal-page-shell a:visited { color: inherit; }
.legal-page-shell a:hover { color: var(--color-primary); }
.legal-page-shell a:focus, .legal-page-shell a:focus-visible { color: var(--color-primary); }
.legal-page-shell a:active { color: var(--color-secondary); }
@media (max-width: 767px) {
  .legal-hero { padding: var(--spacing-3xl) var(--spacing-md) var(--spacing-xl); }
  .legal-container { width: min(100% - 1.5rem, var(--content-max-width)); }
  .legal-content { padding-block: var(--spacing-xl); }
  .legal-section { padding-block: var(--spacing-lg); }
}
