/* Blog-specific styles */
.blog-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:stretch;margin-top:2rem}
.blog-card-link{text-decoration:none;color:inherit;display:block;height:100%;transition:transform .3s ease,box-shadow .3s ease}
.blog-card-link:hover,.blog-card-link:focus-visible{transform:translateY(-4px)}
.blog-card-link:hover .blog-card,.blog-card-link:focus-visible .blog-card{box-shadow:var(--shadow-hover);border-color:var(--accent-soft)}
.blog-card{background:#fff;box-shadow:var(--shadow);border:1px solid var(--border);border-radius:var(--radius);height:100%;overflow:hidden;transition:box-shadow .3s ease,border-color .3s ease}
.blog-card-img{display:block;width:100%;height:180px;object-fit:cover;border-bottom:3px solid var(--accent)}
.blog-card-body{display:flex;flex-direction:column;gap:.5rem;height:calc(100% - 180px);padding:1.25rem 1.25rem 1.5rem}
.blog-card:has(.blog-card-img) .blog-card-body{padding:1rem 1.25rem 1.25rem}
.blog-card-date{font-size:.85rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}
.blog-card h3{margin:0;font-size:1.15rem;color:var(--text)}
.blog-card-link:hover .blog-card h3,.blog-card-link:focus-visible .blog-card h3{color:var(--accent)}
.blog-card p{font-size:.95rem;color:var(--text-light);line-height:1.5}
.blog-card-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:auto;padding-top:.75rem;border-top:1px solid var(--warm-stone)}
.reading-time{font-size:.8rem;color:var(--text-light)}
.blog-article{padding:clamp(2.5rem,6vw,4.5rem) 0}.blog-article-container{max-width:75ch}
.blog-article-header{margin-bottom:2rem;text-align:center}
.blog-article-header h1{font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.2;margin-bottom:.75rem}
.blog-article-meta{font-size:.9rem;color:var(--text-light);display:flex;justify-content:center;gap:1rem}
.blog-hero{display:block;width:100%;max-height:400px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:2rem}
.blog-credit{font-size:.75rem;color:var(--text-light);font-style:italic;text-align:center;margin-top:-1.5rem;margin-bottom:2rem}
.blog-article-body{font-size:clamp(1rem,1.2vw,1.125rem);line-height:1.58}
.blog-article-body h2{font-size:clamp(1.3rem,2.2vw,1.6rem);margin-top:2.5rem;margin-bottom:.75rem}
.blog-article-body h3{font-size:clamp(1.1rem,1.8vw,1.3rem);margin-top:2rem;margin-bottom:.5rem}
.blog-article-body h4{font-size:clamp(1rem,1.4vw,1.1rem);margin-top:1.5rem;margin-bottom:.5rem}
.blog-article-body p{margin-bottom:1rem;max-width:none}
.blog-article-body ul,.blog-article-body ol{margin-bottom:1rem;padding-left:1.25rem}
.blog-article-body li{margin-bottom:.35rem}
.blog-article-body blockquote{border-left:3px solid var(--accent);padding-left:1rem;margin:1.5rem 0;color:var(--text-light);font-style:italic}
.blog-article-body img{border-radius:var(--radius);box-shadow:var(--shadow);margin:1.5rem auto}
.blog-article-body table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.9rem}
.blog-article-body th,.blog-article-body td{padding:.6rem .75rem;border:1px solid var(--border);text-align:left}
.blog-article-body th{background:var(--bg-alt);font-weight:600}
.blog-article-body hr{border:0;height:1px;background:linear-gradient(to right,transparent,var(--border),transparent);margin:2rem 0}
.blog-article-body code{font-size:.85em;background:var(--accent-soft);padding:.15em .4em;border-radius:4px}