.legal { max-width: 760px; margin: 0 auto; padding: 32px 16px 64px; line-height: 1.6; font-size: 16px; color: var(--ink); }
.legal header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 28px; flex-wrap: wrap; }
.legal h1 { font-size: 30px; line-height: 1.2; margin: 0 0 6px; letter-spacing: -.01em; }
.legal h2 { font-size: 19px; margin: 32px 0 8px; }
.legal h3 { font-size: 16px; margin: 20px 0 4px; }
.legal p, .legal li { margin: 0 0 10px; }
.legal ul, .legal ol { padding-left: 22px; }
.legal table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 8px 0 16px; }
.legal th, .legal td { text-align: left; vertical-align: top; padding: 8px 10px; border-bottom: 1px solid var(--line); }
.legal th { background: var(--bg); }
.legal .fill { background: #FFF4D6; padding: 0 4px; border-radius: 4px; }
.legal .note { background: var(--accent-soft); border: 1px solid #7FC4CF; border-radius: 12px; padding: 12px 16px; font-size: 14px; }
.legal .muted { color: var(--muted); font-size: 14px; }
.legal .table-wrap { overflow-x: auto; }
@media print { .legal .note, .legal .print-hide { display: none; } .legal { padding: 0; } }
