.pop-privacy { max-width: 850px; overflow-wrap: anywhere; }
.pop-privacy h1 { font-size: clamp(2rem, 6vw, 3.3rem); }
.pop-privacy .policy-date { font-size: 13px; }
.pop-privacy code { font-size: 0.88em; }
.policy-languages { display: flex; flex-wrap: wrap; gap: 12px; margin-block: 28px 38px; }
.policy-languages a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 18px; border: 1px solid var(--line); border-radius: 8px; font-size: 14px; }
.policy-languages a:hover { background: var(--surface); }
.policy-summary { padding: 22px 24px; background: var(--surface); border-radius: 12px; margin-block: 20px 32px; }
.policy-summary p { margin: 0; color: var(--ink); }
.pop-privacy section { scroll-margin-top: 140px; }
.pop-privacy section + section { border-top: 1px solid var(--line); margin-top: 64px; padding-top: 38px; }
.pop-privacy ul { padding-left: 22px; }
.policy-back-top { margin-top: 38px; }
@media (max-width: 580px) {
  .pop-privacy { width: calc(100% - 36px); }
  .policy-summary { padding: 18px; }
  .pop-privacy h2 { font-size: 27px; }
}
@media print {
  .site-header, .site-footer, .skip-link, .policy-languages, .back-link, .policy-back-top { display: none; }
  .pop-privacy { width: 100%; max-width: none; padding: 0; }
  .pop-privacy h2, .pop-privacy h3 { break-after: avoid; }
}
