* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 400 1rem/1.75 var(--sans); }
a { color: var(--ink); text-underline-offset: .2em; }
a:focus-visible { outline: 3px solid var(--focus); outline-offset: 5px; }
.skip { position: absolute; left: 1rem; top: -5rem; padding: .6rem 1rem; background: var(--paper); }
.skip:focus { top: 1rem; }
.policy-header, .policy-footer { max-width: 1200px; margin: auto; padding: 2rem clamp(1.25rem, 5vw, 3rem); display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.policy-header a, .policy-footer a { display: inline-flex; align-items: center; min-height: 44px; }
.policy-header img { display: block; max-width: 100%; height: auto; }
.policy-page { max-width: 820px; padding: 2rem 1.5rem 4rem; margin: auto; }
.policy-page nav { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; margin-bottom: 3rem; border-bottom: 1px solid var(--line); padding-bottom: 1rem; font-size: .875rem; }
.policy-page nav a { padding: .6rem 0; }
.policy-page nav [aria-current] { font-weight: 600; }
h1 { font: 400 clamp(2.25rem, 7vw, 3.5rem)/1.16 var(--serif); letter-spacing: -.03em; margin: 0 0 1.5rem; }
h2 { font: 600 1.25rem/1.4 var(--sans); margin: 2.5rem 0 1rem; }
p, ul { margin: 0 0 1.25rem; overflow-wrap: anywhere; }
li { margin-bottom: .75rem; }
strong { font-weight: 600; }
.policy-version { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .875rem; }
.policy-footer { border-top: 1px solid var(--line); flex-wrap: wrap; font-size: .875rem; }
@media (max-width: 480px) { .policy-header { padding: 1rem 1.25rem; font-size: .8rem; gap: 1rem; } .policy-header img { width: 115px; } .policy-page { padding: 1.5rem 1.25rem 3rem; } }
@media print { .policy-header, nav, .policy-footer, .skip { display: none !important; } .policy-page { max-width: none; padding: 0; } h2 { break-after: avoid; } p, li { orphans: 3; widows: 3; } }
