Francisco Rivera — Mortgage Broker · NMLS #1596001
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
--bg: #0a0b14;
--bg2: #10111e;
--bg3: #161828;
--card: rgba(255,255,255,0.04);
--card-border: rgba(255,255,255,0.08);
--orange: #f7921e;
--orange-dark: #d97a12;
--orange-glow: rgba(247,146,30,0.15);
--purple: #6c5dd3;
--purple-light: #8b7ee0;
--text: #ffffff;
--text2: rgba(255,255,255,0.65);
--text3: rgba(255,255,255,0.38);
--green: #22c55e;
--radius: 12px;
--radius-lg: 20px;
}
html { scroll-behavior: smooth; }
body {
font-family: 'DM Sans', sans-serif;
background: var(--bg);
color: var(--text);
overflow-x: hidden;
line-height: 1.6;
}
/* ── NAV ── */
nav {
position: fixed; top: 0; left: 0; right: 0; z-index: 100;
display: flex; align-items: center; justify-content: space-between;
padding: 0 5%;
height: 64px;
background: rgba(10,11,20,0.85);
backdrop-filter: blur(16px);
border-bottom: 1px solid var(--card-border);
}
.nav-logo { font-family: 'Playfair Display', serif; font-size: 20px; letter-spacing: -0.02em; }
.nav-logo span { color: var(--orange); font-style: italic; }
.nav-links { display: flex; gap: 32px; }
.nav-links a { color: var(--text2); text-decoration: none; font-size: 14px; font-weight: 400; transition: color 0.2s; }
.nav-links a:hover { color: var(--text); }
.nav-actions { display: flex; gap: 10px; align-items: center; }
.btn { display: inline-flex; align-items: center; gap: 6px; padding: 9px 20px; border-radius: 8px; font-size: 13px; font-weight: 500; cursor: pointer; text-decoration: none; transition: all 0.2s; border: none; font-family: 'DM Sans', sans-serif; }
.btn-ghost { background: var(--card); border: 1px solid var(--card-border); color: var(--text); }
.btn-ghost:hover { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.18); }
.btn-purple { background: var(--purple); color: #fff; }
.btn-purple:hover { background: var(--purple-light); }
.btn-orange { background: var(--orange); color: #1a0e00; font-weight: 500; }
.btn-orange:hover { background: var(--orange-dark); }
/* ── HERO ── */
#hero {
min-height: 100vh;
padding: 120px 5% 80px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 60px;
align-items: center;
position: relative;
overflow: hidden;
}
.hero-bg-glow {
position: absolute; top: -200px; left: -200px;
width: 700px; height: 700px; border-radius: 50%;
background: radial-gradient(circle, rgba(108,93,211,0.12) 0%, transparent 70%);
pointer-events: none;
}
.hero-bg-glow2 {
position: absolute; bottom: -100px; right: 30%;
width: 400px; height: 400px; border-radius: 50%;
background: radial-gradient(circle, rgba(247,146,30,0.07) 0%, transparent 70%);
pointer-events: none;
}
.hero-left { position: relative; z-index: 2; }
.hero-eyebrow {
display: inline-flex; align-items: center; gap: 8px;
background: var(--card); border: 1px solid var(--card-border);
border-radius: 100px; padding: 6px 14px;
font-size: 12px; color: var(--text2); margin-bottom: 28px;
}
.hero-eyebrow .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--green); animation: pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1;} 50%{opacity:0.4;} }
.hero-h1 { font-family: 'Playfair Display', serif; font-size: clamp(52px, 6vw, 80px); font-weight: 700; line-height: 1.0; letter-spacing: -0.02em; margin-bottom: 6px; }
.hero-h1 .last { font-style: italic; color: var(--orange); display: block; }
.hero-sub-title { font-size: 14px; color: var(--text2); margin: 18px 0 32px; font-weight: 300; letter-spacing: 0.04em; }
.hero-sub-title strong { color: var(--orange); font-weight: 500; }
.hero-ctas { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.hero-ctas .btn { padding: 12px 22px; font-size: 14px; }
.hero-ctas .btn-orange { font-size: 14px; padding: 12px 28px; }
.hero-secondary-ctas { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
.btn-outline-ghost { background: transparent; border: 1px dashed rgba(255,255,255,0.22); color: var(--text2); font-size: 13px; padding: 9px 18px; border-radius: 8px; cursor: pointer; transition: all 0.2s; font-family: 'DM Sans', sans-serif; font-weight: 400; display: inline-flex; align-items: center; gap: 6px; text-decoration: none; }
.btn-outline-ghost:hover { border-color: var(--orange); color: var(--orange); }
.hero-trust-note { font-size: 12px; color: var(--text3); }
.hero-trust-note span { margin-right: 16px; }
/* ── HERO RIGHT / PHOTO ── */
.hero-right { position: relative; z-index: 2; display: flex; justify-content: center; }
.photo-container {
position: relative;
width: 100%; max-width: 500px;
}
.photo-frame {
width: 100%; aspect-ratio: 3/4;
border-radius: 24px;
overflow: hidden;
background: var(--bg3);
border: 1px solid var(--card-border);
}
.photo-frame img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.photo-placeholder-inner {
width: 100%; height: 100%;
display: flex; align-items: center; justify-content: center;
color: var(--text3); font-size: 14px;
background: linear-gradient(160deg, #161828 0%, #0e0f1c 100%);
}
/* floating badges */
.badge-float {
position: absolute;
background: rgba(14,15,28,0.92);
border: 1px solid var(--card-border);
border-radius: var(--radius);
padding: 12px 16px;
backdrop-filter: blur(12px);
animation: floatY 4s ease-in-out infinite;
}
.badge-float.b1 { bottom: 30%; left: -60px; animation-delay: 0s; }
.badge-float.b2 { top: 28%; right: -50px; animation-delay: 1.5s; }
.badge-float.b3 { bottom: 8%; right: 10%; animation-delay: 0.8s; }
@keyframes floatY { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-8px);} }
.badge-num { font-size: 22px; font-weight: 700; color: var(--orange); font-family: 'Playfair Display', serif; font-style: italic; }
.badge-label { font-size: 11px; color: var(--text2); margin-top: 2px; }
.badge-sub { font-size: 10px; color: var(--text3); margin-top: 1px; }
.live-rates-badge {
position: absolute; bottom: 0; left: 0; right: 0;
background: rgba(10,11,20,0.92); border-top: 1px solid var(--card-border);
border-radius: 0 0 24px 24px; padding: 14px 16px;
backdrop-filter: blur(12px);
}
.live-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--green); margin-right: 6px; animation: pulse 2s infinite; vertical-align: middle; }
.live-label { font-size: 11px; color: var(--text2); margin-bottom: 10px; }
.rate-row { display: flex; gap: 8px; }
.rate-pill {
flex: 1; background: var(--card); border: 1px solid var(--card-border);
border-radius: 8px; padding: 8px 10px; text-align: center;
}
.rate-pill .rt { font-size: 10px; color: var(--text3); margin-bottom: 2px; }
.rate-pill .rv { font-size: 15px; font-weight: 500; }
.rate-pill .rv.green { color: var(--green); }
.rate-pill .rv.orange { color: var(--orange); }
/* ── TRUST BAR ── */
#trust {
background: var(--bg2);
border-top: 1px solid var(--card-border);
border-bottom: 1px solid var(--card-border);
padding: 32px 5%;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 20px;
}
.trust-item { text-align: center; }
.trust-num { font-family: 'Playfair Display', serif; font-size: 36px; font-style: italic; color: var(--orange); }
.trust-label { font-size: 13px; color: var(--text2); margin-top: 2px; }
/* ── SECTION COMMON ── */
section { padding: 80px 5%; }
.section-label { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--orange); font-weight: 500; margin-bottom: 12px; }
.section-h2 { font-family: 'Playfair Display', serif; font-size: clamp(32px, 4vw, 48px); font-weight: 700; line-height: 1.1; margin-bottom: 16px; }
.section-h2 em { color: var(--orange); font-style: italic; }
.section-sub { font-size: 15px; color: var(--text2); max-width: 520px; line-height: 1.7; }
/* ── CALCULATOR ── */
#calculator { background: var(--bg); }
.calc-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; margin-top: 48px; }
.calc-card {
background: var(--bg2);
border: 1px solid var(--card-border);
border-radius: var(--radius-lg);
padding: 32px;
}
.calc-field { margin-bottom: 20px; }
.calc-field label { display: block; font-size: 12px; color: var(--text3); letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 8px; }
.calc-field input, .calc-field select {
width: 100%; background: var(--bg3); border: 1px solid var(--card-border);
border-radius: 8px; color: var(--text); font-size: 15px; font-family: 'DM Sans', sans-serif;
padding: 11px 14px; outline: none; transition: border-color 0.2s;
}
.calc-field input:focus, .calc-field select:focus { border-color: var(--orange); }
.calc-field select option { background: var(--bg2); }
.range-row { display: flex; align-items: center; gap: 12px; }
.range-row input[type=range] { flex: 1; accent-color: var(--orange); cursor: pointer; }
.range-val { font-size: 15px; font-weight: 500; min-width: 52px; text-align: right; }
.calc-btn { width: 100%; padding: 14px; background: var(--orange); color: #1a0e00; font-weight: 500; font-size: 15px; border: none; border-radius: 10px; cursor: pointer; font-family: 'DM Sans', sans-serif; transition: background 0.2s; margin-top: 4px; }
.calc-btn:hover { background: var(--orange-dark); }
.calc-result-card {
background: var(--bg2); border: 1px solid var(--card-border);
border-radius: var(--radius-lg); padding: 32px;
}
.result-label { font-size: 12px; color: var(--text3); letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 8px; }
.result-main { font-family: 'Playfair Display', serif; font-size: 52px; font-style: italic; color: var(--orange); line-height: 1; margin-bottom: 4px; }
.result-sub { font-size: 13px; color: var(--text3); margin-bottom: 24px; }
.result-breakdown { border-top: 1px solid var(--card-border); padding-top: 20px; }
.result-row { display: flex; justify-content: space-between; font-size: 13px; padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,0.04); color: var(--text2); }
.result-row span:last-child { color: var(--text); font-weight: 500; }
.result-cta { margin-top: 24px; display: flex; flex-direction: column; gap: 10px; }
.result-cta .btn { width: 100%; justify-content: center; font-size: 14px; padding: 13px; }
/* ── LOAN TYPES ── */
#programs { background: var(--bg2); }
.programs-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 48px; }
.program-card {
background: var(--card);
border: 1px solid var(--card-border);
border-radius: var(--radius-lg);
padding: 24px;
transition: border-color 0.25s, background 0.25s;
cursor: default;
}
.program-card:hover { background: rgba(255,255,255,0.06); border-color: rgba(247,146,30,0.35); }
.program-card.featured { border-color: var(--orange); background: var(--orange-glow); }
.program-icon {
width: 42px; height: 42px; border-radius: 10px;
display: flex; align-items: center; justify-content: center;
font-size: 20px; margin-bottom: 16px;
}
.program-icon.blue { background: rgba(99,132,255,0.15); }
.program-icon.green { background: rgba(34,197,94,0.12); }
.program-icon.orange { background: var(--orange-glow); }
.program-icon.purple { background: rgba(108,93,211,0.15); }
.program-icon.red { background: rgba(239,68,68,0.1); }
.program-icon.teal { background: rgba(20,184,166,0.12); }
.program-title { font-size: 16px; font-weight: 500; margin-bottom: 8px; }
.program-desc { font-size: 13px; color: var(--text2); line-height: 1.6; margin-bottom: 14px; }
.program-badge { display: inline-block; font-size: 11px; padding: 3px 10px; border-radius: 100px; background: rgba(255,255,255,0.06); color: var(--text3); }
.program-badge.hot { background: var(--orange-glow); color: var(--orange); }
/* ── HOW IT WORKS ── */
#process { background: var(--bg); }
.steps-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px; position: relative; }
.steps-row::before {
content: ''; position: absolute; top: 28px; left: calc(16.66% + 20px); right: calc(16.66% + 20px);
height: 1px; background: linear-gradient(90deg, var(--orange) 0%, rgba(108,93,211,0.4) 50%, var(--purple) 100%);
}
.step-card { text-align: center; padding: 0 16px; }
.step-num-circle {
width: 56px; height: 56px; border-radius: 50%;
display: flex; align-items: center; justify-content: center;
font-family: 'Playfair Display', serif; font-size: 22px; font-weight: 700; font-style: italic;
margin: 0 auto 20px;
position: relative; z-index: 1;
}
.step-num-circle.s1 { background: var(--orange); color: #1a0e00; }
.step-num-circle.s2 { background: var(--bg3); border: 1px solid var(--purple); color: var(--purple-light); }
.step-num-circle.s3 { background: var(--bg3); border: 1px solid var(--card-border); color: var(--text2); }
.step-title { font-size: 16px; font-weight: 500; margin-bottom: 8px; }
.step-desc { font-size: 13px; color: var(--text2); line-height: 1.65; }
/* ── LE ANALYZER ── */
#le-analyzer { background: var(--bg2); }
.le-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; margin-top: 48px; }
.le-card {
background: var(--bg3); border: 1px solid var(--card-border);
border-radius: var(--radius-lg); padding: 28px; overflow: hidden;
position: relative;
}
.le-card::before {
content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
background: linear-gradient(90deg, var(--orange), var(--purple));
}
.le-upload-zone {
border: 2px dashed rgba(247,146,30,0.3); border-radius: 12px;
padding: 32px; text-align: center; margin-bottom: 20px;
cursor: pointer; transition: border-color 0.2s;
}
.le-upload-zone:hover { border-color: var(--orange); }
.le-icon { font-size: 32px; margin-bottom: 10px; }
.le-upload-title { font-size: 14px; font-weight: 500; margin-bottom: 4px; }
.le-upload-sub { font-size: 12px; color: var(--text3); }
.le-feature-list { list-style: none; }
.le-feature-list li { font-size: 13px; color: var(--text2); padding: 8px 0; border-bottom: 1px solid var(--card-border); display: flex; align-items: center; gap: 10px; }
.le-feature-list li:last-child { border-bottom: none; }
.le-check { color: var(--green); font-size: 14px; }
/* ── REVIEWS ── */
#reviews { background: var(--bg); }
.reviews-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 40px; }
.reviews-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.review-card {
background: var(--bg2); border: 1px solid var(--card-border);
border-radius: var(--radius-lg); padding: 24px;
transition: border-color 0.2s;
}
.review-card:hover { border-color: rgba(247,146,30,0.25); }
.review-stars { color: var(--orange); font-size: 14px; margin-bottom: 12px; letter-spacing: 2px; }
.review-text { font-size: 14px; color: var(--text2); line-height: 1.7; margin-bottom: 16px; font-style: italic; }
.review-footer { display: flex; align-items: center; gap: 12px; }
.review-avatar {
width: 36px; height: 36px; border-radius: 50%;
display: flex; align-items: center; justify-content: center;
font-size: 13px; font-weight: 500; flex-shrink: 0;
}
.review-name { font-size: 13px; font-weight: 500; }
.review-meta { font-size: 11px; color: var(--text3); }
/* ── RATES ── */
#rates { background: var(--bg2); }
.rates-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 40px; }
.rate-card {
background: var(--card); border: 1px solid var(--card-border);
border-radius: var(--radius); padding: 20px; text-align: center;
}
.rate-card-type { font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text3); margin-bottom: 10px; }
.rate-card-num { font-family: 'Playfair Display', serif; font-size: 36px; font-weight: 700; font-style: italic; }
.rate-card-num.low { color: var(--green); }
.rate-card-num.med { color: var(--orange); }
.rate-card-sub { font-size: 11px; color: var(--text3); margin-top: 6px; }
.rate-note { font-size: 12px; color: var(--text3); margin-top: 20px; text-align: center; }
/* ── ABOUT ── */
#about { background: var(--bg); }
.about-layout { display: grid; grid-template-columns: 1fr 1.3fr; gap: 60px; align-items: center; margin-top: 48px; }
.about-img {
aspect-ratio: 4/5; border-radius: 24px; overflow: hidden;
background: var(--bg3); border: 1px solid var(--card-border);
}
.about-img img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.about-quote {
font-family: 'Playfair Display', serif; font-size: 20px; font-style: italic;
line-height: 1.6; color: var(--text2); margin-bottom: 24px;
border-left: 3px solid var(--orange); padding-left: 20px;
}
.about-body { font-size: 14px; color: var(--text2); line-height: 1.8; margin-bottom: 24px; }
.about-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 32px; }
.about-stat { background: var(--bg2); border: 1px solid var(--card-border); border-radius: var(--radius); padding: 16px; text-align: center; }
.about-stat-num { font-family: 'Playfair Display', serif; font-size: 28px; font-style: italic; color: var(--orange); }
.about-stat-label { font-size: 11px; color: var(--text3); margin-top: 3px; }
/* ── CTA ── */
#cta {
background: var(--bg2);
text-align: center; padding: 100px 5%;
position: relative; overflow: hidden;
}
#cta::before {
content: ''; position: absolute; top: 50%; left: 50%;
transform: translate(-50%,-50%);
width: 600px; height: 400px; border-radius: 50%;
background: radial-gradient(circle, rgba(247,146,30,0.08) 0%, transparent 70%);
pointer-events: none;
}
#cta .section-h2 { font-size: clamp(36px, 4vw, 56px); margin: 0 auto 16px; max-width: 700px; }
#cta .section-sub { margin: 0 auto 40px; text-align: center; }
.cta-buttons { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.cta-buttons .btn { padding: 15px 32px; font-size: 15px; }
.cta-note { font-size: 12px; color: var(--text3); margin-top: 16px; }
/* ── FOOTER ── */
footer {
background: var(--bg);
border-top: 1px solid var(--card-border);
padding: 48px 5% 32px;
}
.footer-top { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 40px; }
.footer-brand .nav-logo { margin-bottom: 12px; display: block; }
.footer-brand p { font-size: 13px; color: var(--text3); line-height: 1.7; }
.footer-col h4 { font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text3); margin-bottom: 16px; }
.footer-col a { display: block; font-size: 13px; color: var(--text2); text-decoration: none; margin-bottom: 10px; transition: color 0.2s; }
.footer-col a:hover { color: var(--orange); }
.footer-bottom { border-top: 1px solid var(--card-border); padding-top: 24px; display: flex; justify-content: space-between; align-items: center; font-size: 12px; color: var(--text3); flex-wrap: wrap; gap: 10px; }
.nmls-badge { background: var(--card); border: 1px solid var(--card-border); border-radius: 6px; padding: 4px 10px; font-size: 11px; color: var(--text3); }
/* ── QUICK INQUIRY MODAL ── */
.modal-overlay {
display: none; position: fixed; inset: 0; z-index: 200;
background: rgba(0,0,0,0.7); backdrop-filter: blur(4px);
align-items: center; justify-content: center;
}
.modal-overlay.open { display: flex; }
.modal {
background: var(--bg2); border: 1px solid var(--card-border);
border-radius: 20px; padding: 36px; width: 100%; max-width: 440px;
position: relative;
}
.modal-close {
position: absolute; top: 16px; right: 16px;
background: var(--card); border: none; color: var(--text2);
width: 32px; height: 32px; border-radius: 50%; cursor: pointer;
font-size: 16px; display: flex; align-items: center; justify-content: center;
}
.modal h3 { font-family: 'Playfair Display', serif; font-size: 24px; margin-bottom: 6px; }
.modal p { font-size: 13px; color: var(--text2); margin-bottom: 24px; }
.modal-field { margin-bottom: 14px; }
.modal-field label { display: block; font-size: 11px; color: var(--text3); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 6px; }
.modal-field input, .modal-field select, .modal-field textarea {
width: 100%; background: var(--bg3); border: 1px solid var(--card-border);
border-radius: 8px; color: var(--text); font-size: 14px; font-family: 'DM Sans', sans-serif;
padding: 10px 14px; outline: none; transition: border-color 0.2s;
}
.modal-field input:focus, .modal-field select:focus, .modal-field textarea:focus { border-color: var(--orange); }
.modal-field select option { background: var(--bg2); }
.modal-field textarea { resize: vertical; min-height: 80px; }
.modal-submit { width: 100%; padding: 13px; background: var(--orange); color: #1a0e00; font-weight: 500; font-size: 14px; border: none; border-radius: 10px; cursor: pointer; font-family: 'DM Sans', sans-serif; margin-top: 4px; transition: background 0.2s; }
.modal-submit:hover { background: var(--orange-dark); }
/* Responsive */
@media (max-width: 900px) {
#hero { grid-template-columns: 1fr; padding-top: 100px; }
.hero-right { display: none; }
#trust { grid-template-columns: repeat(2, 1fr); }
.calc-layout, .le-layout, .about-layout { grid-template-columns: 1fr; }
.programs-grid { grid-template-columns: repeat(2, 1fr); }
.reviews-grid { grid-template-columns: 1fr; }
.rates-grid { grid-template-columns: repeat(2, 1fr); }
.footer-top { grid-template-columns: 1fr 1fr; }
.nav-links { display: none; }
.steps-row { grid-template-columns: 1fr; }
.steps-row::before { display: none; }
}
CiscoMtg
Licensed in 20+ states · NMLS #1596001
Francisco
Rivera
Mortgage Loan Officer · Client Direct Mortgage
No SSN required
No credit pull
Results in 60 seconds
Francisco Rivera
21
Avg close time
Industry avg is 47 days
220+
Lender partners
Shopping your rate simultaneously
Live rates — updated daily
Today's rates
Live mortgage rates
Rates updated daily. Contact Francisco for a personalized quote based on your credit profile and loan scenario.
30-Year Fixed
6.750%
APR 6.89%
15-Year Fixed
6.125%
APR 6.31%
FHA Loan
6.250%
APR 6.42% · 3.5% down
VA Loan
5.875%
APR 6.01% · 0% down
Rates shown are sample rates for illustration. Your actual rate depends on credit score, loan amount, and other factors.
Mortgage calculator
Estimate your monthly payment
Get a quick estimate instantly. No SSN, no credit pull — just numbers.
Home price
Down payment — 20%
$90,000
Loan term
30 years
20 years
15 years
10 years
Interest rate — 6.75%
6.75%
Property tax (annual)
Home insurance (annual)
Calculate payment
Estimated monthly payment
$2,627
Principal, interest, tax & insurance
Principal & interest $2,627
Property tax $375
Home insurance $125
Loan amount $360,000
Total interest (life of loan) $384,720
LE Analyzer
Analyze your Loan Estimate
Got a Loan Estimate from another lender? Upload it and Francisco will review every line — fees, rate, terms — and tell you if you're getting a fair deal.
📄
Upload your Loan Estimate
PDF, JPG, or PNG · Click or drag to upload
Or send it directly to Francisco
A Loan Estimate is a 3-page document your lender is required to give you within 3 business days of applying. Most buyers don't know how to read it — Francisco does.
✓ Compare your rate against current market rates
✓ Identify hidden fees and junk charges
✓ Review APR vs. interest rate differences
✓ Check closing cost accuracy
✓ Get a side-by-side comparison from Francisco
✓ No obligation — 100% free review
Loan programs
Every loan type, one expert
From first-time buyers to seasoned investors — Francisco has the right program for your situation.
🏠
Conventional loan
Best for buyers with strong credit. Flexible down payment options from 5% to 20%+.
5% min down
🇺🇸
FHA loan
Government-backed with flexible credit requirements. Ideal for first-time home buyers.
3.5% min down
⭐
VA loan
Zero down payment for eligible veterans, active-duty service members, and surviving spouses.
0% down · No PMI
🔄
Refinance
Lower your rate, reduce your term, or tap into your home's equity with cash-out refinancing.
Rate or cash-out
💎
Jumbo loan
For home purchases above conforming loan limits. Competitive rates for high-value properties.
$766k+
❓
Not sure which fits?
Book a free 30-minute call and Francisco will match you with the best program for your goals.
Free consultation
The process
From inquiry to closing day
Francisco guides you through every step — no confusing jargon, no surprises.
1
Book a free call
A 15–30 minute conversation to understand your goals, timeline, and financial situation. No pressure, no commitment.
2
Get your options
Francisco shops your rate across 220+ lender partners simultaneously to find the best program and pricing for you.
3
Close with confidence
Guided support from application through closing day. Average close time is 21 days — industry average is 47.
About Francisco
My philosophy is that money follows — it doesn't lead.
"As an experienced mortgage broker with over 9 years in the business, I've had the pleasure of helping hundreds of families every year find their perfect home."
My goal is to simplify the mortgage process, tailoring solutions to meet your needs and ensuring a smooth transaction from application to closing. My extensive knowledge of the market allows me to offer personalized advice, ensuring you make informed decisions throughout the process.
I understand your needs first — then I find the best home mortgage program for your long-term benefit. Licensed in 20+ states and working with a national team to cover the full U.S.
★★★★★
"Francisco made the entire process seamless. We closed in under 21 days and he got us a rate that was lower than every other lender we checked. Highly recommend."
★★★★★
"As a first-time buyer I had no idea where to start. Francisco walked me through every step and explained everything clearly. Got a great FHA rate with only 3.5% down."
★★★★★
"We used Francisco to refinance and knocked 1.5% off our rate. He handled everything — communication was great, no surprises at closing. Will use him again."
★★★★★
"Active duty Army and Francisco took care of our VA loan from start to finish. Zero down, no PMI, and the best rate we could find. The whole team was incredible."
Ready to get started?
Your home journey starts here
Apply online in minutes or schedule a free 30-minute consultation. No SSN, no credit pull to get started.
No SSN · No credit pull · Results in 60 seconds
✕
Quick Inquiry
Francisco typically responds within 10 minutes.
Full name
Phone
Email
I'm looking to...
Purchase a home
Refinance my current home
Get pre-approved
Analyze my Loan Estimate
Learn about loan programs
Message (optional)
Send to Francisco →
Message sent! Francisco will be in touch shortly.
Something went wrong. Please call (623) 308-4079 directly.
function fmt(n) { return '$' + Math.round(n).toLocaleString(); }
function calcPayment() {
const price = parseFloat(document.getElementById('homePrice').value.replace(/[^0-9.]/g,'')) || 450000;
const dpPct = parseFloat(document.getElementById('downPct').value) / 100;
const years = parseInt(document.getElementById('loanTerm').value);
const rate = parseFloat(document.getElementById('interestRate').value) / 100 / 12;
const tax = parseFloat(document.getElementById('propTax').value.replace(/[^0-9.]/g,'')) || 0;
const ins = parseFloat(document.getElementById('insurance').value.replace(/[^0-9.]/g,'')) || 0;
const dp = price * dpPct;
const loan = price - dp;
const n = years * 12;
const pi = rate === 0 ? loan / n : loan * (rate * Math.pow(1+rate,n)) / (Math.pow(1+rate,n)-1);
const monthly = pi + tax/12 + ins/12;
const totalInt = (pi * n) - loan;
document.getElementById('dpVal').textContent = fmt(dp);
document.getElementById('rateVal').textContent = parseFloat(document.getElementById('interestRate').value).toFixed(3).replace(/\.?0+$/,'') + '%';
document.getElementById('resultMain').textContent = fmt(monthly) + '/mo';
document.getElementById('r-pi').textContent = fmt(pi);
document.getElementById('r-tax').textContent = fmt(tax/12);
document.getElementById('r-ins').textContent = fmt(ins/12);
document.getElementById('r-loan').textContent = fmt(loan);
document.getElementById('r-total-int').textContent = fmt(totalInt);
}
calcPayment();
async function handleFormSubmit(e) {
e.preventDefault();
const btn = document.getElementById('formSubmitBtn');
const success = document.getElementById('formSuccess');
const error = document.getElementById('formError');
btn.textContent = 'Sending...';
btn.disabled = true;
success.style.display = 'none';
error.style.display = 'none';
try {
const res = await fetch('https://formspree.io/f/cisco@ciscomtg.net', {
method: 'POST',
body: new FormData(e.target),
headers: { 'Accept': 'application/json' }
});
if (res.ok) {
success.style.display = 'block';
e.target.reset();
btn.textContent = 'Send to Francisco →';
btn.disabled = false;
} else {
throw new Error('Form error');
}
} catch {
error.style.display = 'block';
btn.textContent = 'Send to Francisco →';
btn.disabled = false;
}
}