.legal-header { padding: 20px 0; border-bottom: 1px solid #e5e7eb; }
.legal-header .container { display: flex; align-items: center; justify-content: space-between; }
.legal-header a { display: inline-flex; align-items: center; gap: 10px; }
.legal-page main { min-height: 60vh; }
.legal-page .section { padding: 48px 0; }
.legal-page .section-title { font-size: clamp(2rem, 5vw, 3rem); }
.legal-page .policy-content, .legal-page .security-grid { max-width: 900px; margin: auto; }
.legal-page .security-grid { grid-template-columns: 1fr; }
.legal-navigation { display: flex; flex-wrap: wrap; gap: 16px; list-style: none; padding: 0; margin-bottom: 24px; }
.legal-page a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
@media print { .legal-header, .footer, .skip-link { display: none; } .legal-page .section { padding: 0; } .policy-card, .security-card { break-inside: avoid; box-shadow: none; } }

.legal-document { max-width: 820px; margin: 0 auto; overflow-wrap: anywhere; }
.legal-document h1 { font-size: clamp(2rem, 5vw, 3rem); line-height: 1.2; margin-bottom: 24px; }
.legal-document h2 { font-size: clamp(1.25rem, 3vw, 1.6rem); margin: 36px 0 16px; line-height: 1.4; }
.legal-document p { margin: 0 0 16px; line-height: 1.8; white-space: normal; }
@media print { .legal-document { max-width: none; } .legal-document h2 { break-after: avoid; } }
