/* Blog palette follows the homepage; article structure and spacing stay intact. */
.blog-hero {
  border-bottom-color: var(--line);
  background: linear-gradient(135deg, #edf4ff 0%, #f3f6fa 100%);
}
.blog-hero::after { border-color: rgba(37, 99, 235, .06); }
.blog-eyebrow {
  color: var(--blue-dark);
  font-weight: 650;
}
.blog-hero p,
.blog-card p,
.article-lead { color: var(--muted); }

/* Directory, search and category markers. */
.blog-search-field svg { color: #738399; }
.blog-search input {
  border-color: #b3c3d7;
  background: var(--paper);
}
.blog-search input::placeholder,
.comment-field input::placeholder,
.comment-field textarea::placeholder { color: #69788b; }
.blog-search input:focus,
.comment-field input:focus,
.comment-field textarea:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .12);
}
.blog-card {
  border-color: var(--line);
  box-shadow: 0 3px 12px rgba(27, 49, 80, .035);
}
.blog-card:hover {
  border-color: #a8c2e8;
  box-shadow: 0 8px 20px rgba(27, 49, 80, .08);
}
.blog-card-media { background: #e6edf6; }
.blog-card-meta,
.article-meta { color: var(--muted); }
.blog-chip {
  color: var(--blue-dark);
  background: var(--product-blue-soft);
  font-weight: 650;
}
.blog-card-tags span {
  color: var(--muted);
  border-color: var(--line);
  background: var(--soft);
}
.blog-card-link {
  color: var(--blue-dark);
  font-weight: 650;
}
.blog-card h3 a:hover,
.blog-card-link:hover { color: var(--blue); }
.blog-empty,
.comment-empty {
  color: var(--muted);
  border-color: #bacbdf;
  background: var(--soft);
}

/* Long-form reading surfaces, illustrations and navigation. */
.breadcrumb { color: var(--muted); }
.breadcrumb li:not(:last-child)::after { color: #8a9bb1; }
.article-hero-media {
  background: #e6edf6;
  box-shadow: 0 12px 30px rgba(27, 49, 80, .1);
}
.article-hero-caption { background: rgba(29, 45, 67, .86); }
.article-body { color: #304158; }
.article-body strong { color: var(--ink); }
.article-figure img {
  background: #e6edf6;
  box-shadow: 0 8px 22px rgba(27, 49, 80, .08);
}
.article-figure figcaption { color: var(--muted); }
.article-note {
  color: #3b526e;
  border-left-color: var(--blue);
  background: var(--product-blue-soft);
}
.article-checklist li {
  border-color: var(--line);
  background: var(--soft);
}
.article-checklist li::before { background: var(--blue); }
.article-table-wrap,
.article-table th,
.article-table td { border-color: var(--line); }
.article-table th {
  color: #42566f;
  background: var(--soft);
}
.article-table .is-total td {
  color: var(--ink);
  background: var(--product-blue-soft);
  font-weight: 650;
}
.article-toc {
  border-color: var(--line);
  background: var(--soft);
}
.article-toc strong { color: var(--ink); font-weight: 650; }
.article-toc ol { color: var(--muted); }
.article-toc a:hover { color: var(--blue-dark); }
.faq-item { border-color: var(--line); }
.faq-item p { color: var(--muted); }

/* Downloads and registration use the same blue and slate as the landing. */
.article-download {
  border-color: var(--line);
  background: linear-gradient(135deg, #edf4ff 0%, #fff 85%);
  box-shadow: 0 8px 22px rgba(27, 49, 80, .06);
}
.article-download-kicker {
  color: var(--blue-dark);
  font-weight: 650;
}
.article-download p,
.article-download .article-download-note { color: var(--muted); }
.article-cta {
  background: #20334e;
  box-shadow: 0 12px 30px rgba(27, 49, 80, .1);
}
.article-cta p,
.aside-cta p { color: #c0cee0; }
.aside-cta { background: var(--night); }
.article-cta strong,
.aside-cta strong { color: #fff; }
/* Article link rules must not override the contrast of action buttons. */
.article-body .lp-btn-primary,
.article-body .lp-btn-primary:hover,
.article-body .lp-btn-dark,
.article-body .lp-btn-dark:hover { color: #fff; }

/* Discussion area; success and error messages retain their meaning. */
.comments-section {
  border-top-color: var(--line);
  background: var(--soft);
}
.comments-head p,
.comment-form-intro,
.comment-consent { color: var(--muted); }
.comment-card,
.comment-form { border-color: var(--line); }
.comment-avatar {
  background: var(--blue);
  font-weight: 650;
}
.comment-meta time { color: var(--muted); }
.comment-body { color: #42566f; }
.comment-form { box-shadow: 0 8px 22px rgba(27, 49, 80, .06); }
.comment-field label { color: #42566f; font-weight: 650; }
.comment-field input,
.comment-field textarea { border-color: #b3c3d7; }

.blog-card a:focus-visible,
.article-toc a:focus-visible,
.article-body a:focus-visible,
.article-table-wrap:focus-visible,
.breadcrumb a:focus-visible,
.comment-consent a:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 4px;
}
