:root { --ink:#171210; --ember:#c75b12; --soft:#5b5048; --line:#d8cdbb; }
* { box-sizing: border-box; }
body {
  background:#fbf8f1; color:var(--ink);
  font-family: Georgia, "Times New Roman", serif; line-height:1.66;
  max-width: 760px; margin:0 auto; padding: 2.4rem 1.4rem 5rem; font-size:1.06rem;
}
h1,h2,h3,h4 { font-family:-apple-system,"Helvetica Neue",Arial,sans-serif; line-height:1.22; color:var(--ink); }
h1 { font-size:2rem; margin:0 0 1.3rem; border-bottom:3px solid var(--ember); padding-bottom:0.6rem; }
h2 { font-size:1.4rem; margin:2.4rem 0 0.8rem; color:var(--ember); }
h3 { font-size:1.12rem; margin:1.8rem 0 0.5rem; }
h4 { font-size:1rem; margin:1.4rem 0 0.4rem; color:var(--soft); }
p { margin:0 0 1rem; }
a { color:var(--ember); }
ul,ol { margin:0 0 1rem; padding-left:1.4rem; }
li { margin:0.3rem 0; }
table { border-collapse:collapse; width:100%; margin:1.4rem 0; font-size:0.95rem; }
th,td { border:1px solid var(--line); padding:0.5rem 0.7rem; text-align:left; vertical-align:top; }
th { background:#efe7d7; font-family:-apple-system,"Helvetica Neue",Arial,sans-serif; }
blockquote { border-left:3px solid var(--ember); margin:1.4rem 0; padding:0.2rem 0 0.2rem 1.2rem; color:var(--soft); font-style:italic; }
hr { border:none; border-top:1px solid var(--line); margin:2.4rem 0; }
em { color:var(--soft); }
.topbar { font-family:-apple-system,"Helvetica Neue",Arial,sans-serif; font-size:0.82rem; letter-spacing:0.02em; margin-bottom:2rem; padding-bottom:1rem; border-bottom:1px solid var(--line); }
.topbar a { color:var(--soft); text-decoration:none; }
.topbar a:hover { color:var(--ember); }
.topbar .sep { color:var(--line); margin:0 0.5rem; }
