/* Policies pages styling */
.policy-wrap { display: grid; grid-template-columns: 280px 1fr; gap: 24px; align-items: start; }
@media (max-width: 1024px) { .policy-wrap { grid-template-columns: 1fr; } }

.policy-toc { position: sticky; top: 96px; background: #fff; border: 1px solid #eceff3; border-radius: 12px; padding: 16px; box-shadow: 0 2px 10px rgba(16,24,40,0.04); }
.policy-toc h3 { margin: 0 0 12px; font-size: 16px; color: #111827; }
.policy-toc nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.policy-toc a { display: block; padding: 8px 10px; border-radius: 8px; color: #374151; text-decoration: none; transition: background .2s, color .2s; }
.policy-toc a:hover { background: #f3f4f6; color: #111827; }
.policy-toc a.active { background: #eef2ff; color: #4338ca; font-weight: 600; }
.policy-toc .toc-level-2 { padding-right: 14px; }

.policy-content { background: #fff; border: 1px solid #eceff3; border-radius: 12px; padding: 24px; box-shadow: 0 2px 10px rgba(16,24,40,0.04); }
.policy-content h2 { font-size: 20px; margin: 24px 0 12px; padding: 0 12px 0 0; border-right: 4px solid #4f46e5; color: #111827; }
.policy-content h3 { font-size: 16px; margin: 16px 0 8px; color: #1f2937; }
.policy-content p { color: #374151; line-height: 1.9; margin: 0 0 12px; }
.policy-content ul, .policy-content ol { margin: 0 0 16px 0; padding: 0 24px 0 0; }
.policy-content li { margin-bottom: 8px; line-height: 1.8; }
.policy-content a { color: #2563eb; text-decoration: underline; }
.policy-footer { margin-top: 24px; font-size: 12px; color: #6b7280; }

.page-header h1 { margin: 0 0 12px; font-size: 28px; color: #111827; }
.page-header .lead { color: #6b7280; margin: 0 0 16px; }
