.policy-page { background: var(--bg-1); color: var(--text-primary); }
.policy-skip { position: absolute; inset-block-start: 0.75rem; inset-inline-start: var(--page-gutter); z-index: 2; padding: 0.75rem 1rem; background: var(--bg-1); color: var(--text-primary); transform: translateY(-200%); }
.policy-skip:focus { transform: translateY(0); }
.policy-header { padding: 1.5rem var(--page-gutter); background: var(--bg-inverse); color: var(--text-inverse); }
.policy-header-inner { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; max-inline-size: var(--services-max); margin-inline: auto; }
.policy-header .site-footer-logo { margin: 0; }
.policy-header .site-footer-logo img { inline-size: 12rem; }
.policy-home { display: inline-flex; align-items: center; min-block-size: var(--control-min); color: inherit; font-size: 0.8125rem; text-underline-offset: 0.3em; }
.policy-main { max-inline-size: calc(var(--services-max) + 2 * var(--page-gutter)); margin-inline: auto; padding: 4rem var(--page-gutter) 5rem; }
.policy-heading { padding-block-end: 2.5rem; border-block-end: 1px solid var(--border); }
.policy-eyebrow, .policy-updated, .policy-nav-label { color: var(--text-muted); font-size: 0.8125rem; }
.policy-eyebrow { margin: 0 0 1rem; }
.policy-heading h1 { margin: 0; font-family: var(--section-heading-font); font-size: 3.25rem; font-weight: 400; line-height: 1.12; letter-spacing: 0; overflow-wrap: anywhere; }
.policy-summary { max-inline-size: 42rem; margin: 1.25rem 0; color: var(--text-muted); font-size: 1rem; line-height: 1.7; }
.policy-updated { margin: 0; }
.policy-layout { display: grid; grid-template-columns: 13rem minmax(0, 1fr); align-items: start; gap: 4rem; padding-block-start: 2.5rem; }
.policy-nav { position: sticky; inset-block-start: 2rem; font-size: 0.8125rem; }
.policy-nav-label { margin: 0 0 0.5rem; font-weight: 600; }
.policy-nav ol { list-style: none; padding: 0; margin: 0; }
.policy-nav a { display: block; padding-block: 0.625rem; color: var(--text-muted); text-decoration: none; overflow-wrap: anywhere; }
.policy-nav a:hover { color: var(--text-primary); text-decoration: underline; text-underline-offset: 0.25em; }
.policy-nav-pages { display: grid; margin-block-start: 1.5rem; padding-block-start: 1rem; border-block-start: 1px solid var(--border); }
.policy-nav-pages a[aria-current="page"] { color: var(--text-primary); font-weight: 600; }
.policy-copy { min-inline-size: 0; max-inline-size: 45rem; font-size: 0.9375rem; line-height: 1.8; overflow-wrap: anywhere; }
.policy-copy section { scroll-margin-block-start: 2rem; }
.policy-copy section + section { margin-block-start: 2.25rem; padding-block-start: 2.25rem; border-block-start: 1px solid var(--border); }
.policy-copy h2 { margin: 0 0 1rem; font-size: 1.25rem; font-weight: 500; line-height: 1.4; }
.policy-copy h3 { margin: 1.25rem 0 0.5rem; font-size: 1rem; font-weight: 600; }
.policy-copy p, .policy-copy ul, .policy-copy dl { margin: 0 0 1rem; }
.policy-copy ul { padding-inline-start: 1.25rem; }
.policy-copy li + li { margin-block-start: 0.5rem; }
.policy-copy address { margin-block-end: 1rem; font-style: normal; }
.policy-copy a { color: var(--link); text-decoration: underline; text-underline-offset: 0.2em; }
.policy-copy a:hover { color: var(--link-hover); }
.policy-copy dt { margin-block-start: 1rem; font-weight: 600; }
.policy-copy dd { margin: 0.25rem 0 0; }
.policy-copy code { font-size: 0.875em; }
@media (max-width: 63.999rem) {
  .policy-layout { grid-template-columns: 11rem minmax(0, 1fr); gap: 2rem; }
}
@media (max-width: 47.999rem) {
  .policy-main { padding-block: 2.5rem 3rem; }
  .policy-heading h1 { font-size: 2.5rem; }
  .policy-layout { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
  .policy-nav { position: static; }
  .policy-nav-pages { display: flex; flex-wrap: wrap; gap: 0 1.25rem; }
  .policy-header .site-footer-logo img { inline-size: 10rem; }
}
@media print {
  .policy-header, .policy-nav, .policy-skip, .policy-page .site-footer { display: none; }
  .policy-main { max-inline-size: none; padding: 0; }
  .policy-layout { display: block; }
  .policy-copy { max-inline-size: none; }
  .policy-copy h2 { break-after: avoid; }
}
