:root{
  --paper:#EEEAE0;
  --paper-2:#E4DFD1;
  --ink:#1C2B3A;
  --ink-soft:#3E4E5C;
  --blueprint:#2E5A8A;
  --stamp:#8C2F1E;
  --gold:#B8863B;
  --line: rgba(28,43,58,0.16);
  --line-strong: rgba(28,43,58,0.32);
}
*{box-sizing:border-box; margin:0; padding:0;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'IBM Plex Sans', sans-serif;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{ color:var(--blueprint); }
.mono{ font-family:'IBM Plex Mono', monospace; letter-spacing:0.02em; }

header{
  border-bottom:1px solid var(--line);
  background:rgba(238,234,224,0.92);
  position:sticky; top:0; z-index:10;
}
.header-inner{
  max-width:820px; margin:0 auto; padding:16px 28px;
  display:flex; align-items:center; justify-content:space-between;
}
.back-link{
  font-size:13px; text-decoration:none; color:var(--ink-soft);
  text-transform:uppercase; letter-spacing:0.06em;
}
.back-link:hover{ color:var(--stamp); }
.doc-tag{ font-size:12px; text-transform:uppercase; letter-spacing:0.08em; color:var(--blueprint); }

main{ max-width:820px; margin:0 auto; padding:52px 28px 100px; }

.doc-title{
  font-family:'Fraunces', serif;
  font-weight:500;
  font-size:clamp(28px, 4vw, 40px);
  letter-spacing:-0.01em;
  margin-bottom:10px;
}
.doc-updated{ font-size:13px; color:var(--ink-soft); margin-bottom:28px; }

.draft-banner{
  border:1px solid var(--gold);
  background:rgba(184,134,59,0.08);
  padding:16px 18px;
  font-size:13.5px;
  color:var(--ink);
  margin-bottom:40px;
}
.draft-banner b{ color:var(--gold); }

.tbd{
  color:var(--gold);
  font-weight:600;
  background:rgba(184,134,59,0.12);
  padding:0 3px;
}

nav.toc{
  border:1px solid var(--line-strong);
  padding:20px 22px;
  margin-bottom:48px;
  font-size:14px;
}
nav.toc .toc-title{
  font-size:11px; text-transform:uppercase; letter-spacing:0.08em;
  color:var(--blueprint); margin-bottom:10px;
}
nav.toc ol{ list-style:none; counter-reset:toc; }
nav.toc li{ counter-increment:toc; margin-bottom:6px; }
nav.toc li::before{ content:counter(toc) ". "; color:var(--ink-soft); }
nav.toc a{ text-decoration:none; color:var(--ink); }
nav.toc a:hover{ color:var(--blueprint); }

article section{ margin-bottom:40px; scroll-margin-top:80px; }
article h2{
  font-family:'Fraunces', serif;
  font-weight:500;
  font-size:21px;
  color:var(--stamp);
  border-bottom:1px solid var(--line);
  padding-bottom:10px;
  margin-bottom:16px;
}
article h3{
  font-family:'Fraunces', serif;
  font-weight:500;
  font-size:16px;
  margin:18px 0 8px;
}
article p{ margin-bottom:12px; font-size:15px; }
article ul, article ol.legal-list{ margin:0 0 12px 22px; font-size:15px; }
article li{ margin-bottom:6px; }
article table{ width:100%; border-collapse:collapse; margin:16px 0; font-size:14px; }
article th, article td{ border:1px solid var(--line-strong); padding:8px 10px; text-align:left; vertical-align:top; }
article th{ background:var(--paper-2); font-weight:600; }

.legal-footer{
  border-top:1px solid var(--line);
  margin-top:60px;
  padding-top:24px;
  font-size:12.5px;
  color:var(--ink-soft);
  display:flex; flex-wrap:wrap; gap:18px;
}
.legal-footer a{ color:var(--ink-soft); }
