
html, body { margin: 0; min-height: 100%; background: var(--color-surface); }
body { display: flex; min-height: 100vh; flex-direction: column; font-family: var(--font-family-body); overflow-x: hidden; }
body > div, .legal-page-shell { width: 100%; }
.legal-main { flex: 1 0 auto; width: 100%; background: var(--color-surface); }
.legal-hero { padding: clamp(7rem, 11vw, 10rem) 0 var(--spacing-2xl); color: var(--color-on-primary); background: linear-gradient(135deg, var(--color-primary), #071723); }
.legal-container { width: min(calc(100% - 2rem), 76rem); margin-inline: auto; }
.legal-hero .section-title { color: var(--color-on-primary); margin-bottom: var(--spacing-sm); }
.legal-hero .section-content { color: rgba(255,255,255,.82); }
.legal-company-card { width: min(calc(100% - 2rem), 76rem); margin: var(--spacing-2xl) auto; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--color-outline); border-radius: var(--border-radius-card); background: var(--color-surface-elevated); box-shadow: var(--shadow-level-1); }
.legal-company-card h2 { margin-bottom: var(--spacing-lg); }
.legal-company-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--spacing-sm) var(--spacing-xl); }
.legal-company-grid p, .footer-company-grid p { overflow-wrap: anywhere; }
.legal-article { padding: 0 0 var(--spacing-3xl); }
.legal-content { max-width: 70rem; }
.legal-content h2 { margin-top: var(--spacing-2xl); margin-bottom: var(--spacing-sm); color: var(--color-primary); }
.legal-content p, .legal-content li { color: var(--color-on-surface-secondary); line-height: 1.75; }
.legal-content p + p { margin-top: var(--spacing-md); }
.legal-lead { padding: var(--spacing-lg); border-left: 4px solid var(--color-accent); background: var(--color-surface-elevated); border-radius: 0 var(--border-radius-md) var(--border-radius-md) 0; }
.legal-not-found { min-height: 35vh; display: grid; align-content: center; justify-items: start; gap: var(--spacing-lg); }
.legal-main a, .legal-main a:visited { color: var(--color-primary); text-decoration: none; font-weight: 600; }
.legal-main a:hover { color: var(--color-accent); }
.legal-main a:focus-visible { outline: 3px solid color-mix(in srgb, var(--color-accent) 60%, transparent); outline-offset: 3px; border-radius: 3px; }
@media (max-width: 767px) { .legal-company-grid { grid-template-columns: 1fr; } .legal-container, .legal-company-card { width: min(calc(100% - 1.5rem), 76rem); } }
