Find your best rewards credit card in 60 seconds
No email. No phone. Just quick choices that surface the right fit now.
We don’t store answers. You can change them anytime.
Use the result that matches how you’ll actually spend this month. That’s how rewards beat fees and complexity.
Advertisement
Terms change often. Always review rates, fees and eligibility on the issuer site before you apply.
.ccq-card, .ccq-card * { box-sizing: border-box; } .ccq-card{ –bg:#fff; –panel:#fff; –muted:#475569; –text:#0f172a; –border:#e5e7eb; –accent1:#4c6fff; –accent2:#0ea5e9; –accent3:#6366f1; max-width:760px;margin:0 auto;padding:14px;background:var(–bg); border:1px solid var(–border);border-radius:14px;box-shadow:0 10px 24px rgba(2,6,23,.08);color:var(–text); font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial } .ccq-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px} .ccq-h1{font-weight:800;font-size:20px} .ccq-sub{font-size:14px;color:var(–muted);max-width:560px} .ccq-cta-top{display:inline-block;margin-top:6px;padding:12px 16px;border-radius:12px;background:var(–accent1);color:#fff;text-decoration:none;font-weight:800;border:0;cursor:pointer} .ccq-intro{max-width:560px;color:#334155;font-size:14px;margin:8px 0 0} .ccq-ad{width:100%;max-width:640px;margin:12px auto 6px} .admark{font:700 11px/1 system-ui,-apple-system,Segoe UI,Roboto;color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin:2px 0 6px} .ccq-progress{height:8px;background:#e2e8f0;border-radius:10px;overflow:hidden;margin:8px 0 12px;width:100%} .ccq-progress span{display:block;height:100%;background:linear-gradient(90deg,#4c6fff,#0ea5e9,#6366f1);transition:width .25s ease} .ccq-steps{display:flex;flex-direction:column;gap:12px} .ccq-step{background:var(–panel);border:1px solid var(–border);border-radius:12px;padding:12px} .ccq-step.is-collapsed{display:none} .ccq-step.is-active{box-shadow:0 8px 22px rgba(2,6,23,.06)} .ccq-step-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px} .ccq-step-num{font-weight:800;background:#eef2ff;border:1px solid #c7d2fe;color:#3730a3;border-radius:999px;padding:4px 9px;font-size:12px;white-space:nowrap} .ccq-q{font-size:16.5px;font-weight:800;line-height:1.35} .ccq-img{width:100%;height:auto;border-radius:10px;margin:4px 0 8px;display:block} .ccq-opts{display:grid;grid-template-columns:1fr;gap:10px;margin-top:6px} .ccq-opt{padding:12px;border-radius:12px;background:#f8fafc;border:1.6px solid #cbd5e1;cursor:pointer;text-align:left;color:#0f172a} .ccq-opt-title{font-weight:900} .ccq-opt-sub{font-size:12.5px;color:#475569} .ccq-opt:active{transform:scale(.99)} .ccq-opt[aria-checked=”true”]{outline:3px solid var(–accent1);outline-offset:2px;border-color:#4c6fff;background:#eef2ff} .ccq-opt[aria-checked=”true”] .ccq-opt-title{color:#1e2a78} .ccq-opt[aria-checked=”true”] .ccq-opt-sub{color:#27346a} .ccq-expl{margin-top:8px;font-size:13.5px;color:#334155;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;padding:8px} .ccq-nav{display:flex;gap:10px;margin-top:14px} .ccq-card .ccq-btn{flex:1;padding:14px;border:none;border-radius:12px;font-weight:800;cursor:pointer} .ccq-card .ccq-pri{background:#4c6fff;color:#fff} .ccq-card .ccq-sec{background:#e2e8f0;color:#0f172a;border:1px solid #cbd5e1} .ccq-card .ccq-btn:disabled{opacity:.55;cursor:not-allowed} .ccq-result{margin-top:8px;padding:14px;border-radius:14px;background:#fff;border:1px solid #e5e7eb} .ccq-r-title{font-weight:800;font-size:19px} .ccq-r-sub{font-size:14px;color:#1f2937} .ccq-r-cta{display:flex;flex-direction:column;gap:10px;margin-top:10px} .ccq-link{display:flex;align-items:center;gap:10px;text-decoration:none;padding:14px;border-radius:12px;border:1px solid #d1d5db;font-weight:800} .ccq-link–1{background:#dcfce7;color:#052e1a} .ccq-link–2{background:#dbeafe;color:#0b2a54} .ccq-link–3{background:#ede9fe;color:#25104a} .ccq-ico{font-size:18px} .ccq-ad.is-collapsed{display:none} @media(min-width:768px){ .ccq-h1{font-size:22px} .ccq-r-cta{flex-direction:row} .ccq-link{flex:1} } (function(){ const $ = (s,sc=document)=>sc.querySelector(s); const $$ = (s,sc=document)=>Array.from(sc.querySelectorAll(s)); const steps = $$(‘#ccq-steps .ccq-step’); const prevBtn = $(‘#ccq-prev’); const nextBtn = $(‘#ccq-next’); const bar = $(‘#ccq-bar’); const adBlocks = $$(‘.ccq-ad[data-after]’); const state = { index:-1, answers:{} }; function reveal(i){ steps.forEach((s,idx)=>{ s.classList.toggle(‘is-active’, idx===i); s.classList.toggle(‘is-collapsed’, idx>i); if(idx<i) s.classList.remove('is-collapsed'); }); state.index = i; bar.style.width = (Math.max(0,i)/steps.length*100) + '%'; prevBtn.disabled = i=0 ? steps[i].querySelector(‘.ccq-opt[aria-checked=”true”]’) : null; nextBtn.disabled = !checked; // reveal only the ad that comes after the current step adBlocks.forEach(a => a.classList.toggle(‘is-collapsed’, a.dataset.after !== String(i+1))); setTimeout(()=>{ window.dispatchEvent(new Event(‘scroll’)); window.dispatchEvent(new Event(‘resize’)); }, 60); } $(‘#ccq-start’).addEventListener(‘click’, e=>{ e.preventDefault(); reveal(0); steps[0].scrollIntoView({behavior:’smooth’, block:’start’}); }); $(‘#ccq-steps’).addEventListener(‘click’, e=>{ const btn = e.target.closest(‘.ccq-opt’); if(!btn) return; const sec = btn.closest(‘.ccq-step’); sec.querySelectorAll(‘.ccq-opt’).forEach(b=>b.setAttribute(‘aria-checked’,’false’)); btn.setAttribute(‘aria-checked’,’true’); const stepIds = [‘g1′,’g2′,’g3′,’g4′,’g5’]; state.answers[ stepIds[state.index] ] = btn.dataset.key; nextBtn.disabled = false; }); prevBtn.addEventListener(‘click’, ()=>{ if(state.index>0){ reveal(state.index-1); steps[state.index].scrollIntoView({behavior:’smooth’, block:’start’}); } }); nextBtn.addEventListener(‘click’, ()=>{ if(state.index { for(const k in m){ s[k]=(s[k]||0)+m[k]; } }; const ids=[‘g1′,’g2′,’g3′,’g4′,’g5’]; ids.forEach(id=>{ const v=state.answers[id]; if(v && WEIGHTS[id]?.[v]) add(WEIGHTS[id][v]); }); return s; } function winnerList(){ const sc=compute(); return [‘A’,’B’,’C’,’D’].sort((a,b)=>(sc[b]||0)-(sc[a]||0)); } function showResult(){ const [main=’A’, alt1=’B’, alt2=’C’] = winnerList(); const R = MAP[main]; $(‘#ccq-r-title’).textContent = R.title; const a = state.answers; const traits=[]; if(a.g1===’ease’) traits.push(‘effortless cash back’); if(a.g1===’perks’) traits.push(‘travel perks acceptable complexity’); if(a.g2===’apr’) traits.push(‘0% intro APR need’); if(a.g2===’rewards’) traits.push(‘maximize rewards now’); if(a.g3===’lowfee’) traits.push(‘low/no annual fee’); if(a.g3===’highfee’) traits.push(‘higher fee if net positive’); if(a.g4===’simple’) traits.push(‘simple redemptions’); if(a.g4===’optimize’) traits.push(‘transfer partners and sweet spots’); if(a.g5===’intl’) traits.push(‘international trips ahead’); if(a.g5===’domestic’) traits.push(‘domestic focus’); $(‘#ccq-r-desc’).textContent = R.desc + (traits.length? ‘ Based on your picks: ‘ + traits.join(‘, ‘) + ‘.’:” ); $(‘#ccq-r-main’).href = R.main; $(‘#ccq-r-alt1’).href = R.alt1; $(‘#ccq-r-alt2’).href = R.alt2; const res = $(‘#ccq-result’); res.hidden = false; res.scrollIntoView({behavior:’smooth’, block:’start’}); bar.style.width = ‘100%’; setTimeout(()=>{ window.dispatchEvent(new Event(‘scroll’)); window.dispatchEvent(new Event(‘resize’)); }, 100); } $(‘#ccq-restart’).addEventListener(‘click’, ()=>{ state.index=-1; state.answers={}; steps.forEach(s=>s.classList.add(‘is-collapsed’)); $(‘#ccq-result’).hidden = true; bar.style.width=’0%’; adBlocks.forEach(a=>a.classList.add(‘is-collapsed’)); window.scrollTo({top: $(‘#ccq’).getBoundingClientRect().top + window.pageYOffset – 8, behavior:’smooth’}); }); // enable Next when option chosen document.addEventListener(‘click’, e=>{ if(state.index>=0 && e.target.closest(‘.ccq-opt’) && steps[state.index].contains(e.target)){ nextBtn.disabled = false; } }); })();