/* Reusable information/policy page — prose styling on the approved theme. */
.policy-main{max-width:840px;margin:0 auto;padding:130px 24px 90px;min-height:60vh}
.policy-main h1{font-size:clamp(26px,4vw,42px);line-height:1.1;margin:14px 0 10px;letter-spacing:-.01em}
.policy-meta{color:var(--muted);font-size:12px;letter-spacing:.06em;margin-bottom:34px}
.policy-body{font-size:15px;line-height:1.9;color:var(--text)}
.policy-body h2{font-size:22px;margin:38px 0 12px;line-height:1.25}
.policy-body h3{font-size:17px;margin:28px 0 10px;line-height:1.3}
.policy-body p{margin:0 0 16px}
.policy-body ul,.policy-body ol{margin:0 0 18px 22px}
.policy-body li{margin-bottom:7px}
.policy-body strong{font-weight:600}
.policy-body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.policy-body table{width:100%;border-collapse:collapse;font-size:13px;margin:18px 0 26px;display:block;overflow-x:auto}
.policy-body th,.policy-body td{border:1px solid var(--line);padding:9px 12px;text-align:left;white-space:nowrap}
.policy-body th{background:var(--bg);font-weight:600}
.policy-body img{max-width:100%;height:auto}
.policy-body blockquote{border-left:2px solid var(--accent);margin:18px 0;padding:6px 0 6px 18px;color:var(--muted)}
.policy-missing{color:var(--muted)}
@media (max-width:640px){.policy-main{padding:110px 18px 70px}}
.info-dialog.wide{width:min(880px,94vw)}
.info-dialog .policy-body{font-size:13px;line-height:1.8}
.info-dialog .policy-body h2{font-size:18px;margin:24px 0 8px}
.info-dialog .policy-body h3{font-size:15px;margin:18px 0 6px}
.policy-body table{border:1px solid var(--line);margin:14px 0 24px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.policy-body thead th{background:var(--surface);font-weight:600;letter-spacing:.04em}
.policy-body th,.policy-body td{padding:10px 14px}
.policy-body caption{text-align:left;font-weight:600;margin-bottom:8px}
@media(max-width:640px){.info-dialog.wide{width:94vw}.policy-body table{font-size:12px}.policy-body th,.policy-body td{padding:8px 10px}}
