/* ── Layout ─────────────────────────────────────────────────── */
.legal-wrap{max-width:760px;margin:0 auto;padding:120px 40px 100px;}

/* ── Cross-page nav ─────────────────────────────────────────── */
.legal-page-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:40px;}
.legal-page-nav__btn{
  padding:6px 14px;border-radius:7px;font-size:12px;
  font-family:var(--mono);font-weight:500;text-decoration:none;
  border:1px solid var(--border);color:var(--muted);
  transition:border-color .2s,color .2s,background .2s;letter-spacing:.3px;
}
.legal-page-nav__btn:hover{border-color:var(--border2);color:var(--text);}
.legal-page-nav__btn[aria-current="page"]{
  border-color:rgba(99,102,241,.4);
  background:var(--indigo-soft);color:var(--indigo);
}

/* ── Page header ─────────────────────────────────────────────── */
.legal-header{margin-bottom:56px;padding-bottom:40px;border-bottom:1px solid var(--border);}
.legal-header__tag{
  font-family:var(--mono);font-size:11px;letter-spacing:2px;
  text-transform:uppercase;color:var(--indigo);display:block;margin-bottom:14px;
}
.legal-header__title{
  font-family:var(--display);font-weight:800;
  font-size:clamp(32px,4vw,52px);letter-spacing:-1.5px;
  line-height:1.02;color:#fff;margin-bottom:16px;
}
.legal-header__subtitle{
  font-size:13px;color:var(--muted);line-height:1.75;margin-bottom:16px;max-width:640px;
}
.legal-header__meta{display:flex;gap:20px;flex-wrap:wrap;margin-top:4px;}
.legal-header__meta-item{
  display:flex;align-items:center;gap:6px;
  font-family:var(--mono);font-size:11px;color:var(--muted);
}

/* ── Table of Contents ───────────────────────────────────────── */
.legal-toc{
  background:var(--bg2);border:1px solid var(--border);
  border-radius:14px;padding:24px 28px;margin-bottom:56px;
}
.legal-toc__heading{
  font-family:var(--mono);font-size:10px;letter-spacing:1.5px;
  text-transform:uppercase;color:var(--muted);margin-bottom:14px;
}
.legal-toc__list{
  list-style:none;display:flex;flex-direction:column;gap:6px;counter-reset:toc;
}
.legal-toc__list > li{counter-increment:toc;display:flex;align-items:baseline;gap:8px;}
.legal-toc__list > li::before{
  content:counter(toc,decimal-leading-zero);
  font-family:var(--mono);font-size:10px;color:var(--faint);flex-shrink:0;
}
.legal-toc__list a{font-size:13px;color:var(--muted);text-decoration:none;transition:color .2s;}
.legal-toc__list a:hover{color:var(--indigo);}
.legal-toc__list a:focus-visible{outline:2px solid var(--indigo);outline-offset:2px;border-radius:2px;}

/* ── Body prose ──────────────────────────────────────────────── */
.legal-body > section{margin-bottom:52px;}
.legal-body h2{
  font-family:var(--display);font-size:22px;font-weight:800;
  color:#fff;letter-spacing:-.5px;line-height:1.15;
  margin-bottom:18px;padding-top:8px;
  display:flex;align-items:baseline;gap:12px;
}
.legal-body__sec-num{font-family:var(--mono);font-size:12px;color:var(--indigo);font-weight:400;}
.legal-body h3{
  font-family:var(--display);font-size:16px;font-weight:700;
  color:var(--text);letter-spacing:-.3px;margin:24px 0 10px;
}
.legal-body p{color:var(--muted);font-size:14px;line-height:1.85;margin-bottom:14px;}
.legal-body p:last-child{margin-bottom:0;}
.legal-body a{color:var(--indigo);text-decoration:none;}
.legal-body a:hover{text-decoration:underline;}
.legal-body a:focus-visible{outline:2px solid var(--indigo);outline-offset:2px;}
.legal-body strong{color:var(--text);font-weight:600;}
.legal-body code{
  font-family:var(--mono);font-size:12px;color:var(--indigo);
  background:var(--indigo-soft);padding:1px 5px;border-radius:3px;
}
.legal-body ul{
  list-style:none;display:flex;flex-direction:column;gap:8px;margin:14px 0 18px;
}
.legal-body ul li{
  display:flex;align-items:flex-start;gap:10px;
  font-size:14px;color:var(--muted);line-height:1.7;
}
.legal-body ul li::before{
  content:'';width:5px;height:5px;border-radius:50%;
  background:var(--indigo);flex-shrink:0;margin-top:8px;
}

