/* content pages: legal documents, FAQ, how it works, contact */

.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Row-header tables inside documents */
.prose .table th[scope="row"] { text-transform: none; letter-spacing: 0; font-size: 0.875rem; color: var(--text-muted); background: transparent; width: 34%; white-space: normal; }
.prose .table td { color: var(--text-secondary); }
.prose .table a { white-space: nowrap; }
.prose .btn { text-decoration: none; color: #fff; }
.prose .btn-outline { color: var(--accent-green-light); }
.prose ol { list-style: decimal; }
.prose ul { list-style: disc; }

.rg-actions { margin-top: 24px; }

/* FAQ */
.faq-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 56px; }
.faq-page .faq-category { display: block; margin-bottom: 48px; scroll-margin-top: 88px; }
.faq-page .faq-category-title { font-size: clamp(1.375rem, 2.6vw, 1.75rem); padding-bottom: 14px; border-bottom: 1px solid var(--border); }
.faq-page .faq-item:first-child { border-top: 0; }
.faq-page .faq-question { font-size: 1rem; padding: 18px 0; }
.faq-page .faq-chevron { width: 18px; height: 18px; color: var(--text-muted); transition: transform 0.25s ease, color 0.25s ease; }
.faq-page .faq-item.open .faq-chevron { transform: rotate(180deg); color: var(--accent-green-light); }
.faq-page .faq-answer-inner { padding: 0; }
.faq-page .faq-answer-inner p { margin: 0; padding: 0 0 20px; max-width: 70ch; font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.75; }
.faq-cta { margin-top: 8px; }
.faq-cta h2 { font-size: 1.5rem; }

/* How it works */
.hiw-steps { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 48px; }
.hiw-step { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 16px; padding: 28px 0; border-top: 1px solid var(--border); scroll-margin-top: 88px; }
.hiw-num { font-family: var(--font-display); font-weight: 800; font-size: 2.25rem; line-height: 1; color: var(--accent-green); font-variant-numeric: tabular-nums; }
.hiw-body h3 { font-size: 1.125rem; margin-bottom: 8px; }
.hiw-body p { font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.7; max-width: 60ch; }
.hiw-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; font-weight: 600; font-size: 0.875rem; color: var(--accent-green-light); }
.hiw-link:hover { color: var(--text-primary); }
.hiw-rules { padding: 0; }

/* Contact */
.contact-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 32px; align-items: start; }
.contact-aside .panel h2 { font-size: 1.25rem; margin-bottom: 10px; }
.contact-email { color: var(--accent-green-light); font-weight: 600; word-break: break-all; }
.dl-compact { grid-template-columns: 1fr; gap: 2px; }
.dl-compact dt { font-size: 0.8125rem; }
.dl-compact dd { margin-bottom: 12px; font-size: 0.9375rem; }

@media (max-width: 960px) {
  .faq-layout, .contact-layout { grid-template-columns: 1fr; gap: 28px; }
  .hiw-steps { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .hiw-step { grid-template-columns: 48px minmax(0, 1fr); }
  .hiw-num { font-size: 1.75rem; }
  .prose .table th[scope="row"] { width: auto; }
}
