.tv-legal {
  --tv-red: #ed1b2f;
  --tv-dark: #0d1015;
  --tv-text: #171a21;
  --tv-muted: #626a78;
  --tv-line: #e1e4e9;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  color: var(--tv-text);
  font-family: Arial, Helvetica, sans-serif;
  overflow: hidden;
}
.tv-legal *, .tv-legal *::before, .tv-legal *::after { box-sizing: border-box; }
.tv-legal__wrap { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.tv-legal__hero { padding: clamp(70px, 9vw, 125px) 0; color: #fff; background: linear-gradient(125deg, #090b0f 0%, #181c25 72%, #10131a 100%); }
.tv-legal__eyebrow { margin: 0 0 18px; color: var(--tv-red); font-size: 12px; font-weight: 800; letter-spacing: .16em; }
.tv-legal__hero h1 { max-width: 870px; margin: 0; color: #fff; font-size: clamp(43px, 6vw, 76px); line-height: 1.02; letter-spacing: -.045em; }
.tv-legal__hero p:last-child { max-width: 760px; margin: 26px 0 0; color: rgba(255,255,255,.76); font-size: clamp(17px, 1.8vw, 20px); line-height: 1.65; }
.tv-legal__body { padding: clamp(65px, 9vw, 120px) 0; background: #f5f6f8; }
.tv-legal__layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: clamp(50px, 7vw, 90px); align-items: start; }
.tv-legal__content { min-width: 0; padding: clamp(28px, 4vw, 54px); background: #fff; box-shadow: 0 20px 65px rgba(15,23,42,.07); }
.tv-legal__content section + section { margin-top: 46px; padding-top: 42px; border-top: 1px solid var(--tv-line); }
.tv-legal__content h2 { margin: 0 0 18px; font-size: clamp(25px, 2.6vw, 34px); line-height: 1.15; letter-spacing: -.025em; }
.tv-legal__content h3 { margin: 0 0 10px; font-size: 20px; }
.tv-legal__content p, .tv-legal__content li, .tv-legal__content td, .tv-legal__content th { font-size: 16px; line-height: 1.75; }
.tv-legal__content p { margin: 0 0 17px; color: #444b58; }
.tv-legal__content a, .tv-legal__company a { color: #c91325; font-weight: 700; }
.tv-legal__data { display: grid; gap: 4px; margin-top: 24px; padding: 24px; border-left: 4px solid var(--tv-red); background: #f5f6f8; }
.tv-legal__data p { margin: 0; }
.tv-legal__company { position: sticky; top: 32px; padding: 30px; color: #fff; background: var(--tv-dark); }
.tv-legal__company h2 { margin: 0 0 26px; color: #fff; font-size: 25px; line-height: 1.2; }
.tv-legal__company dl, .tv-legal__company dd { margin: 0; }
.tv-legal__company dl { display: grid; gap: 20px; }
.tv-legal__company dl div { padding-top: 18px; border-top: 1px solid rgba(255,255,255,.15); }
.tv-legal__company dt { margin-bottom: 6px; color: rgba(255,255,255,.55); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.tv-legal__company dd { color: #fff; font-size: 15px; line-height: 1.55; overflow-wrap: anywhere; }
.tv-legal__company a { color: #fff; }
.tv-legal__table-wrap { margin-top: 24px; overflow-x: auto; }
.tv-legal table { width: 100%; min-width: 720px; border-collapse: collapse; }
.tv-legal th, .tv-legal td { padding: 18px; text-align: left; vertical-align: top; border: 1px solid var(--tv-line); }
.tv-legal th { color: #fff; background: var(--tv-dark); }
.tv-legal td:first-child { font-weight: 800; }
.tv-legal__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 24px; }
.tv-legal__cards article { padding: 25px; border: 1px solid var(--tv-line); background: #f8f9fa; }
.tv-legal__cards span { display: block; margin-bottom: 18px; color: var(--tv-red); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.tv-legal__cards p { margin-bottom: 0; font-size: 15px; }
.tv-legal__updated { margin-top: 50px !important; padding: 20px 22px; color: var(--tv-text) !important; border-left: 4px solid var(--tv-red); background: #f5f6f8; }
@media (max-width: 900px) {
  .tv-legal__layout { grid-template-columns: 1fr; }
  .tv-legal__company { position: static; }
}
@media (max-width: 640px) {
  .tv-legal__wrap { width: min(100% - 28px, 1180px); }
  .tv-legal__hero { padding: 62px 0; }
  .tv-legal__body { padding: 28px 0 58px; }
  .tv-legal__content { padding: 27px 20px; }
  .tv-legal__content section + section { margin-top: 34px; padding-top: 32px; }
  .tv-legal__cards { grid-template-columns: 1fr; }
  .tv-legal__company { padding: 25px 22px; }
}
