/* Reading sections: questions and answers, formatted text, the comparison table, and the text and article sections of the engine. */

/* ---- formatted text */
.nv-prose { max-width: 70ch; font-size: var(--nv-fs-body); line-height: 1.7; color: var(--nv-text-2); }
.nv-prose > * + * { margin-top: 1em; }
.nv-prose h2, .nv-prose h3, .nv-prose h4 { margin-top: 1.6em; color: var(--nv-text); line-height: 1.25; }
.nv-prose h2 { font-size: 21px; } .nv-prose h3 { font-size: 17px; } .nv-prose h4 { font-size: 16px; }
.nv-prose ul, .nv-prose ol { padding-left: 1.3em; }
.nv-prose li + li { margin-top: .35em; }
.nv-prose a { text-decoration: underline; text-underline-offset: 3px; }
.nv-prose blockquote { margin-inline: 0; padding-left: 16px; border-left: 3px solid var(--nv-primary-tint); color: var(--nv-text); }
.nv-prose img { max-width: 100%; height: auto; border-radius: var(--nv-r-row); }
.nv-prose table { width: 100%; font-size: 14px; } .nv-prose th, .nv-prose td { padding: 8px 10px; border-bottom: 1px solid var(--nv-border-soft); text-align: left; }
.nv-prose :is(p, li):last-child { margin-bottom: 0; }

.nv-richtext { padding-top: clamp(20px, 3vw, 36px); }
.nv-richtext--narrow { max-width: 760px; }
.nv-richtext--center { margin-inline: auto; text-align: center; }
.nv-richtext--center .nv-prose { margin-inline: auto; }
.nv-richtext .nv-sec__title { margin-bottom: 14px; }
.nv-richtext__cta { margin-top: 24px; }

/* the engine's own text and article sections */
.nv-sec--text, .nv-sec--article { padding-top: clamp(24px, 4vw, 48px); }
.nv-sec--text h2, .nv-sec--article h1 { margin-bottom: 12px; font-size: var(--nv-fs-h2); letter-spacing: -.03em; line-height: 1.15; text-wrap: balance; }
.nv-sec--text p > .nv-btn, .nv-sec--text .nv-btn { margin-top: 20px; }
.nv-article__meta { margin-bottom: 20px; font-size: 14px; color: var(--nv-text-3); }
.nv-article__image { width: 100%; max-width: 760px; aspect-ratio: 16 / 9; margin-bottom: 24px; border-radius: var(--nv-r-card); object-fit: cover; }
.nv-sec--article .nv-prose { max-width: 760px; }

/* ---- questions and answers (the native <details>, one open at a time in a group) */
.nv-faq { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.nv-faq__item { border-radius: 20px; background: var(--nv-surface); overflow: hidden; }
.nv-faq__item summary {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 52px; padding: 16px 20px; color: var(--nv-text); font-size: var(--nv-fs-body); font-weight: 600; line-height: 1.4;
  list-style: none; cursor: pointer;
}
.nv-faq__item summary::-webkit-details-marker { display: none; }
.nv-faq__item summary:hover .nv-faq__q { color: var(--nv-primary); }
.nv-faq__chev { flex: none; color: var(--nv-text-3); transition: transform .2s ease; }
.nv-faq__item[open] .nv-faq__chev { transform: rotate(180deg); }
.nv-faq__a { max-width: 70ch; padding: 0 20px 18px; font-size: 15px; line-height: 1.6; }
.nv-faq__a.nv-prose { max-width: none; }
.nv-sec--faq > .nv-container > .nv-sec__title { margin-bottom: 24px; }
.nv-faq-split { display: flex; flex-wrap: wrap; gap: clamp(24px, 4vw, 56px); }
.nv-faq-split__side { flex: 1 1 300px; min-width: 0; }
.nv-faq-split__side .nv-sec__sub { margin: 10px 0 20px; font-size: var(--nv-fs-body); max-width: 40ch; }
.nv-faq-split > .nv-faq { flex: 1.4 1 420px; }
.nv-faq__photo { display: block; width: 100%; max-width: 420px; aspect-ratio: 4 / 3; margin-top: 28px; border-radius: var(--nv-r-card); object-fit: cover; }
.nv-faq__cta { margin-bottom: 0; }

/* ---- comparison table: a real table on a wide screen, one card per product on a phone */
.nv-cmp__wide { border-radius: var(--nv-r-card); background: var(--nv-surface); overflow-x: auto; }
.nv-cmp { width: 100%; font-size: 14px; }
.nv-cmp th, .nv-cmp td { padding: 15px 22px; text-align: left; vertical-align: middle; }
.nv-cmp thead th { padding-block: 18px; border-bottom: 1px solid var(--nv-border-soft); font-size: 14px; font-weight: 700; color: var(--nv-primary); }
.nv-cmp thead th:first-child { font-size: 13px; color: var(--nv-text-3); }
.nv-cmp tbody tr + tr > * { border-top: 1px solid var(--nv-border-soft); }
.nv-cmp tbody th { font-weight: 600; color: var(--nv-text); }
.nv-cmp td { color: var(--nv-text-2); }
.nv-cmp__narrow { display: none; flex-direction: column; gap: 14px; }
.nv-cmp-card { border-radius: var(--nv-r-card); background: var(--nv-surface); overflow: hidden; }
.nv-cmp-card__title { padding: 18px 20px 10px; font-size: 16px; letter-spacing: -.01em; }
.nv-cmp-card ul { margin: 0; padding: 0; list-style: none; }
.nv-cmp-card li { display: flex; justify-content: space-between; gap: 14px; padding: 12px 18px; border-top: 1px solid var(--nv-border-soft); font-size: 14px; color: var(--nv-text-3); }
.nv-cmp-card li > span:last-child { font-weight: 600; text-align: right; color: var(--nv-text); }
.nv-cmp__note { margin-top: 16px; max-width: 96ch; font-size: 12.5px; line-height: 1.6; color: var(--nv-text-3); }
@media (max-width: 719px) {
  .nv-cmp__wide { display: none; }
  .nv-cmp__narrow { display: flex; }
}
