:root{
  --paper:#F7F6F2;--sand:#F0ECE3;
  --ink:#1A1714;--ink-soft:#5C564C;--mute:#76746C;--faint:#9C9A92;
  --hair:rgba(26,23,20,.10);
  --accent:#B0573A;--accent-soft:rgba(176,87,58,.07);--accent-line:rgba(176,87,58,.22);
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--serif);font-weight:400;
  font-size:clamp(1.02rem,.3vw + .96rem,1.12rem);line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  background:radial-gradient(120% 40% at 50% 0%,var(--sand) 0%,var(--paper) 58%);
  min-height:100svh;
}
::selection{background:var(--accent);color:var(--paper)}
a{color:inherit;text-decoration:none}
b,strong{font-weight:500}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}

.sheet{max-width:46rem;margin:0 auto;
  padding:clamp(1.6rem,4vh,3rem) clamp(1.4rem,5vw,2rem) clamp(2.5rem,6vh,4rem)}

.topnav{display:flex;justify-content:space-between;align-items:baseline;
  margin-bottom:clamp(2.2rem,6vh,3.8rem)}
.brand-link{font-family:var(--serif);font-weight:500;font-size:1.35rem;
  letter-spacing:-0.02em}
.topnav-link{font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ink-soft);
  border-bottom:1px solid var(--accent-line);padding-bottom:3px;
  transition:color .18s ease,border-color .18s ease}
.topnav-link:hover{color:var(--accent);border-color:var(--accent)}

.doc-head{margin-bottom:clamp(2rem,5vh,3rem)}
.label{font-family:var(--mono);font-size:.66rem;font-weight:500;
  letter-spacing:.26em;text-transform:uppercase;color:var(--accent);margin:0 0 .9rem}
.doc-head h1{font-family:var(--serif);font-weight:400;
  font-size:clamp(2.1rem,6vw,3rem);line-height:1.08;letter-spacing:-0.016em;
  margin:0 0 .9rem}
.updated{font-family:var(--mono);font-size:.68rem;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:0}
.doc-head .intro{font-size:clamp(1.06rem,2vw,1.18rem);line-height:1.55;
  color:var(--ink-soft);margin:1.4rem 0 0}

.doc h2{font-family:var(--serif);font-weight:500;
  font-size:clamp(1.3rem,2.6vw,1.55rem);line-height:1.2;letter-spacing:-0.01em;
  margin:clamp(2.2rem,5vh,3rem) 0 .8rem;
  padding-top:clamp(1.6rem,3.6vh,2.2rem);border-top:1px solid var(--hair)}
.doc h2 .sn{font-family:var(--mono);font-size:.68rem;font-weight:500;
  color:var(--accent);letter-spacing:.08em;margin-right:.75rem;vertical-align:.18em}
.doc p{margin:0 0 1.1em;color:#2b2721}
.doc ul{margin:0 0 1.1em;padding-left:1.15rem}
.doc li{margin:.5em 0;color:#2b2721}
.doc li::marker{color:var(--accent)}
.doc em{font-style:italic}
.doc a{border-bottom:1px solid var(--accent-line);
  transition:color .18s ease,border-color .18s ease}
.doc a:hover{color:var(--accent);border-color:var(--accent)}

/* counsel placeholders — deliberately loud until resolved */
.todo{font-family:var(--mono);font-style:normal;font-size:.78em;
  letter-spacing:.02em;color:var(--accent);background:var(--accent-soft);
  border:1px dashed var(--accent-line);border-radius:6px;padding:.08em .45em}

.foot{display:flex;justify-content:space-between;align-items:baseline;
  flex-wrap:wrap;gap:.6rem 1.4rem;
  margin-top:clamp(3rem,8vh,4.5rem);
  font-family:var(--mono);font-size:.62rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--mute)}
.foot a{color:var(--ink-soft);transition:color .18s ease}
.foot a:hover{color:var(--accent)}
