/* ===========================================================================
   Thirty-one Partners — Legal body styles (terms / privacy)
   Self-contained. Pairs with the index look (inline <style> nav + footer).
   Cosmic violet palette to match index.
   =========================================================================== */
.legal-page{
  --gold:#8b5cf6; --gold-bright:#a78bfa; --gold-deep:#6d28d9;
  --muted:rgba(214,208,240,.66); --muted-2:rgba(214,208,240,.46);
  --card-border:rgba(139,92,246,.16);
}

/* Hero band, simplified to sit under the index nav */
.legal-page .brand-hero{
  position:relative; overflow:hidden;
  border-bottom:1px solid var(--card-border);
  padding:78px 0 56px;
}
/* Cosmic layer — same radial palette as the index hero (violet + cyan) */
.legal-page .brand-hero::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(60% 50% at 78% 30%, rgba(139,92,246,.20), transparent 60%),
    radial-gradient(50% 45% at 12% 8%, rgba(34,211,238,.10), transparent 55%),
    linear-gradient(180deg,#0c0a1b,#08060f 70%);
}
.legal-page .brand-hero .bh-inner{ position:relative; z-index:2; max-width:680px; }
.legal-page .brand-hero .eyebrow{
  display:inline-flex; align-items:center; gap:13px;
  color:var(--gold-bright); font-family:'JetBrains Mono',monospace;
  font-size:12px; font-weight:600; letter-spacing:2.5px; text-transform:uppercase;
  margin-bottom:20px;
}
.legal-page .brand-hero .eyebrow::before{ content:""; width:42px; height:1px; background:var(--gold); }
.legal-page .brand-hero h1{
  font-family:'Fredoka',sans-serif; font-weight:600; line-height:1.04;
  font-size:clamp(36px,5vw,60px); letter-spacing:-.5px; margin-bottom:18px;
}
.legal-page .brand-hero h1 .gold{ color:var(--gold-bright); }
.legal-page .brand-hero p{
  color:var(--muted); font-size:16px; line-height:1.7; max-width:520px; margin-bottom:26px;
}
.legal-page .brand-hero .bh-cta{ display:flex; gap:13px; flex-wrap:wrap; }

/* Section wrapper + 2-col TOC layout */
.legal-page .section{ padding:56px 0; }
.legal-page .legal-wrap{ display:grid; grid-template-columns:240px 1fr; gap:46px; align-items:start; }
.legal-page .legal-toc{ position:sticky; top:90px; }
.legal-page .legal-toc .tt{
  font-size:11px; letter-spacing:1.5px; text-transform:uppercase;
  color:var(--muted-2); font-weight:600; margin-bottom:14px;
}
.legal-page .legal-toc a{
  display:block; color:var(--muted); font-size:13px; padding:7px 12px;
  border-left:2px solid transparent; margin-bottom:2px; transition:all .18s; cursor:pointer;
}
.legal-page .legal-toc a:hover{ color:#fff; }
.legal-page .legal-toc a.active{ color:var(--gold-bright); border-left-color:var(--gold); background:rgba(139,92,246,.06); }

/* Meta pills */
.legal-page .legal-meta{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  margin-bottom:34px; padding-bottom:24px; border-bottom:1px solid var(--card-border);
}
.legal-page .legal-meta .pill-m{
  display:inline-flex; align-items:center; gap:8px;
  background:#15101f; border:1px solid var(--card-border); border-radius:30px;
  padding:8px 16px; font-size:12.5px; color:#cfcae0;
}
.legal-page .legal-meta .pill-m svg{ color:var(--gold-bright); }

/* Body typography */
.legal-page .legal-body h2{
  font-family:'Fredoka',sans-serif; font-weight:600; font-size:24px;
  margin:38px 0 14px; scroll-margin-top:90px; display:flex; align-items:baseline; gap:12px;
}
.legal-page .legal-body h2 .no{ color:var(--gold-bright); font-size:17px; font-weight:600; font-family:'Poppins',sans-serif; }
.legal-page .legal-body h2:first-child{ margin-top:0; }
.legal-page .legal-body h3{ font-size:16px; font-weight:600; margin:24px 0 10px; color:#f0eeff; }
.legal-page .legal-body p{ color:var(--muted); font-size:14.5px; line-height:1.8; margin-bottom:14px; }
.legal-page .legal-body ul{ list-style:none; margin:0 0 16px; padding:0; }
.legal-page .legal-body li{ position:relative; padding-left:22px; color:var(--muted); font-size:14.5px; line-height:1.75; margin-bottom:9px; }
.legal-page .legal-body li::before{ content:""; position:absolute; left:2px; top:11px; width:6px; height:6px; border-radius:50%; background:var(--gold); }
.legal-page .legal-body a{ color:var(--gold-bright); text-decoration:underline; text-underline-offset:2px; }
.legal-page .legal-body strong{ color:#e8e4f5; font-weight:600; }

/* Callout */
.legal-page .legal-callout{
  background:linear-gradient(160deg,#1a1428,#0a0a0a);
  border:1px solid var(--card-border); border-left:3px solid var(--gold);
  border-radius:12px; padding:18px 22px; margin:22px 0;
}
.legal-page .legal-callout p{ margin:0; color:#cfcae0; font-size:13.5px; line-height:1.7; }

@media(max-width:900px){
  .legal-page .legal-wrap{ grid-template-columns:1fr; gap:24px; }
  .legal-page .legal-toc{ display:none; }
}
