:root { --bg:#f9f8f5; --panel:#f2efe9; --accent:#826a26; --accent-dark:#574619;
  --text:#2b271d; --muted:#6b6557; --line:#dedacf; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--text); font-family:"Iowan Old Style", "Palatino Linotype", Palatino, serif; line-height:1.65; }
.wrap { max-width:1040px; margin:0 auto; padding:0 20px; }
header { border-bottom:1px solid var(--line); }
header .wrap { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding-top:18px; padding-bottom:18px; }
.brand { font-size:1.25rem; font-weight:700; color:var(--accent-dark); text-decoration:none; letter-spacing:.01em; }
nav a { margin-left:18px; color:var(--muted); text-decoration:none; }
nav a:hover, nav a.on { color:var(--accent); }
.hero { padding:64px 0 40px; text-align:left; }
.hero h1 { font-size:2.2rem; line-height:1.2; margin:0 0 12px; color:var(--accent-dark); }
.hero p { font-size:1.1rem; color:var(--muted); max-width:640px; margin:0; }
h2 { font-size:1.35rem; margin:36px 0 12px; color:var(--accent-dark); }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:18px; }
.card { background:var(--panel); padding:18px 20px; border:1px solid var(--line); border-radius:4px; }
.card h3 { margin:0 0 6px; font-size:1.05rem; }
.card p { margin:0; color:var(--muted); }
ul.plain { padding-left:20px; }
a { color:var(--accent); }
footer { margin-top:56px; border-top:1px solid var(--line); color:var(--muted); font-size:.9rem; }
footer .wrap { padding-top:20px; padding-bottom:28px; }
main { min-height:50vh; }
