/* Full policy wording stays visible; navigation helps readers find a topic. */
.policy-shell { max-width: 820px; }
.policy-hero { background: var(--sp-whisper); padding-block: clamp(34px, 4vw, 58px); }
.sp-craft .policy-hero h1 { font-size: clamp(38px, 4vw, 56px); }
.sp-craft .policy-hero p { margin-top: 18px; font-size: 14px; }
.sp-craft .policy-prose { font-size: 16px; line-height: 1.7; }
.sp-craft .policy-prose p { max-width: none; }
.sp-craft .policy-prose p + p { margin-top: 18px; }
.sp-craft .policy-prose h2 { margin-block: 36px 18px; font-size: clamp(27px, 2.4vw, 34px); scroll-margin-top: 84px; }
.sp-craft .policy-prose h3 { margin-block: 26px 12px; font-family: 'DM Sans', sans-serif; font-size: 18px; font-weight: 600; }
.policy-prose ul { margin: 14px 0; padding-left: 23px; }
.policy-prose li { padding-left: 3px; margin-block: 8px; }
.policy-prose li::marker { color: var(--sp-teal); }
.policy-prose a { overflow-wrap: anywhere; text-underline-offset: 3px; }
.policy-prose a[href^='tel:'], .policy-prose a[href^='mailto:'] { display: inline-flex; align-items: center; min-height: 44px; }
.policy-callout { background: var(--sp-whisper); border-top: 2px solid var(--sp-teal); padding: clamp(20px, 3vw, 28px); margin-block: 28px; }
.sp-craft .policy-callout > p { font-size: 13px; font-weight: 600; color: var(--sp-teal); margin-bottom: 16px; }
.policy-callout ul { margin: 0; }
.policy-callout li + li { margin-top: 16px; }
