/* Reading layout; shared typography and colors come from site.css. */
.legal-page .wrap { width: min(100% - 40px, 760px); padding: 40px 0 72px; }
.legal-page .back { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; text-decoration: none; color: var(--ink); }
.legal-page h1 { margin: 32px 0 16px; font-size: clamp(28px,4vw,38px); line-height: 1.5; letter-spacing: -.035em; }
.legal-page .upd { font-size: 12px; color: var(--sub); }
.legal-controls { display: flex; align-items: center; justify-content: space-between; gap: 18px; border-block: 1px solid var(--line); margin-top: 28px; padding-block: 16px; }
.legal-controls label { font-size: 13px; color: var(--sub); }
.legal-controls select { min-height: 44px; padding: 8px 32px 8px 12px; border: 1px solid var(--line); border-radius: 4px; color: var(--ink); background: #fff; }
.legal-page .lang { margin-top: 32px; }
.legal-page h2 { font-size: 18px; }
.legal-page h3 { margin: 28px 0 10px; font-size: 15px; }
.legal-page p { color: var(--sub); font-size: 14px; line-height: 1.9; overflow-wrap: anywhere; }
.legal-page b { color: var(--ink); }
.legal-page .lang > h2 + p { margin-top: 20px; }
@media(max-width:600px) { .legal-page .wrap { padding-top: 20px; } }
