/* Scoped additions to the existing article system. */
.credit-guide .article-hero-grid-single { grid-template-columns: minmax(0, 880px); }
.credit-guide .article-hero { padding-bottom: 24px; }
.credit-guide .article-content { overflow-wrap: anywhere; }
.credit-guide .article-content > section:first-child h2 { margin-top: 12px; }
.credit-guide .article-main > .cta-band,
.credit-guide .article-content .cta-band { max-width: 100%; }
.article-content .guide-table { max-width: 100%; overflow-x: auto; margin: 24px 0; border: 1px solid #dce4ed; border-radius: 10px; -webkit-overflow-scrolling: touch; }
.article-content .guide-table table { border-collapse: collapse; width: 100%; min-width: 540px; font-size: 15px; line-height: 1.55; }
.article-content .guide-table caption { padding: 14px; text-align: left; font-weight: 750; background: #f2f6fc; color: var(--color-blue-dark); }
.article-content .guide-table th,
.article-content .guide-table td { text-align: left; vertical-align: top; padding: 12px; border-bottom: 1px solid #dce4ed; }
.article-content .guide-table thead { background: #f8fafd; }
.article-content .guide-table tbody tr:last-child > * { border-bottom: 0; }
.article-content .guide-sources { border-top: 1px solid #dce4ed; margin-top: 32px; font-size: 15px; }
.credit-guide .faq-section > .container { padding: 0; }
.credit-guide .guide-faq summary { padding: 18px 22px; cursor: pointer; font-weight: 750; color: var(--color-blue-dark); }
.credit-guide .guide-faq[open] summary { border-bottom: 1px solid #dce4ed; }
.affordability { border: 1px solid #dce4ed; border-radius: 16px; padding: 24px; background: #f7faff; margin: 22px 0; }
.article-content .affordability h3 { margin-top: 0; }
.affordability-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.affordability-fields > div { min-width: 0; }
.affordability label { display: block; font-weight: 750; font-size: 15px; margin-bottom: 8px; }
.affordability input { box-sizing: border-box; display: block; width: 100%; min-width: 0; min-height: 48px; padding: 10px 12px; border: 1px solid #899bb2; border-radius: 8px; font: inherit; font-size: 18px; background: #fff; color: var(--color-blue-dark); }
.affordability small { display: block; font-size: 13px; line-height: 1.5; margin-top: 6px; }
.affordability input[aria-invalid="true"] { border-color: #a62417; }
.affordability .affordability-error { color: #a62417; }
.affordability-error:empty { display: none; }
.affordability-result { margin-top: 20px; padding-top: 16px; border-top: 1px solid #dce4ed; }
.affordability-result dl { margin: 12px 0; }
.affordability-result dt { font-size: 15px; }
.affordability-result dd { margin: 0 0 14px; font-weight: 750; font-size: 24px; color: var(--color-blue-dark); }
.affordability-result [data-aff-status] { font-size: 15px; }
.credit-guide summary:focus-visible,
.article-content .guide-table:focus-visible,
.affordability input:focus-visible { outline: 3px solid #cb5c00; outline-offset: 3px; }
@media (max-width: 760px) {
  .credit-guide .article-hero h1 { font-size: 32px; }
  .credit-guide .article-content h2 { font-size: 26px; }
  .affordability { padding: 18px; }
  .affordability-fields { grid-template-columns: minmax(0, 1fr); }
  .article-content .guide-table table { min-width: 510px; }
}
