/*
 * Long-form reading pages: blog posts, FAQ, privacy policy, terms of use.
 * Loaded after site.css and washed-horizon.css; uses the Washed Horizon tokens
 * defined on .washed-page. Unlayered on purpose so it wins over the layered
 * base styles without !important.
 */

.prose-main { background: var(--wh-canvas); }
.prose-shell { width: min(44rem, calc(100% - 32px)); margin-inline: auto; padding-block: 28px 72px; }

/* /blog/: a two-column card list under the page band. */
.list-shell { width: min(64rem, calc(100% - 32px)); margin-inline: auto; padding-block: 28px 72px; }
.article-cards--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.list-shell .prose-cta { max-width: 44rem; }

.washed-page .prose h2 { font-size: clamp(1.35rem, 3.6vw, 1.6rem); line-height: 1.2; font-weight: 850; letter-spacing: -.02em; margin-block: 40px 12px; }
.washed-page .prose h3 { font-size: 1.1rem; line-height: 1.3; letter-spacing: -.01em; margin-block: 28px 8px; }
.washed-page .prose p,
.washed-page .prose li { color: #334155; font-size: 1.05rem; line-height: 1.7; }
.prose p { margin-block-end: 16px; }
.prose ul, .prose ol { padding-inline-start: 22px; margin-block: 0 18px; }
.prose li { margin-block-end: 6px; }
.prose a { color: var(--wh-primary); text-decoration: underline; text-underline-offset: 2px; }
.prose strong { color: var(--wh-ink); }
.prose blockquote { margin: 24px 0; padding: 14px 18px; border-inline-start: 3px solid var(--wh-sunrise); border-radius: 2px 10px 10px 2px; background: var(--wh-paper); }
.washed-page .prose blockquote p { margin: 0; color: #3B332C; font-weight: 700; }
.prose table { width: 100%; border-collapse: collapse; margin-block: 8px 20px; font-size: .95rem; }
.prose th, .prose td { text-align: left; vertical-align: top; padding: 10px 8px; border-block-end: 1px solid var(--wh-sea-line); color: #334155; line-height: 1.5; }
.prose th { color: var(--wh-ink); font-weight: 800; }
.prose .table-scroll { overflow-x: auto; }

.prose-note { margin-block: 24px; padding: 14px 16px; border: 1px solid var(--wh-sea-line); border-radius: 10px; background: var(--wh-mist); }
.washed-page .prose-note p { margin: 0; font-size: .95rem; }

.prose-sources { margin-block-start: 40px; padding-block-start: 20px; border-block-start: 1px solid var(--wh-sea-line); }
.washed-page .prose-sources h2 { font-size: 1rem; margin-block: 0 8px; }
.washed-page .prose-sources li { font-size: .9rem; line-height: 1.5; }

.prose-cta { margin-block-start: 48px; padding: 24px; border: 1px solid #CFE3DE; border-radius: 14px; background: linear-gradient(150deg, #FCFEFD 0%, #EDF7F4 100%); }
.washed-page .prose-cta h2 { margin-block: 0 8px; font-size: 1.35rem; }
.washed-page .prose-cta p { font-size: 1rem; margin-block-end: 16px; }
.prose .prose-cta .btn { color: #fff; text-decoration: none; }
.prose-credit { margin-block-start: 32px; font-size: .85rem; }

@media (max-width: 639.98px) {
  .prose-shell { width: calc(100% - 28px); padding-block: 20px 56px; }
  .list-shell { width: calc(100% - 28px); padding-block: 16px 56px; }
  .article-cards--two { grid-template-columns: 1fr; gap: 12px; }
  .washed-page .prose p, .washed-page .prose li { font-size: 1rem; }
  .prose-cta { padding: 18px; }
  .prose th, .prose td { padding: 8px 6px; font-size: .88rem; }
  .prose code { overflow-wrap: anywhere; }
}

/* /faq: short question-and-answer pairs. */
.washed-page .faq h2:not(#cta-title) { margin-block: 32px 8px; font-size: clamp(1.15rem, 3vw, 1.3rem); }
.washed-page .faq h2:first-child { margin-block-start: 8px; }
.faq .prose-cta { margin-block-start: 40px; }
