/* "Bus from A to B" pages and their index. Uses the NAVIG tokens from navig-ui.css. */
.rp-hero { padding: clamp(24px, 5vw, 56px) 0 24px; }
.rp-hero h1 { margin: 8px 0 16px; max-width: 24ch; }
.rp-hero .nv-lede { max-width: 66ch; }
.rp-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.rp-cta .nv-btn { min-height: 44px; }
.rp-faq details { border-top: 1px solid var(--nv-line); padding: 14px 0; }
.rp-faq summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-weight: 600; }
.rp-faq p { margin: 4px 0 8px; max-width: 70ch; color: var(--nv-muted); }
.rp-note { color: var(--nv-muted); font-size: .875rem; max-width: 70ch; margin: 24px 0 0; }
.rf-crumbs { padding-top: 20px; font-size: .875rem; color: var(--nv-muted); }
.rf-crumbs a { display: inline-flex; align-items: center; min-height: 44px; }
.rf-block { padding: 28px 0 8px; border-top: 1px solid var(--nv-line); }
.rf-block h2 { margin: 0 0 16px; }
.rf-scroll { overflow-x: auto; }
.rf-table td, .rf-table th { vertical-align: top; }
.rf-table tbody th { font: 600 1rem var(--nv-mono); text-transform: none; letter-spacing: 0; color: var(--nv-ink); }
.rf-code { font: .75rem var(--nv-mono); color: var(--nv-muted); }
.rf-changes { margin: 0; padding-left: 20px; display: grid; gap: 10px; max-width: 70ch; }
.rf-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; padding: 0; margin: 0; list-style: none; }
.rf-links a, .rf-more a { display: inline-flex; align-items: center; min-height: 44px; }
.rf-more { margin: 16px 0 40px; color: var(--nv-muted); }
.rf-group { padding: 20px 0; border-top: 1px solid var(--nv-line); }
.rf-group h2 { margin: 0 0 8px; font-size: 1.125rem; }
.rf-group ul { display: flex; flex-wrap: wrap; gap: 0 20px; padding: 0; margin: 0; list-style: none; }
@media (max-width: 760px) { .rf-links { grid-template-columns: 1fr; } }
.rf-group a { display: inline-flex; align-items: center; min-height: 44px; }
