/* Uses the active site's type and palette. Scoped to policy pages. */
.policy-heading { background: var(--ink); color: var(--paper); padding-block: 58px; }
.policy-heading .kicker { color: var(--paper); letter-spacing: .08em; }
.policy-heading h1 { font-size: clamp(3rem, 6vw, 5rem); line-height: 1.05; }
.policy-heading p:last-child { margin: 0; }
.policy-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 56px; padding-block: 48px 80px; }
.policy-nav { align-self: start; display: grid; border-top: 5px solid var(--coral); }
.policy-nav a { padding: 13px 12px; border-bottom: 1px solid var(--line); text-decoration: none; }
.policy-nav a[aria-current="page"] { background: var(--mist); font-weight: 800; }
.policy-copy { max-width: 74ch; min-width: 0; }
.policy-copy h2 { font-size: clamp(2rem, 3vw, 2.8rem); line-height: 1.12; margin: 38px 0 14px; }
.policy-copy h3 { font-size: 1.8rem; line-height: 1.2; margin: 28px 0 10px; }
.policy-copy p, .policy-copy li { color: var(--text); }
.policy-copy a:not(.cta) { text-decoration: underline; text-underline-offset: 3px; }
.policy-copy ul { padding-inline-start: 25px; }
.policy-copy li { margin-block: 9px; }
.policy-copy [dir="ltr"] { overflow-wrap: anywhere; }
.policy-draft { background: var(--mist); border-inline-start: 5px solid var(--coral); padding: 22px 24px; }
.policy-draft p { margin: 8px 0 0; font-size: 1rem; }
.policy-contact { background: var(--mist); padding: 22px 24px; margin-block: 24px; }
.policy-contact p:last-child { margin-bottom: 0; }
.policy-sources { border-top: 1px solid var(--line); margin-top: 40px; padding-top: 20px; font-size: .95rem; }
.policy-sources h2 { font: 800 1.15rem var(--sans); margin: 0 0 10px; }
.policy-copy .cta { background: var(--ink); letter-spacing: 0; }
.policy-copy .cta:hover { background: var(--navy); }
.privacy-note { font-size: .9rem; margin-top: 12px; }
@media (max-width: 860px) {
  .policy-layout { grid-template-columns: 1fr; gap: 28px; padding-block: 28px 50px; }
  .policy-nav { display: flex; flex-wrap: wrap; }
  .policy-nav a { flex: 1 1 140px; }
  .policy-heading { padding-block: 40px; }
  .policy-page ~ .site-footer { margin-bottom: 0; }
}
