/* Document styling is scoped so the shared navigation stays unchanged. */
.policy {
  max-width: 820px;
  padding: 48px 56px;
  background: #fff;
  border: 1px solid #e5e2e7;
  border-radius: 8px;
  color: #30303a;
}
.policy .policy-heading { border-bottom: 1px solid #dedce2; padding-bottom: 28px; }
.policy .policy-label { margin: 0 0 12px; font-size: 11px; font-weight: 600; letter-spacing: .16em; color: #73717c; }
.policy h1 { margin: 0 0 24px; font-size: 26px; letter-spacing: .02em; }
.policy-meta { display: grid; gap: 8px; margin: 0; font-size: 13px; line-height: 1.6; }
.policy-meta div { display: grid; grid-template-columns: 100px 1fr; gap: 12px; }
.policy-meta dt { color: #73717c; }
.policy-meta dd { margin: 0; font-variant-numeric: tabular-nums; }
.policy p, .policy li { color: #50505b; font-size: 14px; line-height: 1.95; overflow-wrap: anywhere; }
.policy .policy-intro { margin: 28px 0 0; }
.policy section { padding: 28px 0; border-bottom: 1px solid #eceaee; }
.policy section:last-child { border-bottom: 0; padding-bottom: 0; }
.policy h2 { display: flex; align-items: baseline; gap: 14px; margin: 0 0 14px; font-size: 17px; line-height: 1.65; }
.policy h2 span { color: #8a8793; font-size: 12px; font-weight: 500; font-variant-numeric: tabular-nums; }
.policy section p { margin: 12px 0 0; }
.policy ul { margin: 12px 0; padding-left: 22px; }
.policy a { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 600px) {
  .policy { padding: 28px 20px; }
  .policy h1 { font-size: 21px; }
  .policy h2 { font-size: 16px; gap: 10px; }
  .policy-meta div { grid-template-columns: 80px 1fr; gap: 8px; }
}
