.privacy-policy .legal-section { scroll-margin-top: 100px; }
.privacy-policy .legal-section + .legal-section { margin-top: 36px; }
.privacy-policy .legal-content h3 {
  color: var(--text);
  font-size: 1rem;
  line-height: 1.6;
  margin: 24px 0 10px;
}
.privacy-policy .legal-content h3[id] { scroll-margin-top: 100px; }
.privacy-policy .legal-content h4 {
  color: var(--text);
  font-size: .95rem;
  line-height: 1.6;
  margin: 20px 0 8px;
}
.privacy-policy .privacy-guide-steps { padding-left: 24px; margin: 20px 0; }
.privacy-policy .privacy-guide-steps li { padding-left: 4px; }
.privacy-policy .privacy-guide-steps h3 { margin: 16px 0 8px; }
.privacy-policy .legal-content a:not(.legal-icp a) {
  color: var(--primary-dark);
  text-decoration: underline;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}
.privacy-policy .legal-content a:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 3px;
}
.privacy-policy .privacy-list {
  margin: 16px 0 20px;
  border-top: 1px solid var(--border);
  font-size: .95rem;
  line-height: 1.8;
}
.privacy-policy .privacy-list > div {
  display: grid;
  grid-template-columns: minmax(130px, 1fr) minmax(0, 3fr);
  gap: 24px;
  padding: 16px 0;
  border-bottom: 1px solid var(--border);
}
.privacy-policy .privacy-list dt { color: var(--text); font-weight: 600; overflow-wrap: anywhere; }
.privacy-policy .privacy-list dd { color: var(--text-secondary); margin: 0; }
.privacy-policy .legal-content code { overflow-wrap: anywhere; font-size: .9em; }
.privacy-policy .legal-toc-dropdown { max-height: 65vh; overflow-y: auto; }
@media (max-width: 767px) {
  .privacy-policy .legal-toc-mobile { top: 0; }
  .privacy-policy .legal-section { scroll-margin-top: 88px; }
  .privacy-policy .privacy-list > div { grid-template-columns: 1fr; gap: 4px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media print {
  .privacy-policy .legal-nav, .privacy-policy .legal-toc-mobile, .privacy-policy .legal-back { display: none; }
  .privacy-policy { max-width: none; padding: 0; }
  .privacy-policy .legal-layout { display: block; }
  .privacy-policy .legal-content h2, .privacy-policy .legal-content h3 { break-after: avoid; }
}
