.privacy-page {
  margin: 0 var(--gutter) var(--screen-bottom);
  padding: clamp(32px, 4.5vw, 80px) var(--content-inset) clamp(48px, 6vw, 112px);
  border-radius: 30px;
  background: var(--paper);
}
.policy-document { max-width: 1040px; margin-inline: auto; }
.policy-document h1 {
  margin: 0 0 clamp(44px, 5vw, 80px);
  font-size: clamp(32px, 3.5vw, 60px);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -.05em;
  overflow-wrap: break-word;
}
.policy-section + .policy-section { margin-top: clamp(36px, 4vw, 56px); }
.policy-section h2 {
  margin: 0 0 22px;
  max-width: 42ch;
  font-size: clamp(22px, 1.7vw, 28px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -.035em;
  scroll-margin-top: 24px;
}
.policy-section p,
.policy-list {
  margin: 0;
  color: #454545;
  font-size: 16px;
  line-height: 1.85;
  overflow-wrap: anywhere;
}
.policy-section > p + .policy-list { margin-top: 20px; }
.policy-list { list-style: none; padding: 0; }
.policy-list > li { display: grid; grid-template-columns: 3.2em minmax(0, 1fr); column-gap: 8px; }
.policy-list > li + li { margin-top: 16px; }
.policy-number { color: #727272; font-variant-numeric: tabular-nums; }
.policy-item-body { min-width: 0; }
.policy-item-body > .policy-list { margin-top: 18px; }
.policy-item-body > .policy-list > li { grid-template-columns: 4.2em minmax(0, 1fr); }
.policy-clause { display: block; margin-top: 8px; }
.policy-document a {
  color: #a73d0d;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  transition: color .2s;
}
.policy-document a:hover { color: var(--ink); }
@media (max-width: 720px) {
  .privacy-page { border-radius: 22px; padding-block: 32px 48px; }
  .policy-document h1 { font-size: clamp(22px, 5.8vw, 38px); margin-bottom: 40px; letter-spacing: -.045em; }
  .policy-section h2 { font-size: 20px; line-height: 1.4; margin-bottom: 18px; }
  .policy-section p, .policy-list { font-size: 15px; line-height: 1.8; }
  .policy-list > li { grid-template-columns: 2.8em minmax(0, 1fr); column-gap: 4px; }
  .policy-item-body > .policy-list > li { display: block; }
  .policy-item-body > .policy-list .policy-number { display: inline; float: left; margin-right: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .policy-document a { transition: none; }
}
