/* Search hubs and explainers share these components on top of style.css. */
.search-content .article-hero { max-width: 820px; }
.search-content .meta { font-size: .875rem; }
.search-content .article > h3 { margin-top: 32px; }
.article-toc { padding-block: 24px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.article-toc p { margin-bottom: 10px; font-weight: 700; }
.article-toc ol { margin-block: 0; }
.article-toc li:last-child { margin-bottom: 0; }
.article-toc a, .topic-list .text-link { padding-block: 6px; }
.topic-list { margin: 0; padding: 0; list-style: none; }
.topic-list > li { margin: 0; padding-block: 28px; border-bottom: 1px solid var(--line); }
.topic-list > li:first-child { padding-top: 0; }
.topic-list h3 { margin-bottom: 10px; font-size: 1.375rem; }
.topic-list p { margin-bottom: 10px; }
.topic-list .num { margin-bottom: 8px; }
.explainer { margin: 32px 0; padding: 24px; border: 1px solid var(--line); background: var(--mist); }
.explainer figcaption { margin-bottom: 20px; font-weight: 700; }
.explainer p:last-child { margin-bottom: 0; }
.diagram-start { padding: 16px; border-left: 3px solid var(--green); background: var(--paper); }
.factor-list { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-block: 20px; }
.factor-list > div { grid-column: span 2; min-width: 0; padding: 16px; border: 1px solid var(--line); background: var(--paper); }
.factor-list > div:nth-child(n+4) { grid-column: span 3; }
.factor-list dt { color: var(--green); font-weight: 750; }
.factor-list dd { margin: 6px 0 0; font-size: .9375rem; }
.decision-flow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 0 20px; padding: 0; list-style: none; }
.decision-flow li { min-width: 0; margin: 0; padding: 16px; border: 1px solid var(--line); background: var(--paper); }
.decision-flow strong { display: block; margin-bottom: 6px; }
.decision-flow p { margin: 0; font-size: .9375rem; }
.free-steps > li { margin-bottom: 24px; padding-left: 4px; }
.free-steps h3 { margin-bottom: 8px; }
.free-steps p:last-child { margin-bottom: 0; }
.search-content .check { margin-top: 32px; }
.search-content .check > :last-child { margin-bottom: 0; }
@media (max-width: 640px) {
  .explainer { padding: 20px; }
  .factor-list, .decision-flow { grid-template-columns: minmax(0, 1fr); }
  .factor-list > div, .factor-list > div:nth-child(n+4) { grid-column: auto; }
  .topic-list h3 { font-size: 1.25rem; }
}
