/* Shared long-form article styles for KTS blog posts and the NEWX FAQ.
   Mirrors the inline styles used by the first two posts so every article
   reads the same, and adds table styles for the comparison posts. */

.blog-content {
  font-size: 1.05rem;
  line-height: 1.9;
  color: #374151; /* gray-700 */
}
@media (min-width: 640px) {
  .blog-content { font-size: 1.125rem; }
}

.blog-content p { margin: 1.25rem 0; }

.blog-content h2 {
  margin-top: 3rem;
  margin-bottom: 1.5rem;
  font-size: 1.65rem;
  line-height: 1.25;
  color: #111827;
  font-weight: 800;
}
@media (min-width: 640px) {
  .blog-content h2 { font-size: 1.9rem; }
}

.blog-content h3 {
  margin-top: 2.25rem;
  margin-bottom: 1rem;
  font-size: 1.25rem;
  line-height: 1.3;
  color: #111827;
  font-weight: 700;
}
@media (min-width: 640px) {
  .blog-content h3 { font-size: 1.35rem; }
}

.blog-content h4 {
  margin-top: 1.75rem;
  margin-bottom: 0.75rem;
  font-size: 1.05rem;
  color: #111827;
  font-weight: 700;
}

.blog-content ul, .blog-content ol { margin: 1.25rem 0; padding-left: 1.25rem; }
.blog-content ul { list-style: disc; }
.blog-content ol { list-style: decimal; }
.blog-content li { margin: 0.75rem 0; }
.blog-content strong { color: #111827; }
.blog-content a { color: #4f46e5; text-decoration: underline; text-underline-offset: 3px; }
.blog-content a:hover { color: #4338ca; }

.blog-content blockquote {
  margin: 1.5rem 0;
  padding: 1rem 1.25rem;
  border-left: 4px solid #e5e7eb;
  background: #f9fafb;
  border-radius: 0.75rem;
}

.blog-content code {
  background: #f3f4f6;
  border-radius: 0.375rem;
  padding: 0.1rem 0.35rem;
  font-size: 0.9em;
}

/* Comparison tables. Wrapped in .table-wrap so wide tables scroll on phones
   instead of pushing the whole page sideways. */
.table-wrap {
  margin: 1.75rem 0;
  overflow-x: auto;
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  background: #fff;
}
.blog-content table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  font-size: 0.95rem;
  line-height: 1.6;
}
.blog-content thead th {
  background: #f9fafb;
  text-align: left;
  font-weight: 700;
  color: #111827;
  padding: 0.9rem 1rem;
  border-bottom: 1px solid #e5e7eb;
  vertical-align: top;
}
.blog-content tbody td,
.blog-content tbody th {
  padding: 0.9rem 1rem;
  border-bottom: 1px solid #f3f4f6;
  vertical-align: top;
  text-align: left;
}
.blog-content tbody th {
  font-weight: 700;
  color: #111827;
  white-space: normal;
}
.blog-content tbody tr:last-child td,
.blog-content tbody tr:last-child th { border-bottom: 0; }

/* Key/value definition rows used on the "What is NEWX" fact sheet. */
.factsheet dt { font-weight: 700; color: #111827; margin-top: 1rem; }
.factsheet dd { margin: 0.25rem 0 0 0; color: #374151; }

/* Question blocks on the FAQ page. Answers stay in the DOM and visible so
   crawlers and answer engines read them without executing any JavaScript. */
.faq-item { scroll-margin-top: 6rem; }
