.ek-blog { padding: 160px 0 80px; color: #1c1c1c; background: #f6f4f1; }
@media (max-width: 991px) { .ek-blog { padding-top: 120px; } }
.ek-blog, .ek-blog p, .ek-blog h1, .ek-blog h2, .ek-blog li { color: #1c1c1c; }
.ek-blog a, .ek-blog a:link, .ek-blog a:visited, .ek-blog a:hover, .ek-blog a:active { color: #1c1c1c; text-decoration-color: #1c1c1c; }
.ek-kicker { letter-spacing: .14em; text-transform: uppercase; font-size: 12px; color: #6b6258; margin-bottom: 10px; }
.ek-blog h1 { font-size: 42px; line-height: 1.15; margin-bottom: 12px; }
.ek-lead { font-size: 18px; line-height: 1.6; max-width: 680px; }
.ek-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 22px; margin-top: 36px; }
.ek-card { background: #fff; border: 1px solid #e6e1da; border-radius: 16px; overflow: hidden; display: block; text-decoration: none; }
.ek-card:hover { border-color: #cfc8be; }
.ek-card-body { padding: 22px 22px 26px; }
.ek-date { color: #6b6258; font-size: 13px; margin-bottom: 8px; }
.ek-card h2 { font-size: 22px; line-height: 1.3; margin: 0 0 10px; }
.ek-card p { margin: 0; line-height: 1.6; color: #3a3530; }
.ek-copy { max-width: 760px; }
.ek-copy h2 { margin-top: 28px; font-size: 26px; }
.ek-copy p { line-height: 1.75; margin-bottom: 14px; }
.ek-meta { color: #6b6258; font-size: 14px; margin-bottom: 18px; }
.ek-cta { margin-top: 36px; padding: 22px; border-radius: 16px; background: #1c1c1c; color: #fff; }
.ek-cta, .ek-cta p { color: #fff; }
.ek-cta a, .ek-cta a:link, .ek-cta a:visited, .ek-cta a:hover { color: #fff; border: 1px solid #fff; border-radius: 999px; padding: 8px 14px; text-decoration: none; display: inline-block; margin: 6px 8px 0 0; }
@media (max-width: 800px) { .ek-blog h1 { font-size: 32px; } }

/* Blog listing: search, topics, pagination */
.ek-blog-tools { margin-top: 28px; }
.ek-blog-search { display: flex; gap: 10px; max-width: 520px; flex-wrap: wrap; }
.ek-blog-search input[type="search"] { flex: 1 1 220px; min-width: 0; height: 46px; padding: 0 16px; border: 1px solid #e6e1da; border-radius: 999px; font-size: 15px; background: #fff; color: #1c1c1c; }
.ek-blog-search input[type="search"]:focus { outline: none; border-color: #6b6258; }
.ek-blog-search button { height: 46px; padding: 0 22px; border: 0; border-radius: 999px; background: #1c1c1c; color: #fff; font-size: 15px; cursor: pointer; }
.ek-blog-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.ek-blog .ek-tag, .ek-blog a.ek-tag:link, .ek-blog a.ek-tag:visited { display: inline-block; padding: 6px 14px; border: 1px solid #e6e1da; border-radius: 999px; font-size: 13px; line-height: 1.4; color: #1c1c1c; background: #fff; text-decoration: none; }
.ek-blog a.ek-tag:hover { border-color: #6b6258; }
.ek-blog a.ek-tag.is-active, .ek-blog a.ek-tag.is-active:link, .ek-blog a.ek-tag.is-active:visited { background: #1c1c1c; border-color: #1c1c1c; color: #fff; }
.ek-blog .ek-blog-count { margin: 16px 0 0; color: #6b6258; font-size: 14px; }
.ek-card img { width: 100%; height: 280px; object-fit: cover; display: block; }
.ek-card .ek-card-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.ek-card-tags .ek-tag { padding: 3px 10px; font-size: 12px; background: #f6f4f1; }
.ek-blog-empty { margin-top: 36px; padding: 28px; border: 1px dashed #cfc8be; border-radius: 16px; background: #fff; }
.ek-pagination { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 36px; align-items: center; }
.ek-blog .ek-pagination a, .ek-pagination span { display: inline-block; min-width: 40px; padding: 8px 14px; border: 1px solid #e6e1da; border-radius: 999px; text-align: center; text-decoration: none; font-size: 14px; background: #fff; }
.ek-blog .ek-pagination .is-current { background: #1c1c1c; border-color: #1c1c1c; color: #fff; }
.ek-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }
