/* ============================================================
   Legal / policy pages — HogTok dark + blue identity
   Shared by /terms/, /privacy/, /content-removal/ and /2257/.
   ============================================================ */

.legal-hero{padding:36px 0 10px;max-width:860px;position:relative}
.legal-hero:before{content:"";position:absolute;z-index:-1;left:-140px;top:-70px;width:560px;height:340px;
  background:radial-gradient(closest-side,rgba(37,131,255,.20),transparent);pointer-events:none}
.legal-hero .chip{margin-bottom:16px}
.legal-hero .chip svg{width:14px;height:14px}
.legal-hero h1{font-size:46px;line-height:1.06;letter-spacing:-.03em;font-weight:800}
.legal-hero .legal-lede{margin-top:14px;font-size:17px;color:var(--muted);max-width:740px}
.legal-meta{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:18px;font-size:13px;color:var(--muted)}
.legal-meta span{display:inline-flex;align-items:center;gap:7px}
.legal-meta svg{width:14px;height:14px;color:var(--accent2);flex:none}
.legal-meta b{color:#fff;font-weight:600}

/* Two-column: sticky contents rail + prose column */
.legal-layout{display:grid;grid-template-columns:minmax(220px,268px) minmax(0,1fr);gap:44px;align-items:start;margin:34px 0 64px}

.legal-toc{position:sticky;top:92px;background:var(--bg2);border:1px solid var(--border);border-radius:18px;padding:20px 18px}
.legal-toc h2{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:12px}
.legal-toc ol{list-style:none;counter-reset:toc;display:flex;flex-direction:column;gap:2px}
.legal-toc li{counter-increment:toc}
.legal-toc a{display:block;padding:7px 10px 7px 30px;border-radius:9px;font-size:13.5px;color:var(--muted);position:relative;line-height:1.35}
.legal-toc a:before{content:counter(toc);position:absolute;left:8px;top:7px;font-size:11px;color:var(--accent2);font-variant-numeric:tabular-nums;font-weight:700}
.legal-toc a:hover{background:var(--card);color:#fff}
.legal-toc .toc-cta{margin-top:14px;padding-top:14px;border-top:1px solid var(--border);font-size:12.5px;color:var(--muted);line-height:1.5}
.legal-toc .toc-cta a{color:var(--accent2);padding:0;display:inline}
.legal-toc .toc-cta a:before{content:none}

/* Prose */
.legal-body{background:var(--bg2);border:1px solid var(--border);border-radius:20px;padding:34px 38px 38px;
  box-shadow:0 18px 60px rgba(0,0,0,.32),0 0 0 1px rgba(37,131,255,.06) inset;min-width:0}
.legal-body > section + section{margin-top:34px;padding-top:30px;border-top:1px solid var(--border)}
.legal-body h2{font-size:21px;letter-spacing:-.02em;font-weight:700;scroll-margin-top:96px;display:flex;gap:10px;align-items:baseline}
.legal-body h2 .num{font-size:12px;color:var(--accent2);font-weight:700;letter-spacing:.06em;flex:none;padding-top:2px}
.legal-body h3{font-size:15.5px;font-weight:700;margin:20px 0 8px;color:#fff}
.legal-body p{color:var(--muted);font-size:14.5px;line-height:1.72;margin-top:12px}
.legal-body p:first-of-type{margin-top:14px}
.legal-body strong{color:#fff;font-weight:600}
.legal-body a{color:var(--accent2);text-decoration:underline;text-decoration-color:rgba(67,199,245,.35);text-underline-offset:2px}
.legal-body a:hover{text-decoration-color:var(--accent2)}
.legal-body ul,.legal-body ol{margin:12px 0 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:9px}
.legal-body ul li,.legal-body ol li{position:relative;padding-left:22px;color:var(--muted);font-size:14.5px;line-height:1.65}
.legal-body ul li:before{content:"";position:absolute;left:4px;top:9px;width:6px;height:6px;border-radius:2px;background:var(--accent)}
.legal-body ol{counter-reset:li}
.legal-body ol li{counter-increment:li}
.legal-body ol li:before{content:counter(li) ".";position:absolute;left:0;top:0;color:var(--accent2);font-weight:700;font-size:13px}

/* Callout / notice blocks */
.legal-note{margin-top:20px;background:rgba(37,131,255,.08);border:1px solid rgba(37,131,255,.28);
  border-left:3px solid var(--accent);border-radius:12px;padding:16px 18px}
.legal-note p{margin:0;color:#D6E2F2;font-size:14px;line-height:1.65}
.legal-note p + p{margin-top:10px}
.legal-note.warn{background:rgba(255,93,115,.07);border-color:rgba(255,93,115,.28);border-left-color:var(--danger)}
.legal-note.warn p{color:#F3D7DC}
.legal-note h4{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#fff;margin-bottom:8px;font-weight:700}

/* Definition-style fact table (custodian, entity, address) */
.legal-facts{margin-top:18px;display:grid;grid-template-columns:minmax(150px,200px) minmax(0,1fr);gap:0;
  border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--card)}
.legal-facts dt{padding:13px 16px;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);
  font-weight:700;background:rgba(255,255,255,.02);border-top:1px solid var(--border)}
.legal-facts dd{padding:13px 16px;font-size:14px;color:#fff;border-top:1px solid var(--border);line-height:1.55;min-width:0;overflow-wrap:anywhere}
.legal-facts dt:first-of-type,.legal-facts dd:first-of-type{border-top:0}
.legal-facts dd span{display:block}
.legal-facts dd a{color:var(--accent2)}

/* Footer strip under the prose */
.legal-foot{margin-top:32px;padding-top:24px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
.legal-foot p{margin:0;font-size:13px;color:var(--muted)}
.legal-foot .legal-links{display:flex;flex-wrap:wrap;gap:8px}
.legal-foot .legal-links a{font-size:13px;padding:7px 14px;border-radius:999px;border:1px solid var(--border);
  background:var(--card);color:var(--muted);text-decoration:none;transition:.15s}
.legal-foot .legal-links a:hover{color:#fff;border-color:var(--accent);background:rgba(37,131,255,.14)}
.legal-foot .legal-links a[aria-current="page"]{color:#fff;border-color:var(--accent);background:rgba(37,131,255,.18)}

/* Responsive */
@media(max-width:1040px){
  .legal-layout{grid-template-columns:1fr;gap:26px}
  .legal-toc{position:static;order:2}
  .legal-toc ol{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:2px}
  .legal-body{order:1}
}
@media(max-width:640px){
  .legal-hero{padding-top:20px}
  .legal-hero:before{left:-20px;width:340px;top:-46px;height:260px}
  .legal-hero h1{font-size:31px}
  .legal-hero .legal-lede{font-size:15.5px}
  .legal-layout{margin:24px 0 44px}
  .legal-body{padding:22px 18px 24px;border-radius:16px}
  .legal-body h2{font-size:18.5px}
  .legal-body p,.legal-body ul li,.legal-body ol li{font-size:14px}
  .legal-facts{grid-template-columns:1fr}
  .legal-facts dt{padding-bottom:2px;border-top:1px solid var(--border)}
  .legal-facts dd{border-top:0;padding-top:4px}
  .legal-facts dt:first-of-type{border-top:0}
  .legal-toc{padding:16px 14px}
}
