/* ============================================================
   thentic labs — legal pages
   Dark nav + dark header, bone reading body, dark footer.
   Inherits tokens + nav/footer/band styles from site.css.
   ============================================================ */

/* ---------- page base ---------- */
.legal-body{ background:var(--bone); color:var(--ink); }

/* ---------- dark header ---------- */
.legal-hero{
  background:var(--ink); color:var(--bone); position:relative; overflow:hidden; margin-top:-72px;
  --surface:rgba(255,255,255,.045); --surface-2:rgba(255,255,255,.07);
  --text:var(--bone); --text-2:var(--mist); --text-3:#8AA39E;
  --border:rgba(255,255,255,.11); --border-2:rgba(255,255,255,.2); --hair:rgba(255,255,255,.08);
  --acc-text:var(--accent); --mark:var(--accent); --logo-acc:var(--accent);
}
.legal-hero::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='66' height='66' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23BBF724' stroke-width='5.5' stroke-linecap='round'%3E%3Cline x1='16' y1='44' x2='33' y2='22'/%3E%3Cline x1='31' y1='44' x2='48' y2='22'/%3E%3C/g%3E%3C/svg%3E");
  background-size:66px 66px; opacity:.05;
  -webkit-mask-image:radial-gradient(120% 82% at 100% 0%, #000, transparent 66%);
  mask-image:radial-gradient(120% 82% at 100% 0%, #000, transparent 66%);
}
.legal-hero .wrap{ position:relative; z-index:1; padding-top:calc(72px + clamp(34px,4vw,58px)); padding-bottom:clamp(36px,4vw,52px); }
.legal-hero .eyebrow{ color:var(--accent); }
.legal-hero .eyebrow .nm{ color:var(--mist); }
.legal-hero h1{
  font-size:clamp(38px,5.2vw,68px); font-weight:500; letter-spacing:-.035em; line-height:1.0;
  margin:0 0 22px; max-width:18ch;
}
.legal-meta{
  display:flex; flex-wrap:wrap; gap:10px 30px; font-family:var(--mono);
  font-size:12px; letter-spacing:.06em; color:var(--mist);
}
.legal-meta b{ color:var(--bone); font-weight:500; }
.legal-meta .dot{ color:var(--accent); }

/* ---------- legal tabs ---------- */
.legal-tabs{
  display:flex; flex-wrap:wrap; gap:9px; margin-top:34px;
  position:relative; z-index:1;
}
.legal-tabs a{
  font-family:var(--mono); font-size:12px; letter-spacing:.03em;
  height:36px; padding:0 16px; display:inline-flex; align-items:center;
  border:1px solid rgba(255,255,255,.16); border-radius:var(--r-pill);
  color:var(--mist); transition:all .2s var(--ease);
}
.legal-tabs a:hover{ border-color:var(--bone); color:var(--bone); }
.legal-tabs a.active{ background:var(--accent); border-color:var(--accent); color:var(--ink); font-weight:500; }

/* ---------- reading column ---------- */
.legal-body section{ padding:0; }
.legal-doc{ max-width:760px; margin:0 auto; padding:clamp(48px,6vw,80px) 0 clamp(64px,7vw,96px); }
.legal-intro{
  font-size:clamp(17px,1.5vw,20px); line-height:1.6; color:var(--graphite);
  padding-bottom:30px; margin-bottom:8px; border-bottom:1px solid var(--stone);
}
.legal-doc h2{
  font-size:clamp(20px,2vw,25px); font-weight:600; letter-spacing:-.02em; line-height:1.2;
  color:var(--ink); margin:48px 0 16px; scroll-margin-top:96px;
  display:flex; gap:14px; align-items:baseline;
}
.legal-doc h2 .n{
  font-family:var(--mono); font-size:13px; font-weight:500; color:var(--volt-ink);
  letter-spacing:.04em; flex:none; min-width:2.2ch;
}
.legal-doc h2:first-of-type{ margin-top:8px; }
.legal-doc h3{
  font-size:16px; font-weight:600; color:var(--ink); margin:26px 0 8px; letter-spacing:-.01em;
}
.legal-doc p{ font-size:16px; line-height:1.72; color:var(--graphite); margin:0 0 16px; }
.legal-doc p:last-child{ margin-bottom:0; }
.legal-doc strong{ color:var(--ink); font-weight:600; }
.legal-doc a{ color:var(--volt-ink); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.legal-doc a:hover{ color:var(--forest); }
.legal-doc ul{ list-style:none; margin:0 0 18px; padding:0; }
.legal-doc li{
  position:relative; padding-left:28px; font-size:16px; line-height:1.66; color:var(--graphite); margin-bottom:10px;
}
.legal-doc li::before{
  content:""; position:absolute; left:2px; top:.62em; width:11px; height:11px;
  background:var(--volt-2);
  -webkit-mask:no-repeat center/contain; mask:no-repeat center/contain;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23000' stroke-width='11' stroke-linecap='round'%3E%3Cline x1='16' y1='44' x2='33' y2='22'/%3E%3Cline x1='31' y1='44' x2='48' y2='22'/%3E%3C/g%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23000' stroke-width='11' stroke-linecap='round'%3E%3Cline x1='16' y1='44' x2='33' y2='22'/%3E%3Cline x1='31' y1='44' x2='48' y2='22'/%3E%3C/g%3E%3C/svg%3E");
}

/* ---------- data table (legal notice / cookies) ---------- */
.legal-table{
  width:100%; border-collapse:collapse; margin:8px 0 18px;
  font-size:15px; border:1px solid var(--stone); border-radius:var(--r-md); overflow:hidden;
}
.legal-table th, .legal-table td{ text-align:left; padding:13px 16px; vertical-align:top; line-height:1.55; }
.legal-table thead th{
  font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--slate); background:#EDEAE0; font-weight:500; border-bottom:1px solid var(--stone);
}
.legal-table tbody tr+tr td{ border-top:1px solid var(--stone); }
.legal-table tbody th{ font-weight:600; color:var(--ink); white-space:nowrap; padding-right:24px; border-top:1px solid var(--stone); }
.legal-table td:first-child{ color:var(--ink); font-weight:500; }
.legal-table .yes{ color:var(--forest); font-weight:600; }
.legal-table .no{ color:var(--slate); }

/* ---------- callout ---------- */
.legal-note{
  background:var(--paper); border:1px solid var(--stone); border-radius:var(--r-md);
  padding:20px 22px; margin:8px 0 18px; font-size:15px; line-height:1.65; color:var(--graphite);
}
.legal-note .lab{ font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--volt-ink); display:block; margin-bottom:8px; }

/* ---------- footer note ---------- */
.legal-end{
  margin-top:46px; padding-top:24px; border-top:1px solid var(--stone);
  font-family:var(--mono); font-size:12.5px; letter-spacing:.04em; color:var(--slate);
  display:flex; flex-wrap:wrap; gap:8px 18px; align-items:center; justify-content:space-between;
}
.legal-end a{ color:var(--volt-ink); }

@media (max-width:600px){
  .legal-table, .legal-table thead, .legal-table tbody, .legal-table tr, .legal-table th, .legal-table td{ display:block; }
  .legal-table thead{ display:none; }
  .legal-table tbody th{ white-space:normal; border-top:1px solid var(--stone); }
  .legal-table td{ padding-top:4px; }
}
