/* /privacy/ — the legal document page. Reuses v2.css + technovolga.css (tokens, header, footer, both themes);
   only the reading column is styled here. No animations, no new fonts. */
.tv-legal { padding-block: clamp(28px, 5vw, 64px) clamp(56px, 8vw, 104px); }
.tv-legal__doc { max-width: var(--wrap-narrow); color: var(--ink-muted); font-size: var(--step-0); line-height: 1.7; overflow-wrap: anywhere; }
.tv-legal__eyebrow { margin: 0 0 10px; font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); }
.tv-legal h1 { margin: 0; font-size: var(--step-4); line-height: 1.15; color: var(--ink); text-wrap: balance; }
.tv-legal__meta { margin: 12px 0 0; font-size: var(--step--1); color: var(--ink-faint); }
.tv-legal h2 { margin: clamp(36px, 5vw, 52px) 0 14px; font-size: var(--step-2); line-height: 1.25; color: var(--ink); scroll-margin-top: 96px; }
.tv-legal section { scroll-margin-top: 96px; }
.tv-legal p { margin: 0 0 14px; }
.tv-legal ul, .tv-legal ol { margin: 0 0 14px; padding-left: 1.3em; }
.tv-legal li { margin: 0 0 8px; }
.tv-legal strong { color: var(--ink); }
.tv-legal a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.tv-legal a:hover { color: var(--accent-soft); }
.tv-legal a:focus-visible { outline: 2px solid var(--accent-soft); outline-offset: 3px; border-radius: 3px; }
.tv-legal__toc { margin: clamp(28px, 4vw, 40px) 0 0; padding: 18px 22px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); }
.tv-legal__toc ol { margin: 0; columns: 2 260px; column-gap: 28px; }
.tv-legal__toc li { margin: 0 0 6px; break-inside: avoid; font-size: var(--step--1); }
.tv-legal__toc a { color: var(--ink-muted); text-decoration: none; }
.tv-legal__toc a:hover { color: var(--accent); }
.tv-legal__req { margin: 0; display: grid; gap: 0; border: 1px solid var(--border); border-radius: 14px; overflow: hidden; }
.tv-legal__req > div { display: grid; grid-template-columns: minmax(150px, 34%) 1fr; gap: 16px; padding: 12px 18px; border-top: 1px solid var(--border); }
.tv-legal__req > div:first-child { border-top: 0; }
.tv-legal__req dt { color: var(--ink-faint); font-size: var(--step--1); }
.tv-legal__req dd { margin: 0; color: var(--ink); }
@media (max-width: 600px) {
  .tv-legal__req > div { grid-template-columns: 1fr; gap: 2px; }
  .tv-legal__toc { padding: 14px 16px; }
}
