:root{
  --ink:#2b2b26; --ink-soft:#4a4a42;
  --paper:#f3f1ec; --paper-2:#ece8e0;
  --accent:#5e7a54; --accent-dark:#46603d;
  --amber:#c9a15a; --line:#dcd6c9;
}
@media (prefers-color-scheme: dark){
  :root{
    --ink:#e9e6dc; --ink-soft:#9ba3a0;
    --paper:#14171a; --paper-2:#1b1f22;
    --accent:#93a87c; --accent-dark:#b7cc9e;
    --amber:#d9b978; --line:#2b302e;
  }
}
*{box-sizing:border-box}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:Georgia,"Iowan Old Style","Times New Roman",serif;line-height:1.6;
}
.wrap{max-width:920px;margin:0 auto;padding:0 24px}
.sans{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:var(--accent-dark)}

.topbar{
  position:sticky;top:0;z-index:10;
  display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  padding:18px 0;background:rgba(243,241,236,0.92);backdrop-filter:saturate(140%) blur(6px);
}
@media (prefers-color-scheme: dark){ .topbar{background:rgba(20,23,26,0.9)} }
.topbar .brand-group{display:flex;align-items:baseline;gap:10px}
.topbar .brand{font-weight:700;color:var(--accent-dark);font-size:1.1rem;letter-spacing:0.02em;text-decoration:none}
.topbar nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.topbar nav a:not(.cta-small){font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:0.9rem;color:var(--ink-soft);text-decoration:none}
.topbar nav a:not(.cta-small):hover{color:var(--accent-dark)}
.cta-small{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:0.85rem;font-weight:600;padding:9px 16px;border-radius:6px;
  background:var(--accent);color:#fff;text-decoration:none;white-space:nowrap;
}
.cta-small:hover{background:var(--accent-dark)}

.blog-hero{padding:48px 0 32px;border-bottom:1px solid var(--line)}
.back-link{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:0.88rem;color:var(--ink-soft);text-decoration:none;display:inline-flex;align-items:center;gap:6px;margin-bottom:16px;
}
.back-link:hover{color:var(--accent-dark)}
.blog-hero h1{font-size:clamp(1.9rem,4.5vw,2.6rem);line-height:1.1;margin:0;color:var(--accent-dark)}
.blog-hero p{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  margin-top:12px;font-size:1rem;color:var(--ink-soft);max-width:56ch;
}

.cat-filter{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 28px}
.cat-pill{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:0.85rem;font-weight:600;padding:7px 15px;border-radius:999px;
  border:1px solid var(--line);background:#fff;color:var(--ink-soft);text-decoration:none;cursor:pointer;
}
@media (prefers-color-scheme: dark){ .cat-pill{background:var(--paper-2)} }
.cat-pill.active{background:var(--accent-dark);color:#fff;border-color:var(--accent-dark)}

.posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px;padding-bottom:64px}
.post-card{
  background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;
  display:flex;flex-direction:column;box-shadow:0 8px 20px -14px rgba(70,96,61,0.3);
}
@media (prefers-color-scheme: dark){ .post-card{background:var(--paper-2)} }
.post-card-img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--paper-2)}
.post-card-body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}
.post-cat-badge{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  display:inline-block;font-size:0.7rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;
  color:var(--accent-dark);background:var(--paper-2);padding:4px 10px;border-radius:6px;width:fit-content;
}
.post-card-title{font-size:1.15rem;font-weight:700;text-decoration:none;color:var(--ink);line-height:1.3}
.post-card-title:hover{color:var(--accent-dark)}
.post-excerpt{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:0.92rem;color:var(--ink-soft);margin:0;flex:1;
}
.post-meta{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:0.8rem;color:var(--ink-soft);display:flex;gap:12px;flex-wrap:wrap;margin-top:2px;
}

.state{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  text-align:center;padding:70px 0;color:var(--ink-soft);
}
[hidden]{display:none!important}

/* --- single post --- */
.post-header{padding:48px 0 24px;border-bottom:1px solid var(--line)}
.post-header h1{font-size:clamp(1.8rem,4vw,2.4rem);line-height:1.15;margin:14px 0 0;color:var(--ink)}
.post-img{width:100%;border-radius:10px;margin:24px 0;display:block}
.post-body{font-size:1.05rem;line-height:1.75;padding:32px 0}
.post-body p{margin:0 0 20px}
.post-body h2{font-size:1.4rem;color:var(--accent-dark);margin:32px 0 14px}
.post-body img{max-width:100%;border-radius:8px}
.post-meta-row{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  display:flex;gap:16px;flex-wrap:wrap;font-size:0.88rem;color:var(--ink-soft);margin-top:14px;
}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.tag{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:0.8rem;color:var(--accent-dark);background:var(--paper-2);padding:5px 12px;border-radius:999px;
}
.engage{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  display:flex;align-items:center;gap:16px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0 40px;
}
.btn-sm{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:0.88rem;font-weight:600;padding:9px 16px;border-radius:6px;border:1px solid var(--line);
  background:#fff;color:var(--ink);cursor:pointer;
}
@media (prefers-color-scheme: dark){ .btn-sm{background:var(--paper-2)} }
.btn-sm:hover{border-color:var(--accent-dark);color:var(--accent-dark)}
.btn-sm:disabled{opacity:0.6;cursor:default}

.comments{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding-bottom:60px}
.comments h3{font-family:Georgia,serif;color:var(--accent-dark);font-size:1.2rem}
.comment{padding:14px 0;border-bottom:1px solid var(--line)}
.comment .head{display:flex;gap:12px;font-size:0.85rem;color:var(--ink-soft);margin-bottom:6px}
.comment .author{font-weight:700;color:var(--ink)}
.comment .reply{margin-top:10px;padding:10px 14px;background:var(--paper-2);border-radius:8px;font-size:0.92rem}
.comment-form{margin-top:24px;display:flex;flex-direction:column;gap:10px;max-width:480px}
.comment-form input, .comment-form textarea{
  font-family:inherit;font-size:0.95rem;padding:10px 12px;border:1px solid var(--line);border-radius:6px;
  background:#fff;color:var(--ink);
}
@media (prefers-color-scheme: dark){ .comment-form input, .comment-form textarea{background:var(--paper-2)} }
.form-msg{font-size:0.85rem;color:var(--ink-soft)}

footer{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:0.85rem;color:var(--ink-soft);padding:40px 0 60px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
}
footer .footer-reg{flex-basis:100%;font-size:0.78rem}
