.policy-hero { padding-bottom: var(--sp-9); }
.policy-hero .lead { max-width: 680px; }
.policy-updated { margin-top: var(--sp-5); color: var(--text-secondary); font-size: var(--fs-small); }
.policy-overview { display: grid; gap: var(--sp-3); grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); }
.policy-overview article { padding: var(--sp-6); border: 1px solid var(--border-hair); background: var(--bg-page); }
.policy-overview h2 { font-size: 1.75rem; line-height: 1.2; }
.policy-overview p { margin-top: var(--sp-3); color: var(--text-secondary); }
.policy-layout { display: grid; gap: var(--sp-9); align-items: start; }
.policy-index { padding: var(--sp-6); border: 1px solid var(--border-hair); }
.policy-index p { margin-bottom: var(--sp-3); font-size: var(--fs-small); font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }
.policy-index ul { display: grid; gap: var(--sp-3); list-style: none; margin: 0; padding: 0; }
.policy-index a, .policy-content a { text-decoration: underline; text-underline-offset: 3px; }
.policy-content { max-width: 760px; }
.policy-content section + section { margin-top: var(--sp-10); padding-top: var(--sp-9); border-top: 1px solid var(--border-hair); }
.policy-content section { scroll-margin-top: 140px; }
.policy-content h2 { margin-bottom: var(--sp-5); }
.policy-content h3 { margin-top: var(--sp-6); margin-bottom: var(--sp-2); font-size: var(--fs-h4); }
.policy-content p + p, .policy-content ul + p { margin-top: var(--sp-4); }
.policy-content ul { margin: var(--sp-4) 0; padding-left: var(--sp-5); }
.policy-content li + li { margin-top: var(--sp-2); }
.policy-content :is(p, li) { line-height: 1.7; }
.policy-legal-rights { padding: var(--sp-6); background: var(--bg-surface); border-left: 2px solid var(--color-champagne); }
.policy-legal-rights p + p { margin-top: var(--sp-3); }
@media (min-width: 960px) {
  .policy-layout { grid-template-columns: 230px minmax(0, 760px); justify-content: center; }
  .policy-index { position: sticky; top: 120px; }
}