/* ── Callouts ────────────────────────────────────────────────── */
.callout{display:flex;gap:12px;padding:16px 18px;border-radius:10px;margin:20px 0;}
.callout--info {background:rgba(99,102,241,.07);border:1px solid rgba(99,102,241,.2);}
.callout--warn {background:rgba(245,158,11,.06); border:1px solid rgba(245,158,11,.15);}
.callout--green{background:rgba(34,197,94,.06);  border:1px solid rgba(34,197,94,.15);}
.callout__icon{flex-shrink:0;margin-top:1px;}
.callout__body{flex:1;}
.callout__title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:3px;}
.callout__desc{font-size:13px;color:var(--muted);line-height:1.65;}
.callout__desc a{color:var(--indigo);}

/* ── Data tables ─────────────────────────────────────────────── */
.table-wrap{
  background:var(--bg2);border:1px solid var(--border);border-radius:12px;
  overflow-x:auto;overflow-y:hidden;margin:20px 0;-webkit-overflow-scrolling:touch;
}
.data-table{width:100%;border-collapse:collapse;font-size:13px;}
.data-table caption{
  font-family:var(--mono);font-size:10px;color:var(--muted);
  text-align:left;padding:10px 14px 2px;letter-spacing:.5px;text-transform:uppercase;
}
.data-table th{
  padding:10px 14px;font-family:var(--mono);font-size:10px;letter-spacing:1px;
  text-transform:uppercase;color:var(--muted);background:var(--bg2);
  text-align:left;border-bottom:1px solid var(--border);
}
.data-table td{padding:10px 14px;color:var(--muted);border-bottom:1px solid var(--border);vertical-align:top;}
.data-table td:first-child{font-family:var(--mono);font-size:12px;color:var(--indigo);white-space:nowrap;}
.data-table tr:last-child td{border-bottom:none;}
.data-table tr:hover td{background:rgba(255,255,255,.01);}
.data-table a{color:var(--indigo);}

/* ── Contact box ─────────────────────────────────────────────── */
.contact-box{
  background:var(--bg2);border:1px solid var(--border2);
  border-radius:14px;padding:28px;margin-top:56px;
}
.contact-box__title{font-family:var(--display);font-size:18px;font-weight:800;color:#fff;margin-bottom:8px;}
.contact-box__desc{font-size:13px;color:var(--muted);margin-bottom:20px;line-height:1.7;}
.contact-box__desc strong{color:var(--text);}
.contact-row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted);margin-bottom:8px;}
.contact-row:last-child{margin-bottom:0;}
.contact-row a{color:var(--indigo);text-decoration:none;}
.contact-row a:hover{text-decoration:underline;}
.contact-row svg{flex-shrink:0;color:var(--faint);}

/* ── Rights cards ────────────────────────────────────────────── */
.rights-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:12px;margin:20px 0;
}
.right-card{
  background:var(--bg2);border:1px solid var(--border);
  border-radius:12px;padding:18px 20px;
}
.right-card-icon{
  width:30px;height:30px;border-radius:8px;
  background:var(--indigo-soft);display:flex;align-items:center;
  justify-content:center;margin-bottom:10px;
}
.right-card-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:5px;}
.right-card-desc{font-size:13px;color:var(--muted);line-height:1.65;}

/* ── Responsive ──────────────────────────────────────────────── */
@media(max-width:700px){
  nav{padding:0 20px;}
  .nav-links{display:none;}
  .legal-wrap{padding:100px 20px 80px;}
  .table-wrap{margin:18px 0;}
  .data-table{width:max-content;min-width:100%;}
  .data-table caption{padding:10px 12px 2px;}
  .data-table th,
  .data-table td{padding:10px 12px;min-width:140px;}
  .data-table td:first-child{
    min-width:120px;
    white-space:normal;
    overflow-wrap:break-word;
  }
}
