/* Страницы документов (политика, согласие): светлое поле для чтения, тёмная шапка как на главной */
.legal { background: var(--cream); color: var(--dk); }
.legal-top { background: var(--bg); color: var(--ink); }
.legal-top .wrap { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 64px; }
.legal-top a.back { font-size: 13px; color: var(--ink-2); transition: color .3s; }
.legal-top a.back:hover { color: var(--accent); }
.legal-hero { background: var(--bg); color: var(--ink); padding: clamp(48px, 7vw, 100px) 0 clamp(48px, 6vw, 80px); border-top: 1px solid var(--line); }
.legal-hero h1 { margin: 18px 0 0; max-width: 14em; font-size: clamp(32px, 8.6vw, 88px); line-height: .96; letter-spacing: -.05em; font-weight: 600; }
.legal-hero h1 em { color: var(--accent); }
.legal-hero p { margin-top: 24px; max-width: 40em; color: var(--ink-2); }
.legal-body { padding: clamp(48px, 7vw, 96px) 0 clamp(72px, 9vw, 128px); }
.legal-body .wrap { max-width: 860px; }
.legal-body h2 { margin: 56px 0 0; padding-top: 18px; border-top: 1px solid var(--dk); font-size: clamp(22px, 2.2vw, 30px); font-weight: 600; letter-spacing: -.03em; line-height: 1.15; }
.legal-body h2:first-child { margin-top: 0; }
.legal-body p, .legal-body li { font-size: 16px; line-height: 1.65; color: var(--dk-2); }
.legal-body p { margin-top: 14px; }
.legal-body ul { margin: 12px 0 0; padding: 0; list-style: none; }
.legal-body li { position: relative; margin-top: 8px; padding-left: 22px; }
.legal-body li::before { content: ''; position: absolute; left: 2px; top: .8em; width: 10px; height: 1px; background: var(--accent); }
.legal-body a { color: var(--dk); text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 3px; }
.legal-card { margin-top: 18px; padding: 22px 24px; border-radius: 8px; background: #fff; border: 1px solid var(--line-dk); display: grid; gap: 8px; }
.legal-card div { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 12px; font-size: 15px; line-height: 1.5; }
.legal-card dt { font-family: var(--mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--dk-3); padding-top: 3px; }
.legal-card dd { margin: 0; color: var(--dk); }
.legal-foot { background: var(--bg); color: var(--ink-3); padding: 26px 0; border-top: 1px solid var(--line); }
.legal-foot .wrap { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.legal-foot a:hover { color: var(--accent); }
@media (max-width: 760px) {
  .legal-card div { grid-template-columns: 1fr; gap: 2px; }
}
