:root{
  --paper:#f3f0e8;
  --paper-2:#e7e1d5;
  --ink:#111111;
  --muted:#5f5a52;
  --line:#171717;
  --thin:rgba(17,17,17,.18);
  --accent:#0f5b47;
  --accent-2:#d9efe4;
  --warn:#8c5b12;
  --max:1180px;
  --article:820px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    linear-gradient(rgba(17,17,17,.035) 1px, transparent 1px),
    linear-gradient(90deg,rgba(17,17,17,.028) 1px, transparent 1px),
    var(--paper);
  background-size:34px 34px;
  color:var(--ink);
  font:16px/1.58 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}
a:hover{text-decoration-style:wavy}
.wrap{max-width:var(--max);margin:0 auto;padding:20px clamp(16px,4vw,32px)}
.nav{
  min-height:62px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:center;
  border-bottom:2px solid var(--line);
  position:sticky;
  top:0;
  background:rgba(243,240,232,.92);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  z-index:10;
}
.nav .links{display:flex;gap:0;border-left:1px solid var(--line);border-right:1px solid var(--line);font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.nav .links a{padding:9px 12px;border-right:1px solid var(--line);text-decoration:none;color:var(--ink)}
.nav .links a:last-child{border-right:0}
.nav .links a:hover{background:var(--ink);color:var(--paper)}
.brand{font-weight:900;letter-spacing:-.05em;text-decoration:none;color:var(--ink);font-size:19px}
main.wrap{padding-top:0}
.dossier-hero{
  min-height:calc(100dvh - 62px);
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);
  gap:clamp(24px,4vw,56px);
  align-items:end;
  padding:clamp(42px,7vw,86px) 0 34px;
  border-bottom:2px solid var(--line);
}
.lab-label{
  display:inline-block;
  margin:0 0 22px;
  padding:6px 8px 5px;
  border:1px solid var(--line);
  background:var(--ink);
  color:var(--paper);
  font:700 12px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.dossier-copy h1{
  max-width:820px;
  margin:0;
  font-size:clamp(58px,10vw,132px);
  line-height:.86;
  letter-spacing:-.085em;
  text-wrap:balance;
}
.dossier-sub{
  max-width:650px;
  margin:26px 0 0;
  color:#37342f;
  font-size:clamp(18px,2.1vw,24px);
  line-height:1.35;
}
.evidence-ledger{
  border:2px solid var(--line);
  background:rgba(255,255,255,.28);
  box-shadow:8px 8px 0 var(--line);
}
.evidence-ledger div{display:grid;grid-template-columns:112px 1fr;border-bottom:1px solid var(--line);min-height:72px}
.evidence-ledger div:last-child{border-bottom:0}
.evidence-ledger span{
  border-right:1px solid var(--line);
  padding:14px;
  color:var(--muted);
  font:700 12px/1.25 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.evidence-ledger strong{padding:14px;font-size:20px;line-height:1.15;letter-spacing:-.035em}
.ledger-actions{grid-template-columns:1fr 1fr!important;min-height:auto!important}
.ledger-actions a{display:block;padding:15px 14px;text-align:center;text-decoration:none;font-weight:900;border-right:1px solid var(--line)}
.ledger-actions a:last-child{border-right:0}.ledger-actions a:hover{background:var(--accent);color:white}
.evidence-spread{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(260px,.64fr);
  gap:22px;
  padding:24px 0 80px;
  border-bottom:1px solid var(--line);
}
.evidence-spread figure{margin:0;border:2px solid var(--line);background:#fff;padding:10px;transform:translateY(-1px)}
.evidence-spread img{display:block;width:100%;filter:grayscale(.08) contrast(1.03)}
.spread-note{border-left:2px solid var(--line);padding:4px 0 0 22px;align-self:center}
.spread-note h2,.index-heading h2{font-size:clamp(34px,5vw,72px);line-height:.92;letter-spacing:-.075em;margin:0 0 16px;text-wrap:balance}
.spread-note p,.index-heading p{margin:0;color:var(--muted);font-size:18px;line-height:1.45;max-width:620px}
.dossier-index{padding:56px 0 74px;border-bottom:2px solid var(--line)}
.index-heading{display:grid;grid-template-columns:.75fr 1fr;gap:24px;align-items:end;margin-bottom:28px}
.dossier-list{border-top:2px solid var(--line)}
.dossier-link{
  display:grid;
  grid-template-columns:74px 1fr 150px;
  gap:18px;
  align-items:center;
  padding:20px 0;
  border-bottom:1px solid var(--line);
  color:var(--ink);
  text-decoration:none;
}
.dossier-link span{font:800 13px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--muted)}
.dossier-link strong{font-size:clamp(22px,3vw,40px);line-height:1;letter-spacing:-.055em;max-width:820px}
.dossier-link em{font-style:normal;font-weight:900;text-align:right;color:var(--accent)}
.dossier-link:hover{background:rgba(15,91,71,.08);padding-left:12px;padding-right:12px;text-decoration:none}
.method-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:2px solid var(--line);
  margin:24px 0 72px;
  background:var(--ink);
  color:var(--paper);
}
.method-strip a{padding:18px;text-align:center;font-weight:900;text-decoration:none;border-right:1px solid rgba(243,240,232,.45)}
.method-strip a:last-child{border-right:0}.method-strip a:hover{background:var(--paper);color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.card{border:1px solid var(--line);background:rgba(255,255,255,.34);padding:18px}.card h3{margin-top:0}.pill,.card-kicker{display:inline-block;border:1px solid var(--line);background:var(--ink);color:var(--paper);padding:5px 8px;font:700 12px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.06em}.muted{color:var(--muted)}
.warn{border-left:4px solid var(--warn);background:#fff1d2;padding:12px 14px;color:#4f3710}
.post{max-width:var(--article);padding-top:44px;padding-bottom:44px}.post h1{font-size:clamp(42px,5.8vw,70px);line-height:.96;letter-spacing:-.065em;margin:12px 0 28px}.post h2{margin-top:46px;font-size:clamp(30px,4vw,48px);line-height:1;letter-spacing:-.05em}.post h3{font-size:24px;line-height:1.16;margin-top:32px;letter-spacing:-.025em}.post p,.post li{color:#302d28}.post img{max-width:100%;border:2px solid var(--line);box-shadow:6px 6px 0 var(--line)}.post code{background:#e1dbce;padding:2px 5px;color:#111}.post pre{background:#111;color:#f6f4ef;padding:18px;overflow:auto;border:2px solid #111}.post pre code{background:transparent;color:inherit;padding:0}.post blockquote{border-left:4px solid var(--accent);margin:22px 0;padding:12px 18px;background:#e0efe7;color:#12382e}.footer{border-top:2px solid var(--line);margin-top:42px;color:var(--muted);font-size:14px;padding-bottom:34px}.status{color:var(--warn);font-weight:700}.table{overflow:auto}table{border-collapse:collapse;width:100%;margin:18px 0;background:rgba(255,255,255,.32)}td,th{border:1px solid var(--line);padding:10px;text-align:left}th{background:#ded7ca;color:var(--ink)}
@media (max-width:840px){.nav{position:static;display:block}.nav .links{margin-top:12px;overflow:auto}.dossier-hero{min-height:auto;grid-template-columns:1fr;align-items:start}.dossier-copy h1{font-size:clamp(56px,18vw,86px)}.evidence-ledger{box-shadow:5px 5px 0 var(--line)}.evidence-spread{grid-template-columns:1fr;padding-bottom:54px}.spread-note{border-left:0;border-top:2px solid var(--line);padding:18px 0 0}.index-heading{grid-template-columns:1fr}.dossier-link{grid-template-columns:46px 1fr}.dossier-link em{display:none}.method-strip{grid-template-columns:1fr}.method-strip a{border-right:0;border-bottom:1px solid rgba(243,240,232,.45)}.method-strip a:last-child{border-bottom:0}.wrap{padding-left:16px;padding-right:16px}}
@media (prefers-color-scheme:dark){:root{--paper:#111;--paper-2:#171717;--ink:#f1eee6;--muted:#aaa39a;--line:#f1eee6;--thin:rgba(241,238,230,.18);--accent:#8de1c1;--accent-2:#13261e}body{background:linear-gradient(rgba(241,238,230,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(241,238,230,.035) 1px,transparent 1px),#111}.nav{background:rgba(17,17,17,.92)}.dossier-sub,.post p,.post li{color:#d8d1c7}.evidence-ledger,.card{background:rgba(255,255,255,.04)}.evidence-spread figure{background:#1d1d1d}.method-strip{background:#f1eee6;color:#111}.method-strip a{border-color:rgba(17,17,17,.35)}.method-strip a:hover{background:#111;color:#f1eee6}.post code{background:#2a2a2a;color:#fff}th{background:#222}.warn{background:#31230c;color:#ffdca0}}

@media (prefers-reduced-motion:no-preference){
  .lab-label{animation:rise-in .55s cubic-bezier(.2,.8,.2,1) both}
  .dossier-copy h1{animation:rise-in .72s cubic-bezier(.16,1,.3,1) .06s both}
  .dossier-sub{animation:rise-in .72s cubic-bezier(.16,1,.3,1) .14s both}
  .evidence-ledger{animation:ledger-in .75s cubic-bezier(.16,1,.3,1) .18s both}
  .js .evidence-spread,.js .spread-note,.js .dossier-index,.js .dossier-link,.js .method-strip a,.js .evidence-ledger div{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--stagger,0) * 42ms)}
  .js .evidence-spread.is-visible,.js .spread-note.is-visible,.js .dossier-index.is-visible,.js .dossier-link.is-visible,.js .method-strip a.is-visible,.js .evidence-ledger div.is-visible{opacity:1;transform:translateY(0)}
  .evidence-spread figure{overflow:hidden}
  .evidence-spread img{transform:scale(1.04);transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
  .evidence-spread.is-visible img{transform:scale(1)}
  .dossier-link:hover strong{transform:translateX(8px)}
  .dossier-link strong{display:block;transition:transform .28s cubic-bezier(.16,1,.3,1)}
  @supports (animation-timeline:view()){
    .evidence-spread figure{animation:sheet-drift linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
    .spread-note{animation:note-drift linear both;animation-timeline:view();animation-range:entry 0% exit 80%}
  }
}
@keyframes rise-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes ledger-in{from{opacity:0;transform:translate(12px,18px)}to{opacity:1;transform:translate(0,0)}}
@keyframes sheet-drift{from{transform:translateY(18px)}to{transform:translateY(-18px)}}
@keyframes note-drift{from{transform:translateY(28px)}to{transform:translateY(-10px)}}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
