{"product_id":"loan-comparison","title":"Loan Calculator","description":"\u003cstyle\u003e\n.lcmp-calculator {\n  --ink: #0f172a;\n  --muted: #475569;\n  --border: #e2e8f0;\n  --surface: #ffffff;\n  --tint: #f8fafc;\n  --primary: #1d4ed8;\n  --accent: #c2410c;\n  --accent-hover: #9a3412;\n  --chart-1: #1e40af;\n  --chart-2: #0d9488;\n  --chart-3: #7c3aed;\n  --chart-4: #be185d;\n  --chart-5: #334155;\n  width: 100%;\n  max-width: 1200px;\n  margin: 0 auto;\n  color: var(--ink);\n  background: var(--surface);\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Arial, sans-serif;\n  font-size: 15px;\n  line-height: 1.55;\n  overflow-wrap: anywhere;\n  container-type: inline-size;\n  container-name: lcmp;\n}\n.lcmp-calculator,\n.lcmp-calculator *,\n.lcmp-calculator *::before,\n.lcmp-calculator *::after {\n  box-sizing: border-box;\n}\n.lcmp-calculator a {\n  color: var(--primary);\n  text-decoration-thickness: 1px;\n  text-underline-offset: 2px;\n}\n.lcmp-calculator a:hover {\n  text-decoration-thickness: 2px;\n}\n.lcmp-calculator button,\n.lcmp-calculator input,\n.lcmp-calculator select {\n  font: inherit;\n}\n.lcmp-calculator button,\n.lcmp-calculator input,\n.lcmp-calculator select,\n.lcmp-calculator .lcmp-chart-card,\n.lcmp-calculator .lcmp-panel,\n.lcmp-calculator .lcmp-result-card,\n.lcmp-calculator .lcmp-loan-card,\n.lcmp-calculator .lcmp-table-card,\n.lcmp-calculator .lcmp-education {\n  min-width: 0;\n}\n.lcmp-calculator .lcmp-shell {\n  display: grid;\n  gap: 24px;\n  padding: 24px;\n  border: 1px solid var(--border);\n  border-radius: 8px;\n  background: var(--surface);\n  box-shadow: 0 1px 2px rgba(15, 23, 42, .06);\n}\n.lcmp-calculator .lcmp-header {\n  display: grid;\n  gap: 12px;\n}\n.lcmp-calculator .lcmp-header h2,\n.lcmp-calculator .lcmp-section-title,\n.lcmp-calculator .lcmp-education h2,\n.lcmp-calculator .lcmp-education h3 {\n  margin: 0;\n  color: var(--ink);\n}\n.lcmp-calculator .lcmp-header h2 {\n  font-size: 24px;\n  line-height: 1.2;\n  font-weight: 700;\n}\n.lcmp-calculator .lcmp-header p {\n  margin: 0;\n  color: var(--muted);\n}\n.lcmp-calculator .lcmp-pills {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n}\n.lcmp-calculator .lcmp-pill {\n  display: inline-flex;\n  align-items: center;\n  min-height: 32px;\n  padding: 4px 10px;\n  border: 1px solid var(--border);\n  border-radius: 999px;\n  background: var(--tint);\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 600;\n  font-variant-numeric: tabular-nums;\n}\n.lcmp-calculator .lcmp-toolbar {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 12px;\n  align-items: center;\n}\n.lcmp-calculator .lcmp-button {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  gap: 10px;\n  min-height: 46px;\n  padding: 12px 18px;\n  border-radius: 6px;\n  border: 1px solid transparent;\n  font-size: 15px;\n  font-weight: 700;\n  line-height: 1;\n  cursor: pointer;\n  white-space: nowrap;\n  transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .15s ease;\n}\n.lcmp-calculator .lcmp-button:hover {\n  box-shadow: 0 2px 5px rgba(15, 23, 42, .13);\n}\n.lcmp-calculator .lcmp-button:active {\n  transform: translateY(1px);\n}\n.lcmp-calculator .lcmp-button:focus-visible,\n.lcmp-calculator input:focus-visible,\n.lcmp-calculator select:focus-visible,\n.lcmp-calculator summary:focus-visible {\n  outline: 3px solid rgba(29, 78, 216, .35);\n  outline-offset: 2px;\n}\n.lcmp-calculator .lcmp-download {\n  color: #ffffff;\n  background: var(--accent);\n  border-color: var(--accent);\n}\n.lcmp-calculator .lcmp-download:hover,\n.lcmp-calculator .lcmp-download:active {\n  background: var(--accent-hover);\n  border-color: var(--accent-hover);\n}\n.lcmp-calculator .lcmp-reset {\n  color: var(--ink);\n  background: var(--surface);\n  border-color: #94a3b8;\n}\n.lcmp-calculator .lcmp-button-icon {\n  width: 18px;\n  height: 18px;\n  display: inline-block;\n  flex: 0 0 auto;\n}\n.lcmp-calculator .lcmp-workspace {\n  display: grid;\n  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);\n  gap: 24px;\n  align-items: start;\n}\n.lcmp-calculator .lcmp-panel,\n.lcmp-calculator .lcmp-chart-card,\n.lcmp-calculator .lcmp-table-card,\n.lcmp-calculator .lcmp-education {\n  border: 1px solid var(--border);\n  border-radius: 8px;\n  background: var(--surface);\n  box-shadow: 0 1px 2px rgba(15, 23, 42, .06);\n}\n.lcmp-calculator .lcmp-panel,\n.lcmp-calculator .lcmp-chart-card,\n.lcmp-calculator .lcmp-table-card {\n  padding: 20px;\n}\n.lcmp-calculator .lcmp-section-head {\n  display: grid;\n  gap: 4px;\n  margin-bottom: 16px;\n}\n.lcmp-calculator .lcmp-section-title {\n  font-size: 18px;\n  line-height: 1.3;\n  font-weight: 650;\n}\n.lcmp-calculator .lcmp-section-subtitle,\n.lcmp-calculator .lcmp-helper,\n.lcmp-calculator .lcmp-chart-caption,\n.lcmp-calculator .lcmp-table-note,\n.lcmp-calculator .lcmp-field-error,\n.lcmp-calculator .lcmp-result-note {\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n}\n.lcmp-calculator .lcmp-loans {\n  display: grid;\n  gap: 16px;\n}\n.lcmp-calculator .lcmp-loan-card {\n  display: grid;\n  gap: 16px;\n  padding: 16px;\n  border: 1px solid var(--border);\n  border-radius: 8px;\n  background: var(--tint);\n}\n.lcmp-calculator .lcmp-loan-head {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 12px;\n  align-items: center;\n  justify-content: flex-start;\n}\n.lcmp-calculator .lcmp-loan-number {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  width: 32px;\n  height: 32px;\n  flex: 0 0 32px;\n  border-radius: 6px;\n  color: #ffffff;\n  background: var(--chart-1);\n  font-weight: 700;\n}\n.lcmp-calculator .lcmp-loan-card:nth-child(2) .lcmp-loan-number {\n  background: var(--chart-2);\n}\n.lcmp-calculator .lcmp-loan-card:nth-child(3) .lcmp-loan-number {\n  background: var(--chart-3);\n}\n.lcmp-calculator .lcmp-loan-name-wrap {\n  flex: 1 1 180px;\n  min-width: 0;\n}\n.lcmp-calculator .lcmp-switch-label {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  color: var(--ink);\n  font-size: 14px;\n  font-weight: 600;\n  cursor: pointer;\n}\n.lcmp-calculator .lcmp-switch-label input {\n  width: 18px;\n  height: 18px;\n  accent-color: var(--primary);\n}\n.lcmp-calculator .lcmp-field-grid {\n  display: grid;\n  grid-template-columns: repeat(3, minmax(130px, 1fr));\n  gap: 16px;\n  align-items: start;\n}\n.lcmp-calculator .lcmp-field {\n  display: grid;\n  grid-template-rows: auto auto minmax(20px, auto);\n  gap: 6px;\n  min-width: 0;\n}\n.lcmp-calculator .lcmp-field label {\n  color: var(--ink);\n  font-size: 14px;\n  font-weight: 600;\n}\n.lcmp-calculator .lcmp-input,\n.lcmp-calculator .lcmp-select {\n  width: 100%;\n  min-height: 44px;\n  padding: 9px 11px;\n  border: 1px solid #94a3b8;\n  border-radius: 6px;\n  color: var(--ink);\n  background: var(--surface);\n  font-size: 15px;\n  font-weight: 400;\n  font-variant-numeric: tabular-nums;\n}\n.lcmp-calculator .lcmp-input[aria-invalid=\"true\"] {\n  border-color: #b91c1c;\n  box-shadow: 0 0 0 1px #b91c1c;\n}\n.lcmp-calculator .lcmp-field-error {\n  min-height: 20px;\n  color: #991b1b;\n}\n.lcmp-calculator .lcmp-advanced {\n  border: 1px solid var(--border);\n  border-radius: 8px;\n  background: var(--surface);\n}\n.lcmp-calculator .lcmp-advanced summary {\n  padding: 12px 16px;\n  color: var(--ink);\n  font-size: 14px;\n  font-weight: 700;\n  cursor: pointer;\n}\n.lcmp-calculator .lcmp-advanced-body {\n  padding: 0 16px 16px;\n}\n.lcmp-calculator .lcmp-results-grid {\n  display: grid;\n  gap: 12px;\n}\n.lcmp-calculator .lcmp-result-card {\n  display: grid;\n  gap: 6px;\n  padding: 16px;\n  border: 1px solid var(--border);\n  border-radius: 8px;\n  background: var(--tint);\n}\n.lcmp-calculator .lcmp-result-card.lcmp-primary-result {\n  border-color: rgba(29, 78, 216, .35);\n  background: #eff6ff;\n}\n.lcmp-calculator .lcmp-result-label {\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 600;\n}\n.lcmp-calculator .lcmp-primary-value {\n  color: var(--ink);\n  font-size: 30px;\n  line-height: 1.1;\n  font-weight: 700;\n  font-variant-numeric: tabular-nums;\n}\n.lcmp-calculator .lcmp-card-value {\n  color: var(--ink);\n  font-size: 20px;\n  line-height: 1.2;\n  font-weight: 700;\n  font-variant-numeric: tabular-nums;\n}\n.lcmp-calculator .lcmp-comparison-list {\n  display: grid;\n  gap: 8px;\n  margin-top: 4px;\n}\n.lcmp-calculator .lcmp-comparison-row {\n  display: grid;\n  grid-template-columns: minmax(80px, 1fr) repeat(3, minmax(70px, auto));\n  gap: 8px 12px;\n  align-items: baseline;\n  padding: 8px 0;\n  border-bottom: 1px solid var(--border);\n  font-variant-numeric: tabular-nums;\n}\n.lcmp-calculator .lcmp-comparison-row:last-child {\n  border-bottom: 0;\n}\n.lcmp-calculator .lcmp-comparison-name {\n  font-weight: 700;\n}\n.lcmp-calculator .lcmp-comparison-metric {\n  color: var(--muted);\n  font-size: 13px;\n}\n.lcmp-calculator .lcmp-chart-card {\n  display: grid;\n  gap: 16px;\n}\n.lcmp-calculator .lcmp-chart-stage {\n  width: 100%;\n  min-width: 0;\n}\n.lcmp-calculator .lcmp-chart-svg {\n  display: block;\n  width: 100%;\n  height: auto;\n  min-height: 220px;\n  overflow: visible;\n}\n.lcmp-calculator .lcmp-chart-empty {\n  display: none;\n  padding: 16px;\n  border: 1px dashed #94a3b8;\n  border-radius: 6px;\n  color: var(--muted);\n  background: var(--tint);\n  text-align: center;\n  font-size: 13px;\n  font-weight: 600;\n}\n.lcmp-calculator .lcmp-chart-empty.lcmp-visible {\n  display: block;\n}\n.lcmp-calculator .lcmp-legend {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 10px 20px;\n  align-items: center;\n}\n.lcmp-calculator .lcmp-legend-item {\n  display: inline-grid;\n  grid-template-columns: 12px auto auto;\n  gap: 8px;\n  align-items: center;\n  color: var(--ink);\n  font-size: 13px;\n  font-weight: 600;\n  font-variant-numeric: tabular-nums;\n}\n.lcmp-calculator .lcmp-swatch {\n  width: 12px;\n  height: 12px;\n  border-radius: 3px;\n}\n.lcmp-calculator .lcmp-legend-value {\n  color: var(--muted);\n}\n.lcmp-calculator .lcmp-chart-caption,\n.lcmp-calculator .lcmp-table-note {\n  margin-top: 16px;\n  padding: 10px 12px;\n  border: 1px solid var(--border);\n  border-radius: 6px;\n  background: var(--tint);\n}\n.lcmp-calculator .lcmp-safe-chart-stack {\n  gap: 20px;\n  height: auto;\n}\n.lcmp-calculator .lcmp-safe-chart-stack .lcmp-legend {\n  margin-top: 4px;\n}\n.lcmp-calculator .lcmp-safe-chart-stack .lcmp-chart-caption {\n  margin-top: 20px;\n}\n.lcmp-calculator .lcmp-table-controls {\n  display: grid;\n  grid-template-columns: repeat(2, minmax(180px, 260px));\n  gap: 16px;\n  margin-bottom: 16px;\n}\n.lcmp-calculator .lcmp-table-wrap {\n  width: 100%;\n  overflow-x: auto;\n  border: 1px solid var(--border);\n  border-radius: 6px;\n  background: var(--surface);\n}\n.lcmp-calculator table {\n  width: 100%;\n  min-width: 660px;\n  border-collapse: collapse;\n  font-variant-numeric: tabular-nums;\n}\n.lcmp-calculator th,\n.lcmp-calculator td {\n  padding: 10px 12px;\n  border-bottom: 1px solid var(--border);\n  text-align: right;\n  vertical-align: top;\n  white-space: nowrap;\n}\n.lcmp-calculator th:first-child,\n.lcmp-calculator td:first-child {\n  text-align: left;\n}\n.lcmp-calculator th {\n  color: #ffffff;\n  background: #172554;\n  font-size: 13px;\n  font-weight: 700;\n}\n.lcmp-calculator td {\n  color: var(--ink);\n  font-size: 13px;\n}\n.lcmp-calculator tbody tr:hover {\n  background: #fafafa;\n}\n.lcmp-calculator tbody tr:last-child td {\n  border-bottom: 0;\n}\n.lcmp-calculator .lcmp-safe-table-stack {\n  height: auto;\n}\n.lcmp-calculator .lcmp-safe-table-stack .lcmp-table-note {\n  margin-top: 20px;\n}\n.lcmp-calculator .lcmp-education {\n  padding: 24px;\n}\n.lcmp-calculator .lcmp-education-content {\n  max-width: 880px;\n  margin: 0 auto;\n}\n.lcmp-calculator .lcmp-education h2 {\n  margin-top: 28px;\n  font-size: 20px;\n  line-height: 1.3;\n  font-weight: 700;\n}\n.lcmp-calculator .lcmp-education h2:first-child {\n  margin-top: 0;\n}\n.lcmp-calculator .lcmp-education h3 {\n  margin-top: 20px;\n  font-size: 17px;\n  line-height: 1.35;\n  font-weight: 700;\n}\n.lcmp-calculator .lcmp-education p,\n.lcmp-calculator .lcmp-education ul {\n  margin: 10px 0 0;\n}\n.lcmp-calculator .lcmp-education ul {\n  padding-left: 22px;\n}\n.lcmp-calculator .lcmp-education li + li {\n  margin-top: 6px;\n}\n.lcmp-calculator .lcmp-visually-hidden {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border: 0;\n}\n@container lcmp (max-width: 899px) {\n  .lcmp-calculator .lcmp-workspace {\n    grid-template-columns: minmax(0, 1fr);\n  }\n}\n@container lcmp (max-width: 760px) {\n  .lcmp-calculator .lcmp-field-grid {\n    grid-template-columns: repeat(2, minmax(130px, 1fr));\n  }\n  .lcmp-calculator .lcmp-comparison-row {\n    grid-template-columns: minmax(90px, 1fr) minmax(80px, auto);\n  }\n  .lcmp-calculator .lcmp-comparison-row .lcmp-comparison-metric:nth-child(3),\n  .lcmp-calculator .lcmp-comparison-row .lcmp-comparison-metric:nth-child(4) {\n    grid-column: 2;\n  }\n}\n@container lcmp (max-width: 639px) {\n  .lcmp-calculator .lcmp-shell {\n    gap: 20px;\n    padding: 16px;\n  }\n  .lcmp-calculator .lcmp-panel,\n  .lcmp-calculator .lcmp-chart-card,\n  .lcmp-calculator .lcmp-table-card,\n  .lcmp-calculator .lcmp-education {\n    padding: 16px;\n  }\n  .lcmp-calculator .lcmp-field-grid,\n  .lcmp-calculator .lcmp-table-controls {\n    grid-template-columns: minmax(0, 1fr);\n  }\n  .lcmp-calculator .lcmp-toolbar {\n    align-items: stretch;\n  }\n  .lcmp-calculator .lcmp-button {\n    flex: 1 1 190px;\n  }\n  .lcmp-calculator .lcmp-chart-svg {\n    min-height: 240px;\n  }\n}\n@container lcmp (max-width: 380px) {\n  .lcmp-calculator .lcmp-shell {\n    padding: 12px;\n  }\n  .lcmp-calculator .lcmp-panel,\n  .lcmp-calculator .lcmp-chart-card,\n  .lcmp-calculator .lcmp-table-card,\n  .lcmp-calculator .lcmp-education,\n  .lcmp-calculator .lcmp-loan-card {\n    padding: 12px;\n  }\n  .lcmp-calculator .lcmp-button {\n    width: 100%;\n    flex-basis: 100%;\n  }\n  .lcmp-calculator .lcmp-chart-caption,\n  .lcmp-calculator .lcmp-table-note {\n    margin-top: 12px;\n  }\n}\n\u003c\/style\u003e\n\u003cdiv class=\"lcmp-calculator\" data-calculator-root\u003e\n  \u003cdiv class=\"lcmp-shell\"\u003e\n    \u003cheader class=\"lcmp-header\"\u003e\n      \u003ch2\u003eLoan Comparison Calculator\u003c\/h2\u003e\n      \u003cp\u003eCompare three fixed-rate loan offers by monthly cash outflow, interest, fees, payoff time, and total cost.\u003c\/p\u003e\n      \u003cdiv class=\"lcmp-pills\" aria-label=\"Live comparison summary\"\u003e\n        \u003cspan class=\"lcmp-pill\" data-pill=\"offers\"\u003e3 offers active\u003c\/span\u003e\n        \u003cspan class=\"lcmp-pill\" data-pill=\"best\"\u003eBest total cost: Loan 1\u003c\/span\u003e\n        \u003cspan class=\"lcmp-pill\" data-pill=\"savings\"\u003eSavings: $0.00\u003c\/span\u003e\n        \u003cspan class=\"lcmp-pill\" data-pill=\"payoff\"\u003eFastest payoff: 36 months\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/header\u003e\n\n    \u003cdiv class=\"lcmp-toolbar\"\u003e\n      \u003cbutton type=\"button\" class=\"lcmp-button lcmp-download\" data-action=\"download\"\u003e\n        \u003csvg class=\"lcmp-button-icon\" viewbox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"\u003e\n          \u003cpath fill=\"currentColor\" d=\"M5 20h14v-2H5v2Zm7-18v10.17l3.59-3.58L17 10l-5 5-5-5 1.41-1.41L11 12.17V2h1Z\"\u003e\u003c\/path\u003e\n        \u003c\/svg\u003e\n        \u003cspan\u003eDownload Excel\u003c\/span\u003e\n      \u003c\/button\u003e\n      \u003cbutton type=\"button\" class=\"lcmp-button lcmp-reset\" data-action=\"reset\"\u003eReset\u003c\/button\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"lcmp-workspace\"\u003e\n      \u003csection class=\"lcmp-panel\" aria-labelledby=\"lcmp-inputs-title\"\u003e\n        \u003cdiv class=\"lcmp-section-head\"\u003e\n          \u003ch3 class=\"lcmp-section-title\" id=\"lcmp-inputs-title\"\u003eLoan offers\u003c\/h3\u003e\n          \u003cdiv class=\"lcmp-section-subtitle\"\u003eEnter each lender quote. Calculations update as you type.\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"lcmp-loans\"\u003e\n          \u003carticle class=\"lcmp-loan-card\" data-loan-card=\"0\"\u003e\n            \u003cdiv class=\"lcmp-loan-head\"\u003e\n              \u003cspan class=\"lcmp-loan-number\" aria-hidden=\"true\"\u003e1\u003c\/span\u003e\n              \u003cdiv class=\"lcmp-loan-name-wrap lcmp-field\"\u003e\n                \u003clabel for=\"lcmp-name-1\"\u003eOffer name\u003c\/label\u003e\n                \u003cinput class=\"lcmp-input\" id=\"lcmp-name-1\" data-field=\"name\" data-loan=\"0\" type=\"text\" value=\"Loan 1\" autocomplete=\"off\"\u003e\n                \u003cspan class=\"lcmp-helper\"\u003eUse the lender or product name.\u003c\/span\u003e\n              \u003c\/div\u003e\n              \u003clabel class=\"lcmp-switch-label\" for=\"lcmp-enabled-1\"\u003e\n                \u003cinput id=\"lcmp-enabled-1\" data-field=\"enabled\" data-loan=\"0\" type=\"checkbox\" checked\u003e\n                Include\n              \u003c\/label\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"lcmp-field-grid\"\u003e\n              \u003cdiv class=\"lcmp-field\"\u003e\n                \u003clabel for=\"lcmp-amount-1\"\u003eLoan amount\u003c\/label\u003e\n                \u003cinput class=\"lcmp-input\" id=\"lcmp-amount-1\" data-field=\"amount\" data-loan=\"0\" data-mask=\"currency\" type=\"text\" inputmode=\"decimal\" value=\"$25,000.00\" autocomplete=\"off\"\u003e\n                \u003cspan class=\"lcmp-field-error\" id=\"lcmp-error-amount-1\" data-error=\"amount\" data-loan=\"0\"\u003e\u003c\/span\u003e\n              \u003c\/div\u003e\n              \u003cdiv class=\"lcmp-field\"\u003e\n                \u003clabel for=\"lcmp-rate-1\"\u003eAnnual interest rate\u003c\/label\u003e\n                \u003cinput class=\"lcmp-input\" id=\"lcmp-rate-1\" data-field=\"rate\" data-loan=\"0\" data-mask=\"percent\" type=\"text\" inputmode=\"decimal\" value=\"7.50%\" autocomplete=\"off\"\u003e\n                \u003cspan class=\"lcmp-field-error\" id=\"lcmp-error-rate-1\" data-error=\"rate\" data-loan=\"0\"\u003e\u003c\/span\u003e\n              \u003c\/div\u003e\n              \u003cdiv class=\"lcmp-field\"\u003e\n                \u003clabel for=\"lcmp-term-1\"\u003eTerm in years\u003c\/label\u003e\n                \u003cinput class=\"lcmp-input\" id=\"lcmp-term-1\" data-field=\"term\" data-loan=\"0\" data-mask=\"number\" type=\"text\" inputmode=\"decimal\" value=\"3\" autocomplete=\"off\"\u003e\n                \u003cspan class=\"lcmp-field-error\" id=\"lcmp-error-term-1\" data-error=\"term\" data-loan=\"0\"\u003e\u003c\/span\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdetails class=\"lcmp-advanced\"\u003e\n              \u003csummary\u003eFees and extra payment\u003c\/summary\u003e\n              \u003cdiv class=\"lcmp-advanced-body\"\u003e\n                \u003cdiv class=\"lcmp-field-grid\"\u003e\n                  \u003cdiv class=\"lcmp-field\"\u003e\n                    \u003clabel for=\"lcmp-upfront-1\"\u003eUpfront fee\u003c\/label\u003e\n                    \u003cinput class=\"lcmp-input\" id=\"lcmp-upfront-1\" data-field=\"upfrontFee\" data-loan=\"0\" data-mask=\"currency\" type=\"text\" inputmode=\"decimal\" value=\"$250.00\" autocomplete=\"off\"\u003e\n                    \u003cspan class=\"lcmp-field-error\" id=\"lcmp-error-upfront-1\" data-error=\"upfrontFee\" data-loan=\"0\"\u003e\u003c\/span\u003e\n                  \u003c\/div\u003e\n                  \u003cdiv class=\"lcmp-field\"\u003e\n                    \u003clabel for=\"lcmp-monthly-fee-1\"\u003eMonthly fee\u003c\/label\u003e\n                    \u003cinput class=\"lcmp-input\" id=\"lcmp-monthly-fee-1\" data-field=\"monthlyFee\" data-loan=\"0\" data-mask=\"currency\" type=\"text\" inputmode=\"decimal\" value=\"$0.00\" autocomplete=\"off\"\u003e\n                    \u003cspan class=\"lcmp-field-error\" id=\"lcmp-error-monthly-fee-1\" data-error=\"monthlyFee\" data-loan=\"0\"\u003e\u003c\/span\u003e\n                  \u003c\/div\u003e\n                  \u003cdiv class=\"lcmp-field\"\u003e\n                    \u003clabel for=\"lcmp-extra-1\"\u003eExtra monthly payment\u003c\/label\u003e\n                    \u003cinput class=\"lcmp-input\" id=\"lcmp-extra-1\" data-field=\"extra\" data-loan=\"0\" data-mask=\"currency\" type=\"text\" inputmode=\"decimal\" value=\"$0.00\" autocomplete=\"off\"\u003e\n                    \u003cspan class=\"lcmp-field-error\" id=\"lcmp-error-extra-1\" data-error=\"extra\" data-loan=\"0\"\u003e\u003c\/span\u003e\n                  \u003c\/div\u003e\n                \u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/details\u003e\n          \u003c\/article\u003e\n\n          \u003carticle class=\"lcmp-loan-card\" data-loan-card=\"1\"\u003e\n            \u003cdiv class=\"lcmp-loan-head\"\u003e\n              \u003cspan class=\"lcmp-loan-number\" aria-hidden=\"true\"\u003e2\u003c\/span\u003e\n              \u003cdiv class=\"lcmp-loan-name-wrap lcmp-field\"\u003e\n                \u003clabel for=\"lcmp-name-2\"\u003eOffer name\u003c\/label\u003e\n                \u003cinput class=\"lcmp-input\" id=\"lcmp-name-2\" data-field=\"name\" data-loan=\"1\" type=\"text\" value=\"Loan 2\" autocomplete=\"off\"\u003e\n                \u003cspan class=\"lcmp-helper\"\u003eUse the lender or product name.\u003c\/span\u003e\n              \u003c\/div\u003e\n              \u003clabel class=\"lcmp-switch-label\" for=\"lcmp-enabled-2\"\u003e\n                \u003cinput id=\"lcmp-enabled-2\" data-field=\"enabled\" data-loan=\"1\" type=\"checkbox\" checked\u003e\n                Include\n              \u003c\/label\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"lcmp-field-grid\"\u003e\n              \u003cdiv class=\"lcmp-field\"\u003e\n                \u003clabel for=\"lcmp-amount-2\"\u003eLoan amount\u003c\/label\u003e\n                \u003cinput class=\"lcmp-input\" id=\"lcmp-amount-2\" data-field=\"amount\" data-loan=\"1\" data-mask=\"currency\" type=\"text\" inputmode=\"decimal\" value=\"$25,000.00\" autocomplete=\"off\"\u003e\n                \u003cspan class=\"lcmp-field-error\" id=\"lcmp-error-amount-2\" data-error=\"amount\" data-loan=\"1\"\u003e\u003c\/span\u003e\n              \u003c\/div\u003e\n              \u003cdiv class=\"lcmp-field\"\u003e\n                \u003clabel for=\"lcmp-rate-2\"\u003eAnnual interest rate\u003c\/label\u003e\n                \u003cinput class=\"lcmp-input\" id=\"lcmp-rate-2\" data-field=\"rate\" data-loan=\"1\" data-mask=\"percent\" type=\"text\" inputmode=\"decimal\" value=\"8.25%\" autocomplete=\"off\"\u003e\n                \u003cspan class=\"lcmp-field-error\" id=\"lcmp-error-rate-2\" data-error=\"rate\" data-loan=\"1\"\u003e\u003c\/span\u003e\n              \u003c\/div\u003e\n              \u003cdiv class=\"lcmp-field\"\u003e\n                \u003clabel for=\"lcmp-term-2\"\u003eTerm in years\u003c\/label\u003e\n                \u003cinput class=\"lcmp-input\" id=\"lcmp-term-2\" data-field=\"term\" data-loan=\"1\" data-mask=\"number\" type=\"text\" inputmode=\"decimal\" value=\"4\" autocomplete=\"off\"\u003e\n                \u003cspan class=\"lcmp-field-error\" id=\"lcmp-error-term-2\" data-error=\"term\" data-loan=\"1\"\u003e\u003c\/span\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdetails class=\"lcmp-advanced\"\u003e\n              \u003csummary\u003eFees and extra payment\u003c\/summary\u003e\n              \u003cdiv class=\"lcmp-advanced-body\"\u003e\n                \u003cdiv class=\"lcmp-field-grid\"\u003e\n                  \u003cdiv class=\"lcmp-field\"\u003e\n                    \u003clabel for=\"lcmp-upfront-2\"\u003eUpfront fee\u003c\/label\u003e\n                    \u003cinput class=\"lcmp-input\" id=\"lcmp-upfront-2\" data-field=\"upfrontFee\" data-loan=\"1\" data-mask=\"currency\" type=\"text\" inputmode=\"decimal\" value=\"$0.00\" autocomplete=\"off\"\u003e\n                    \u003cspan class=\"lcmp-field-error\" id=\"lcmp-error-upfront-2\" data-error=\"upfrontFee\" data-loan=\"1\"\u003e\u003c\/span\u003e\n                  \u003c\/div\u003e\n                  \u003cdiv class=\"lcmp-field\"\u003e\n                    \u003clabel for=\"lcmp-monthly-fee-2\"\u003eMonthly fee\u003c\/label\u003e\n                    \u003cinput class=\"lcmp-input\" id=\"lcmp-monthly-fee-2\" data-field=\"monthlyFee\" data-loan=\"1\" data-mask=\"currency\" type=\"text\" inputmode=\"decimal\" value=\"$4.00\" autocomplete=\"off\"\u003e\n                    \u003cspan class=\"lcmp-field-error\" id=\"lcmp-error-monthly-fee-2\" data-error=\"monthlyFee\" data-loan=\"1\"\u003e\u003c\/span\u003e\n                  \u003c\/div\u003e\n                  \u003cdiv class=\"lcmp-field\"\u003e\n                    \u003clabel for=\"lcmp-extra-2\"\u003eExtra monthly payment\u003c\/label\u003e\n                    \u003cinput class=\"lcmp-input\" id=\"lcmp-extra-2\" data-field=\"extra\" data-loan=\"1\" data-mask=\"currency\" type=\"text\" inputmode=\"decimal\" value=\"$0.00\" autocomplete=\"off\"\u003e\n                    \u003cspan class=\"lcmp-field-error\" id=\"lcmp-error-extra-2\" data-error=\"extra\" data-loan=\"1\"\u003e\u003c\/span\u003e\n                  \u003c\/div\u003e\n                \u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/details\u003e\n          \u003c\/article\u003e\n\n          \u003carticle class=\"lcmp-loan-card\" data-loan-card=\"2\"\u003e\n            \u003cdiv class=\"lcmp-loan-head\"\u003e\n              \u003cspan class=\"lcmp-loan-number\" aria-hidden=\"true\"\u003e3\u003c\/span\u003e\n              \u003cdiv class=\"lcmp-loan-name-wrap lcmp-field\"\u003e\n                \u003clabel for=\"lcmp-name-3\"\u003eOffer name\u003c\/label\u003e\n                \u003cinput class=\"lcmp-input\" id=\"lcmp-name-3\" data-field=\"name\" data-loan=\"2\" type=\"text\" value=\"Loan 3\" autocomplete=\"off\"\u003e\n                \u003cspan class=\"lcmp-helper\"\u003eUse the lender or product name.\u003c\/span\u003e\n              \u003c\/div\u003e\n              \u003clabel class=\"lcmp-switch-label\" for=\"lcmp-enabled-3\"\u003e\n                \u003cinput id=\"lcmp-enabled-3\" data-field=\"enabled\" data-loan=\"2\" type=\"checkbox\" checked\u003e\n                Include\n              \u003c\/label\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"lcmp-field-grid\"\u003e\n              \u003cdiv class=\"lcmp-field\"\u003e\n                \u003clabel for=\"lcmp-amount-3\"\u003eLoan amount\u003c\/label\u003e\n                \u003cinput class=\"lcmp-input\" id=\"lcmp-amount-3\" data-field=\"amount\" data-loan=\"2\" data-mask=\"currency\" type=\"text\" inputmode=\"decimal\" value=\"$25,000.00\" autocomplete=\"off\"\u003e\n                \u003cspan class=\"lcmp-field-error\" id=\"lcmp-error-amount-3\" data-error=\"amount\" data-loan=\"2\"\u003e\u003c\/span\u003e\n              \u003c\/div\u003e\n              \u003cdiv class=\"lcmp-field\"\u003e\n                \u003clabel for=\"lcmp-rate-3\"\u003eAnnual interest rate\u003c\/label\u003e\n                \u003cinput class=\"lcmp-input\" id=\"lcmp-rate-3\" data-field=\"rate\" data-loan=\"2\" data-mask=\"percent\" type=\"text\" inputmode=\"decimal\" value=\"6.90%\" autocomplete=\"off\"\u003e\n                \u003cspan class=\"lcmp-field-error\" id=\"lcmp-error-rate-3\" data-error=\"rate\" data-loan=\"2\"\u003e\u003c\/span\u003e\n              \u003c\/div\u003e\n              \u003cdiv class=\"lcmp-field\"\u003e\n                \u003clabel for=\"lcmp-term-3\"\u003eTerm in years\u003c\/label\u003e\n                \u003cinput class=\"lcmp-input\" id=\"lcmp-term-3\" data-field=\"term\" data-loan=\"2\" data-mask=\"number\" type=\"text\" inputmode=\"decimal\" value=\"5\" autocomplete=\"off\"\u003e\n                \u003cspan class=\"lcmp-field-error\" id=\"lcmp-error-term-3\" data-error=\"term\" data-loan=\"2\"\u003e\u003c\/span\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdetails class=\"lcmp-advanced\"\u003e\n              \u003csummary\u003eFees and extra payment\u003c\/summary\u003e\n              \u003cdiv class=\"lcmp-advanced-body\"\u003e\n                \u003cdiv class=\"lcmp-field-grid\"\u003e\n                  \u003cdiv class=\"lcmp-field\"\u003e\n                    \u003clabel for=\"lcmp-upfront-3\"\u003eUpfront fee\u003c\/label\u003e\n                    \u003cinput class=\"lcmp-input\" id=\"lcmp-upfront-3\" data-field=\"upfrontFee\" data-loan=\"2\" data-mask=\"currency\" type=\"text\" inputmode=\"decimal\" value=\"$500.00\" autocomplete=\"off\"\u003e\n                    \u003cspan class=\"lcmp-field-error\" id=\"lcmp-error-upfront-3\" data-error=\"upfrontFee\" data-loan=\"2\"\u003e\u003c\/span\u003e\n                  \u003c\/div\u003e\n                  \u003cdiv class=\"lcmp-field\"\u003e\n                    \u003clabel for=\"lcmp-monthly-fee-3\"\u003eMonthly fee\u003c\/label\u003e\n                    \u003cinput class=\"lcmp-input\" id=\"lcmp-monthly-fee-3\" data-field=\"monthlyFee\" data-loan=\"2\" data-mask=\"currency\" type=\"text\" inputmode=\"decimal\" value=\"$0.00\" autocomplete=\"off\"\u003e\n                    \u003cspan class=\"lcmp-field-error\" id=\"lcmp-error-monthly-fee-3\" data-error=\"monthlyFee\" data-loan=\"2\"\u003e\u003c\/span\u003e\n                  \u003c\/div\u003e\n                  \u003cdiv class=\"lcmp-field\"\u003e\n                    \u003clabel for=\"lcmp-extra-3\"\u003eExtra monthly payment\u003c\/label\u003e\n                    \u003cinput class=\"lcmp-input\" id=\"lcmp-extra-3\" data-field=\"extra\" data-loan=\"2\" data-mask=\"currency\" type=\"text\" inputmode=\"decimal\" value=\"$50.00\" autocomplete=\"off\"\u003e\n                    \u003cspan class=\"lcmp-field-error\" id=\"lcmp-error-extra-3\" data-error=\"extra\" data-loan=\"2\"\u003e\u003c\/span\u003e\n                  \u003c\/div\u003e\n                \u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/details\u003e\n          \u003c\/article\u003e\n        \u003c\/div\u003e\n      \u003c\/section\u003e\n\n      \u003caside class=\"lcmp-panel\" aria-labelledby=\"lcmp-results-title\"\u003e\n        \u003cdiv class=\"lcmp-section-head\"\u003e\n          \u003ch3 class=\"lcmp-section-title\" id=\"lcmp-results-title\"\u003eLive results\u003c\/h3\u003e\n          \u003cdiv class=\"lcmp-section-subtitle\"\u003eThe “best” offer below means the lowest total cash cost among valid included loans.\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"lcmp-results-grid\"\u003e\n          \u003cdiv class=\"lcmp-result-card lcmp-primary-result\"\u003e\n            \u003cdiv class=\"lcmp-result-label\"\u003eLowest total cost\u003c\/div\u003e\n            \u003cdiv class=\"lcmp-primary-value\" data-result=\"winner\"\u003eLoan 1\u003c\/div\u003e\n            \u003cdiv class=\"lcmp-result-note\" data-result=\"winner-note\"\u003eTotal paid: $0.00\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"lcmp-result-card\"\u003e\n            \u003cdiv class=\"lcmp-result-label\"\u003eSavings versus next-best offer\u003c\/div\u003e\n            \u003cdiv class=\"lcmp-card-value\" data-result=\"savings\"\u003e$0.00\u003c\/div\u003e\n            \u003cdiv class=\"lcmp-result-note\" data-result=\"savings-note\"\u003eBased on total principal, interest, and fees.\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"lcmp-result-card\"\u003e\n            \u003cdiv class=\"lcmp-result-label\"\u003eLowest first-month cash outflow\u003c\/div\u003e\n            \u003cdiv class=\"lcmp-card-value\" data-result=\"payment\"\u003e$0.00\u003c\/div\u003e\n            \u003cdiv class=\"lcmp-result-note\" data-result=\"payment-note\"\u003eNo valid offer selected.\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"lcmp-result-card\"\u003e\n            \u003cdiv class=\"lcmp-result-label\"\u003eFastest payoff\u003c\/div\u003e\n            \u003cdiv class=\"lcmp-card-value\" data-result=\"fastest\"\u003e0 months\u003c\/div\u003e\n            \u003cdiv class=\"lcmp-result-note\" data-result=\"fastest-note\"\u003eNo valid offer selected.\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"lcmp-result-card\"\u003e\n            \u003cdiv class=\"lcmp-result-label\"\u003eOffer-by-offer summary\u003c\/div\u003e\n            \u003cdiv class=\"lcmp-comparison-list\" data-comparison-list\u003e\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"lcmp-visually-hidden\" aria-live=\"polite\" data-live-summary\u003e\u003c\/div\u003e\n      \u003c\/aside\u003e\n    \u003c\/div\u003e\n\n    \u003csection class=\"lcmp-chart-card\" data-chart-card=\"cost\" aria-labelledby=\"lcmp-cost-title\"\u003e\n      \u003cdiv class=\"lcmp-section-head\"\u003e\n        \u003ch3 class=\"lcmp-section-title\" id=\"lcmp-cost-title\"\u003eTotal repayment composition\u003c\/h3\u003e\n        \u003cdiv class=\"lcmp-section-subtitle\" data-cost-interpretation\u003ePrincipal, interest, and fees shown on one comparable scale.\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"lcmp-chart-stage\"\u003e\n        \u003csvg class=\"lcmp-chart-svg\" data-chart-svg=\"cost\" role=\"img\" aria-labelledby=\"lcmp-cost-title lcmp-cost-desc\"\u003e\u003c\/svg\u003e\n        \u003cdiv class=\"lcmp-chart-empty\" data-chart-empty=\"cost\"\u003eEnter valid loan values to see the repayment breakdown.\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"lcmp-legend\" data-legend=\"cost\" aria-label=\"Cost breakdown legend\"\u003e\u003c\/div\u003e\n      \u003cdiv class=\"lcmp-table-wrap\" data-chart-table-wrap=\"cost\"\u003e\n        \u003ctable aria-label=\"Exact total repayment composition\"\u003e\n          \u003cthead\u003e\n            \u003ctr\u003e\n              \u003cth scope=\"col\"\u003eOffer\u003c\/th\u003e\n              \u003cth scope=\"col\"\u003ePrincipal\u003c\/th\u003e\n              \u003cth scope=\"col\"\u003eInterest\u003c\/th\u003e\n              \u003cth scope=\"col\"\u003eFees\u003c\/th\u003e\n              \u003cth scope=\"col\"\u003eTotal paid\u003c\/th\u003e\n            \u003c\/tr\u003e\n          \u003c\/thead\u003e\n          \u003ctbody data-chart-table=\"cost\"\u003e\u003c\/tbody\u003e\n        \u003c\/table\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"lcmp-chart-caption\" id=\"lcmp-cost-desc\" data-caption=\"cost\"\u003eThe colored bars and exact table use the same current model values.\u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"lcmp-chart-card\" data-chart-card=\"balance\" aria-labelledby=\"lcmp-balance-title\"\u003e\n      \u003cdiv class=\"lcmp-section-head\"\u003e\n        \u003ch3 class=\"lcmp-section-title\" id=\"lcmp-balance-title\"\u003eRemaining balance over time\u003c\/h3\u003e\n        \u003cdiv class=\"lcmp-section-subtitle\" data-balance-interpretation\u003eSee how rate, term, and extra payments change the payoff path.\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"lcmp-chart-stage\"\u003e\n        \u003csvg class=\"lcmp-chart-svg\" data-chart-svg=\"balance\" role=\"img\" aria-labelledby=\"lcmp-balance-title lcmp-balance-desc\"\u003e\u003c\/svg\u003e\n        \u003cdiv class=\"lcmp-chart-empty\" data-chart-empty=\"balance\"\u003eEnter valid loan values to see balance paths.\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"lcmp-legend\" data-legend=\"balance\" aria-label=\"Balance chart legend\"\u003e\u003c\/div\u003e\n      \u003cdiv class=\"lcmp-table-wrap\" data-chart-table-wrap=\"balance\"\u003e\n        \u003ctable aria-label=\"Balance milestones represented in the chart\"\u003e\n          \u003cthead\u003e\n            \u003ctr\u003e\n              \u003cth scope=\"col\"\u003eOffer\u003c\/th\u003e\n              \u003cth scope=\"col\"\u003eStart\u003c\/th\u003e\n              \u003cth scope=\"col\"\u003e25% of horizon\u003c\/th\u003e\n              \u003cth scope=\"col\"\u003e50% of horizon\u003c\/th\u003e\n              \u003cth scope=\"col\"\u003e75% of horizon\u003c\/th\u003e\n              \u003cth scope=\"col\"\u003eEnd\u003c\/th\u003e\n            \u003c\/tr\u003e\n          \u003c\/thead\u003e\n          \u003ctbody data-chart-table=\"balance\"\u003e\u003c\/tbody\u003e\n        \u003c\/table\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"lcmp-chart-caption\" id=\"lcmp-balance-desc\" data-caption=\"balance\"\u003eEach line is generated from the same monthly amortization schedule used in the detailed table and Excel workbook.\u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"lcmp-table-card\" data-table-card aria-labelledby=\"lcmp-schedule-title\"\u003e\n      \u003cdiv class=\"lcmp-section-head\"\u003e\n        \u003ch3 class=\"lcmp-section-title\" id=\"lcmp-schedule-title\"\u003eAmortization schedule\u003c\/h3\u003e\n        \u003cdiv class=\"lcmp-section-subtitle\"\u003eInspect monthly detail or a compact annual summary for one offer.\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"lcmp-table-controls\"\u003e\n        \u003cdiv class=\"lcmp-field\"\u003e\n          \u003clabel for=\"lcmp-schedule-loan\"\u003eOffer to display\u003c\/label\u003e\n          \u003cselect class=\"lcmp-select\" id=\"lcmp-schedule-loan\" data-schedule-loan\u003e\u003c\/select\u003e\n          \u003cspan class=\"l\ncmp-helper\"\u003eOnly valid included offers are listed.\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"lcmp-field\"\u003e\n          \u003clabel for=\"lcmp-schedule-view\"\u003eSchedule detail\u003c\/label\u003e\n          \u003cselect class=\"lcmp-select\" id=\"lcmp-schedule-view\" data-schedule-view\u003e\n            \u003coption value=\"annual\" selected\u003eAnnual summary\u003c\/option\u003e\n            \u003coption value=\"monthly\"\u003eMonthly detail\u003c\/option\u003e\n          \u003c\/select\u003e\n          \u003cspan class=\"lcmp-helper\"\u003eAnnual rows aggregate monthly cash flows.\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"lcmp-table-wrap\" data-schedule-wrap\u003e\n        \u003ctable aria-label=\"Loan amortization schedule\"\u003e\n          \u003cthead\u003e\n            \u003ctr\u003e\n              \u003cth scope=\"col\" data-schedule-period-head\u003eYear\u003c\/th\u003e\n              \u003cth scope=\"col\"\u003ePayment\u003c\/th\u003e\n              \u003cth scope=\"col\"\u003ePrincipal\u003c\/th\u003e\n              \u003cth scope=\"col\"\u003eInterest\u003c\/th\u003e\n              \u003cth scope=\"col\"\u003eFees\u003c\/th\u003e\n              \u003cth scope=\"col\"\u003eEnding balance\u003c\/th\u003e\n            \u003c\/tr\u003e\n          \u003c\/thead\u003e\n          \u003ctbody data-schedule-body\u003e\u003c\/tbody\u003e\n        \u003c\/table\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"lcmp-table-note\" data-schedule-note\u003ePayments are modeled at a fixed annual rate with monthly amortization. The final payment is reduced to the exact remaining principal and interest.\u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"lcmp-education\" aria-labelledby=\"lcmp-guide-title\"\u003e\n      \u003cdiv class=\"lcmp-education-content\"\u003e\n        \u003ch2 id=\"lcmp-guide-title\"\u003eWhat this loan comparison estimates\u003c\/h2\u003e\n        \u003cp\u003eThis calculator compares up to three fixed-rate installment loans using a month-by-month amortization model. It estimates the scheduled payment, first-month cash outflow, payoff time, total interest, total fees, total amount paid, and a fee-adjusted effective annual cost. The comparison is designed for personal loans, vehicle loans, equipment financing, and other loans with regular monthly payments. Results are estimates rather than lender disclosures or personalized financial advice.\u003c\/p\u003e\n\n        \u003ch2\u003eHow to enter each loan offer\u003c\/h2\u003e\n        \u003ch3\u003eOffer name and Include switch\u003c\/h3\u003e\n        \u003cp\u003eThe offer name is optional and appears throughout the results, charts, schedule, and Excel workbook. Use a lender name or a short label such as “Credit union” or “36-month offer.” The Include switch determines whether an offer participates in the comparison. Turning it off removes that loan from winners, charts, tables, and the export without deleting its inputs.\u003c\/p\u003e\n\n        \u003ch3\u003eLoan amount\u003c\/h3\u003e\n        \u003cp\u003eEnter the principal the lender will advance before any separately paid fee. This field is required and must be greater than zero. Comparing offers is most meaningful when the loan amounts are equal. A larger principal increases the payment, total interest, and total amount paid. A common mistake is entering the cash you receive after an origination fee rather than the contractual principal; use the upfront-fee field to keep those amounts separate.\u003c\/p\u003e\n\n        \u003ch3\u003eAnnual interest rate\u003c\/h3\u003e\n        \u003cp\u003eEnter the fixed annual nominal rate as a percentage. Zero is allowed for promotional financing. A higher rate generally raises both the monthly payment and lifetime interest. The calculator converts the annual rate to a monthly rate by dividing by 12. A lender’s disclosed APR may already incorporate certain fees, while a note rate may not. For consumer-credit disclosures, the \u003ca href=\"https:\/\/www.consumerfinance.gov\/ask-cfpb\/what-is-a-loan-estimate-en-1995\/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eConsumer Financial Protection Bureau\u003c\/a\u003e explains why rate and fee information should be reviewed together.\u003c\/p\u003e\n\n        \u003ch3\u003eTerm in years\u003c\/h3\u003e\n        \u003cp\u003eEnter the contractual repayment term, from a fraction of a year up to 50 years. The model rounds the result to the nearest whole month. A longer term usually lowers the required monthly payment but keeps the balance outstanding longer, which often increases total interest. A shorter term usually costs less overall but requires more monthly cash. Avoid comparing only the payment: a low payment can be produced simply by extending the term.\u003c\/p\u003e\n\n        \u003ch3\u003eUpfront fee, monthly fee, and extra payment\u003c\/h3\u003e\n        \u003cp\u003eThe upfront fee is paid at closing and increases total cost immediately; examples include an origination or processing charge. The monthly fee is added to every payment while the loan remains open. Extra monthly payment is applied directly to principal after the scheduled interest is covered. Extra payments can shorten the payoff period and reduce interest, but the model assumes the lender allows them without a prepayment penalty. Verify that assumption in the contract. The \u003ca href=\"https:\/\/www.ftc.gov\/business-guidance\/resources\/advertising-consumer-leases\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eFederal Trade Commission\u003c\/a\u003e and the \u003ca href=\"https:\/\/www.ecfr.gov\/current\/title-12\/chapter-X\/part-1026\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eelectronic Code of Federal Regulations, Regulation Z\u003c\/a\u003e provide background on consumer-credit disclosures and advertising rules.\u003c\/p\u003e\n\n        \u003ch2\u003eHow to interpret the results\u003c\/h2\u003e\n        \u003ch3\u003eLowest total cost and savings\u003c\/h3\u003e\n        \u003cp\u003eLowest total cost means principal plus modeled interest plus upfront and monthly fees. Because each borrower must repay principal, the more decision-relevant difference between equal-size offers is usually interest plus fees. Savings versus the next-best offer is the difference between the two lowest total-cost results. A zero value can mean only one valid offer is active or two offers have effectively identical total costs.\u003c\/p\u003e\n\n        \u003ch3\u003eMonthly cash outflow and fastest payoff\u003c\/h3\u003e\n        \u003cp\u003eThe first-month cash outflow includes the scheduled principal-and-interest payment, any extra monthly payment, and the monthly fee. The final payment may be lower. Lowest monthly outflow is useful for budgeting, but it does not identify the cheapest loan. Fastest payoff shows the number of modeled monthly payments until the balance reaches zero. Extra principal payments can make the actual payoff shorter than the original term.\u003c\/p\u003e\n\n        \u003ch3\u003eInterest, fees, total paid, and effective annual cost\u003c\/h3\u003e\n        \u003cp\u003eTotal interest is the sum of monthly interest charges. Total fees combines the upfront charge with monthly fees through payoff. Total paid adds principal, interest, and fees. The fee-adjusted effective annual cost is calculated from the net cash received and the modeled monthly cash outflows using an internal-rate-of-return approach. It can be higher than the note rate when fees are present. This estimate is useful for side-by-side analysis but is not a substitute for a lender’s legally required APR calculation, whose rules and rounding conventions may differ.\u003c\/p\u003e\n\n        \u003ch2\u003eReading the charts and schedule\u003c\/h2\u003e\n        \u003cp\u003eThe repayment-composition chart separates principal, interest, and fees for each active offer. When amounts are equal, the shortest bar generally indicates the lowest cash cost. The balance chart plots the remaining principal after each monthly payment. A steeper line means faster principal reduction. The milestone table exposes exact balances represented by the chart so the graphic is never the only source of information.\u003c\/p\u003e\n        \u003cp\u003eThe amortization schedule shows payment, principal, interest, fees, and ending balance. In monthly view, interest should generally decline while principal rises for a standard fixed payment. Annual view aggregates the same monthly rows. The last row should end at zero, apart from insignificant floating-point rounding that the model explicitly caps. Download Excel uses the current inputs and the same schedules, so changed assumptions are reflected at click time.\u003c\/p\u003e\n\n        \u003ch2\u003ePractical comparison checks\u003c\/h2\u003e\n        \u003cul\u003e\n          \u003cli\u003eFirst compare equal principal amounts and equal terms to isolate rate and fee differences.\u003c\/li\u003e\n          \u003cli\u003eThen test the shortest term whose payment remains realistically affordable.\u003c\/li\u003e\n          \u003cli\u003eConfirm whether quoted rates are fixed, whether fees are financed or paid separately, and whether extra payments are penalty-free.\u003c\/li\u003e\n          \u003cli\u003eKeep an emergency-cash buffer; the mathematically cheapest offer may not be the safest payment for a volatile budget.\u003c\/li\u003e\n          \u003cli\u003eReview the lender’s final disclosure. The \u003ca href=\"https:\/\/www.federalreserve.gov\/consumerscommunities\/consumer-finance.htm\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eFederal Reserve consumer resources\u003c\/a\u003e provide additional background on borrowing and credit.\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e","brand":"FinancialModelsLab","offers":[{"title":"Default Title","offer_id":49909487501555,"sku":"loan-comparison","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6191\/2762\/files\/loan-comparison.webp?v=1783935526","url":"https:\/\/financialmodelslab.com\/products\/loan-comparison","provider":"Financial Models Lab","version":"1.0","type":"link"}