.editorial-article {
  box-sizing: border-box;
  max-width: 72ch !important;
  margin-inline: auto;
  color: #25334a;
  font-size: clamp(1rem, 0.95rem + 0.3vw, 1.125rem);
  line-height: 1.75;
  overflow-wrap: break-word;
}
.editorial-static { padding: 2rem clamp(1rem, 4vw, 2rem) 4rem; }
.editorial-article h1 {
  color: #0f172a;
  font-size: clamp(2rem, 1.5rem + 2vw, 3.25rem);
  line-height: 1.15;
}
.editorial-article section { margin-block: 2.5rem; }
.editorial-article h2, .editorial-article h3 {
  color: #0f172a;
  line-height: 1.25;
  scroll-margin-top: 8rem;
  margin-block: 1.5rem 0.75rem;
}
.editorial-article h2 { font-size: clamp(1.4rem, 1.15rem + 0.8vw, 1.85rem); font-weight: 700; }
.editorial-article h3 { font-size: 1.2rem; font-weight: 700; }
.editorial-article p, .editorial-article ul, .editorial-article ol { margin-block: 0.85rem; }
.editorial-article ul, .editorial-article ol { padding-inline-start: 1.5rem; }
.editorial-article ul { list-style: disc; }
.editorial-article ol { list-style: decimal; }
.editorial-article li + li { margin-top: 0.5rem; }
.editorial-article a { color: #1d4ed8; text-decoration: underline; text-underline-offset: 0.15em; }
.editorial-article :focus-visible { outline: 2px solid #1d4ed8; outline-offset: 3px; }
.article-toc, .article-next {
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
  border-radius: 0.75rem;
  padding: 1rem clamp(1rem, 3vw, 1.5rem);
}
.article-toc h2, .article-next h2 { margin-top: 0; }
.article-table { max-width: 100%; overflow-x: auto; margin-block: 1.5rem; }
.article-table table { width: 100%; min-width: 28rem; border-collapse: collapse; font-size: 0.95rem; }
.article-table th, .article-table td { padding: 0.65rem; border: 1px solid #cbd5e1; text-align: start; vertical-align: top; }
.article-table th { background: #f1f5f9; }

.editorial-article {
  max-width: min(70ch, 100%) !important;
  line-height: 1.8;
}
.editorial-article > section + section {
  padding-top: 1.5rem;
  border-top: 1px solid #e2e8f0;
}
.editorial-article section > h2:first-child { margin-top: 0; }
.editorial-article p + p { margin-top: 1.1rem; }
.editorial-article .article-summary {
  border-inline-start: 4px solid #2563eb;
  background: #eff6ff;
  padding: 0.75rem clamp(1rem, 3vw, 1.5rem);
  margin-block: 0 1.75rem;
}
.editorial-article .article-summary p { margin: 0.4rem 0; }
.editorial-article .article-next { padding-top: 1rem; }
@media (max-width: 640px) {
  .editorial-article section { margin-block: 2rem; }
  .editorial-article > section + section { padding-top: 1.1rem; }
}
