.privacy-hero { background: var(--ink); color: white; padding-block: 68px 60px; }
.privacy-hero .eyebrow { color: #dddddd; }
.privacy-hero h1 { font-size: clamp(44px, 5.8vw, 76px); }
.privacy-intro { max-width: 660px; margin-top: 24px; color: #e4e4e4; font-size: 19px; line-height: 1.7; }
.privacy-updated { margin-top: 28px; color: #bbbbbb; font-size: 13px; }
.privacy-updated time { margin-left: 12px; color: white; }
.privacy-layout { display: grid; grid-template-columns: 235px minmax(0, 740px); gap: 76px; align-items: start; padding-block: 64px 80px; }
.privacy-contents { position: sticky; top: 125px; }
.privacy-contents .eyebrow { margin-bottom: 18px; }
.privacy-contents ol { margin: 0; padding: 0; list-style: none; counter-reset: policy-section; }
.privacy-contents li { counter-increment: policy-section; border-bottom: 1px solid var(--line); }
.privacy-contents a { display: flex; gap: 11px; padding-block: 12px; font-size: 13px; line-height: 1.5; }
.privacy-contents a::before { content: counter(policy-section, decimal-leading-zero); color: var(--muted); font-size: 11px; padding-top: 1px; }
.privacy-contents a:hover { text-decoration: underline; text-underline-offset: 4px; }
.privacy-content { min-width: 0; }
.privacy-content section + section { margin-top: 40px; padding-top: 36px; border-top: 1px solid var(--line); }
.privacy-content h2 { display: flex; align-items: baseline; gap: 14px; font-size: 27px; line-height: 1.3; letter-spacing: -.035em; margin-bottom: 20px; }
.privacy-number { flex-shrink: 0; color: var(--muted); font-size: 12px; font-weight: 500; letter-spacing: .04em; }
.privacy-content p, .privacy-content li, .privacy-content dd { color: #414141; font-size: 16px; line-height: 1.8; }
.privacy-content p + p { margin-top: 16px; }
.privacy-content strong { color: var(--ink); font-weight: 650; }
.privacy-content ul { padding-left: 22px; margin: 0 0 18px; }
.privacy-content li + li { margin-top: 9px; }
.privacy-content a { text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.privacy-data-list { margin: 24px 0 0; }
.privacy-data-list > div { padding: 20px 22px; background: white; border: 1px solid var(--line); }
.privacy-data-list > div + div { border-top: 0; }
.privacy-data-list dt { font-weight: 650; margin-bottom: 7px; }
.privacy-data-list dd { margin: 0; }
.privacy-contact { margin-top: 24px; padding: 26px; background: white; border: 1px solid var(--line); border-left: 3px solid var(--ink); }
.privacy-contact h3 { font-size: 19px; margin-bottom: 12px; }
.privacy-back { display: inline-flex; gap: 16px; margin-top: 32px; font-size: 13px; font-weight: 600; }
.privacy-page .site-footer { border-top: 1px solid var(--line); }
@media (max-width: 1100px) {
  .privacy-layout { grid-template-columns: 210px minmax(0, 1fr); gap: 40px; }
}
@media (max-width: 850px) {
  .privacy-layout { grid-template-columns: 1fr; gap: 44px; padding-block: 40px 60px; }
  .privacy-contents { position: static; }
  .privacy-contents ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
}
@media (max-width: 560px) {
  .privacy-hero { padding-block: 40px; }
  .privacy-intro { font-size: 17px; }
  .privacy-contents ol { grid-template-columns: 1fr; }
  .privacy-content h2 { font-size: 24px; gap: 10px; }
  .privacy-data-list > div, .privacy-contact { padding: 18px; }
}
@media print {
  .privacy-page .site-header, .privacy-page .site-footer, .privacy-contents, .privacy-back, .privacy-page .skip-link { display: none; }
  .privacy-page { background: white; }
  .privacy-page .container { width: 100%; }
  .privacy-hero { padding-block: 0 24px; background: white; color: black; }
  .privacy-hero .eyebrow, .privacy-intro, .privacy-updated, .privacy-updated time { color: black; }
  .privacy-layout { display: block; padding-block: 0; }
  .privacy-content h2 { break-after: avoid; }
  .privacy-data-list > div, .privacy-contact { break-inside: avoid; }
}
