.article-page { max-width: 760px; margin: 0 auto; padding: 40px 24px 80px; }

.header-nav { display: flex; gap: 20px; padding: 14px 24px; flex-wrap: wrap; }
.header-nav .nav-link { font-weight: 600; font-size: 0.92rem; color: var(--color-ink); }
.header-nav .nav-link:hover { color: var(--color-primary); }

.breadcrumb { font-size: 0.82rem; color: var(--color-ink-soft); margin-bottom: 18px; }
.breadcrumb-sep { margin: 0 6px; }

.article-header { margin-bottom: 24px; }
.article-h1 { font-size: 2rem; line-height: 1.2; margin-bottom: 14px; color: var(--color-ink); }

.card-meta { font-size: 0.85rem; color: var(--color-ink-soft); margin-bottom: 8px; }
.author-byline { display: inline-flex; align-items: center; gap: 6px; font-size: 0.85rem; color: var(--color-ink-soft); }
.author-name { font-weight: 700; color: var(--color-ink); }
.author-sep { margin: 0 4px; }

.article-hero-img { width: 100%; border-radius: 8px; margin: 20px 0 28px; }

.article-lead { font-size: 1.1rem; color: var(--color-ink-soft); margin-bottom: 20px; }

.article-body { font-size: 1rem; color: var(--color-ink); }
.article-body p { margin-bottom: 18px; line-height: 1.7; }
.article-body h2 { font-size: 1.4rem; margin: 32px 0 14px; }
.article-body h3 { font-size: 1.15rem; margin: 24px 0 10px; }
.article-body ul, .article-body ol { margin: 0 0 18px 22px; }
.article-body a { color: var(--color-primary); text-decoration: underline; }
.article-body img { border-radius: 6px; margin: 20px 0; }

.author-bio-card {
  display: flex;
  gap: 16px;
  align-items: center;
  background: var(--color-surface);
  border-radius: 8px;
  padding: 20px;
  margin: 40px 0;
}
.author-bio-avatar { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.author-bio-name { font-weight: 700; margin-bottom: 2px; }
.author-bio-title { font-size: 0.82rem; color: var(--color-ink-soft); margin-bottom: 6px; }
.author-bio-text { font-size: 0.88rem; color: var(--color-ink-soft); }

.faq-section { margin: 40px 0; }
.faq-section h2 { font-size: 1.3rem; margin-bottom: 16px; }
#faq-items { display: flex; flex-direction: column; gap: 12px; }
#faq-items .faq-item { border: 1px solid var(--color-border); border-radius: 6px; padding: 14px 18px; }
#faq-items .faq-q { font-weight: 700; margin-bottom: 6px; }
#faq-items .faq-a { color: var(--color-ink-soft); font-size: 0.92rem; }

.cta-banner {
  background: var(--color-primary);
  color: #fff;
  border-radius: 8px;
  padding: 28px;
  text-align: center;
  margin: 40px 0;
}
.cta-banner a { color: #fff; text-decoration: underline; font-weight: 700; }

.related-section { margin: 48px 0; }
.related-section h2 { font-size: 1.2rem; margin-bottom: 16px; }
.rel-card { display: block; padding: 14px 0; border-top: 1px solid var(--color-border); }
.rel-title { font-weight: 700; font-size: 0.95rem; }

/* Blog listing cards (blog.html) */
.article-card {
  border: 1px solid var(--color-border);
  border-radius: 8px;
  overflow: hidden;
}
.article-thumb { width: 100%; height: 170px; object-fit: cover; }
.article-card .article-body { padding: 16px; }
.article-meta { font-size: 0.78rem; color: var(--color-ink-soft); margin-bottom: 6px; }
.article-cat { color: var(--color-primary); font-weight: 700; }
.article-date { margin-left: 6px; }
.article-excerpt { font-size: 0.88rem; color: var(--color-ink-soft); margin: 8px 0 12px; }
.article-link { font-weight: 700; font-size: 0.88rem; color: var(--color-primary); }
