/* Blog: the /blog index and /blog/* articles.
   Built on the tokens in industry-pages.css; generated by tools/build-blog.py. */

/* ---------- index ---------- */
.blog-list{display:grid;gap:1.25rem;margin-top:2.5rem;grid-template-columns:1fr}
@media(min-width:768px){.blog-list{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.blog-list{grid-template-columns:repeat(3,1fr)}}
.blog-card{display:flex;flex-direction:column;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;color:inherit;text-decoration:none;box-shadow:var(--shadow-soft);transition:box-shadow .2s ease,transform .2s ease}
.blog-card:hover,.blog-card:focus-visible{box-shadow:var(--shadow-elevated);transform:translateY(-2px)}
.blog-card img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.blog-card__body{display:flex;flex-direction:column;gap:.6rem;padding:1.25rem 1.25rem 1.5rem;flex:1}
.blog-card__meta{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--muted-foreground));margin:0}
.blog-card h2{font-family:var(--font-display);font-weight:600;font-size:1.3rem;line-height:1.25;margin:0;color:hsl(var(--foreground))}
.blog-card p{margin:0;color:hsl(var(--muted-foreground));line-height:1.6}
.blog-card__more{margin-top:auto;padding-top:.5rem;font-weight:600;color:hsl(var(--primary))}

/* ---------- article ---------- */
.post-meta{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--accent-on-dark));margin:1rem 0 0}
.post-body{max-width:44rem;margin-inline:auto;padding-block:3.5rem 1rem;font-size:1.0625rem;line-height:1.75;color:hsl(var(--foreground))}
.post-body>*+*{margin-top:1.15rem}
.post-body p{max-width:none}
.post-body h2{font-family:var(--font-display);font-weight:600;font-size:1.6rem;line-height:1.25;margin-top:2.75rem;text-wrap:balance}
.post-body h3{font-family:var(--font-display);font-weight:600;font-size:1.2rem;margin-top:2rem}
.post-body ul,.post-body ol{padding-left:1.25rem}
.post-body li+li{margin-top:.5rem}
.post-body a{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.post-body a:hover{text-decoration-thickness:2px}
.post-body .technical-table-frame{margin-top:1.75rem}
.post-callout{border-left:3px solid hsl(var(--primary));background:hsl(var(--secondary));padding:1rem 1.25rem;border-radius:0 var(--radius) var(--radius) 0}
.post-callout p{margin:0}
.post-back{display:inline-block;margin-top:1.5rem;font-weight:600;color:hsl(var(--primary));text-decoration:none}
.post-back:hover{text-decoration:underline}
