:root{
--paper:#f6f0e1;--paper2:#efe7d1;--card:#fbf8ee;--ink:#14130f;--ink2:#4a463b;--mute:#7a7463;--rule:#14130f;--hair:#cfc6ac;
--green:#0b7a45;--green-b:#2fd27a;--green-t:#e1f0da;
--serif:"Newsreader",Georgia,"Times New Roman",serif;--mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
--w:1200px;
}
*{box-sizing:border-box;border-radius:0!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:18px;line-height:1.6;font-optical-sizing:auto;
background-image:radial-gradient(rgba(20,19,15,.035) 1px,transparent 1px);background-size:4px 4px}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.wrap{max-width:var(--w);margin:0 auto;padding-left:20px;padding-right:20px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:var(--ink);color:#fff;padding:8px;z-index:9}
h1,h2,h3{font-family:var(--serif);line-height:1.08;margin:0;font-weight:800;letter-spacing:-.02em}
.kicker{font:600 12px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--green);margin:0 0 14px;display:flex;align-items:center;gap:8px}
.kicker a{text-decoration:none}
.dot{width:9px;height:9px;background:var(--green-b);display:inline-block;outline:2px solid var(--ink)}
.lede{font-size:21px;line-height:1.5;color:var(--ink2);margin:18px 0 0;max-width:40em}
.meta{font-size:12.5px;color:var(--mute);margin:18px 0 0;display:flex;gap:18px;flex-wrap:wrap}
.sm{font-size:12px;color:var(--mute)}
.btn{display:inline-block;background:var(--ink);color:var(--paper);font:600 13px var(--mono);text-transform:uppercase;letter-spacing:.06em;padding:14px 20px;text-decoration:none;border:2px solid var(--ink);box-shadow:4px 4px 0 var(--green-b);transition:transform .12s,box-shadow .12s}
.btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--green-b)}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:none}.btn.ghost:hover{background:var(--ink);color:var(--paper);transform:none}
.sec-h{display:flex;align-items:baseline;gap:16px;margin:0 0 22px}
.sec-h h2{font-size:30px;white-space:normal}
.sec-h .rule{flex:1;border-top:3px double var(--ink);align-self:center;min-width:20px}

/* masthead */
.strip{background:var(--ink);color:var(--paper);font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.strip-in{display:flex;justify-content:space-between;gap:16px;padding-top:7px;padding-bottom:7px}
.strip-mid{color:var(--green-b)}
.mast-in{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:22px;padding-bottom:16px}
.brand img{width:264px;height:auto}
.mast-note{margin:0;text-align:right;font:italic 400 15px/1.35 var(--serif);color:var(--ink2)}
.sections{border-top:3px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--paper)}
.sections-in{display:grid;grid-template-columns:repeat(6,1fr)}
.sections a{font:600 11.5px/1 var(--mono);text-decoration:none;padding:13px 10px 13px 10px;text-transform:uppercase;letter-spacing:.02em;border-left:1px solid var(--hair);display:flex;gap:7px;line-height:1.25}
.sections a:first-child{border-left:0;padding-left:0}
.sections a .n{color:var(--green)}
.sections a:hover,.sections a[aria-current]{background:none;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:8px;text-decoration-color:var(--green-b)}
.mast-about{font:600 12px var(--mono);text-transform:uppercase;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--green-b);text-decoration-thickness:3px}

