/* ============ LEGAL PAGES — Liso Ya Khemisi ============ */
:root{
  --ink:#0E2A47;
  --ink-2:#1B3A5C;
  --slate:#6C7F99;
  --slate-light:#A9B8C7;
  --cream:#FFFFFF;
  --cream-2:#F2F2F0;
  --paper:#FAFAF8;
  --line:#E8E6E1;
  --serif:"Instrument Serif", "Times New Roman", serif;
  --sans:"Geist", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --mono:"JetBrains Mono", ui-monospace, Menlo, monospace;
}
*{box-sizing:border-box; margin:0; padding:0}
html{ scroll-behavior:smooth; }
body{
  font-family:var(--sans);
  background:var(--cream);
  color:var(--ink);
  font-size:16px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
  font-feature-settings:"ss01","ss02","cv11";
  overflow-x:hidden;
}
a{ color:inherit; text-decoration:none }
a.inline{ text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; text-decoration-color:var(--slate-light) }
a.inline:hover{ text-decoration-color:var(--ink) }
button{ font:inherit; cursor:pointer; border:0; background:none; color:inherit }
img{ max-width:100%; display:block }
.serif{ font-family:var(--serif); font-weight:400; letter-spacing:-.01em }
.mono{ font-family:var(--mono); }
.eyebrow{
  font-family:var(--mono); font-size:11px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--slate);
  display:inline-flex; align-items:center; gap:10px;
}
.eyebrow::before{ content:""; width:24px; height:1px; background:var(--slate-light); }

.wrap{ max-width:1200px; margin:0 auto; padding:0 56px }
@media (max-width:768px){ .wrap{ padding:0 24px } }

/* === Nav === */
nav.top{
  position:fixed; inset:0 0 auto 0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 56px;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
nav.top .brand{ display:flex; align-items:center; gap:12px; }
nav.top .brand svg{ height:34px; width:auto }
nav.top .brand .wordmark{ font-family:var(--serif); font-size:22px; letter-spacing:.005em; }
nav.top .links{ display:flex; gap:34px; align-items:center; }
nav.top .links a{ font-size:13px; color:var(--ink); padding:6px 0; font-weight:500; }
nav.top .links a:hover{ color:var(--slate); }
nav.top .links a.current{ color:var(--slate) }
nav.top .cta{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 18px; background:var(--ink); color:var(--paper);
  border-radius:999px; font-size:13px; font-weight:500; transition:.2s;
}
nav.top .cta:hover{ background:var(--ink-2); transform:translateY(-1px) }
nav.top .cta::after{ content:"→" }
@media (max-width:920px){
  nav.top{ padding:14px 24px }
  nav.top .links{ display:none }
}

/* === Hero head === */
.legal-hero{
  padding:160px 0 64px;
  border-bottom:1px solid var(--line);
}
.legal-hero .meta-row{
  display:flex; justify-content:space-between; align-items:center;
  font-family:var(--mono); font-size:11px;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--slate); margin-bottom:48px;
}
.legal-hero h1{
  font-family:var(--serif); font-weight:400;
  font-size: clamp(48px, 6vw, 88px);
  line-height:1.03; letter-spacing:-.015em;
  max-width: 18ch;
}
.legal-hero h1 em{ color:var(--slate); font-style:italic }
.legal-hero .lede{
  margin-top:28px; max-width:62ch;
  font-size:18px; color:var(--ink-2); line-height:1.6;
}
.legal-hero .crumbs{
  font-family:var(--mono); font-size:11px;
  letter-spacing:.14em; text-transform:uppercase; color:var(--slate);
  margin-bottom:24px;
}
.legal-hero .crumbs a:hover{ color:var(--ink) }

/* === Layout: TOC + content === */
.legal-body{ padding:80px 0 140px }
.legal-grid{
  display:grid;
  grid-template-columns: 240px 1fr;
  gap:80px;
  align-items:start;
}
.toc{
  position:sticky; top:108px;
  font-family:var(--mono); font-size:12px;
  letter-spacing:.04em;
}
.toc .toc-label{
  text-transform:uppercase; letter-spacing:.16em;
  font-size:10px; color:var(--slate); margin-bottom:16px;
}
.toc ol{ list-style:none; counter-reset:t; }
.toc ol li{
  counter-increment:t;
  padding:10px 0;
  border-top:1px solid var(--line);
  display:grid; grid-template-columns: 28px 1fr; gap:8px;
}
.toc ol li::before{
  content: counter(t, decimal-leading-zero);
  color:var(--slate);
}
.toc ol li a{ color:var(--ink-2); }
.toc ol li a:hover{ color:var(--ink); }

