.privacy-page { overflow-wrap: break-word; }
.privacy-nav { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; font-size: .875rem; }
.privacy-nav a, .policy-content a:not(.support-email) { text-decoration: underline; text-underline-offset: .25em; }
.policy-date { font-size: .875rem; color: var(--ink-soft); }
.policy-toc { display: flex; flex-wrap: wrap; gap: .75rem; margin-block: 2rem 1rem; padding-block: 1.5rem; border-block: 1px solid var(--line); }
.policy-toc a { border: 1px solid var(--line); border-radius: 2rem; padding: .6rem 1rem; font-size: .875rem; }
.policy-toc a:hover { background: var(--cream); }
.policy-content { max-width: 52rem; margin-inline: auto; }
.policy-content section { padding-block: 1.75rem; scroll-margin-top: 2rem; }
.policy-content h2 { font-size: clamp(1.1rem, 2.5vw, 1.4rem); }
.policy-content h3 { margin-block: 1.75rem .5rem; font-size: 1.15rem; }
.policy-content p, .policy-content li { color: var(--ink-soft); line-height: 2.1; }
.policy-content strong { color: var(--ink); }
.policy-content ul, .policy-content ol { padding-inline-start: 1.5rem; }
.policy-content li { padding-inline-start: .35rem; margin-bottom: .85rem; }
.policy-content a { overflow-wrap: anywhere; }
.policy-content .privacy-choices { padding: clamp(1.25rem, 4vw, 2.5rem); border: 1px solid var(--line); border-radius: 1.5rem; background: var(--cream); margin-block: 1.5rem; }
.privacy-choices .support-label { color: var(--red); font-size: .8rem; }
.privacy-choices .support-email { font-size: 1rem; color: white; }
.privacy-note { font-size: .8rem; }
.policy-english { border-top: 1px solid var(--line); padding-block: 2.5rem; scroll-margin-top: 2rem; }
.policy-english h2, .policy-english h3 { font-family: var(--body); }
.policy-english p { line-height: 1.9; }
.skip-link { position: absolute; top: -10rem; right: 1rem; padding: .75rem 1rem; background: var(--ink); color: white; z-index: 100; }
.skip-link:focus { top: .5rem; }
@media (max-width: 640px) {
  .privacy-page .support-header { gap: 1rem; }
  .privacy-nav { gap: .75rem; font-size: .8rem; }
  .policy-content section { padding-block: 1.25rem; }
  .policy-toc { gap: .5rem; }
  .policy-toc a { font-size: .8rem; padding-inline: .8rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media print {
  .privacy-nav, .policy-toc, .skip-link, .support-footer { display: none; }
  .privacy-page { background: white; color: black; }
  .privacy-page .support-main { width: 100%; padding: 0; }
  .policy-content { max-width: none; }
}