/* hero */
.hero{border-bottom:1px solid var(--ink)}
.hero-in{display:grid;grid-template-columns:1fr;gap:36px;padding-top:44px;padding-bottom:52px}
.hero h1{font-size:clamp(42px,8.5vw,84px);letter-spacing:-.035em;font-weight:800}
.hero h1 em{font-style:italic;font-weight:400;background:linear-gradient(transparent 62%,var(--green-b) 62% 92%,transparent 92%);padding:0 4px}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.fine{font:400 12.5px/1.5 var(--mono);color:var(--mute);margin:22px 0 0;max-width:38em}
.ladder{margin:0;background:var(--card);border:2px solid var(--ink);box-shadow:8px 8px 0 var(--ink);padding:0;position:relative}
.ladder-h{display:flex;justify-content:space-between;background:var(--ink);color:var(--paper);font:600 12px var(--mono);text-transform:uppercase;letter-spacing:.1em;padding:10px 16px}
.ladder-h .mono{color:var(--green-b)}
.rungs{list-style:none;margin:0;padding:18px 16px 6px;counter-reset:x}
.rungs li{display:grid;grid-template-columns:150px 1fr 62px;align-items:center;gap:10px;padding:13px 0;border-bottom:1px dashed var(--hair);font-size:16px}
.rungs .rl b{font:700 11px var(--mono);color:var(--green);margin-right:6px}
.rungs .bar{display:block;height:28px;width:calc(var(--i)/7*100%);margin-left:0;background:repeating-linear-gradient(135deg,var(--ink) 0 2px,transparent 2px 6px);border:2px solid var(--ink);position:relative}
.rungs .sub .bar{background:var(--green-t)}
.rungs .rv{font-size:12px;text-align:right;white-space:nowrap}
.rungs .total{border-bottom:0;border-top:3px double var(--ink);margin-top:6px;padding-top:13px;font-weight:800}
.rungs .total .bar{background:var(--green-b);box-shadow:3px 3px 0 var(--ink)}
.ladder-f{margin:0;padding:10px 16px 16px;font:italic 400 15px/1.4 var(--serif);color:var(--ink2)}
.rungs li{position:relative}

.formula{background:var(--green-t);border-bottom:1px solid var(--ink)}
.formula-in{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding-top:16px;padding-bottom:16px}
.f-t{font:700 11px var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--green);margin-right:8px}
.f-i{font-size:14px;background:var(--card);border:2px solid var(--ink);padding:4px 10px}
.f-i.res{background:var(--ink);color:var(--green-b)}
.op{font:700 18px var(--mono)}

/* lead */
.lead-sec,.ledgers,.all-sec{padding-top:56px}
.lead-grid{display:grid;gap:32px}
.lead h3{font-size:clamp(28px,4vw,42px);margin:0}
.lead h3 a{text-decoration:none}.lead h3 a:hover{text-decoration:underline;text-decoration-color:var(--green-b);text-decoration-thickness:4px}
.dek{color:var(--ink2);margin:14px 0 0}
.lead-img,.lr-thumb,.cat-art{display:block;position:relative;aspect-ratio:3/2;overflow:hidden;border:2px solid var(--ink);margin-bottom:20px;background:
repeating-linear-gradient(0deg,transparent 0 23px,rgba(20,19,15,.12) 23px 24px),var(--paper2)}
.lead-img img,.lr-thumb img,.cat-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:sepia(.25) contrast(1.02)}
.ph{position:absolute;inset:0;display:grid;place-items:center;color:var(--ink);opacity:.45}.ph svg{width:32%}
.ph.big svg{width:30%}
.receipts{display:grid;gap:18px;align-content:start}
.receipt-card{display:flex;flex-direction:column;gap:8px;background:var(--card);border:1.5px solid var(--ink);padding:16px 18px 26px;text-decoration:none;position:relative;transition:transform .12s;
background-image:linear-gradient(var(--card),var(--card))}
.receipt-card::after{content:"";position:absolute;left:-1.5px;right:-1.5px;bottom:-9px;height:9px;background:conic-gradient(from -45deg at bottom,transparent 90deg,var(--ink) 0) 0 0/14px 9px,
conic-gradient(from -45deg at bottom,transparent 90deg,var(--card) 0) 0 -1.5px/14px 9px;}
.receipt-card::after{background:linear-gradient(135deg,var(--card) 50%,transparent 50%) 0 0/14px 9px,linear-gradient(225deg,var(--card) 50%,transparent 50%) 0 0/14px 9px;background-repeat:repeat-x;filter:drop-shadow(0 1px 0 var(--ink))}
.receipt-card{margin-bottom:10px}
.receipt-card:hover{transform:translateY(-3px)}.receipt-card:hover .rc-title{text-decoration:underline;text-decoration-color:var(--green-b);text-decoration-thickness:3px}
.rc-top{display:flex;justify-content:space-between;font-size:11.5px;color:var(--mute);text-transform:uppercase;letter-spacing:.08em}
.rc-cat{font:600 11.5px var(--mono);color:var(--green);text-transform:uppercase;letter-spacing:.06em}
.rc-title{font-weight:600;font-size:19px;line-height:1.25;letter-spacing:-.01em}
.rc-dots{border-top:2px dotted var(--ink);margin-top:4px}
.rc-foot{display:flex;justify-content:space-between;font-size:12px;text-transform:uppercase}

