.blog-page .blog-hero {
    margin-top: -140px;
    padding-top: 180px;
    background: #291b2a;
}
.blog-listing {
    position: relative;
    z-index: 20;
    width: 90%;
    max-width: 1240px;
    margin: -80px auto 72px;
    padding: 32px 24px;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 30px 80px rgba(0,0,0,.08);
    color: #291b2a;
}
.blog-listing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.blog-listing .blog-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #eee5ee;
    border-radius: 18px;
    background: #fff;
    margin: 0;
}
.blog-card-image { display: block; aspect-ratio: 16 / 10; overflow: hidden; }
.blog-card-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.blog-card-content { display: flex; flex-direction: column; flex: 1; padding: 24px; }
.blog-card-content time { font-size: .875rem; color: #665666; }
.blog-card-content h2 { margin: 12px 0; font-size: 1.4rem; line-height: 1.3; overflow-wrap: anywhere; }
.blog-card-content h2 a { color: inherit; text-decoration: none; }
.blog-card-excerpt { line-height: 1.65; }
.blog-card-excerpt p { margin: 0 0 20px; }
.blog-card-link { margin-top: auto; color: #76336d; font-weight: 700; }
.blog-listing a:hover { text-decoration: underline; }
.blog-listing a:focus-visible { outline: 3px solid #76336d; outline-offset: 4px; }
.blog-listing .pagination { margin-top: 40px; }
.blog-listing .nav-links { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 12px; }
.blog-listing .page-numbers { padding: 10px 14px; color: #76336d; border-radius: 8px; }
.blog-listing .page-numbers.current { background: #76336d; color: #fff; }
@media (max-width: 992px) { .blog-listing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
    .blog-listing { padding: 24px 16px; margin-bottom: 48px; }
    .blog-listing-grid { grid-template-columns: 1fr; gap: 20px; }
}