.content{
  max-width: 68ch;
  font-size:16px; line-height:1.75;
  color:var(--ink-2);
}
.content h2{
  font-family:var(--serif); font-weight:400; letter-spacing:-.01em;
  font-size: clamp(32px, 3vw, 44px); line-height:1.1;
  color:var(--ink);
  margin-top: 64px; margin-bottom: 24px;
  scroll-margin-top: 120px;
}
.content h2:first-child{ margin-top:0 }
.content h2 .num{
  font-family:var(--mono); font-size:13px;
  color:var(--slate); display:block;
  letter-spacing:.16em; text-transform:uppercase;
  margin-bottom:14px;
}
.content h3{
  font-family:var(--sans); font-size:16px; font-weight:600;
  color:var(--ink); margin-top:32px; margin-bottom:10px;
  letter-spacing:.01em;
}
.content p{ margin-bottom:18px }
.content p strong{ color:var(--ink); font-weight:500 }
.content ul{ list-style:none; margin:18px 0; }
.content ul li{
  padding:8px 0 8px 24px; position:relative;
}
.content ul li::before{
  content:"–"; position:absolute; left:0; top:8px;
  color:var(--slate); font-family:var(--mono);
}
.content table{
  width:100%; border-collapse:collapse; margin:24px 0;
  font-size:14px;
}
.content table th, .content table td{
  text-align:left; padding:14px 16px;
  border-top:1px solid var(--line);
  vertical-align:top;
}
.content table th{
  font-family:var(--mono); font-size:11px;
  letter-spacing:.12em; text-transform:uppercase;
  color:var(--slate); font-weight:500;
}
.content table tbody tr:last-child td{ border-bottom:1px solid var(--line) }

.callout{
  border:1px solid var(--line);
  background:var(--paper);
  padding:24px 28px;
  border-radius:14px;
  margin:32px 0;
  font-size:15px; color:var(--ink-2);
}
.callout .ck{
  font-family:var(--mono); font-size:11px;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--slate); margin-bottom:10px;
}
.callout strong{ color:var(--ink); font-weight:500 }

.kv{
  margin:16px 0 24px;
  display:grid; grid-template-columns: 200px 1fr;
  gap:14px 24px;
  font-size:15px;
  border-top:1px solid var(--line);
  padding-top:16px;
}
.kv dt{
  font-family:var(--mono); font-size:11px;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--slate); padding-top:4px;
}
.kv dd{ color:var(--ink); padding-bottom:16px; border-bottom:1px solid var(--line); }
.kv dt{ padding-bottom:16px; border-bottom:1px solid var(--line); }

@media (max-width:920px){
  .legal-grid{ grid-template-columns:1fr; gap:48px }
  .toc{ position:static }
  .kv{ grid-template-columns:1fr; gap:0 4px }
  .kv dt{ border-bottom:0; padding-bottom:4px }
}

/* === Cross-nav between legal pages === */
.legal-cross{
  border-top:1px solid var(--line);
  padding:64px 0;
}
.legal-cross .cnav{
  display:grid; grid-template-columns: 1fr 1fr 1fr; gap:0;
}
.legal-cross .cnav a{
  display:block; padding:32px 32px 32px 0;
  border-left:1px solid var(--line);
  padding-left:32px;
  transition: background .2s;
}
.legal-cross .cnav a:first-child{ border-left:0; padding-left:0 }
.legal-cross .cnav a:hover{ background:var(--paper) }
.legal-cross .cnav a.is-current{ opacity:.4; pointer-events:none }
.legal-cross .cnav .cn-l{
  font-family:var(--mono); font-size:11px;
  letter-spacing:.14em; text-transform:uppercase; color:var(--slate);
}
.legal-cross .cnav .cn-t{
  font-family:var(--serif); font-size:24px; line-height:1.15;
  margin-top:12px; color:var(--ink);
}
.legal-cross .cnav .cn-arrow{
  font-family:var(--mono); font-size:12px; color:var(--slate);
  margin-top:16px;
}
@media (max-width:768px){
  .legal-cross .cnav{ grid-template-columns:1fr }
  .legal-cross .cnav a{ border-left:0; border-top:1px solid var(--line); padding:24px 0 !important }
  .legal-cross .cnav a:first-child{ border-top:0 }
}

/* === Footer (compact) === */
footer{
  background:var(--ink); color:#FAFAF8;
  padding:64px 0 32px;
}
footer .ftop{
  display:grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap:48px;
  padding-bottom:40px; border-bottom:1px solid rgba(169,184,199,.18);
}
footer h5{
  font-family:var(--mono); font-size:11px;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--slate-light); margin-bottom:18px; font-weight:500;
}
footer a{ display:block; padding:6px 0; font-size:14px; color:#FAFAF8; opacity:.85 }
footer a:hover{ opacity:1 }
footer .brand-foot{ display:flex; flex-direction:column; gap:16px; max-width:36ch }
footer .brand-foot .bmark{ display:flex; align-items:center; gap:12px; }
footer .brand-foot .wordmark{ font-family:var(--serif); font-size:22px }
footer .brand-foot p{ font-size:14px; color:var(--slate-light); line-height:1.6 }
footer .fbot{
  display:flex; justify-content:space-between; align-items:center;
  padding-top:28px;
  font-family:var(--mono); font-size:11px;
  letter-spacing:.1em; color:var(--slate-light);
  text-transform:uppercase;
}
@media (max-width:920px){
  footer .ftop{ grid-template-columns:1fr 1fr; gap:32px }
  footer .fbot{ flex-direction:column; gap:14px; align-items:flex-start }
}
