/* Blog listing: uses the existing INVERNO stylesheet. */
.blog-listing { padding-top: 0; }
.blog-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-bottom: 24px; }

.blog-card { display: flex; flex-direction: column; overflow: hidden; background: transparent; border: 0; border-radius: 0; }
.blog-card-photo { display: block; overflow: hidden; }
.blog-card-photo img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; transition: transform .2s ease; }
.blog-card-photo:hover img { transform: scale(1.025); }
.blog-card-body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 22px 0; }
.blog-card-body .eyebrow { font-size: 11px; margin-bottom: 14px; }
.blog-card h2 { font-size: 23px; line-height: 1.3; letter-spacing: -.4px; margin: 0 0 16px; }
.blog-card h2 a { color: #222323; text-decoration: none; }
.blog-card h2 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.blog-card-description { font-size: 16px; line-height: 1.65; margin: 0 0 24px; }

.blog-card a:focus-visible { outline: 3px solid #222323; outline-offset: 4px; }
@media (max-width: 1100px) { .blog-row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 650px) { .blog-row { grid-template-columns: 1fr; gap: 20px; margin-bottom: 20px; } .blog-card-body { padding: 20px 0; } .blog-card h2 { font-size: 24px; } }
@media (prefers-reduced-motion: reduce) { .blog-card-photo img { transition: none; } }
