/* Blog + long-form: same midnight system, readable measure (<=70ch), body text >= 7:1 on the glass panel */
.blog .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:22px;margin:30px 0}
.blog .card{display:flex;flex-direction:column;gap:10px;padding:24px;text-decoration:none;color:var(--text)}
.blog .card:hover{transform:translateY(-4px)}
.blog .card h2{font-size:clamp(20px,2.2vw,23px);margin:0;border:0;padding:0;line-height:1.2;letter-spacing:-.025em}
.blog .card p{font-size:15px;margin:0;color:#d5d9f1;max-width:none}
.card__tag{font-weight:800;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--vi-txt)}
.card__more{margin-top:auto;font-weight:800;color:var(--cy-txt);padding-top:6px}
.post__by{font-size:14px;color:var(--muted);margin:-6px 0 24px}
.post__by a{color:var(--cy-txt)}
.post{font-size:18px}
.post h2{margin-top:2em}
.post p,.post li{font-size:18px;line-height:1.7;color:#e4e7fa}
.post code{background:rgba(255,255,255,.1);padding:1px 7px;font-size:.92em;border-radius:6px;color:#c4f5ff}
.post ol{padding-left:26px}
.post__cta{margin:44px 0 10px;padding:26px;border-radius:24px;background:var(--spot),radial-gradient(90% 80% at 100% 0,rgba(139,92,246,.4),transparent 65%),linear-gradient(160deg,rgba(30,30,90,.85),rgba(10,10,32,.85))}
.post__cta b{font-size:24px;letter-spacing:-.03em}
.post__cta p{color:#e4e7fa;margin:8px 0 16px}
.post__more{list-style:none;padding:0}
.post__more li{margin:8px 0}
.blog .post__cta{margin-top:10px}
.doc a.btn,.post__cta .btn{color:#fff;text-decoration:none}
.post h3{font-size:19px;margin:22px 0 4px;letter-spacing:-.02em}
.post .doc__lead{font-size:20px}