/* ledger list */
.ledger-list{list-style:none;margin:0;padding:0;border-top:3px solid var(--ink)}
.ledger-row{display:grid;grid-template-columns:44px 1fr;grid-template-areas:"n body" "n c";gap:6px 12px;padding:22px 0;border-bottom:1px solid var(--ink);text-decoration:none;position:relative}
.ledger-row:hover{background:var(--paper2)}
.lr-n{grid-area:n;font-size:32px;font-weight:700;color:var(--green);line-height:1;letter-spacing:-.04em}
.lr-body{grid-area:body;display:block}
.lr-name{display:block;font-weight:800;font-size:28px;letter-spacing:-.02em;line-height:1.1}
.lr-desc{display:block;color:var(--ink2);margin-top:6px;font-size:17px}
.lr-thumb{display:none;margin:0;grid-area:t}
.lr-c{grid-area:c;font-size:34px;font-weight:700;line-height:1}.lr-c small{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--mute);margin-left:8px;font-weight:400}
.entries{list-style:none;margin:0;padding:0;columns:1;border-top:1px solid var(--ink)}
.entries a{display:grid;grid-template-columns:34px 1fr;gap:2px 10px;padding:13px 0;border-bottom:1px dotted var(--ink);text-decoration:none;break-inside:avoid}
.entries a:hover .e-t{text-decoration:underline;text-decoration-color:var(--green-b);text-decoration-thickness:3px}
.e-n{font-size:12px;color:var(--green);padding-top:5px}.e-t{font-weight:600;line-height:1.3}.e-c{grid-column:2;font-size:11px;color:var(--mute);text-transform:uppercase}

