:root{
  --ink:#0a0a0a;
  --ink-3:#242424;
  --paper:#f3f3f1;
  --paper-2:#e8e8e5;
  --line:#d3d3cf;
  --muted:#55554f;
  --muted-dark:#a29e96;
  --stamp:#e0533f;
  --display:"Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --body:"Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --gutter:clamp(16px, 4vw, 56px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}
:focus-visible{outline:3px solid var(--stamp);outline-offset:3px;border-radius:4px}
::selection{background:var(--ink);color:var(--paper)}
.skip{position:absolute;left:-999px;top:8px;background:var(--paper);color:var(--ink);padding:10px 16px;z-index:100}
.skip:focus{left:8px}

.top{position:sticky;top:0;z-index:10;background:rgba(10,10,10,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--paper)}
.top .in{max-width:1080px;margin:0 auto;padding:0 var(--gutter);height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;min-height:44px}
.brand svg{width:26px;height:30px}
.brand span{display:flex;flex-direction:column;line-height:.95;font-family:var(--display);letter-spacing:-.03em}
.brand b{font-size:13px;font-weight:600}.brand strong{font-size:17px;font-weight:800}
.back{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--ink-3);border-radius:999px;font-size:14px;text-decoration:none;color:var(--paper);transition:background .25s,border-color .25s}
.back:hover{background:#1c1c1c;border-color:#3a3a3a}

.doc{max-width:1080px;margin:0 auto;padding:clamp(40px,7vw,88px) var(--gutter) 72px;display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}
.doc header{grid-column:1/-1}
.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
h1{font-family:var(--display);font-weight:800;letter-spacing:-.04em;line-height:.98;font-size:clamp(2.5rem,6vw,4.4rem);margin:0;text-wrap:balance}
.updated{margin:18px 0 0;color:var(--muted);font-size:15px}
.lead{margin:22px 0 0;max-width:62ch;font-size:clamp(1.05rem,1.6vw,1.2rem);color:#2b2b28}

.toc{position:sticky;top:104px;font-size:14px;line-height:1.45}
.toc p{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.toc a{display:block;padding:7px 0 7px 16px;text-decoration:none;color:var(--muted)}
.toc a:hover{color:var(--ink)}

.body section{padding:0 0 34px;margin:0 0 34px;border-bottom:1px solid var(--line)}
.body section:last-child{border-bottom:0;margin-bottom:0}
h2{font-family:var(--display);font-weight:700;letter-spacing:-.025em;line-height:1.15;font-size:clamp(1.4rem,2.4vw,1.75rem);margin:0 0 14px;text-wrap:balance}
h3{font-family:var(--display);font-weight:700;letter-spacing:-.015em;font-size:1.08rem;margin:22px 0 8px}
.body p{margin:0 0 14px;max-width:68ch}
.body ul,.body ol{margin:0 0 14px;padding-left:1.25em;max-width:68ch}
.body li{margin:0 0 8px}
.body li::marker{color:var(--muted)}
.note{background:var(--ink);color:var(--paper);border-radius:18px;padding:22px 24px;margin:0 0 18px;max-width:68ch}
.note p{margin:0;color:var(--paper)}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 22px;margin:0 0 16px;max-width:68ch}
.card p:last-child,.card ul:last-child,.card ol:last-child{margin-bottom:0}
dl{margin:0 0 14px;display:grid;grid-template-columns:max-content 1fr;gap:8px 20px;max-width:68ch}
dt{font-weight:600}dd{margin:0}

.foot{background:var(--ink);color:var(--muted-dark);font-size:13px}
.foot .in{max-width:1080px;margin:0 auto;padding:28px var(--gutter) 32px;display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;align-items:center}
.foot nav{display:flex;flex-wrap:wrap;gap:4px 20px}
.foot nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:var(--paper)}
.foot nav a:hover{text-decoration:underline}
.foot nav a[aria-current]{color:var(--muted-dark)}

@media (max-width:820px){
  .doc{grid-template-columns:1fr}
  .toc{position:static;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 20px}
  .toc ol{border:0;columns:1}
  .toc a{padding:9px 0;min-height:44px;display:flex;align-items:center}
  dl{grid-template-columns:1fr;gap:2px 0}
  dd{margin-bottom:10px}
  .back{padding:0 14px}
}
