.blog-post-hero {
    width: 100%;
    height: 200px;
    background: linear-gradient(135deg, var(--c-ink) 0%, var(--c-blue) 50%, var(--c-ink) 100%);
}
.blog-post-wrap {
    max-width: 860px;
    margin: 0 auto;
    padding: 40px 20px;
}
.blog-post-wrap h1.entry-title {
    font-size: 36px !important;
    line-height: 1.3 !important;
    color: var(--c-gold) !important;
    margin: 0 0 10px 0 !important;
}
.blog-post-meta {
    color: var(--c-blue) !important;
    margin: 0 0 20px 0 !important;
    padding-bottom: 20px;
    border-bottom: 3px solid var(--c-blue);
}
.blog-post-featured-image {
    margin-bottom: 30px;
}
.blog-post-featured-image img {
    width: 100%;
    height: auto;
    display: block;
}
.blog-post-wrap h2 {
    font-size: 28px !important;
    line-height: 1.3 !important;
    margin-top: 40px !important;
    margin-bottom: 15px !important;
    color: var(--c-blue) !important;
    border-bottom: 2px solid var(--c-gold);
    padding-bottom: 8px;
}
.blog-post-wrap h3 {
    font-size: 20px !important;
    line-height: 1.3 !important;
    margin-top: 25px !important;
    margin-bottom: 10px !important;
    color: #333 !important;
    font-weight: 600 !important;
}
.blog-post-wrap p {
    margin-bottom: 18px !important;
    line-height: 1.8 !important;
    font-size: 16px !important;
    display: block !important;
}
.blog-post-wrap ul,
.blog-post-wrap ol {
    display: block !important;
    margin: 0 0 20px 30px !important;
    list-style: disc;
}
.blog-post-wrap ol { list-style: decimal; }
.blog-post-wrap li {
    display: list-item !important;
    margin-bottom: 8px !important;
    line-height: 1.7 !important;
}
.blog-post-wrap a {
    color: var(--c-blue);
    text-decoration: underline;
}
.blog-post-wrap a:hover {
    color: var(--c-ink);
}
.blog-post-wrap img {
    max-width: 100%;
    height: auto;
    margin: 20px 0;
}
.blog-post-wrap img.alignleft {
    float: left;
    margin: 10px 25px 15px 0;
    max-width: 50%;
}
.blog-post-wrap img.alignright {
    float: right;
    margin: 10px 0 15px 25px;
    max-width: 50%;
}
.blog-post-wrap img.aligncenter {
    display: block;
    margin: 20px auto;
}
.blog-post-wrap hr {
    margin: 40px 0;
    border: 0;
    border-top: 1px solid #ddd;
}
@media (max-width: 767px) {
    .blog-post-wrap h1.entry-title { font-size: 28px !important; }
    .blog-post-wrap h2 { font-size: 24px !important; }
    .blog-post-wrap h3 { font-size: 18px !important; }
    .blog-post-wrap { padding: 30px 15px; }
    .blog-post-wrap img.alignleft,
    .blog-post-wrap img.alignright {
        float: none;
        max-width: 100%;
        margin: 20px 0;
    }
}
