.policy-page {
  width: min(calc(100% - 40px), 850px);
  margin: 0 auto;
  padding: 140px 0 72px;
  overflow-wrap: anywhere;
}
.policy-intro { padding-bottom: 36px; }
.policy-intro h1 {
  margin: 12px 0 20px;
  font: 500 clamp(2.5rem, 6vw, 4.4rem)/1.08 Georgia, "Times New Roman", serif;
  letter-spacing: -.035em;
}
.policy-lede { max-width: 42rem; color: var(--muted); font-size: 1.16rem; }
.policy-date { color: var(--muted); font-size: .9rem; }
.policy-jump-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin-top: 26px;
}
.policy-page a { text-underline-offset: 4px; }
.policy-page a:focus-visible { outline: 3px solid var(--rust-dark); outline-offset: 5px; }
.policy-jump-links a { font-weight: 700; padding: 8px 0; }
.policy-section { padding: 36px 0; border-top: 1px solid var(--line); scroll-margin-top: 100px; }
.policy-section h2 { font: 500 clamp(1.8rem, 4vw, 2.5rem)/1.2 Georgia, "Times New Roman", serif; margin: 0 0 25px; }
.policy-section h3 { font-size: 1.1rem; line-height: 1.35; margin: 28px 0 10px; }
.policy-section p, .policy-section li { max-width: 76ch; }
.policy-section li { margin: 12px 0; }
.policy-section ul { padding-left: 24px; }
.policy-callout { padding: 14px 24px; border-left: 4px solid var(--sage); border-radius: 0 14px 14px 0; background: var(--cream); }
.policy-contact address { font-style: normal; line-height: 1.9; }
@media (max-width: 600px) {
  .policy-page { width: calc(100% - 36px); padding-top: 118px; }
  .policy-intro { padding-bottom: 26px; }
  .policy-jump-links { gap: 5px 18px; }
  .policy-section { padding: 28px 0; }
  .policy-callout { padding: 12px 18px; }
}
