.blog-hero {
 background: linear-gradient(to right, var(--primary), #000);
 color: #fff;
 padding: 140px 0px;
 text-align: center;
}

.blog-hero h1 {
 font-size: 2.2rem;
 font-weight: 700;
}

.blog-hero p {
 opacity: 0.9;
 margin-top: .3rem;
 font-size: 1rem;
}

.post-card {
 background: #fff;
 border-radius: .6rem;
 box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
 overflow: hidden;
 margin-top: 1.5rem;
}

.post-header img {
 width: 100%;
 height: 340px;
 object-fit: cover;
}

@media (max-width: 768px) {
 .post-header img {
  height: 240px;
 }
}

.post-body {
 padding: 1.2rem 1.5rem;
}

.post-body h2 {
 font-size: 1.25rem;
 margin-top: 1rem;
 font-weight: 600;
}

.post-body p {
 margin-top: .55rem;
 line-height: 1.55;
 font-size: 0.95rem;
}

blockquote {
 border-left: 4px solid var(--primary);
 padding-left: 1rem;
 font-style: italic;
 color: #444;
 margin: 1rem 0;
}

.author-box {
 display: flex;
 align-items: center;
 background: #f8f9fa;
 border-radius: .6rem;
 padding: .8rem 1rem;
 margin-top: 1.3rem;
 flex-wrap: wrap;
}

.author-box img {
 border-radius: 50%;
 width: 55px;
 height: 55px;
 margin-right: .8rem;
 object-fit: cover;
}

.related {
 margin-top: 2rem;
}

.related .card {
 border: none;
 transition: transform .2s ease;
}

.related .card:hover {
 transform: translateY(-4px);
}

.related img {
 border-radius: .5rem;
 height: 160px;
 object-fit: cover;
}

.comment-box textarea {
 resize: none;
}

@media (max-width: 576px) {
 .post-body {
  padding: 1rem;
 }

 .related img {
  height: 140px;
 }
}