.policy { max-width:740px; margin:0 auto; padding:32px 16px 60px; line-height:1.75; color:var(--text-1); font-size:14px; }
.policy h2 { font-size:22px; margin-bottom:4px; }
.policy h3 { font-size:16px; margin-top:32px; margin-bottom:8px; padding-top:16px; border-top:1px solid var(--border-subtle); }
.policy h3:first-of-type { border-top:none; padding-top:0; }
.policy h4 { font-size:14px; margin-top:20px; margin-bottom:6px; color:var(--text-0); }
.policy-meta { color:var(--text-3); font-size:12px; margin-bottom:4px; }
.policy-see-also { font-size:13px; color:var(--text-2); margin-bottom:16px; }
.policy-see-also a { color:var(--accent); font-weight:500; }
.policy-hr { border:none; border-top:1px solid var(--border); margin:20px 0; }
.policy-toc { display:flex; flex-direction:column; gap:3px; font-size:12px; padding:12px 16px; background:var(--bg-1); border-radius:8px; border:1px solid var(--border-subtle); margin-bottom:20px; }
.policy-toc strong { font-size:11px; color:var(--text-3); text-transform:uppercase; letter-spacing:.05em; margin-bottom:4px; }
.policy-toc a { color:var(--text-2); text-decoration:none; }
.policy-toc a:hover { color:var(--accent); }
.policy-table { width:100%; border-collapse:collapse; font-size:13px; margin:12px 0; }
.policy-table th { text-align:left; padding:8px 10px; border-bottom:2px solid var(--border); font-weight:600; font-size:12px; color:var(--text-0); }
.policy-table td { padding:8px 10px; border-bottom:1px solid var(--border-subtle); vertical-align:top; }
.policy-table code { font-size:12px; padding:1px 5px; background:var(--bg-hover); border-radius:4px; }
.policy ul { padding-left:20px; }
.policy li { margin-bottom:4px; }
.policy-contact { margin-top:32px; padding:16px; background:var(--bg-1); border-radius:8px; text-align:center; font-size:13px; color:var(--text-2); }
.policy-contact a { color:var(--accent); font-weight:600; }
@media (max-width:600px) { .policy { padding:20px 12px 40px; font-size:13px; } .policy h2 { font-size:18px; } }
