:root{--ink:#1b1f24;--muted:#5b6672;--rule:#dfe3e8;--accent:#1f4e79;--bg:#fff;--soft:#f6f7f9}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 Georgia,'Iowan Old Style','Times New Roman',serif;-webkit-text-size-adjust:100%}
.wrap{max-width:46rem;margin:0 auto;padding:0 1.25rem}
header.site{border-bottom:2px solid var(--ink);margin-bottom:2rem}
header.site .wrap{padding-top:1.75rem;padding-bottom:1rem}
.wordmark{display:inline-block;font:700 1.75rem/1.1 Georgia,serif;letter-spacing:.01em;color:var(--ink);text-decoration:none}
.tagline{margin:.4rem 0 0;color:var(--muted);font-size:.95rem;font-style:italic}
nav.site{margin-top:1rem;font:.9rem/1 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
nav.site a{color:var(--accent);text-decoration:none;margin-right:1.25rem}
nav.site a:hover{text-decoration:underline}
h1{font-size:2rem;line-height:1.2;margin:0 0 .5rem}
h2{font-size:1.3rem;line-height:1.3;margin:2.25rem 0 .6rem}
h3{font-size:1.05rem;margin:1.75rem 0 .4rem}
p{margin:0 0 1.1rem}
a{color:var(--accent)}
.dek{color:var(--muted);font-size:1.05rem;margin-bottom:1.5rem}
.meta{color:var(--muted);font-size:.85rem;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;margin-bottom:2rem}
ul.index{list-style:none;padding:0;margin:0}
ul.index li{padding:1.1rem 0;border-bottom:1px solid var(--rule)}
ul.index li a{font-weight:700;text-decoration:none;font-size:1.1rem}
ul.index li a:hover{text-decoration:underline}
ul.index li p{margin:.3rem 0 0;color:var(--muted);font-size:.95rem}
blockquote{margin:1.5rem 0;padding:.25rem 0 .25rem 1.25rem;border-left:3px solid var(--rule);color:var(--muted)}
.box{background:var(--soft);padding:1.25rem 1.5rem;margin:2rem 0;font-size:.95rem}
.box h2,.box h3{margin-top:0}
footer.site{border-top:1px solid var(--rule);margin-top:3.5rem;padding:1.5rem 0 3rem;color:var(--muted);font-size:.85rem;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
footer.site a{color:var(--muted)}
/* homepage-blocks.mjs injects the partner module and the blogroll as bare <div>s
   immediately before </footer>, i.e. OUTSIDE the .wrap container. Constrain every
   direct child of the footer so an injected block lines up with the rest of the
   page instead of sitting flush against the viewport edge. */
footer.site>div{max-width:46rem;margin:0 auto;padding:0 1.25rem}
footer.site>div+div{margin-top:1.75rem}
footer.site h3{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem;font-weight:700}
footer.site ul{list-style:none;padding:0;margin:0}
footer.site ul li{display:inline-block;margin:0 1.25rem .35rem 0}
footer.site ul li a{color:var(--accent);text-decoration:none}
footer.site ul li a:hover{text-decoration:underline}
@media(max-width:36rem){body{font-size:16px}h1{font-size:1.6rem}}
