:root { color-scheme: light; --ink:#222; --ink-2:#444; --cream:#fff; --paper:#fff; --sand:#f6f6f4; --terracotta:#222; --rule-strong:#ddd; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; padding:36px; background:#fff; color:#222; font-family:Georgia,'Times New Roman',serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration-thickness:1px; text-underline-offset:4px; }
a:hover { color:#666; }
a:focus-visible { outline:2px solid #222; outline-offset:5px; }
header { margin-bottom:64px; }
.brand { display:inline-flex; align-items:center; gap:16px; text-decoration:none; font-size:15px; }
.mark { font-size:42px; font-style:italic; line-height:1; }
main { max-width:760px; min-height:60vh; }
.intro { max-width:670px; }
h1, .intro p { font-size:25px; line-height:1.45; font-weight:normal; letter-spacing:-.5px; margin:0 0 30px; }
h2 { margin:42px 0 18px; font-size:27px; font-weight:normal; line-height:1.3; }
h3 { font-size:22px; font-weight:normal; }
p, li { font-size:19px; line-height:1.65; }
p { margin:0 0 22px; }
.contact { display:inline-block; font-size:25px; margin:4px 0 20px; }
.contact span { display:inline-block; margin-left:6px; font-family:Arial,sans-serif; font-size:20px; }
.details { margin:0 0 56px; }
.details p { font-family:Arial,sans-serif; font-size:13px; line-height:1.6; margin:5px 0; color:#555; }
.email-address { overflow-wrap:anywhere; user-select:all; }
footer { display:flex; flex-wrap:wrap; align-items:baseline; gap:16px 24px; margin-top:100px; font-family:Arial,sans-serif; font-size:12px; line-height:1.7; }
footer nav { display:flex; flex-wrap:wrap; gap:12px 20px; }
footer a { text-decoration:none; }
footer a:hover { text-decoration:underline; }
.skip-link { position:absolute; left:16px; top:-100px; background:white; padding:12px; }
.skip-link:focus { top:8px; }
.crumbs, .article-meta, .meta, .cat { font-family:Arial,sans-serif; font-size:13px; line-height:1.7; color:#555; }
.crumbs { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:28px; }
.article-meta { display:flex; flex-wrap:wrap; gap:8px 20px; margin:24px 0 40px; }
.article-toc { border-block:1px solid #ddd; padding:20px 0; margin:32px 0; }
.article-toc a { display:block; margin:10px 0; font-size:16px; }
.article-prose { max-width:700px; }
.article-prose h2 { scroll-margin-top:24px; }
blockquote, .callout, .takeaway, .letter { border-left:2px solid #ddd; padding:0 0 0 24px; margin:32px 0; }
blockquote p { font-size:21px; }
cite { font-size:16px; }
.ress-grid { display:grid; gap:32px; margin:32px 0; }
.ress-card { display:block; text-decoration:none; border-top:1px solid #ddd; padding-top:20px; }
.ress-card h3 { margin:8px 0; text-decoration:underline; text-underline-offset:4px; }
.closing { margin:64px 0 0; border-top:1px solid #ddd; padding-top:12px; }
table { border-collapse:collapse; max-width:100%; font-size:16px; }
th, td { padding:10px; border-bottom:1px solid #ddd; text-align:left; overflow-wrap:anywhere; }
img { max-width:100%; height:auto; }
@media (max-width:600px) { body { padding:24px; } header { margin-bottom:48px; } h1,.intro p { font-size:22px; } h2 { font-size:25px; } .contact { font-size:23px; } footer { margin-top:64px; flex-direction:column; } p,li { font-size:18px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
