/*
 * Ser.vi News article typography.
 *
 * The site loads the Tailwind Play CDN without the typography plugin, so
 * `prose` / `prose-*` classes generate no CSS and Preflight strips margins,
 * heading sizes and list markers. This file styles news bodies directly.
 * Loaded only on /news/ pages via $extraStylesheets (see includes/head.php).
 */
.news-prose {
  max-width: 68ch;
  font-size: 17px;
  line-height: 1.65;
  color: #374151;               /* gray-700 */
  overflow-wrap: break-word;
}
@media (min-width: 640px) {
  .news-prose { font-size: 18px; }
}
.news-prose > :first-child { margin-top: 0; }
.news-prose > :last-child { margin-bottom: 0; }

.news-prose p { margin: 0 0 1em; }

.news-prose h2 {
  font-size: 1.4em;             /* ~24-25px */
  line-height: 1.3;
  font-weight: 700;
  color: #111827;               /* gray-900 */
  letter-spacing: -0.01em;
  margin: 1.8em 0 0.6em;
}
.news-prose h3 {
  font-size: 1.15em;            /* ~20px */
  line-height: 1.35;
  font-weight: 700;
  color: #111827;
  margin: 1.5em 0 0.5em;
}
.news-prose h2 + h3 { margin-top: 0.8em; }

.news-prose ul,
.news-prose ol {
  margin: 0 0 1em;
  padding-left: 1.5em;
}
.news-prose ul { list-style: disc; }
.news-prose ol { list-style: decimal; }
.news-prose li { margin: 0 0 0.5em; padding-left: 0.25em; }
.news-prose li::marker { color: #9CA3AF; }   /* gray-400 */
.news-prose ol > li::marker { color: #6B7280; font-weight: 600; }
.news-prose li > ul,
.news-prose li > ol { margin-top: 0.5em; margin-bottom: 0; }

.news-prose a {
  color: #FF6600;
  font-weight: 600;
  text-decoration: none;
}
.news-prose a:hover { text-decoration: underline; text-underline-offset: 2px; }
.news-prose strong { color: #111827; font-weight: 700; }
.news-prose em { font-style: italic; }

.news-prose blockquote {
  margin: 1.2em 0;
  padding-left: 1em;
  border-left: 3px solid #E5E7EB;
  color: #4B5563;
  font-style: italic;
}
.news-prose hr { margin: 2em 0; border: 0; border-top: 1px solid #E5E7EB; }
.news-prose code {
  font-size: 0.875em;
  background: #F3F4F6;
  padding: 0.1em 0.3em;
  border-radius: 4px;
}

/* Comparison tables in story bodies. Preflight removes borders and padding. */
.news-prose .news-table-wrap {
  margin: 0 0 1em;
  overflow-x: auto;
}
.news-prose table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.92em;
  line-height: 1.45;
}
.news-prose th,
.news-prose td {
  text-align: left;
  vertical-align: top;
  padding: 0.45em 0.65em;
  border-bottom: 1px solid #E5E7EB;
}
.news-prose th {
  color: #111827;
  font-weight: 700;
}

/* "What we don't know yet" box: Preflight removes bullets and indent. */
.news-aside-list ul,
.news-aside-list ol { list-style: disc; padding-left: 1.25em; margin: 0; }
.news-aside-list li { margin: 0 0 0.4em; }
.news-aside-list li:last-child { margin-bottom: 0; }
.news-aside-list p { margin: 0 0 0.5em; }
.news-aside-list a {
  color: #92400E;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}
