/* Privacy Policy page-specific styles (kept minimal, respecting base.css) */
.policy-hero { padding-block: var(--space-32); }

.policy-layout { padding-block: var(--space-16); }
.policy-grid { display: grid; gap: var(--space-24); grid-template-columns: 1fr; }

.policy-toc { position: sticky; top: 84px; align-self: start; }
.toc-list { display: grid; gap: var(--space-8); counter-reset: toc; margin: 0; padding-left: 0; list-style: none; }
.toc-list a { color: var(--color-text); border: 1px solid var(--divider-color); border-radius: var(--radius-sm); padding: 10px 12px; background-color: var(--color-surface); transition: border-color var(--duration-normal) var(--ease-standard), color var(--duration-normal) var(--ease-standard); }
.toc-list a:hover { color: var(--color-accent); border-color: color-mix(in oklab, var(--color-primary) 60%, var(--divider-color)); }

.toc-actions { display: flex; gap: var(--space-12); margin-top: var(--space-16); flex-wrap: wrap; }

.policy-content { display: grid; gap: var(--space-24); }
.policy-content .card { scroll-margin-top: 90px; }
.policy-cta { display: flex; gap: var(--space-12); flex-wrap: wrap; align-items: center; }

@media (min-width: 960px) {
  .policy-grid { grid-template-columns: 320px 1fr; }
}
