.policy-page { width: min(820px, calc(100% - 40px)); margin: 65px auto; }
.policy-shell { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 45px; }
.policy-toplink { font-size: 12px; color: var(--muted); text-decoration: underline; }
.policy-shell h1 { font-size: clamp(36px, 6vw, 52px); margin: 24px 0; }
.policy-shell h2 { font-size: 24px; margin: 36px 0 14px; }
.policy-shell h3 { font-size: 19px; margin: 25px 0 12px; }
.policy-shell p, .policy-shell ul, .policy-shell ol { font-size: 15px; color: #565e51; margin: 16px 0; }
.policy-shell li { padding-block: 4px; }
.policy-shell a:not(.policy-toplink) { text-decoration: underline; overflow-wrap: anywhere; }
.site-footer { padding: 30px 20px; border-top: 1px solid var(--line); font-size: 12px; color: var(--muted); }
.footer-shell { max-width: 1180px; margin: auto; }
.footer-links { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 15px; }
@media (max-width: 600px) { .policy-page { margin: 28px auto; } .policy-shell { padding: 24px; } .policy-shell h2 { font-size: 22px; } }
