:root { color-scheme: light; color: #20352f; background: #f4f3ed; font-family: system-ui, sans-serif; }
* { box-sizing: border-box; }
body { margin: 0; }
.page { width: min(100% - 2.5rem, 46rem); margin: clamp(1.5rem, 6vh, 4rem) auto; }
.site-header { border-top: 3px solid #36564b; border-bottom: 1px solid #bdc6bc; padding: 1.25rem 0; }
.wordmark { display: inline-block; margin-right: 1rem; font: 600 1.3rem/1.4 Georgia, serif; text-decoration: none; }
.label { font-size: .72rem; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
nav { display: flex; gap: 1.4rem; margin-top: .8rem; font-size: .88rem; }
main { min-height: 42vh; padding: 1.4rem 0 2rem; }
h1 { font: 500 clamp(2.2rem, 6vw, 3.4rem)/1.12 Georgia, serif; letter-spacing: -.035em; }
h2 { margin-top: 1.8rem; font: 600 1.35rem/1.3 Georgia, serif; }
p, li { font-size: 1rem; line-height: 1.75; overflow-wrap: anywhere; }
.intro { font-size: 1.1rem; }
.post-meta { color: #4b6057; font-size: .83rem; }
.entry-card { margin-top: 2rem; padding: 1.4rem; border: 1px solid #b8c3b9; background: #fafaf6; }
.entry-card h2 { margin: .7rem 0; }
.entry-card p { margin-bottom: 0; }
.revision-note { padding: .8rem 1rem; border-left: 3px solid #36564b; background: #e7ece3; font-size: .9rem; }
a { color: #284f43; text-underline-offset: .2em; }
a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.footnotes { margin-top: 2rem; border-top: 1px solid #bdc6bc; }
.footnotes p { font-size: .88rem; }
footer { padding-top: 1rem; border-top: 1px solid #bdc6bc; color: #4b6057; font-size: .8rem; line-height: 1.8; }
footer p { font-size: .8rem; }
@media (max-width: 35rem) { .page { width: calc(100% - 2rem); } .label { display: block; margin-top: .5rem; } .entry-card { padding: 1rem; } }
