/* Credit readiness gets its own rocket-bright accents, with shared type and 5px corners. */
.cm-hero { padding: 74px 0 60px; background: #07111f; }
.cm-hero-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); gap: 64px; align-items: center; }
.funding-site .cm-hero h1 { font-size: clamp(2.25rem,4.6vw,4.25rem); line-height: 1.08; margin: 0 0 24px; max-width: 760px; }
.cm-hero h1 em { display: block; color: #f7c95f; font-style: normal; }
.cm-lead { color: #becbdd; font-size: 1.15rem; max-width: 640px; }
.cm-hero-actions { display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center; margin: 24px 0; }
.cm-hero-actions span { color: #bdcadb; font-size: .9rem; }
.cm-offer { scroll-margin-top: 110px; }
.cm-benefits { padding: 0; list-style: none; margin: 26px 0; }
.cm-benefits li { padding: 9px 0 9px 21px; position: relative; color: #e5edf6; }
.cm-benefits li::before { content: ''; width: 6px; height: 6px; background: #f7c95f; position: absolute; left: 0; top: 21px; }
.cm-offer { padding: 32px; border: 1px solid #7d692f; border-top: 4px solid #f7c95f; border-radius: 5px; background: #12233a; }
.cm-logo { display: block; width: min(100%,280px); height: auto; margin-bottom: 26px; }
.cm-offer h2 { font-size: 1.3rem; letter-spacing: -.02em; margin-bottom: 16px; }
.cm-price { display: flex; align-items: baseline; gap: 8px; margin: 14px 0 0; }
.cm-price strong { color: #f7c95f; font-size: 3.6rem; line-height: 1.1; letter-spacing: -.04em; }
.cm-price span { color: #c2cfdd; }
.cm-offer .action { width: 100%; margin: 22px 0 12px; text-align: center; justify-content: center; }
.cm-offer .cm-detail { color: #b6c6d9; font-size: .85rem; line-height: 1.6; margin: 10px 0; }
.cm-detail a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.cm-bureaus { display: flex; flex-wrap: wrap; gap: 10px 20px; color: #eef3f9; padding-block: 17px; border-block: 1px solid #34475f; font-size: .88rem; margin: 24px 0 0; }
.cm-section { padding: 64px 0; border-top: 1px solid #293b50; }
.cm-section h2 { font-size: clamp(1.8rem,3vw,2.6rem); line-height: 1.2; margin: 0 0 18px; }
.cm-section-intro { max-width: 740px; margin-bottom: 30px; }
.cm-section p { color: #bdcadb; }
.cm-three { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.cm-tile { padding: 26px; border: 1px solid #34475f; border-radius: 5px; background: #102137; }
.cm-tile h3 { font-size: 1.18rem; line-height: 1.35; margin: 12px 0; }
.cm-tile p { font-size: .98rem; margin-bottom: 0; }
.cm-step { font: 800 .8rem Montserrat,sans-serif; letter-spacing: .12em; color: #f7c95f; }
.cm-tile a { color: #f7c95f; text-underline-offset: 4px; }
.cm-help { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 36px; align-items: center; background: #15263d; border: 1px solid #465a73; padding: 36px; border-radius: 5px; }
.cm-help p { max-width: 750px; margin-bottom: 0; }
.cm-help h2 { font-size: clamp(1.5rem,2.4vw,2rem); }
.cm-faq { max-width: 840px; }
.cm-faq details { padding: 20px 0; border-bottom: 1px solid #34475f; }
.cm-faq summary { cursor: pointer; font-weight: 700; padding-right: 20px; }
.cm-faq details p { margin: 16px 0 0; }
.cm-promo-section { padding: 40px 0; }
.cm-promo { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 30px; align-items: center; padding: 30px; background: #13243a; border: 1px solid #41516a; border-left: 4px solid #f7c95f; border-radius: 5px; color: #fff; }
.funding-site .cm-promo h2 { font-size: clamp(1.4rem,2.5vw,1.9rem); line-height: 1.25; margin: 0 0 10px; }
.cm-promo p { color: #c5d0de; margin: 0; max-width: 760px; }
.cm-promo-actions { text-align: center; }
.cm-promo-actions .action { white-space: nowrap; }
.cm-promo-actions small { display: block; color: #b6c6d9; font-size: .8rem; margin-top: 10px; }
.cm-article-hero { padding: 56px 0 40px; border-bottom: 1px solid #34475f; }
.funding-site .cm-article-hero h1 { font-size: clamp(2rem,4vw,3.4rem); line-height: 1.15; }
.cm-article-hero .article-meta { margin-bottom: 0; }
.cm-article .cm-promo { display: block; margin: 32px 0; }
.cm-article .cm-promo-actions { text-align: left; margin-top: 20px; }
.cm-article .cm-loan-paths h3 { color: #f7c95f; margin-top: 28px; }
.cm-article li { margin-bottom: 12px; }
.cm-article .cm-help { display: block; margin: 32px 0; padding: 26px; }
.cm-article .cm-help .action { margin-top: 20px; }
.cm-article .answer-next h2 { font-size: 1.6rem; }
.cm-article .answer-sources a { overflow-wrap: anywhere; }
.cm-article .cm-source-note { font-size: .86rem; color: #aebed2; }
.cm-article .answer { font-size: 1.15rem; }
.cm-article .answer-section h2 { font-size: clamp(1.5rem,3vw,2rem); }
.cm-article .answer-contents { margin: 24px 0 36px; }
.cm-article .answer-contents h2 { font-size: 1.2rem; }
.cm-article :is(.answer-contents,.answer-related) a { color: #f7c95f; }
.cm-hero :is(a,summary):focus-visible, .cm-section :is(a,summary):focus-visible, .cm-promo a:focus-visible { outline: 3px solid #f7c95f; outline-offset: 4px; }
@media(max-width:1000px) {
  .cm-hero-grid { gap: 30px; }
  .cm-offer { padding: 25px; }
  .cm-help,.cm-promo { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .cm-help .action { justify-self: start; }
  .cm-promo-actions { text-align: left; }
}
@media(max-width:720px) {
  .cm-hero { padding: 40px 0; }
  .cm-hero-grid,.cm-three { grid-template-columns: minmax(0,1fr); }
  .cm-section { padding: 40px 0; }
  .cm-help,.cm-promo { padding: 24px; }
  .cm-promo-actions .action { white-space: normal; width: 100%; justify-content: center; }
  .cm-article-hero { padding: 36px 0; }
  .cm-article .cm-promo { padding: 22px; }
}

/* Rocket-inspired credit identity. These rules never affect loan/calculator styling. */
.cm-hero { background: radial-gradient(ellipse at 90% 20%,#49227788,transparent 55%),radial-gradient(ellipse at 5% 100%,#a134221f,transparent 50%),#0c1022; }
.cm-hero h1 em { color:#ff8d54; }
.cm-hero .eyebrow-new,.cm-section .eyebrow-new,.cm-article-hero .eyebrow-new { color:#bb9bff; }
.cm-kicker { font:800 .75rem/1.5 Inter,sans-serif; letter-spacing:.15em; color:#be9dff; margin:0 0 12px; }
.cm-hero .action:not(.action-outline),.cm-section .action:not(.action-outline),.cm-promo .action {
  background:linear-gradient(110deg,#ff7042,#ffac39); border-color:#ff8c42; color:#101325;
  box-shadow:0 5px 24px #ff6a2526; font-weight:800;
}
.cm-hero .action:hover,.cm-section .action:not(.action-outline):hover,.cm-promo .action:hover { background:#ffb45d; color:#101325; }
.cm-section .action-outline { color:#dbc9ff; border-color:#a783ff; background:#291b45; }
.cm-hero .text-action,.cm-tile a,.cm-article :is(.answer-contents,.answer-related) a { color:#c4a6ff; }
.cm-benefits li::before { background:#23df85; border-radius:50%; }
.cm-offer { border-color:#7954b8; border-top:4px solid #ac80ff; background:linear-gradient(145deg,#281d44,#12182b 80%); box-shadow:0 12px 70px #a371ff15; }
.cm-price strong { color:#ff9851; }
.cm-offer .cm-logo { width:205px; margin:24px auto; }
.cm-gauge { width:100%; max-width:290px; text-align:center; margin:0 auto; align-self:center; }
.cm-gauge svg { display:block; width:100%; height:auto; }
.cm-gauge > strong { display:block; font-size:1.2rem; color:#fff; margin-top:-8px; }
.cm-gauge > span { display:block; color:#c2bcd3; font-size:.7rem; margin-top:5px; }
.cm-offer .cm-gauge { max-width:270px; }
.cm-offer .action { white-space:normal; }
.cm-promo { position:relative; grid-template-columns:180px minmax(0,1fr) auto; gap:30px; padding:30px; border:1px solid #8463b9; background:radial-gradient(ellipse at 0% 20%,#6933a85c,transparent 60%),linear-gradient(125deg,#25183f,#171b30); box-shadow:0 10px 35px #0002; }
.cm-promo::before { content:''; position:absolute; inset:-1px -1px auto; height:4px; border-radius:5px 5px 0 0; background:linear-gradient(90deg,#ff4058,#ff8535 40%,#af7aff); }
.cm-promo .cm-kicker { color:#c4a6ff; margin-bottom:10px; font-size:.72rem; }
.cm-promo .cm-gauge > strong { font-size:1rem; }
.cm-promo .cm-gauge > span { font-size:.65rem; }
.cm-promo .cm-promo-copy p:not(.cm-kicker) { font-size:1rem; color:#d2cde0; }
.cm-promo-actions small { color:#c8c0d5; }
.cm-promo-actions .cm-affiliate-note { max-width:270px; font-size:.72rem; line-height:1.5; }
/* Keep article-link and product-theme colors from overriding button contrast. */
.funding-site main :is(.cm-promo,.cm-offer,.cm-section) a.action:not(.action-outline),
.funding-site main :is(.cm-promo,.cm-offer,.cm-section) a.action:not(.action-outline):visited {
  color:#101325; background:linear-gradient(110deg,#ff7042,#ffac39); border-color:#ff8c42; text-decoration:none;
}
.funding-site main :is(.cm-promo,.cm-offer,.cm-section) a.action:not(.action-outline):hover { color:#101325; background:#ffb45d; }
.funding-site main :is(.cm-help,.cm-section) a.action.action-outline,
.funding-site main :is(.cm-help,.cm-section) a.action.action-outline:visited {
  color:#f1e8ff; background:#291b45; border-color:#a783ff; text-decoration:none;
}
.funding-site main :is(.cm-help,.cm-section) a.action.action-outline:hover { color:#fff; background:#3b285d; }
.cm-article .cm-specialist-note { margin:20px 0 32px; font-size:1rem; }
.cm-article .cm-specialist-note a { text-decoration:underline; }
.cm-review-benefit { border-left:3px solid #21d779; padding:10px 14px; background:#21d7790d; color:#e0e7ed; font-size:.92rem; }
.cm-review-benefit strong { color:#5aed9f; }
.cm-comparison { margin:30px 0; }
.cm-comparison table { table-layout:fixed; width:100%; border-collapse:collapse; background:#141b2c; font-size:.92rem; }
.cm-comparison caption { text-align:left; color:#fff; font-family:Montserrat,sans-serif; font-size:clamp(1.35rem,3vw,1.8rem); font-weight:800; line-height:1.3; padding-bottom:20px; }
.cm-comparison .cm-feature-col { width:42%; }
.cm-comparison th,.cm-comparison td { padding:15px 12px; border:1px solid #49506e; overflow-wrap:anywhere; }
.cm-comparison th { text-align:left; font-weight:600; }
.cm-comparison thead th { background:#211b36; color:#fff; vertical-align:top; }
.cm-comparison td,.cm-comparison thead th:not(:first-child) { text-align:center; }
.cm-comparison td:last-child,.cm-comparison thead th:last-child { background:#17322a; }
.cm-comparison small { display:block; font-size:.75rem; font-weight:400; color:#c3cbd5; margin-top:5px; }
.cm-check,.cm-cross { display:flex; flex-direction:column; align-items:center; gap:3px; font-size:.75rem; line-height:1.35; }
.cm-check { color:#51ed98; }
.cm-cross { color:#ff6879; }
.cm-check > span:first-child,.cm-cross > span:first-child { font-size:1.7rem; font-weight:800; line-height:1.1; }
.cm-comparison-group th { background:#34204d; color:#dcc7ff; padding:12px; }
.cm-comparison-price td { color:#fff; font-size:1.2rem; font-weight:800; }
.cm-comparison-price td:last-child { color:#51ed98; }
.cm-comparison .cm-comparison-note { font-size:.82rem; color:#bac6d5; margin:14px 0; }
@media(max-width:480px) {
  .cm-comparison table { font-size:.78rem; }
  .cm-comparison th,.cm-comparison td { padding:12px 7px; }
  .cm-comparison small,.cm-check,.cm-cross { font-size:.68rem; }
  .cm-comparison-price td { font-size:1rem; }
}
.cm-promo-section > .frame > .cm-detail { color:#aebacf; font-size:.8rem; margin:12px 0 0; }
.cm-guide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.cm-step { color:#b796ff; }
.cm-tile { border-top:3px solid #a17afa; background:#151c30; }
.cm-three .cm-tile:nth-child(2) { border-top-color:#ff8744; }
.cm-three .cm-tile:nth-child(3) { border-top-color:#24d883; }
.cm-factors-teaser { background:#0e1427; }
.cm-factors-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:center; gap:60px; }
.cm-factors-layout > div > p:not(.cm-kicker) { max-width:400px; }
.cm-factors-layout .action { margin-top:14px; }
.cm-factor-chart { display:grid; grid-template-columns:minmax(130px,.85fr) minmax(0,1.4fr); align-items:center; gap:22px; margin:0; padding:26px; border:1px solid #625089; border-radius:5px; background:#1b1930; }
.cm-factor-ring { position:relative; width:100%; max-width:260px; margin:auto; }
.cm-factor-ring svg { display:block; width:100%; height:auto; }
.cm-factor-ring > div { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.cm-factor-ring strong { color:#fff; font-size:clamp(2.5rem,4vw,3.8rem); font-weight:900; line-height:1; }
.cm-factor-ring span { color:#d4cce1; font-size:.66rem; font-weight:700; letter-spacing:.08em; margin-top:10px; }
.cm-factor-legend { list-style:none; padding:0; margin:0; }
.cm-factor-legend li { display:grid; grid-template-columns:66px minmax(0,1fr); align-items:start; gap:12px; margin:0; padding:10px 0; border-bottom:1px solid #ffffff15; }
.cm-factor-legend li:last-child { border:0; }
.cm-factor-percent { font-size:1.5rem; line-height:1.25; font-weight:900; color:var(--factor); white-space:nowrap; }
.cm-factor-legend strong { display:block; color:#fff; font-size:.86rem; line-height:1.4; }
.cm-factor-legend div > span { display:block; color:#c3bbd1; font-size:.76rem; line-height:1.45; margin-top:4px; }
.cm-factor-history { --factor:#21d779; }
.cm-factor-balances { --factor:#ff7042; }
.cm-factor-age { --factor:#ad87ff; }
.cm-factor-mix { --factor:#37bfff; }
.cm-factor-new { --factor:#ff5985; }
.cm-factor-chart figcaption { grid-column:1/-1; color:#b9afcb; font-size:.73rem; line-height:1.5; }
.cm-article .cm-factor-chart { margin:22px 0; }
.cm-article .cm-promo { display:grid; grid-template-columns:150px minmax(0,1fr); gap:22px; }
.cm-article .cm-promo-actions { grid-column:2; margin:0; }
.cm-article-hero { background:radial-gradient(ellipse at 100% 0%,#5e258255,transparent 65%),#0e1427; }
.cm-thank-you #main > .product-top { padding-top:48px; padding-bottom:20px; }
.cm-thank-you #main > .product-top h1 { font-size:clamp(2rem,4vw,3rem); }
.cm-thank-you .product-lead { margin:20px 0; }
.cm-thank-you .cm-promo-section { padding-top:20px; }
@media(max-width:1100px) {
  .cm-promo { grid-template-columns:150px minmax(0,1fr); gap:24px; }
  .cm-promo-actions { grid-column:2; text-align:left; }
  .cm-promo .cm-gauge { grid-row:1/3; }
  .cm-factors-layout { grid-template-columns:minmax(0,1fr); gap:30px; }
  .cm-factors-layout > div > p:not(.cm-kicker) { max-width:650px; }
}
@media(max-width:900px) {
  .cm-hero-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:720px) {
  .cm-guide-grid { grid-template-columns:minmax(0,1fr); }
  .cm-promo,.cm-article .cm-promo { grid-template-columns:minmax(0,1fr); gap:22px; padding:24px; }
  .cm-promo .cm-gauge { max-width:200px; grid-row:auto; }
  .cm-promo-actions,.cm-article .cm-promo-actions { grid-column:auto; }
  .cm-factor-chart { padding:22px; grid-template-columns:minmax(0,1fr); gap:18px; }
  .cm-factor-ring { max-width:215px; }
  .cm-factor-legend strong { font-size:.94rem; }
  .cm-factor-legend div > span { font-size:.84rem; }
  .cm-thank-you #main > .product-top { padding-top:30px; }
}

/* Educational article steps: clear hierarchy without another sales panel. */
.cm-credit-step { border-left:4px solid #ff9851; padding:18px 22px; background:#172238; border-radius:0 12px 12px 0; margin:22px 0; }
.cm-article .cm-credit-step h3 { margin:0 0 12px; color:#fff; font-size:1.2rem; }
.cm-credit-step p:last-child,.cm-credit-step ul:last-child { margin-bottom:0; }
.cm-credit-checklist li { padding-left:6px; margin-bottom:20px; }
.cm-credit-step strong,.cm-credit-checklist strong { color:#fff; }
