.privacy-content {
  background: #fafafa;
  padding: 56px 24px 80px;
}

.privacy-document {
  max-width: 780px;
  margin-inline: auto;
  font-size: 16px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}

.privacy-document .privacy-date {
  margin-top: 0;
  color: #525252;
  font-size: 14px;
}

.privacy-document h2 {
  margin: 40px 0 12px;
  font-size: clamp(22px, 3vw, 28px);
  line-height: 1.35;
  letter-spacing: -.025em;
  scroll-margin-top: 28px;
}

.privacy-document p { margin: 0 0 16px; }
.privacy-document ul { padding-left: 24px; }
.privacy-document li + li { margin-top: 8px; }
.privacy-document address { font-style: normal; }
.privacy-document a { color: #390099; text-decoration: underline; text-underline-offset: 3px; }
.privacy-document a:hover { color: #5423b5; }
.privacy-document :focus-visible { outline: 3px solid #390099; outline-offset: 4px; }
.privacy-summary { margin: 28px 0 36px; padding: 24px; border: 1px solid #d9d5e8; border-radius: 12px; background: #f0edf8; }
.privacy-summary h2 { margin: 0 0 12px; font-size: 20px; }
.privacy-summary ul { margin: 0; }
.privacy-summary a { display: inline-block; padding-block: 5px; }
.privacy-contact { margin-top: 36px; padding-top: 24px; border-top: 1px solid #d9d5e8; }

/* The policy remains readable when printed without navigation and decoration. */
@media print {
  .site-header, .mobile-menu, .site-footer, .skip-link, .privacy-summary { display: none; }
  .page-hero { min-height: 0; padding: 0 0 24px; background: none; color: #000; }
  .page-hero::before { display: none; }
  .privacy-content { padding: 0; background: #fff; }
  .privacy-document { max-width: none; font-size: 11pt; }
  .privacy-document h2 { break-after: avoid; }
  .privacy-document a { color: #000; }
}
