
.legal-page-shell { min-height: 100vh; display: flex; flex-direction: column; background: var(--color-surface); color: var(--color-on-surface); }
.legal-main { flex: 1; width: 100%; background: var(--color-surface); }
.legal-hero { padding: clamp(3rem, 8vw, 6rem) var(--spacing-xl) clamp(2rem, 5vw, 3.5rem); background: linear-gradient(135deg, var(--color-surface-elevated), var(--color-surface)); border-bottom: 1px solid var(--color-border); }
.legal-container { width: min(100% - 2rem, 980px); margin-inline: auto; }
.legal-hero .section-title { margin: 0; color: var(--color-primary); }
.legal-effective { margin-top: .75rem; color: var(--color-on-surface-secondary); }
.legal-layout { padding-block: clamp(2rem, 6vw, 5rem); }
.legal-company-card { padding: clamp(1.25rem, 3vw, 2rem); margin-bottom: clamp(2rem, 5vw, 3rem); background: var(--color-surface-elevated); border: 1px solid var(--color-border); border-left: 4px solid var(--color-primary); border-radius: var(--border-radius-card); box-shadow: var(--shadow-level-1); }
.legal-company-card .section-subtitle { margin: 0 0 var(--spacing-lg); color: var(--color-primary); }
.legal-article { min-width: 0; }
.legal-article > .section-content:first-child { font-size: var(--font-size-lg); }
.legal-section { padding-block: var(--spacing-xl); border-bottom: 1px solid color-mix(in srgb, var(--color-border) 55%, transparent); }
.legal-section:last-child { border-bottom: 0; }
.legal-section .section-subtitle { margin: 0 0 var(--spacing-md); color: var(--color-on-surface); }
.legal-section .section-content { margin: 0 0 var(--spacing-md); overflow-wrap: anywhere; }
.legal-section .section-content:last-child { margin-bottom: 0; }
.legal-main a, .legal-main a:visited { color: var(--color-primary); text-decoration: none; }
.legal-main a:hover, .legal-main a:active { color: color-mix(in srgb, var(--color-primary) 78%, black); text-decoration: none; }
@media (max-width: 640px) {
  .legal-hero { padding-inline: var(--spacing-md); }
  .legal-container { width: min(100% - 1.5rem, 980px); }
  .legal-layout { padding-block: 2rem; }
}
