:root{
  --bg:#f6f1e7; --paper:#fbf8f1; --ink:#1d1a16; --muted:#6f675b; --line:#ddd3c0;
  --accent:#8a2a1c; --accent-ink:#fff; --gold:#b8892f;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--bg:#14120f;--paper:#1b1814;--ink:#ece5d8;--muted:#a1978a;--line:#332d25;--accent:#e0705c;--accent-ink:#14120f;--gold:#d3a54a}
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--serif);font-size:19px;line-height:1.65}
a{color:var(--accent)}
.wrap{max-width:720px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--paper);padding:8px 12px;z-index:9}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}

.top{border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:5}
.top-in{display:flex;justify-content:space-between;align-items:center;gap:16px;max-width:960px;height:60px}
.brand{font-size:21px;font-weight:600;text-decoration:none;color:var(--ink);white-space:nowrap}
.brand i{font-weight:400;color:var(--gold)}
.brand-mark{color:var(--gold);margin-right:2px}
.nav{display:flex;align-items:center;gap:20px;font-family:var(--sans);font-size:15px}
.nav a{color:var(--muted);text-decoration:none}.nav a:hover{color:var(--ink)}
.nav .btn{color:var(--accent-ink)}
@media(max-width:640px){.nav a:not(.btn){display:none}.brand{font-size:18px}}

.btn{display:inline-block;background:var(--accent);color:var(--accent-ink);border:0;border-radius:999px;padding:12px 24px;font:600 16px var(--sans);cursor:pointer;text-decoration:none}
.btn:hover{filter:brightness(1.1)}.btn[disabled]{opacity:.6;cursor:wait}
.btn-small{padding:8px 16px;font-size:14px}

.hero{border-bottom:1px solid var(--line);background:radial-gradient(900px 300px at 50% -80px,rgba(184,137,47,.18),transparent)}
.hero-in{max-width:760px;padding:72px 20px 64px;text-align:center}
.kicker{font:600 13px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 18px}
.hero h1{font-size:clamp(44px,9vw,84px);line-height:1;margin:0 0 24px;font-weight:600;letter-spacing:-.01em}
.hero h1 i{font-weight:400;color:var(--gold)}
.lead{font-size:22px;color:var(--muted);margin:0 auto 32px;max-width:36em}
.hero-sub{max-width:520px;margin:0 auto}

.sub-label{display:block;font:600 14px var(--sans);color:var(--muted);margin-bottom:8px;text-align:left}
.sub-row{display:flex;gap:8px;flex-wrap:wrap}
.sub input[type=email]{flex:1 1 220px;min-width:0;padding:12px 16px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:16px var(--sans)}
.sub input:focus,.cform input:focus,.cform textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
.sub-msg,.cmsg{font:15px var(--sans);margin:10px 0 0;min-height:1.4em;text-align:left}
.ok{color:#2f7a3f}.err{color:var(--accent)}

.section-title{font:600 13px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:56px 0 8px}
.list .card{padding:28px 0;border-bottom:1px solid var(--line)}
.card h3{font-size:30px;line-height:1.2;margin:6px 0 10px;font-weight:600}
.card h3 a{color:var(--ink);text-decoration:none}.card h3 a:hover{color:var(--accent)}
.card p{margin:0 0 10px;color:var(--muted)}
.more{font:600 15px var(--sans);text-decoration:none}
.empty{color:var(--muted);padding:24px 0}
.meta{display:flex;flex-wrap:wrap;gap:6px 14px;font:14px var(--sans);color:var(--muted)}
.part{color:var(--gold);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:12px;align-self:center}

.post{padding-top:56px;padding-bottom:40px}
.post-head h1{font-size:clamp(34px,6vw,52px);line-height:1.1;margin:10px 0 36px;font-weight:600;letter-spacing:-.01em}
.draft-flag{background:#f4e3a8;color:#4a3a00;font:14px var(--sans);padding:6px 12px;border-radius:6px;display:inline-block}
.prose{font-size:20px;line-height:1.75}
.prose p{margin:0 0 1.2em}
.prose h2{font-size:30px;line-height:1.25;margin:2em 0 .6em}
.prose h3{font-size:24px;margin:1.6em 0 .5em}
.prose blockquote{margin:1.6em 0;padding:.2em 0 .2em 1.2em;border-left:3px solid var(--gold);color:var(--muted);font-style:italic}
.prose img{max-width:100%;height:auto;border-radius:6px}
.prose hr{border:0;text-align:center;margin:2.4em 0;color:var(--gold)}
.prose hr::before{content:"✦  ✦  ✦";letter-spacing:.6em}
.prose>p:first-of-type::first-letter{font-size:3.4em;float:left;line-height:.85;padding:.08em .1em 0 0;color:var(--accent);font-weight:600}

.share{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:44px 0 0;padding-top:24px;border-top:1px solid var(--line)}
.share-label{font:600 13px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:6px}
.chip{font:14px var(--sans);color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:6px 14px;text-decoration:none;cursor:pointer}
.chip:hover{border-color:var(--accent);color:var(--accent)}

.sub-card{margin:44px 0 0;padding:28px;background:var(--paper);border:1px solid var(--line);border-radius:14px}
.sub-card h2{margin:0 0 6px;font-size:26px}.sub-card p{margin:0 0 16px;color:var(--muted)}

.comments{margin-top:56px}
.comments h2{font-size:28px;margin:0 0 20px}.count{color:var(--muted);font-size:20px;font-weight:400}
.clist{list-style:none;margin:0 0 32px;padding:0}
.clist li{padding:18px 0;border-top:1px solid var(--line)}
.c-head{font:14px var(--sans);color:var(--muted);margin-bottom:6px}.c-head b{color:var(--ink);font-size:15px}
.c-text{white-space:pre-wrap;word-wrap:break-word;font-size:18px;line-height:1.55}
.c-empty{color:var(--muted);font:16px var(--sans)}
.cform{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:24px}
.cform h3{margin:0 0 14px;font-size:22px}
.cform input[type=text],.cform textarea{width:100%;padding:12px 16px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:17px/1.5 var(--sans);margin-bottom:12px}
.cform textarea{resize:vertical;min-height:120px}
.cform-foot{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.cform-foot .cmsg{margin:0}
.hint{font:13px var(--sans);color:var(--muted);margin:14px 0 0}

.pn{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:48px}
.pn a{display:block;padding:16px 18px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);line-height:1.3}
.pn a:hover{border-color:var(--accent)}.pn small{display:block;font:13px var(--sans);color:var(--muted);margin-bottom:4px}
.pn-next{text-align:right;grid-column:2}
@media(max-width:560px){.pn{grid-template-columns:1fr}.pn-next{grid-column:auto}}

.foot{border-top:1px solid var(--line);margin-top:56px;padding:28px 0;font:14px var(--sans);color:var(--muted)}
.foot-in{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;max-width:960px}.foot p{margin:0}
.foot a{color:var(--muted)}

@media(max-width:560px){body{font-size:18px}.prose{font-size:19px}.hero-in{padding:48px 20px}.lead{font-size:19px}}
