/* ===== blog listing grid ===== */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.article-card{display:block;background:var(--hm-cream);border:1px solid var(--hm-line);overflow:hidden;transition:box-shadow .15s}
.article-card:hover{box-shadow:0 8px 24px rgba(58,39,73,.12)}
.article-thumb{aspect-ratio:16/10;overflow:hidden}
.article-thumb img{width:100%;height:100%;object-fit:cover}
.article-card .article-body{padding:20px;max-width:none;margin:0}
.article-meta{display:flex;justify-content:space-between;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--hm-muted);margin-bottom:10px}
.article-cat{color:var(--hm-accent)}
.article-title{font-size:18px;line-height:1.35;margin-bottom:10px}
.article-excerpt{font-size:13.5px;color:var(--hm-muted);margin-bottom:14px}
.article-link{font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--hm-plum);font-weight:700}

/* ===== article detail page ===== */
.article-page{max-width:820px;margin:0 auto;padding:0 24px}
.article-header{padding:32px 0 8px}
.card-meta{display:flex;gap:14px;align-items:center;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--hm-muted);margin-bottom:14px}
.article-h1{font-size:36px;line-height:1.2;margin-bottom:16px}
.author-byline{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--hm-muted);margin-bottom:24px}
.author-name{color:var(--hm-ink);font-weight:700}
.author-sep{color:var(--hm-line)}
.article-hero-img{width:100%;aspect-ratio:16/9;object-fit:cover;margin-bottom:32px;border-radius:2px}
.article-lead{font-size:17px;color:var(--hm-ink);margin-bottom:20px}
.article-body{max-width:760px;margin:0 auto;font-size:16px;color:#2c2732}
.article-body p{margin-bottom:18px}
.article-body h2{font-size:24px;margin:32px 0 14px}
.article-body h3{font-size:19px;margin:26px 0 12px}
.article-body ul,.article-body ol{margin:0 0 18px 22px}
.article-body li{margin-bottom:8px}
.article-body blockquote{border-left:3px solid var(--hm-plum);padding:6px 20px;color:var(--hm-muted);font-style:italic;margin:24px 0}

.author-bio-card{display:flex;gap:16px;align-items:center;background:var(--hm-lavender);padding:24px;margin:40px 0;border-radius:2px}
.author-bio-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;flex-shrink:0}
.author-bio-name{font-size:15px;margin-bottom:4px}
.author-bio-title{font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--hm-plum);margin-bottom:8px}
.author-bio-text{font-size:13.5px;color:var(--hm-muted)}

.faq-section{margin:40px 0}
.faq-section h2{font-size:24px;margin-bottom:18px}
#faq-items{border-top:1px solid var(--hm-line)}
#faq-items .faq-item{padding:18px 0;border-bottom:1px solid var(--hm-line)}
#faq-items .faq-q{font-weight:700;margin-bottom:8px}
#faq-items .faq-a{color:var(--hm-muted);font-size:14.5px}

.cta-banner{background:var(--hm-plum-deep);color:#f1e9f4;padding:32px;text-align:center;border-radius:2px;margin:40px 0}
.cta-banner a{display:inline-block;margin-top:14px;background:var(--hm-lavender);color:var(--hm-plum-deep);padding:11px 24px;font-size:13px;letter-spacing:.05em;text-transform:uppercase}

.related-section{margin:48px 0 24px}
.related-section h2{font-size:22px;margin-bottom:18px}
.rel-card{display:block;padding:14px 0;border-bottom:1px solid var(--hm-line);font-size:14.5px}
.rel-title{font-weight:700}

@media (max-width:900px){
  .blog-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  .blog-grid{grid-template-columns:1fr}
  .article-h1{font-size:28px}
}
