.privacy-page .privacy-heading { padding-bottom: 32px; border-bottom: 1px solid var(--color-line-strong); }
.privacy-page .section-title { margin-bottom: 20px; }
.privacy-page .privacy-effective { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; color: var(--color-muted); font-size: var(--text-sm); }
.privacy-page .privacy-effective .icon { margin-right: 4px; color: var(--color-primary); }
.privacy-page .privacy-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); align-items: start; gap: 56px; padding-top: 40px; }
.privacy-page .privacy-toc { position: sticky; top: calc(var(--header-height) + 24px); max-height: calc(100dvh - var(--header-height) - 48px); overflow-y: auto; padding-right: 24px; border-right: 1px solid var(--color-line); }
.privacy-page .privacy-toc-title { margin-bottom: 16px; font-size: var(--text-sm); font-weight: 700; color: var(--color-primary); }
.privacy-page .privacy-toc ol { margin: 0; padding: 0; list-style: none; }
.privacy-page .privacy-toc a { display: flex; align-items: center; min-height: 44px; padding: 8px 0; color: var(--color-muted); font-size: var(--text-sm); line-height: 1.6; }
.privacy-page .privacy-toc a:hover { color: var(--color-primary); text-decoration: underline; text-underline-offset: 4px; }
.privacy-page .privacy-body { min-width: 0; line-height: 1.9; }
.privacy-page .privacy-body section + section { margin-top: 40px; padding-top: 40px; border-top: 1px solid var(--color-line); }
.privacy-page .privacy-body h2 { margin-bottom: 20px; color: var(--color-primary); font-size: 24px; line-height: 1.5; }
.privacy-page .privacy-body h3 { margin: 28px 0 16px; font-size: 18px; line-height: 1.6; }
.privacy-page .privacy-body p + p { margin-top: 16px; }
.privacy-page .privacy-body ul { margin: 16px 0; padding-left: 24px; list-style: disc; }
.privacy-page .privacy-body li + li { margin-top: 8px; }
.privacy-page .privacy-body p, .privacy-page .privacy-body li { overflow-wrap: anywhere; }
.privacy-page .privacy-body p a, .privacy-page .privacy-body li a { color: var(--color-primary); text-decoration: underline; text-underline-offset: 3px; }
.privacy-page .privacy-table-wrap { max-width: 100%; margin: 24px 0; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
.privacy-page .privacy-table-wrap table { width: 100%; min-width: 680px; border-collapse: collapse; font-size: var(--text-sm); line-height: 1.7; }
.privacy-page .privacy-table-wrap th, .privacy-page .privacy-table-wrap td { padding: 16px; border: 1px solid var(--color-line); text-align: left; vertical-align: top; }
.privacy-page .privacy-table-wrap th { background: var(--color-soft); color: var(--color-primary); font-weight: 700; }
.privacy-page .privacy-table-wrap th:first-child { width: 18%; }
.privacy-page .privacy-actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--color-line-strong); }
@media (max-width: 1023px) {
  .privacy-page .privacy-layout { grid-template-columns: 1fr; gap: 32px; }
  .privacy-page .privacy-toc { position: static; max-height: none; padding: 0 0 24px; border-right: 0; border-bottom: 1px solid var(--color-line); }
  .privacy-page .privacy-toc ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
}
@media (max-width: 767px) {
  .privacy-page { padding-block: 40px 56px; }
  .privacy-page .privacy-heading { padding-bottom: 24px; }
  .privacy-page .privacy-layout { padding-top: 24px; }
  .privacy-page .privacy-toc ol { grid-template-columns: 1fr; }
  .privacy-page .privacy-body { font-size: 15px; }
  .privacy-page .privacy-body h2 { font-size: 22px; }
  .privacy-page .privacy-body h3 { font-size: 17px; }
  .privacy-page .privacy-table-wrap th, .privacy-page .privacy-table-wrap td { padding: 12px; }
}