/* category */
.cat-head{border-bottom:1px solid var(--ink);background:var(--paper2)}
.cat-head-in{display:grid;gap:26px;padding-top:30px;padding-bottom:40px}
.cat-head h1{font-size:clamp(38px,7vw,68px);letter-spacing:-.03em}
.crumb{font:500 12px var(--mono);color:var(--mute);margin-bottom:26px;text-transform:uppercase;letter-spacing:.05em;display:flex;flex-wrap:wrap;gap:6px}
.crumb a{text-decoration:none;color:var(--ink)}.crumb a:hover{text-decoration:underline}
.cat-art{margin:0}
.cat-list{padding-top:32px;padding-bottom:30px}
.tbl-h{display:none}
.tbl{list-style:none;margin:0;padding:0;border-top:3px solid var(--ink)}
.tbl a{display:grid;grid-template-columns:38px 1fr;gap:4px 10px;padding:20px 0;border-bottom:1px solid var(--ink);text-decoration:none}
.tbl a:hover{background:var(--paper2)}
.t-n{font-size:22px;font-weight:700;color:var(--green)}
.t-title{display:block;font-weight:800;font-size:22px;line-height:1.2;letter-spacing:-.015em}
.t-dek{display:block;color:var(--ink2);font-size:16px;margin-top:6px}
.t-r,.t-d{font-size:12px;color:var(--mute);grid-column:2}
.t-r{margin-top:2px}
.other{margin-top:48px;padding-top:22px;border-top:3px double var(--ink)}
.other h2{font-size:20px;margin-bottom:14px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips a{font:600 12.5px var(--mono);border:1.5px solid var(--ink);padding:8px 12px;text-decoration:none;background:var(--card)}.chips a:hover{background:var(--ink);color:var(--paper)}

/* article */
.art-head{padding:30px 0 34px;border-bottom:3px double var(--ink)}
.art-head h1{font-size:clamp(34px,5.6vw,60px);max-width:19em;letter-spacing:-.03em}
.art-head .crumb .cur{color:var(--ink)}
.art-grid{display:grid;gap:30px;padding-top:32px;padding-bottom:20px}
.art-side{order:2}
.receipt{background:var(--card);border:1.5px solid var(--ink);padding:16px 18px 20px;font-family:var(--mono);font-size:12.5px;position:relative}
.r-head{margin:0 0 12px;text-align:center;font-weight:700;text-transform:uppercase;letter-spacing:.16em;border-bottom:2px dashed var(--ink);padding-bottom:10px}
.r-lines{list-style:none;margin:0;padding:0}
.r-lines li{display:flex;align-items:baseline;gap:6px;padding:4px 0}
.r-lines i{flex:1;border-bottom:1.5px dotted var(--ink);min-width:12px;transform:translateY(-3px)}
.r-lines b{font-weight:600;text-align:right}
.r-foot{margin:12px 0 0;text-align:center;color:var(--mute);border-top:2px dashed var(--ink);padding-top:10px;font-size:11.5px}
.side-nav{margin-top:26px;display:flex;flex-direction:column}
.side-h{font:700 11px var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--green);margin:0 0 8px}
.side-nav a{text-decoration:none;font-size:15.5px;padding:8px 0;border-top:1px solid var(--hair);display:flex;gap:10px;line-height:1.25}
.side-nav a .mono{font-size:11px;color:var(--mute);padding-top:3px}
.side-nav a[aria-current]{font-weight:800;box-shadow:inset 4px 0 var(--green-b);padding-left:10px}
.side-nav a:hover{text-decoration:underline}
.tldr{background:var(--green-t);border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink);padding:20px 22px 22px;margin:0 6px 40px 0;position:relative}
.tldr p{margin:0;font-size:20px;line-height:1.5;font-weight:500}
.tldr .tldr-h{font:700 11.5px var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--green);margin-bottom:8px}
.prose{max-width:41em}
.art-main{min-width:0}
.prose p{margin:0 0 1.15em}
.prose>p:first-child::first-letter{font-weight:800;font-size:3.6em;float:left;line-height:.85;padding:6px 10px 0 0;color:var(--ink)}
.prose h2{font-size:clamp(26px,3.4vw,34px);margin:2.1em 0 .6em;padding-top:.55em;border-top:3px double var(--ink)}
.prose h3{font-size:22px;margin:1.7em 0 .5em;letter-spacing:-.01em}
.prose h3::before{content:"\00a7";font-family:var(--mono);color:var(--green);margin-right:8px;font-weight:700}
.prose a{color:var(--green);text-decoration-thickness:2px;text-underline-offset:3px;font-weight:600}.prose a:hover{background:var(--green-t)}
.prose ul,.prose ol{padding-left:0;list-style:none;margin:0 0 1.3em}
.prose li{position:relative;padding:8px 0 8px 30px;border-bottom:1px dotted var(--hair)}
.prose ul>li::before{content:"";position:absolute;left:4px;top:1.05em;width:10px;height:10px;background:var(--green-b);border:2px solid var(--ink)}
.prose ol{counter-reset:o}.prose ol>li{counter-increment:o}.prose ol>li::before{content:counter(o,decimal-leading-zero);position:absolute;left:0;top:10px;font:700 12px/1.9 var(--mono);color:var(--green)}
.prose ol>li{padding-left:36px}
.prose blockquote{margin:1.6em 0;padding:16px 22px;border-left:6px solid var(--green-b);background:var(--paper2);font-style:italic;font-size:1.06em}
.prose blockquote p:last-child{margin:0}
.prose strong{font-weight:700;background:linear-gradient(transparent 70%,rgba(47,210,122,.35) 70%)}
.prose table{border-collapse:collapse;width:100%;margin:1.6em 0;font-size:15.5px;background:var(--card);border:2px solid var(--ink);display:block;overflow-x:auto;max-width:100%}
.prose thead th{background:var(--ink);color:var(--paper);font:600 11.5px var(--mono);text-transform:uppercase;letter-spacing:.06em;text-align:left;padding:10px 12px;white-space:nowrap}
.prose td,.prose th{padding:10px 12px;border-bottom:1px solid var(--hair);vertical-align:top;text-align:left}
.prose tbody tr:nth-child(even){background:var(--paper)}
.prose tbody td:first-child,.prose tbody th{font-weight:600}
.prose td{font-variant-numeric:tabular-nums}
.prose tbody tr:last-child td{border-bottom:0}
.prose hr{border:0;border-top:3px double var(--ink);margin:2em 0}
.prose code{font-family:var(--mono);font-size:.88em;background:var(--paper2);padding:1px 5px}
.faq{margin-top:50px;max-width:41em}
.q{border-top:1px solid var(--ink);padding:18px 0}
.q h3{font-size:21px;letter-spacing:-.01em;display:flex;gap:12px}
.q h3 .mono{font-size:13px;color:var(--paper);background:var(--ink);padding:3px 7px;align-self:flex-start;margin-top:3px}
.q p{margin:10px 0 0 0;color:var(--ink2)}
.related{padding-top:50px}
.rel-grid{display:grid;gap:20px}
.art .other{max-width:var(--w);margin:56px auto 0;padding:22px 20px 50px}

