:root{--ink:#111418;--paper:#f4f5f2;--paper-2:#e9ece6;--rule:#cfd4cc;--muted:#5d6660;--accent:#14574f;--accent-2:#8a6d2f;--serif:"Libre Caslon Text","Iowan Old Style",Georgia,"Times New Roman",serif;--mono:"Archivo Narrow","Helvetica Neue",Arial,sans-serif;--max:1080px;--narrow:720px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-weight:400;font-size:1.0rem;line-height:1.65;}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--ink)}
.shell{max-width:var(--max);margin:0 auto;padding:0 1.25rem}.shell-narrow{max-width:var(--narrow);margin:0 auto;padding:0 1.25rem}
.mono{font-family:var(--mono);font-size:.82em;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.site-head{border-bottom:1px solid var(--rule);background:var(--paper)}
.site-head .shell{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.75rem 2rem;padding-top:1.1rem;padding-bottom:1.1rem}
.brand{font-weight:500;font-size:1.15rem;color:var(--ink);text-decoration:none;letter-spacing:.01em}
.brand-mark{display:inline-block;font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.14em;padding:.22rem .45rem;background:var(--ink);color:var(--paper);margin-right:.55rem;vertical-align:middle}
.site-head nav{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}.site-head nav a{color:var(--ink);text-decoration:none;font-family:var(--mono);font-size:.86rem;letter-spacing:.06em;text-transform:uppercase}.site-head nav a:hover{color:var(--accent)}
main{padding:2.5rem 0 4rem}
h1{font-weight:400;font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.12;margin:.4rem 0 1.4rem;4;letter-spacing:-.01em}
h2{font-weight:400;font-size:1.45rem;line-height:1.25;margin:2.4rem 0 .8rem}
h3{font-weight:500;font-size:1.15rem;margin:1.8rem 0 .5rem}
.eyebrow{font-family:var(--mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0}
.answer-block{border-left:3px solid var(--accent);background:#fff;padding:1.1rem 1.3rem 1.2rem;margin:0 0 2rem}
.answer-label{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0 0 .5rem}
.answer-text{font-size:1.15rem;font-weight:400;line-height:1.55;margin:0}
.article-body p,.article-body li{max-width:68ch}.article-body blockquote{margin:1.5rem 0;padding:0 0 0 1.25rem;border-left:2px solid var(--accent-2);font-style:italic}
.article-body table{border-collapse:collapse;width:100%;font-size:.95rem;margin:1.5rem 0;display:block;overflow-x:auto}.article-body th,.article-body td{text-align:left;vertical-align:top;padding:.55rem .7rem;border-bottom:1px solid var(--rule)}.article-body th{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500;color:var(--muted)}
.article-body sup a{font-family:var(--mono);font-size:.7rem;text-decoration:none;padding:0 .15rem}
.sources{margin-top:3rem;padding-top:1.2rem;border-top:1px solid var(--rule);font-size:.92rem}.sources h2{font-size:1.05rem;margin-top:0;font-family:var(--mono);font-weight:500;letter-spacing:.08em;text-transform:uppercase}.sources ol{padding-left:1.4rem}.sources li{margin:.45rem 0}.src-note{color:var(--muted)}
.faqs{margin-top:2.5rem}.faqs details{border-top:1px solid var(--rule);padding:.7rem 0}.faqs details:last-child{border-bottom:1px solid var(--rule)}.faqs summary{cursor:pointer;font-weight:500;font-size:1.02rem}.faqs details p{margin:.6rem 0 0;max-width:68ch}
.tool-cta{margin:3rem 0 0;padding:1.6rem;background:#fff;border:1px solid var(--rule)}.tool-cta h2{margin:.4rem 0 .6rem;font-size:1.35rem}.tool-cta p{max-width:60ch}
.button{display:inline-block;background:var(--ink);color:var(--paper);text-decoration:none;padding:.75rem 1.2rem;font-family:var(--mono);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;margin-top:.4rem}.button:hover{background:var(--accent);color:#fff}
.byline{margin-top:2.5rem;font-size:.92rem;color:var(--muted)}
.site-foot{border-top:1px solid var(--rule);padding:2rem 0 3rem;font-size:.88rem;color:var(--muted)}.foot-brand{color:var(--ink);font-weight:500}.site-foot p{max-width:78ch}
/* index & lists */
.hero{padding-top:1rem;padding-bottom:2.5rem;border-bottom:1px solid var(--rule);margin-bottom:2.5rem}.hero h1{max-width:20ch}.hero .lede{font-size:1.2rem;max-width:60ch;color:#2b3034}
.ledger{list-style:none;padding:0;margin:0}.ledger li{display:grid;grid-template-columns:7.5rem 1fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--rule)}.ledger li:last-child{border-bottom:1px solid var(--rule)}.ledger .when{font-family:var(--mono);font-size:.78rem;color:var(--muted);padding-top:.3rem}.ledger a{font-weight:500;text-decoration:none;color:var(--ink);font-size:1.1rem}.ledger a:hover{color:var(--accent)}.ledger p{margin:.25rem 0 0;color:var(--muted);max-width:62ch;font-size:.95rem}
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;margin:2rem 0}.pillar{border-top:3px solid var(--ink);padding:1.1rem 0 0;background:transparent}.pillar h2{margin:.3rem 0 .5rem;font-size:1.2rem}.pillar p{margin:0;font-size:.95rem;color:var(--muted)}.pillar a{text-decoration:none;color:var(--ink)}.pillar a:hover{color:var(--accent)}
.notice{font-family:var(--mono);font-size:.78rem;color:var(--muted);border-left:2px solid var(--accent-2);padding-left:.8rem;margin:1.5rem 0}
@media(max-width:640px){.ledger li{grid-template-columns:1fr;gap:.2rem}}
/* tools */
.tool-form fieldset{border:0;padding:0;margin:0 0 1.4rem}.tool-form legend{font-family:var(--mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}
.tool-form label{display:inline-block;margin:0 .9rem .5rem 0;cursor:pointer}.tool-form input[type=radio]{margin-right:.35rem;accent-color:var(--accent)}
.tool-out{margin-top:2.5rem;padding-top:1.5rem;border-top:2px solid var(--ink)}.tool-out h2{margin-top:.3rem}.tool-out ul,.tool-out ol{max-width:68ch}
.send-form{margin:2rem 0 0}.send-form label{display:block;font-size:.95rem;margin-bottom:.5rem}.send-row{display:flex;gap:.5rem;flex-wrap:wrap}.send-row input{flex:1 1 240px;padding:.7rem .8rem;border:1px solid var(--rule);background:#fff;font:inherit}
