/* Blog list and post pages (on top of theme.css + styles.css) */
.bhero{padding:72px 0 24px}
.bhero h1{font-size:clamp(44px,7vw,76px);margin:0 0 10px}
.bhero p{color:var(--muted);font-size:18px;margin:0;max-width:620px}
.blist{padding:24px 0 80px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.pcard a{display:flex;flex-direction:column;height:100%;background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;color:var(--ink);text-decoration:none;transition:transform .2s,box-shadow .2s}
.pcard a:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.pcard img,.pcard .ph{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:linear-gradient(135deg,var(--mint),var(--lav))}
.pcard .pc{padding:20px 22px 24px}
.pcard h2{font-size:22px;margin:6px 0 8px;line-height:1.2}
.pcard p{color:var(--muted);margin:0;font-size:15px}
.meta{color:var(--muted);font-size:14px}
.meta a{color:var(--green-ink)}
.empty{color:var(--muted);font-size:18px}
.mh{font-size:28px;margin:0 0 20px}
.post{padding:48px 0 40px}
.narrow{max-width:760px}
.back{display:inline-block;color:var(--muted);text-decoration:none;margin-bottom:18px}
.back:hover{color:var(--green-ink)}
.post h1{font-size:clamp(36px,5.5vw,56px);margin:0 0 14px;line-height:1.08}
.cover{width:100%;border-radius:22px;margin:26px 0 8px;display:block}
.prose{font-size:18px;line-height:1.75;color:var(--ink2);margin-top:26px}
.prose h2{font-size:30px;color:var(--ink);margin:40px 0 12px}
.prose h3{font-size:23px;color:var(--ink);margin:30px 0 10px}
.prose h4{font-size:19px;color:var(--ink);margin:24px 0 8px}
.prose img{max-width:100%;border-radius:16px;display:block;margin:18px 0}
.prose a{color:var(--green-ink);text-underline-offset:3px}
.prose blockquote{margin:22px 0;padding:6px 22px;border-left:4px solid var(--green);background:var(--card);border-radius:0 14px 14px 0}
.prose code{background:var(--bg2);padding:2px 6px;border-radius:6px;font-size:.9em}
.prose pre code{background:none;padding:0}
.prose hr{border:0;border-top:1px solid var(--line);margin:34px 0}
.prose li{margin:6px 0}
.pcta{margin:48px 0 0;padding:30px;border-radius:24px;background:var(--inv);color:var(--inv-ink)}
.pcta h2{margin:0 0 8px;font-size:28px}
.pcta p{margin:0 0 18px;opacity:.85}
.pcta .btn{background:var(--inv-green);color:var(--inv);margin:4px 6px 0 0}
.pcta .btn.ghost{background:transparent;color:var(--inv-ink);box-shadow:inset 0 0 0 1px currentColor}
.bfoot{background:transparent;color:var(--muted);border-top:1px solid var(--line)}
.bfoot .wrap{display:flex;gap:20px;flex-wrap:wrap}
.bfoot a{color:var(--ink2);text-decoration:none}
@media(max-width:600px){.pgrid{grid-template-columns:1fr}.prose{font-size:17px}.pcta{padding:24px}}
