.policy-width { max-width: 800px; }
.policy-page .page-hero { padding: 48px 0 36px; }
.policy-page h1 { font-size: clamp(2.35rem, 6vw, 3.5rem); }
.policy-page .policy-date { color: var(--muted); font-size: .95rem; }
.policy-content { padding-block: 12px 56px; overflow-wrap: anywhere; }
.policy-content h2 { font-size: clamp(1.4rem, 3vw, 1.8rem); margin: 36px 0 12px; line-height: 1.25; scroll-margin-top: 110px; }
.policy-content p, .policy-content li { line-height: 1.75; }
.policy-content li + li { margin-top: 10px; }
.policy-content a { color: var(--blue-600); text-underline-offset: 3px; }
.policy-footer { border-top: 1px solid var(--line); background: var(--wash); padding: 22px 0; }
.policy-footer nav { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.policy-footer a { display: inline-flex; align-items: center; min-height: 44px; }
.policy-footer p { color: var(--muted); font-size: .9rem; }
@media (max-width: 420px) {
  .policy-page .nav-wrap { gap: 12px; }
  .policy-page .brand img { width: 150px; }
  .policy-page .nav-wrap .button { white-space: nowrap; padding-inline: 10px; }
}
