/* A quiet document layout: comfortable line lengths and persistent section links. */
body:has(.policy-page) .main > .container { max-width: 104rem; }
body:has(.policy-page) .page-back-nav { display: flex; margin-block: 1.6rem 0; }
.policy-page .policy-heading { padding-block: 2rem 2.4rem; border-bottom: 1px solid var(--care-line); }
.policy-page .policy-heading h1 { max-width: none; font-size: 3.6rem; line-height: 1.2; }
.policy-page .policy-intro { max-width: 68rem; margin-top: 1.2rem; color: var(--care-ink); font-size: 1.7rem; line-height: 1.65; }
.policy-page .policy-updated { margin-top: 1.2rem; font-size: 1.4rem; }
.policy-page .policy-layout { display: grid; grid-template-columns: 22rem minmax(0,1fr); gap: 4.8rem; margin-top: 2.8rem; }
.policy-page .policy-contents { position: sticky; top: 2rem; align-self: start; max-height: calc(100vh - 4rem); overflow-y: auto; border-left: 2px solid var(--care-line); padding-left: 1.2rem; }
.policy-page .policy-contents-label { margin: 0 0 .8rem; padding-inline: .8rem; color: var(--care-ink); font-size: 1.5rem; font-weight: 700; }
.policy-page .policy-contents nav { display: grid; gap: .4rem; }
.policy-page .policy-contents a { display: flex; align-items: center; min-height: 4.4rem; padding: .8rem; border-radius: .4rem; color: var(--care-muted); font-size: 1.5rem; line-height: 1.45; text-decoration: none; }
.policy-page .policy-contents a:hover { background: var(--care-tint); color: var(--care-brand); text-decoration: underline; }
.policy-page .policy-contents a[aria-current='location'] { background: var(--care-tint); color: var(--care-brand); font-weight: 700; }
.policy-page .policy-content { min-width: 0; }
.policy-page .policy-content section { padding-block: 2.8rem; border-bottom: 1px solid var(--care-line); }
.policy-page .policy-content section:first-child { padding-top: 0; }
.policy-page .policy-content section:last-child { border-bottom: 0; }
.policy-page .policy-content h2 { margin-bottom: 1.6rem; font-size: 2.4rem; line-height: 1.3; letter-spacing: -.025em; text-wrap: initial; }
.policy-page .policy-content :is(p,li,dd) { color: var(--care-ink); font-size: 1.6rem; line-height: 1.75; }
.policy-page .policy-content p + p { margin-top: 1.4rem; }
.policy-page .policy-content ul { margin-block: 1.2rem 1.6rem; padding-left: 2rem; }
.policy-page .policy-content li + li { margin-top: .8rem; }
.policy-page .policy-content a { overflow-wrap: anywhere; }
.policy-page .policy-content .care-button { margin-top: 1.6rem; }
.policy-page .policy-definitions > div { margin-bottom: 1.4rem; }
.policy-page .policy-definitions dt { color: var(--care-ink); font-weight: 700; }
.policy-page .policy-definitions dd { margin-top: .4rem; }
.policy-page .policy-contact { display: grid; gap: .4rem; margin-block: 1.6rem; padding-left: 1.6rem; border-left: 2px solid var(--care-line); color: var(--care-ink); font-style: normal; line-height: 1.75; }
.policy-page .policy-contact a { justify-self: start; display: inline-flex; align-items: center; min-height: 4.4rem; }
.policy-page .policy-content .policy-review-note { margin-top: 2rem; color: var(--care-muted); font-size: 1.4rem; }
@media (min-width: 1280px) {
    body:has(.policy-page) .main > .container { position: relative; }
    body:has(.policy-page) .page-back-nav { position: absolute; inset-block-start: 2rem; inset-inline-end: calc(100% - 1.2rem); width: max-content; margin: 0; }
}
@media (max-width: 767px) {
    .policy-page .policy-heading h1 { font-size: 3.2rem; }
    .policy-page .policy-layout { grid-template-columns: 1fr; gap: 2.4rem; }
    .policy-page .policy-contents { position: static; max-height: none; }
}
