.policy-page { background: var(--paper); }
.policy-container { width: min(760px, calc(100% - 48px)); margin-inline: auto; }
.policy-header { padding-block: 48px 26px; }
.policy-header .eyebrow { color: #805a13; margin-bottom: 16px; }
.policy-header h1 { font-size: clamp(36px, 6vw, 52px); line-height: 1.12; letter-spacing: -.04em; margin: 0 0 18px; }
.policy-intro { font-size: 18px; line-height: 1.65; color: #625b67; margin: 0 0 15px; }
.policy-updated { font-size: 13px; color: #68616d; }
.policy-navigation { display: flex; flex-wrap: wrap; gap: 10px 24px; border-block: 1px solid var(--line); padding-block: 12px; }
.policy-navigation a { padding-block: 8px; font-size: 14px; color: #615869; text-decoration: underline; text-underline-offset: 5px; }
.policy-navigation a[aria-current="page"] { color: var(--ink); font-weight: 650; }
.policy-body { font-size: 16px; line-height: 1.8; color: #514b57; padding-block: 16px 58px; overflow-wrap: anywhere; }
.policy-body h2 { margin: 30px 0 12px; font-size: 23px; line-height: 1.3; letter-spacing: -.025em; color: #242025; scroll-margin-top: 24px; }
.policy-body p { margin: 0 0 18px; }
.policy-body a { color: #80530a; text-decoration: underline; text-underline-offset: 3px; }
.policy-body ul, .policy-body ol { margin: 0 0 20px; padding-left: 24px; }
.policy-body li { margin-block: 7px; }
.policy-callout { padding: 18px 22px; border: 1px solid #e9d9b2; border-radius: 12px; background: #fff6df; }
.policy-callout p:last-child { margin-bottom: 0; }
@media (max-width: 699px) {
  .policy-container { width: calc(100% - 40px); }
  .policy-header { padding-top: 30px; }
  .policy-intro { font-size: 16px; }
  .policy-navigation { gap: 6px 20px; }
  .policy-body { font-size: 16px; padding-bottom: 38px; }
  .policy-body h2 { font-size: 22px; }
}
