:root{--ink:#26241f;--paper:#f6f4ee;--green:#1d5b40;--green-soft:#e7efe9;--rule:#d8d4c8;--muted:#6d685c}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 -apple-system,"Segoe UI",Helvetica,Arial,sans-serif}
.topline{height:6px;background:var(--green)}
header.site{max-width:880px;margin:0 auto;padding:26px 20px 10px;display:flex;flex-wrap:wrap;align-items:baseline;gap:14px 26px}
.wordmark{font-weight:700;font-size:21px;letter-spacing:.02em;color:var(--green);text-decoration:none}
.wordmark span{color:var(--ink);font-weight:400}
nav.main{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:15px}
nav.main a{color:var(--ink);text-decoration:none;border-bottom:2px solid transparent;padding-bottom:2px}
nav.main a:hover{border-color:var(--rule)}nav.main a.here{border-color:var(--green);color:var(--green)}
main{max-width:760px;margin:0 auto;padding:8px 20px 56px}
h1{font-size:34px;line-height:1.18;letter-spacing:-.015em;margin:26px 0 10px}
.deck{font-size:19px;color:var(--muted);margin:0 0 26px}
h2{font-size:21px;margin:38px 0 12px;display:inline-block;border-bottom:3px solid var(--green);padding-bottom:4px}
p{margin:0 0 16px}
a{color:var(--green)}
figure.lede{margin:24px 0}figure.lede img{width:100%;height:auto;border-radius:10px;display:block}
figure.video{margin:30px 0}
figure.video .frame{position:relative;padding-top:56.25%;border-radius:10px;overflow:hidden;background:#222}
figure.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
figcaption{font-size:14px;color:var(--muted);margin-top:8px}
aside.callout{background:var(--green-soft);border-left:4px solid var(--green);padding:14px 18px;margin:26px 0;border-radius:0 8px 8px 0;font-size:16px}
.source-note{margin-top:40px;padding-top:16px;border-top:1px dotted var(--rule);font-size:15px;color:var(--muted)}
.ledger{list-style:none;margin:30px 0;padding:0}
.ledger li{padding:16px 0;border-bottom:1px dotted var(--rule)}
.ledger a{font-weight:600;font-size:18px;text-decoration:none}
.ledger p{margin:4px 0 0;font-size:15px;color:var(--muted)}
footer.site{border-top:1px solid var(--rule);margin-top:20px}
footer.site .inner{max-width:760px;margin:0 auto;padding:26px 20px;font-size:14px;color:var(--muted)}
footer.site nav{display:flex;flex-wrap:wrap;gap:4px 16px;margin-bottom:10px}
footer.site a{color:var(--muted)}
@media(max-width:640px){h1{font-size:27px}header.site{padding-top:20px}.deck{font-size:17px}}
