.legal-page { max-width: 920px; margin: 12px auto 50px; }
.legal-heading { margin-bottom: 30px; }
.legal-heading h1 { margin: 8px 0 12px; font-size: clamp(1.85rem, 4vw, 2.7rem); letter-spacing: -.04em; }
.legal-lead { color: #52687b; line-height: 1.65; max-width: 750px; }
.legal-heading > .muted { font-size: .8rem; }
.legal-navigation { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 23px; }
.legal-navigation a { padding: 9px 15px; border: 1px solid #dce3ea; border-radius: 8px; background: white; color: #344f66; font-size: .84rem; }
.legal-navigation a[aria-current=page] { border-color: #183850; background: #183850; color: white; }
.legal-content { padding: clamp(20px, 4vw, 40px); border: 1px solid #dce3ea; border-radius: 12px; background: white; color: #314b5f; font-size: .94rem; line-height: 1.8; }
.legal-content h2 { margin: 32px 0 12px; color: #163149; font-size: 1.27rem; line-height: 1.4; letter-spacing: -.02em; }
.legal-content h2:first-child { margin-top: 0; }
.legal-content p { margin: 0 0 14px; }
.legal-content a, .legal-contact a { text-decoration: underline; text-underline-offset: 3px; }
.legal-content ul { padding-left: 24px; }
.legal-content li { margin: 8px 0; }
.legal-table-wrap { overflow-x: auto; margin: 18px 0 24px; }
.legal-content table { width: 100%; border-collapse: collapse; font-size: .83rem; line-height: 1.6; }
.legal-content caption { text-align: left; font-weight: 700; margin-bottom: 10px; }
.legal-content th { background: #f0f4f7; text-align: left; }
.legal-content th, .legal-content td { padding: 12px; vertical-align: top; border: 1px solid #e0e6eb; min-width: 155px; }
.legal-definitions { display: grid; grid-template-columns: minmax(160px, .65fr) 1.35fr; gap: 11px 20px; margin: 15px 0 25px; }
.legal-definitions dt { font-weight: 700; }
.legal-definitions dd { margin: 0; overflow-wrap: anywhere; }
.legal-preparation { border-left: 4px solid #e5ab43; background: #fff7e6; padding: 14px; }
.legal-contact { margin-top: 20px; padding: 22px; border: 1px solid #dce3ea; border-radius: 12px; background: #f4f7fa; color: #425d71; font-size: .83rem; line-height: 1.65; }
.legal-contact p { margin: 8px 0 0; }
@media (max-width: 560px) { .legal-definitions { grid-template-columns: 1fr; gap: 3px; } .legal-definitions dd { margin-bottom: 13px; } .legal-navigation a { flex: 1 1 40%; text-align: center; } }
@media print { .topbar, .site-footer, .legal-navigation { display: none; } .legal-page { max-width: none; } .legal-content { border: 0; padding: 0; } .legal-content h2 { break-after: avoid; } .legal-content tr { break-inside: avoid; } .legal-contact { border: 0; } }
