/* Blog styles — extends styles.css design tokens */
.blog-hero{padding:70px 0 30px;text-align:center}
.blog-hero h1{font-size:42px;font-weight:800;margin:10px 0 14px}
.blog-hero p{color:var(--muted);font-size:18px;max-width:620px;margin:0 auto}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:22px;padding-bottom:90px}
.blog-card{display:block;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px;text-decoration:none;transition:border-color .15s,transform .15s}
.blog-card:hover{border-color:var(--cyan);transform:translateY(-2px)}
.blog-card-kicker{font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);margin-bottom:10px}
.blog-card h2{font-size:20px;font-weight:700;color:var(--ink);margin:0 0 10px;line-height:1.3}
.blog-card p{color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 16px}
.blog-card-meta{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--muted)}
/* Article */
.post{max-width:760px;padding-top:50px}
.post-back{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--cyan);text-decoration:none}
.post-kicker{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);margin:22px 0 10px}
.post-head h1{font-size:36px;font-weight:800;line-height:1.18;margin:0 0 12px}
.post-meta{color:var(--muted);font-family:'JetBrains Mono',monospace;font-size:13px;margin-bottom:30px}
.post-body{color:#cdd9ec;font-size:16.5px;line-height:1.75}
.post-body .lead{font-size:18.5px;color:var(--ink);line-height:1.65;margin-bottom:24px}
.post-body h2{font-size:23px;font-weight:700;color:var(--ink);margin:34px 0 12px}
.post-body p{margin:0 0 16px}
.post-body ul{margin:0 0 18px;padding-left:22px}
.post-body li{margin-bottom:9px}
.post-body .callout{background:rgba(0,212,255,.06);border:1px solid rgba(0,212,255,.25);border-radius:12px;padding:16px 18px;margin:0 0 22px;font-size:15px;color:#d6e3f5}
.post-body .callout.warn{background:rgba(255,180,0,.06);border-color:rgba(255,180,0,.28)}
.post-cta{margin:50px 0 90px;padding:34px;background:linear-gradient(160deg,var(--panel),var(--bg2));border:1px solid var(--line);border-radius:18px;text-align:center}
.post-cta h3{font-size:24px;font-weight:700;margin:0 0 8px}
.post-cta p{color:var(--muted);margin:0 0 20px}
