/* legal page — long-form prose, table of contents */

.legal__head{
  padding-top:9rem;
  padding-bottom:var(--s-4);
  background:var(--surface);
  border-bottom:1px solid var(--rule);
}
.legal__h1{
  font-family:var(--font-display);
  font-weight:var(--w-light);
  font-size:clamp(var(--t-32), 5vw, var(--t-64));
  line-height:1.02;
  letter-spacing:-0.025em;
  margin:var(--s-2) 0;
}
.legal__h1 em{ font-style:italic; color:var(--accent-deep); }
.legal__meta{
  font-family:var(--font-body);
  font-size:var(--t-12);
  letter-spacing:var(--track-eyebrow);
  text-transform:uppercase;
  color:var(--ink-muted);
}

.legal__toc{
  padding-block:var(--s-5);
  border-bottom:1px solid var(--rule);
}
.legal__toc ol{
  list-style:none;
  counter-reset:s;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--s-1) var(--s-3);
}
@media(max-width:560px){
  .legal__toc ol{ grid-template-columns:1fr; }
}
.legal__toc li{
  counter-increment:s;
  font-family:var(--font-body);
  font-size:var(--t-14);
  color:var(--ink-muted);
}
.legal__toc li::before{
  content:counter(s, decimal-leading-zero) ".";
  font-family:var(--font-mono);
  font-size:var(--t-12);
  letter-spacing:0.08em;
  color:var(--ink-faint);
  margin-right:var(--s-1);
}
.legal__toc a{
  color:inherit;
  border-bottom:1px solid var(--rule);
  transition:color var(--d-1) var(--ease-out),
             border-color var(--d-1) var(--ease-out);
}
.legal__toc a:hover{ color:var(--accent-deep); border-color:var(--accent-deep); }

.legal__body{
  padding-block:var(--s-5) var(--s-7);
  display:flex; flex-direction:column;
  gap:var(--s-6);
}
.legal__body section{
  scroll-margin-top:6rem;
}
.legal__body h2{
  font-family:var(--font-display);
  font-weight:var(--w-light);
  font-size:clamp(var(--t-26), 3vw, var(--t-40));
  line-height:1.08;
  letter-spacing:-0.02em;
  margin-bottom:var(--s-3);
  padding-bottom:var(--s-2);
  border-bottom:1px solid var(--rule);
}
.legal__body h3{
  font-family:var(--font-display);
  font-weight:var(--w-regular);
  font-size:var(--t-21);
  line-height:1.2;
  margin-top:var(--s-3);
  margin-bottom:var(--s-2);
}
.legal__body p,
.legal__body li{
  font-family:var(--font-body);
  font-size:var(--t-16);
  line-height:1.75;
  color:var(--ink);
}
.legal__body p{ margin-bottom:var(--s-2); }
.legal__body ul{
  margin:var(--s-2) 0;
  padding-left:1.4em;
  display:flex; flex-direction:column;
  gap:0.5em;
}
.legal__body a{
  color:var(--accent-deep);
  border-bottom:1px solid currentColor;
  padding-bottom:1px;
}
.legal__body em{ font-style:italic; font-family:var(--font-display); }
.legal__body strong{ font-weight:var(--w-semibold); }
