/* This reading layout uses the shared site's colors and theme controls. */
.policy { width: min(760px, calc(100% - 80px)); padding-block: 54px 64px; }
.policy-heading { padding-bottom: 32px; border-bottom: 1px solid var(--line); }
.policy-product { margin: 0 0 12px; color: var(--accent); font-weight: 650; }
.policy h1 { font-size: clamp(2.25rem, 4vw, 3rem); letter-spacing: -.045em; }
.policy-date { margin: 20px 0 0; color: var(--muted); font-size: .95rem; }
.policy section { margin-top: 40px; }
.policy h2 { font-size: 1.4rem; line-height: 1.35; letter-spacing: -.025em; }
.policy section p { margin: 16px 0 0; line-height: 1.8; overflow-wrap: anywhere; }
.policy a { color: var(--accent); }
.policy .policy-contact { margin-top: 24px; }
.policy-page .footer-brand { text-decoration: none; }
@media (max-width: 760px) {
  .policy { width: calc(100% - 40px); padding-block: 36px 48px; }
  .policy-heading { padding-bottom: 26px; }
  .policy section { margin-top: 32px; }
  .policy h2 { font-size: 1.3rem; }
}
@media print {
  .policy-page { background: white; color: black; }
  .policy-page .site-header, .policy-page .site-footer, .policy-page .skip-link { display: none; }
  .policy { width: 100%; padding: 0; }
  .policy-heading { border-color: #999; }
  .policy-product, .policy-date, .policy a { color: black; }
  .policy h2 { break-after: avoid; }
  .policy p { orphans: 3; widows: 3; }
}
