.blog-page { min-height:100vh; }
.blog-main { width:100%; padding:105px 0 115px; overflow:hidden; }
.blog-shell { width:min(1200px,calc(100% - 48px)); margin-inline:auto; }
.blog-filters { display:flex; align-items:center; gap:0; padding:10px 0; border-block:1px solid #9da1a7; font-size:17px; }
.blog-filters a { padding:0 27px 0 0; color:#8a8e95; font-weight:400; text-decoration:none; }
.blog-filters .active { color:var(--decode-orange); }
.blog-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:48px 46px; padding-top:62px; }
.blog-card { display:flex; flex-direction:column; min-height:610px; overflow:hidden; border:1px solid #e3e4e7; border-radius:10px; color:#747880; background:#fff; }
.blog-card h2 { min-height:105px; margin:0; padding:17px 17px 8px; color:#62666d; font-size:22px; line-height:1.12; text-align:center; }
.blog-card .report-visual { display:flex; align-items:center; min-height:178px; margin:0; overflow:hidden; background:#fff; }
.blog-card .report-visual img { display:block; width:100%; height:auto; }
.blog-card .excerpt { min-height:120px; margin:0; padding:24px 22px 18px; font-size:17px; line-height:1.55; }
.blog-card .post-meta { min-height:49px; margin:0; padding:12px 10px; border-top:1px dotted var(--decode-orange); font-size:13px; line-height:1.35; text-align:center; }
.blog-card .read-article { margin-top:auto; padding:13px; color:#fff; background:var(--decode-turquoise); font-size:14px; font-weight:700; text-align:center; text-decoration:none; text-transform:uppercase; }
.blog-page .home-footer { min-height:430px; padding-top:150px; }
@media (max-width:700px) {
  .blog-main { padding:64px 0 80px; }
  .blog-shell { width:calc(100% - 42px); }
  .blog-filters { align-items:flex-start; flex-direction:column; gap:10px; }
  .blog-card-grid { grid-template-columns:1fr; gap:38px; padding-top:42px; }
  .blog-card { min-height:560px; }
  .blog-card h2 { min-height:0; font-size:21px; }
  .blog-card .report-visual { min-height:140px; }
  .blog-card .excerpt { min-height:0; }
  .blog-page .home-footer { min-height:520px; padding-top:65px; }
}
