:root{
  --ink:#1f2430; --sub:#5b6472; --gold:#c8962b; --gold2:#9a6f12;
  --line:#e7e2d4; --bg:#fbf9f3; --card:#ffffff; --accent:#7c2d12;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.7; font-size:17px;
}
a{color:var(--accent); text-decoration:none;}
a:hover{text-decoration:underline;}
main{max-width:780px; margin:0 auto; padding:0 20px;}

.site-header{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap;
  max-width:980px; margin:0 auto; padding:16px 20px; gap:12px;
}
.brand{font-weight:800; font-size:1.3rem; color:var(--gold2);}
.site-header nav a{margin-left:16px; color:var(--sub); font-weight:600; font-size:.95rem;}

.hero{padding:48px 0 8px; border-bottom:1px solid var(--line); margin-bottom:24px;}
.hero h1{font-size:2.4rem; margin:0 0 .2em; color:var(--gold2);}
.hero .tagline{color:var(--sub); font-size:1.15rem; margin:0;}

h2{font-size:1.5rem; margin:1.6em 0 .6em;}
h3{margin:0 0 .3em;}

.cards{list-style:none; padding:0; margin:0; display:grid; gap:16px;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));}
.card{background:var(--card); border:1px solid var(--line); border-radius:12px;
  transition:transform .12s ease, box-shadow .12s ease;}
.card a{display:block; padding:18px 20px; color:inherit;}
.card a:hover{text-decoration:none;}
.card:hover{transform:translateY(-2px); box-shadow:0 6px 18px #0000000f;}
.card h3{color:var(--gold2);}
.card p{color:var(--sub); margin:.3em 0 0; font-size:.95rem;}

.post{padding:24px 0 8px;}
.post h1{font-size:2rem; line-height:1.25; color:var(--gold2); margin:0 0 .2em;}
.post .meta{color:var(--sub); font-size:.9rem; margin:.2em 0 1em;}
.post h2{border-left:5px solid var(--gold); padding-left:.5em;}
.post img{max-width:100%; height:auto;}
.post table{border-collapse:collapse; width:100%; margin:1em 0;}
.post th{background:var(--gold2); color:#fff; text-align:left; padding:.5em .7em;}
.post td{padding:.5em .7em; border-bottom:1px solid var(--line);}
.post tr:nth-child(even) td{background:#faf6ea;}
.post blockquote{margin:1em 0; padding:.6em 1em; background:#faf6ea;
  border-left:5px solid var(--gold); border-radius:0 8px 8px 0; color:#5b4f24;}
.post code{background:#f1ecdb; color:#7c2d12; padding:.08em .35em; border-radius:4px;
  font-family:Consolas,"Courier New",monospace; font-size:.92em;}
.post pre{background:#1f2430; color:#eee; padding:14px 16px; border-radius:8px; overflow:auto;}
.post pre code{background:none; color:inherit; padding:0;}

.tags{margin:.2em 0 1em;}
.tag{display:inline-block; background:#f1ecdb; color:var(--gold2);
  border-radius:999px; padding:.1em .7em; font-size:.8rem; margin-right:6px;}

.back{margin-top:1.5em;}

.site-footer{max-width:780px; margin:48px auto 24px; padding:20px;
  border-top:1px solid var(--line); color:var(--sub); font-size:.82rem;}
.site-footer p{margin:.4em 0;}
