.legal-content { width: min(1000px, calc(100% - 32px)); margin: 40px auto; padding: clamp(12px, 3vw, 40px); line-height: 1.65; }
.legal-content h1 { font-family: Georgia, serif; font-size: clamp(28px, 5vw, 42px); line-height: 1.25; color: #202b3c; }
.legal-content h2 { font-size: 23px; line-height: 1.3; margin-top: 32px; color: #202b3c; }
.legal-content a { color: var(--button-blue); text-underline-offset: 3px; }
.legal-content hr { border: 0; border-top: 1px solid var(--border); margin: 28px 0; }
.legal-content p { overflow-wrap: anywhere; }
.policy-table-wrap { overflow-x: auto; max-width: 100%; border: 1px solid var(--border); border-radius: 12px; }
.policy-table { width: 100%; min-width: 1100px; border-collapse: collapse; font-size: 14px; }
.policy-table th, .policy-table td { padding: 14px; border: 1px solid var(--border); text-align: left; vertical-align: top; }
.policy-table th { background: #202b3c; color: white; }
.legal-content, .legal-content article { min-width: 0; }
.legal-content h1 { font-size: clamp(26px, 4.5vw, 42px) !important; overflow-wrap: anywhere; }
.legal-content h2 { font-size: 24px !important; overflow-wrap: anywhere; }
.legal-content li, .legal-content a { overflow-wrap: anywhere; }
.legal-content ul { padding-left: 24px; }
@media (max-width: 768px) {
  .legal-content { width: calc(100% - 32px); margin: 28px auto; padding: 0; font-size: 16px; line-height: 1.7; }
  .legal-content h1 { margin: 0 0 24px; line-height: 1.25; }
  .legal-content h2 { margin: 28px 0 14px; font-size: 22px !important; }
  .policy-table-wrap { border: 0; border-radius: 0; overflow: visible; }
  .policy-table, .policy-table tbody, .policy-table tr, .policy-table td { display: block; width: 100%; min-width: 0; }
  .policy-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .policy-table tr { margin-bottom: 20px; padding: 16px; border: 1px solid var(--border); border-radius: 16px; background: #f4f7fa; }
  .policy-table td { padding: 12px 0; border: 0; border-bottom: 1px solid var(--border); font-size: 15px; overflow-wrap: anywhere; }
  .policy-table td:last-child { border-bottom: 0; padding-bottom: 0; }
  .policy-table td::before { display: block; margin-bottom: 5px; font-weight: 800; color: #202b3c; }
  .policy-table td:nth-child(1)::before { content: 'Цель обработки'; }
  .policy-table td:nth-child(2)::before { content: 'Категории субъектов'; }
  .policy-table td:nth-child(3)::before { content: 'Персональные данные'; }
  .policy-table td:nth-child(4)::before { content: 'Действия с персональными данными'; }
  .policy-table td:nth-child(5)::before { content: 'Правовое основание'; }
  .policy-table td:nth-child(6)::before { content: 'Срок обработки и хранения'; }
  .policy-table td:nth-child(7)::before { content: 'Порядок уничтожения'; }
}
