/* ============================================================
   LEXI LEGAL PAGES — shared long-form template
   Scoped under #main-content.legal so global chrome always wins.
   Used by: /privacy-policy, /terms-of-use  (and future legal pages)
   Loaded BEFORE global.css.
   ============================================================ */

#main-content.legal{
  --lg-navy:#001733;
  --lg-navy-2:#00213f;
  --lg-gold:#f6aa00;
  --lg-ink:#1c2b3a;
  --lg-ink-soft:#4a5a6b;
  --lg-line:#dce4ec;
  --lg-card:#ffffff;
  --lg-bg:#f4f7fa;
  --lg-accent:#0a4d78;
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--lg-ink);
  background:var(--lg-bg);
}

/* ---------- HERO ---------- */
#main-content.legal .lg-hero{
  background:linear-gradient(160deg,var(--lg-navy) 0%,var(--lg-navy-2) 100%);
  color:#fff;
  padding:88px 24px 64px;
}
#main-content.legal .lg-hero-in{max-width:960px;margin:0 auto}
#main-content.legal .lg-eyebrow{
  font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--lg-gold);margin:0 0 14px;
}
#main-content.legal .lg-hero h1{
  font-size:clamp(2rem,4.4vw,3rem);line-height:1.08;font-weight:800;margin:0 0 20px;color:#fff;
}
#main-content.legal .lg-meta{
  display:flex;flex-wrap:wrap;gap:8px 28px;margin:0 0 22px;
  font-size:.92rem;color:#cfe0f0;
}
#main-content.legal .lg-meta b{color:#fff;font-weight:600}
#main-content.legal .lg-hero .lg-lead{
  font-size:1.06rem;line-height:1.65;color:#dbe7f3;margin:0;max-width:760px;
}

/* ---------- BODY LAYOUT ---------- */
#main-content.legal .lg-body{
  max-width:1160px;margin:0 auto;padding:56px 24px 96px;
  display:grid;grid-template-columns:264px minmax(0,1fr);gap:56px;align-items:start;
}

/* ---------- TOC ---------- */
#main-content.legal .lg-toc{
  position:sticky;top:96px;
  background:var(--lg-card);border:1px solid var(--lg-line);border-radius:14px;
  padding:20px 18px;max-height:calc(100vh - 128px);overflow:auto;
}
#main-content.legal .lg-toc h2{
  font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--lg-ink-soft);margin:0 0 12px;
}
#main-content.legal .lg-toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}
#main-content.legal .lg-toc li{margin:0}
#main-content.legal .lg-toc a{
  display:block;padding:6px 8px;border-radius:7px;
  font-size:.86rem;line-height:1.35;color:var(--lg-ink-soft);text-decoration:none;
  border-left:2px solid transparent;
}
#main-content.legal .lg-toc a:hover{background:#eef3f8;color:var(--lg-accent)}
#main-content.legal .lg-toc a.active{
  color:var(--lg-navy);font-weight:600;border-left-color:var(--lg-gold);background:#f0f5fa;
}

/* ---------- DOCUMENT ---------- */
#main-content.legal .lg-doc{max-width:760px;font-size:1rem;line-height:1.7;color:var(--lg-ink)}
#main-content.legal .lg-doc .lg-intro{font-size:1.05rem;color:var(--lg-ink)}
#main-content.legal .lg-callout{
  background:#eef5fb;border:1px solid #d3e3f1;border-left:4px solid var(--lg-gold);
  border-radius:10px;padding:16px 18px;margin:0 0 30px;font-size:.96rem;line-height:1.6;
}
#main-content.legal .lg-callout b{color:var(--lg-navy)}

#main-content.legal .lg-sec{padding-top:14px;margin:0 0 34px;scroll-margin-top:96px}
#main-content.legal .lg-sec h2{
  font-size:1.34rem;font-weight:700;line-height:1.25;color:var(--lg-navy);
  margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--lg-line);
}
#main-content.legal .lg-sec h3{
  font-size:1.05rem;font-weight:700;color:var(--lg-navy-2);margin:22px 0 10px;
}
#main-content.legal .lg-doc p{margin:0 0 14px}
#main-content.legal .lg-doc ul{margin:0 0 16px;padding-left:22px}
#main-content.legal .lg-doc li{margin:0 0 8px}
#main-content.legal .lg-doc a{color:var(--lg-accent);text-decoration:underline;text-underline-offset:2px}
#main-content.legal .lg-doc a:hover{color:var(--lg-gold)}
#main-content.legal .lg-doc strong{font-weight:600}
/* all-caps legal blocks (disclaimers / liability) — soften for readability */
#main-content.legal .lg-legalcaps{
  font-size:.9rem;line-height:1.7;color:var(--lg-ink-soft);
  background:#f7fafc;border:1px solid var(--lg-line);border-radius:10px;padding:16px 18px;margin:0 0 16px;
}

/* ---------- TABLES ---------- */
#main-content.legal .lg-tablewrap{overflow-x:auto;margin:0 0 22px;border:1px solid var(--lg-line);border-radius:12px}
#main-content.legal table{border-collapse:collapse;width:100%;min-width:560px;font-size:.9rem}
#main-content.legal thead th{
  background:var(--lg-navy);color:#fff;text-align:left;font-weight:600;
  padding:11px 14px;font-size:.82rem;letter-spacing:.02em;
}
#main-content.legal tbody td{padding:12px 14px;border-top:1px solid var(--lg-line);vertical-align:top;color:var(--lg-ink)}
#main-content.legal tbody tr:nth-child(even) td{background:#f8fbfd}

/* ---------- CONTACT / FOOTNOTE ---------- */
#main-content.legal .lg-contact{
  background:var(--lg-card);border:1px solid var(--lg-line);border-radius:12px;
  padding:22px 24px;margin:8px 0 0;font-size:.96rem;line-height:1.7;
}
#main-content.legal .lg-contact b{color:var(--lg-navy)}

/* ---------- RESPONSIVE ---------- */
@media (max-width:980px){
  #main-content.legal .lg-body{grid-template-columns:1fr;gap:28px;padding:36px 20px 72px}
  #main-content.legal .lg-toc{position:static;max-height:none;top:auto}
  #main-content.legal .lg-toc ol{
    column-count:2;column-gap:20px;
  }
  #main-content.legal .lg-doc{max-width:none}
}
@media (max-width:640px){
  #main-content.legal .lg-hero{padding:64px 20px 44px}
  #main-content.legal .lg-toc ol{column-count:1}
}
@media (max-width:420px){
  #main-content.legal .lg-hero h1{font-size:1.7rem}
}