/* about/404 */
.about{padding-top:48px;padding-bottom:60px}
.about h1,.nf h1{font-size:clamp(36px,6vw,64px);max-width:16em;margin-bottom:30px}
.about-grid{display:grid;gap:34px}
.nf{padding-top:70px;padding-bottom:90px}.plain-list{font:600 15px var(--mono);line-height:2;padding-left:18px}

/* footer */
.foot{margin-top:70px;background:var(--ink);color:var(--paper);padding:48px 0 22px;border-top:6px solid var(--green-b)}
.foot-grid{display:grid;gap:30px}
.foot img{filter:invert(1) hue-rotate(180deg)}
.foot-h{font:700 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--green-b);margin:0 0 12px}
.foot ul{list-style:none;margin:0;padding:0}.foot li{padding:5px 0}.foot a{text-decoration:none}.foot a:hover{text-decoration:underline;color:var(--green-b)}
.foot-p{font-size:15px;line-height:1.55;color:#cfc8b2;margin:14px 0 0}
.foot-end{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:36px 0 0;padding-top:16px;border-top:1px solid #4a463b;font:400 11.5px var(--mono);color:#a59e88}

@media(max-width:700px){
.strip-mid,.mast-note{display:none}
.brand img{width:220px}
.sections-in{display:flex;overflow-x:auto;scrollbar-width:none}.sections a{white-space:nowrap;flex:none}
.rungs li{grid-template-columns:118px 1fr 52px;font-size:14.5px}.rungs .rl b{display:none}
.art-side{order:3}
.sec-h h2{font-size:24px}
}
@media(min-width:900px){
body{font-size:19px}
.wrap{padding-left:32px;padding-right:32px}
.hero-in{grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;padding-top:64px;padding-bottom:72px}
.lead-grid{grid-template-columns:1.45fr 1fr;gap:48px}
.receipts{grid-template-columns:1fr}
.ledger-row{grid-template-columns:70px 1fr 240px 130px;grid-template-areas:"n body t c";align-items:center;gap:0 28px;padding:26px 0}
.lr-thumb{display:block;margin:0}
.lr-n{font-size:44px}.lr-c{font-size:44px;text-align:right}.lr-c small{display:block;margin:4px 0 0}
.lr-name{font-size:32px}
.entries{columns:2;column-gap:48px}
.cat-head-in{grid-template-columns:1.25fr 1fr;align-items:center;gap:56px}
.tbl-h{display:grid;grid-template-columns:60px 1fr 90px 120px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--mute);padding:0 0 8px}
.tbl a{grid-template-columns:60px 1fr 90px 120px;gap:0;align-items:baseline}
.t-r,.t-d{grid-column:auto;margin:0}.t-n{font-size:26px}.t-title{font-size:26px}
.art-grid{grid-template-columns:250px minmax(0,1fr);gap:64px}
.art-side{order:0;position:sticky;top:20px;align-self:start}
.rel-grid{grid-template-columns:repeat(4,1fr)}
.about-grid{grid-template-columns:1.4fr 1fr;gap:70px}
.foot-grid{grid-template-columns:1.3fr 1fr 1.3fr;gap:60px}
}
@media(min-width:1200px){.rungs li{grid-template-columns:170px 1fr 70px}}
@media print{.strip,.sections,.foot,.art-side{display:none}}

.t-main{padding-right:28px}
@media(max-width:700px){.tldr p{font-size:18px}.tldr{padding:16px}}
.cat-art .ph svg{display:none}
.cat-art::before{content:"";position:absolute;inset:14% 12%;background:repeating-linear-gradient(0deg,transparent 0 27px,var(--ink) 27px 29px),linear-gradient(90deg,transparent 0 62%,var(--green-b) 62% 64%,transparent 64%);opacity:.5}
.cat-art img{z-index:1}
.about-grid .receipt{align-self:start}
