/* Shared public policies and footer navigation. */
.policy-links { display:flex; flex-wrap:wrap; gap:12px 22px; font-size:13px; }
.policy-links a { color:var(--ink-dim); text-decoration:none; }
.policy-links a:hover { color:var(--brand-ink); text-decoration:underline; }
.skip-link { position:absolute; left:16px; top:-80px; z-index:100; padding:12px; background:var(--surface); }
.skip-link:focus { top:8px; }
a:focus-visible { outline:2px solid var(--brand); outline-offset:4px; }
.policy-main { max-width:var(--maxw); margin:0 auto; padding:64px 28px 88px; }
.policy-heading { max-width:760px; padding-bottom:38px; }
.policy-kicker { font:12px var(--font-mono); color:var(--brand-ink); text-transform:uppercase; letter-spacing:.1em; }
.policy-heading h1 { font-size:clamp(34px,5vw,56px); line-height:1.12; letter-spacing:-.04em; margin:18px 0; }
.policy-intro { font-size:18px; color:var(--ink-dim); line-height:1.6; }
.policy-date { font-size:12px; color:var(--ink-dim); margin-top:22px; }
.policy-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:56px; border-top:1px solid var(--rule); padding-top:32px; }
.policy-toc { align-self:start; position:sticky; top:90px; font-size:13px; }
.policy-toc p { font:11px var(--font-mono); text-transform:uppercase; letter-spacing:.08em; color:var(--ink-dim); }
.policy-toc ol { padding-left:18px; }
.policy-toc li { margin:10px 0; padding-left:4px; }
.policy-toc a { color:var(--ink-dim); text-decoration:none; }
.policy-toc a:hover { color:var(--brand-ink); }
.policy-copy { max-width:720px; font-size:16px; line-height:1.8; overflow-wrap:anywhere; }
.policy-copy section { margin:0 0 36px; scroll-margin-top:85px; }
.policy-copy h2 { font-size:22px; line-height:1.35; letter-spacing:-.02em; margin:0 0 16px; }
.policy-copy p { margin:0 0 16px; }
.policy-copy li { margin:0 0 12px; }
.policy-copy a { color:var(--brand-ink); text-underline-offset:3px; }
.policy-copy code { font-size:13px; background:var(--surface-2); padding:2px 5px; border-radius:3px; }
@media(max-width:720px) { .policy-main { padding:36px 20px 56px; } .policy-layout { grid-template-columns:1fr; gap:24px; } .policy-toc { position:static; } .policy-toc ol { columns:2; column-gap:28px; } .policy-copy { font-size:15px; } .policy-heading { padding-bottom:24px; } .foot-inner { align-items:flex-start; } .policy-links { flex-basis:100%; } }
@media print { .site-header,.site-footer,.policy-toc { display:none; } .policy-main { padding:0; } .policy-layout { display:block; } .policy-copy { max-width:none; } }
