:root{--paper:#F4EEDC;--desk:#E2D9BF;--ink:#15201A;--green:#2E8B57;--deep:#1E5E3B;--rule:#C9BF9F;--mute:#5C6457}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--desk);color:var(--ink);font:400 17px/1.6 "Libre Caslon Text",Georgia,serif;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:-50%;z-index:0;pointer-events:none;opacity:.35;
  background-image:repeating-linear-gradient(0deg,transparent 0 3px,rgba(21,32,26,.035) 3px 4px),repeating-linear-gradient(90deg,transparent 0 3px,rgba(21,32,26,.025) 3px 4px);
  animation:drift 60s linear infinite}
@keyframes drift{to{transform:translate(64px,64px)}}
.desk{position:relative;z-index:1;padding:56px 20px 80px}
.sheet{max-width:920px;margin:0 auto;background:var(--paper);border:1px solid var(--rule);
  box-shadow:0 1px 0 #fff8 inset,6px 8px 0 rgba(21,32,26,.12);padding:0 72px 0 96px;position:relative}
.sheet::before{content:"";position:absolute;left:64px;top:0;bottom:0;border-left:2px solid rgba(46,139,87,.35)}
.mono,.formcode,.ticker,.kicker,.num,.step,.toc b,.ledger th,.ledger td:first-child,.calabel,.caval,.stubid span,figcaption,.line small,.ledger caption{font-family:"IBM Plex Mono",ui-monospace,monospace}
.formhead{padding-top:28px}
.formcode{display:flex;justify-content:space-between;gap:12px;font-size:11px;letter-spacing:.14em;color:var(--mute);border-bottom:1px solid var(--ink);padding-bottom:10px;margin:0 -24px 0 -32px}
.title{display:flex;align-items:center;gap:28px;padding:44px 0 18px}
.mark{width:112px;height:112px;border:2px solid var(--ink);background:var(--paper)}
.kicker{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--deep)}
h1{font-size:clamp(56px,10vw,104px);line-height:.92;letter-spacing:.02em;text-transform:uppercase;font-weight:700}
.ticker{font-size:15px;letter-spacing:.2em;color:var(--green);margin-top:6px}
.preamble{font-size:20px;line-height:1.55;max-width:680px;padding:12px 0 28px;border-bottom:3px double var(--ink)}
.preamble::first-letter{font-size:3.2em;float:left;line-height:.85;padding:6px 10px 0 0;color:var(--deep);font-weight:700}
.toc{display:flex;flex-wrap:wrap;gap:6px 22px;padding:16px 0 8px}
.toc a{color:var(--ink);text-decoration:none;font-size:15px;border-bottom:1px dotted var(--rule);transition:color .2s,border-color .2s}
.toc a:hover{color:var(--green);border-color:var(--green)}
.toc b{font-weight:500;color:var(--green);font-size:13px;margin-right:4px}
.plate{margin:28px 0 8px;border:2px solid var(--ink);background:#fff9;padding:10px}
.plate img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover}
figcaption{font-size:11.5px;letter-spacing:.08em;color:var(--mute);padding-top:8px}
.clause{padding:44px 0 36px;border-bottom:1px solid var(--rule);position:relative}
h2{font-size:30px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:22px}
.num{position:absolute;left:-88px;width:64px;text-align:right;color:var(--green);font-size:16px;font-weight:600;padding-top:10px}
.defs{display:grid;gap:0}
.defs div{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:12px 0;border-top:1px dotted var(--rule)}
.defs dt{font-weight:700;color:var(--deep)}
.steps{list-style:none;display:grid;gap:0}
.steps li{display:grid;grid-template-columns:52px 1fr;gap:16px;padding:16px 0;border-top:1px dotted var(--rule)}
.step{font-size:14px;color:var(--green);padding-top:4px;font-weight:600}
.steps h3{font-size:19px;text-transform:uppercase;letter-spacing:.06em}
.steps p{color:#2b3530}
.formula{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin:28px 0;padding:26px 16px;border:2px solid var(--ink);background:repeating-linear-gradient(0deg,transparent 0 27px,rgba(46,139,87,.12) 27px 28px);font-size:22px}
.term{font-weight:700}
.op{color:var(--green);font-family:"IBM Plex Mono",monospace}
.frac{display:inline-flex;flex-direction:column;text-align:center;font-style:italic}
.frac span:first-child{border-bottom:2px solid var(--ink);padding:0 6px 2px}
.frac span:last-child{padding-top:2px}
.ledger{width:100%;border-collapse:collapse;font-size:15.5px}
.ledger caption{text-align:left;font-size:11.5px;letter-spacing:.08em;color:var(--mute);padding-bottom:8px}
.ledger th{text-align:left;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;border-bottom:1px solid var(--ink);padding:6px 8px}
.ledger td{padding:10px 8px;border-bottom:1px dotted var(--rule)}
.ledger td:first-child{color:var(--green);width:56px}
.ledger .total td{border-top:1px solid var(--ink);border-bottom:3px double var(--ink);font-weight:700}
.reps{padding-left:22px;display:grid;gap:10px}
.reps li::marker{font-family:"IBM Plex Mono",monospace;color:var(--green);font-size:.85em}
.execution p{font-style:italic}
.sign{position:relative;display:grid;grid-template-columns:2fr 1fr;gap:32px;padding:56px 0 24px;align-items:end}
.line{border-bottom:1px solid var(--ink);display:flex;flex-direction:column}
.line .sig{height:40px}
.line small{order:2;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);transform:translateY(22px)}
.seal{position:absolute;right:-10px;top:-6px;width:150px;height:150px;border-radius:50%;mix-blend-mode:multiply;opacity:0;transform:rotate(-14deg) scale(1.6);transition:opacity .35s ease,transform .45s cubic-bezier(.2,1.4,.4,1)}
.execution.in .seal{opacity:.92;transform:rotate(-14deg) scale(1);transition-delay:.35s}
.stub{margin:0 -72px 0 -96px;padding:0 32px 28px;position:relative;z-index:1;background:var(--paper)}
.perf{height:22px;margin:0 -32px 22px;background:radial-gradient(circle at 50% 50%,var(--desk) 5px,transparent 6px) 0 50%/18px 18px repeat-x;border-top:2px dashed var(--rule)}
.stubrow{display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:space-between}
.stubid{display:flex;align-items:center;gap:12px}
.stubid img{border:2px solid var(--ink)}
.stubid b{display:block;text-transform:uppercase;letter-spacing:.1em}
.stubid span{font-size:11px;color:var(--mute);letter-spacing:.08em}
.ca{display:flex;align-items:center;gap:10px;border:1px solid var(--ink);padding:8px 12px;min-width:260px;background:#fffdf5}
.calabel{font-size:11px;font-weight:600;letter-spacing:.14em;color:#fff;background:var(--deep);padding:2px 7px}
.caval{font-size:13px;flex:1;min-height:1em;word-break:break-all;border-bottom:1px dotted var(--rule);min-width:120px}
.cacopy{font:500 11px "IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase;background:var(--paper);border:1px solid var(--ink);padding:4px 10px;cursor:pointer;transition:background .15s,transform .1s}
.cacopy:hover{background:#e6f0e3}.cacopy:active{transform:translateY(1px)}.cacopy.done{background:var(--green);color:#fff}
.caexp{color:var(--deep);display:flex}
.icons{display:flex;gap:10px}
.icons a{width:40px;height:40px;display:grid;place-items:center;border:2px solid var(--ink);color:var(--ink);background:var(--paper);transition:background .15s,color .15s,transform .15s}
.icons a svg{width:18px;height:18px}
.icons a:hover{background:var(--green);color:var(--paper);transform:translate(-2px,-2px);box-shadow:2px 2px 0 var(--ink)}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media (max-width:720px){
  body{font-size:16px}
  .desk{padding:18px 10px 40px}
  .sheet{padding:0 20px 0 40px}
  .sheet::before{left:26px}
  .formcode{margin:0 -8px 0 -28px;font-size:9.5px;letter-spacing:.08em}
  .formcode span:nth-child(2){display:none}
  .title{gap:16px;padding-top:28px}.mark{width:72px;height:72px}
  h1{font-size:44px}
  .preamble{font-size:17px}
  .num{left:-44px;width:34px;font-size:12px}
  h2{font-size:23px}
  .defs div{grid-template-columns:1fr;gap:2px}
  .formula{font-size:17px;gap:10px}
  .sign{grid-template-columns:1fr;gap:44px}
  .seal{width:96px;height:96px;right:0;top:-10px;bottom:auto}
  .sign{padding-top:80px}
  .stub{margin:0 -20px 0 -40px;padding:0 16px 22px}
  .ca{min-width:0;width:100%}
}
@media (prefers-reduced-motion:reduce){*,*::before{animation:none!important;transition:none!important}.reveal,.seal{opacity:1!important;transform:none!important}.seal{transform:rotate(-14deg)!important}}
[hidden]{display:none!important}
.line1{font-style:italic;font-size:17px;color:var(--deep);margin-top:6px}
@media (max-width:720px){.line1{font-size:14px}}
