/* Legal pages. Loads after site.css and reuses its tokens: paper ground,
   one measure of reading, a sticky index on the left. */
.wrap{max-width:1080px;}

.top{
  position:sticky;top:0;z-index:50;
  background:rgba(242,241,236,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--rule);
}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:64px;}
.back{
  font-size:14px;font-weight:500;color:var(--ink-70);
  border-bottom:1px solid var(--rule-2);padding-bottom:2px;
  transition:color var(--fast),border-color var(--fast);
}
.back:hover{color:var(--accent);border-color:var(--accent);}

.head{padding:72px 0 40px;border-bottom:1px solid var(--rule);}
.kicker{
  font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-50);font-weight:500;margin-bottom:20px;
}
h1{font-size:clamp(36px,5vw,64px);letter-spacing:-.03em;line-height:1;}
.stamp{margin-top:20px;font-family:var(--mono);font-size:12px;color:var(--ink-50);}

.cols{display:grid;grid-template-columns:220px 1fr;gap:64px;padding:56px 0 100px;align-items:start;}
nav.toc{position:sticky;top:96px;}
nav.toc h2{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-50);font-weight:500;margin-bottom:14px;
}
nav.toc ol{counter-reset:toc;}
nav.toc li{counter-increment:toc;}
nav.toc a{
  display:block;padding:7px 0 7px 14px;border-left:1px solid var(--rule);
  font-size:14px;color:var(--ink-70);
  transition:color var(--fast),border-color var(--fast);
}
nav.toc a::before{
  content:counter(toc,decimal-leading-zero);
  font-family:var(--mono);font-size:11px;color:var(--ink-50);margin-right:10px;
}
nav.toc a:hover{color:var(--accent);border-color:var(--accent);}

article section{padding-bottom:40px;}
article section:last-child{padding-bottom:0;}
article h2{font-size:22px;letter-spacing:-.015em;margin-bottom:14px;scroll-margin-top:96px;}
article h2 .no{font-family:var(--mono);font-size:12px;color:var(--accent);margin-right:12px;font-weight:500;vertical-align:2px;}
article p{color:var(--ink-70);font-size:15.5px;margin-bottom:14px;max-width:68ch;}
article p:last-child{margin-bottom:0;}
article strong{color:var(--ink);}
article a{color:var(--accent);border-bottom:1px solid rgba(33,70,255,.3);transition:border-color var(--fast);}
article a:hover{border-color:var(--accent);}
article ul{margin:0 0 16px;}
article li{position:relative;padding-left:22px;margin-bottom:10px;color:var(--ink-70);font-size:15.5px;}
article li::before{content:'';position:absolute;left:0;top:11px;width:8px;height:1px;background:var(--ink);}
.note{border-left:2px solid var(--accent);padding:4px 0 4px 20px;margin:6px 0 22px;}
.note p{margin-bottom:0;}

.grid-table{width:100%;border-collapse:collapse;margin:4px 0 18px;font-size:14.5px;}
.grid-table th,.grid-table td{text-align:left;vertical-align:top;padding:12px 14px;border:1px solid var(--rule);}
.grid-table th{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-50);font-weight:500;background:var(--paper-2);
}
.grid-table td{color:var(--ink-70);}
.grid-table td:first-child{color:var(--ink);font-weight:500;white-space:nowrap;}
.scroller{overflow-x:auto;}

footer.legal-foot{background:transparent;color:var(--ink);border-top:1px solid var(--rule);padding:40px 0;}
.foot-in{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:center;}
footer.legal-foot p{font-size:13px;color:var(--ink-50);}
.foot-links{display:flex;gap:22px;flex-wrap:wrap;}
.foot-links a{font-size:13px;color:var(--ink-70);transition:color var(--fast);}
.foot-links a:hover{color:var(--accent);}

@media (max-width:900px){
  .cols{grid-template-columns:1fr;gap:34px;}
  nav.toc{position:static;border-bottom:1px solid var(--rule);padding-bottom:24px;}
  nav.toc ol{columns:2;column-gap:24px;}
}
@media (max-width:560px){
  .head{padding:48px 0 30px;}
  nav.toc ol{columns:1;}
}
