.blog-filter-row{display:flex;flex-wrap:wrap;gap:10px;margin:0 auto 36px;max-width:840px;justify-content:center;}
.blog-chip{display:inline-flex;align-items:center;padding:8px 16px;border-radius:999px;border:1px solid #d0dae6;background:#fafcff;color:#334;font-size:.9rem;font-weight:600;text-decoration:none;transition:.2s ease;}
.blog-chip:hover{border-color:var(--main);color:var(--main);}
.blog-chip-active{background:var(--main);border-color:var(--main);color:var(--white);}
.blog-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:28px;max-width:1100px;margin:0 auto;}
.blog-card{border:1px solid #eaeef3;border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:12px;background:var(--white);box-shadow:0 10px 30px rgba(0,20,80,.06);overflow:hidden;}
.blog-card-thumb-link{display:block;margin:-22px -22px 0;border-radius:16px 16px 0 0;overflow:hidden;line-height:0;}
.blog-card-thumb{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block;}
.blog-article-thumb{margin:0 0 28px;border-radius:14px;overflow:hidden;line-height:0;}
.blog-article-thumb img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block;}
.blog-card-cat{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--main);}
.blog-card-title{font-size:1.18rem;line-height:1.35;margin:0;}
.blog-card-title a{color:var(--black);text-decoration:none;}
.blog-card-title a:hover{color:var(--main);}
.blog-card-date{font-size:.85rem;color:#777;margin:0;}
.blog-card-excerpt{flex-grow:1;font-size:.95rem;line-height:1.55;color:#555;margin:0;}
.blog-card-more{align-self:flex-start;margin-top:auto;}
.blog-empty{text-align:center;max-width:520px;margin:32px auto 0;color:#666;}

.blog-article-wrap{padding-bottom:48px;}
.blog-article-inner{max-width:780px;margin:0 auto;}
.blog-back{margin:0 0 16px;}
.blog-back a{color:var(--main);font-weight:600;text-decoration:none;font-size:.95rem;}
.blog-back a:hover{text-decoration:underline;}
.blog-article-cat{display:inline-block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--main);margin-bottom:10px;}
.blog-article-title{margin:0 0 8px;}
.blog-article-date{color:#777;font-size:.95rem;margin:0 0 28px;}
.blog-toc{border:1px solid #eaeef3;border-radius:14px;padding:18px 22px;background:#f9fbfe;margin-bottom:28px;}
.blog-toc-title{font-size:1rem;margin:0 0 12px;color:var(--black);}
.blog-toc-list{padding-left:1.25rem;margin:0;}
.blog-toc-item{margin:8px 0;line-height:1.4;}
.blog-toc-item a{color:var(--main);font-weight:600;text-decoration:none;}
.blog-toc-item a:hover{text-decoration:underline;}
.blog-toc-level-3{margin-left:12px;font-size:.95rem;font-weight:500;}

.blog-prose{font-size:1.02rem;line-height:1.7;color:#333;}
.blog-prose h2{font-size:1.45rem;margin:2rem 0 1rem;line-height:1.3;color:var(--black);}
.blog-prose h3{font-size:1.2rem;margin:1.5rem 0 .75rem;line-height:1.35;color:var(--black);}
.blog-prose h4{font-size:1.05rem;margin:1.2rem 0 .5rem;color:var(--black);}
.blog-prose p{margin:.85rem 0;}
.blog-prose ul,.blog-prose ol{padding-left:1.35rem;margin:.85rem 0;}
.blog-prose a{color:var(--main);font-weight:600;}
.blog-prose blockquote{border-left:4px solid var(--main);margin:1rem 0;padding:.5rem 0 .5rem 1rem;color:#444;background:#f3f9ff;border-radius:0 8px 8px 0;}

.blog-lead{font-size:1.1rem;line-height:1.65;color:#333;font-weight:500;}
.blog-callout{border-radius:14px;padding:14px 18px;margin:1.25rem 0;border-left:5px solid var(--main);background:rgba(54,145,255,.06);}
.blog-callout--info{background:rgba(54,145,255,.09);border-left-color:#267aeb;}
.blog-callout--muted{background:#f7f9fc;border-left-color:#9aaabe;}

.blog-author-card{border:1px solid #eaeef3;border-radius:16px;padding:22px;background:#fafcff;margin-top:42px;}
.blog-author-heading{font-size:1.05rem;margin:0 0 14px;color:var(--black);}
.blog-author-row{display:flex;gap:18px;align-items:flex-start;}
.blog-author-avatar{border-radius:12px;width:96px;height:96px;object-fit:cover;border:2px solid #e5ecf5;}
.blog-author-name{font-weight:700;margin:0 0 4px;font-size:1.05rem;color:var(--black);}
.blog-author-role{margin:0 0 8px;font-size:.9rem;color:var(--main);font-weight:600;}
.blog-author-bio{margin:0;font-size:.92rem;line-height:1.55;color:#555;white-space:pre-wrap;}

@media (max-width:600px){
  .blog-author-row{flex-direction:column;align-items:center;text-align:center;}
}
