:root{
  --navy:#031a3a;
  --navy2:#061f46;
  --navy3:#082b60;
  --gold:#e7ad22;
  --gold2:#f2c75a;
  --cream:#fbf8f0;
  --ink:#061837;
  --muted:#606b7e;
  --line:#d8dee9;
  --soft:#f7f8fb;
  --green:#4c9f38;
  --shadow:0 22px 55px rgba(0,0,0,.22);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:#fff;color:var(--ink)}
.topbar{height:88px;background:linear-gradient(90deg,#061936,#09264e);display:flex;align-items:center;justify-content:space-between;padding:0 36px;color:#fff;position:relative;z-index:5}
.brand{display:flex;align-items:center;gap:14px}
.h-mark{width:50px;height:50px;border:1.5px solid rgba(255,255,255,.85);display:grid;place-items:center;font-family:Georgia,serif;font-size:32px;line-height:1;color:white}
.brand-main{font-family:Georgia,serif;font-size:27px;letter-spacing:.18em}
.brand-sub{font-size:13px;letter-spacing:.45em;margin-top:4px}
.top-trust{display:flex;align-items:center;gap:10px;font-size:14px;letter-spacing:.04em}
.shield{color:var(--gold);font-size:22px}

.hero{position:relative;min-height:1000px;color:#fff;overflow:hidden;background:#031226}
.hero-bg{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(3,15,35,.94) 0%,rgba(4,22,50,.88) 44%,rgba(7,24,52,.62) 68%,rgba(3,13,29,.88) 100%),
  radial-gradient(circle at 82% 36%,rgba(231,173,34,.18),transparent 20%),
  linear-gradient(135deg,#0e2d58,#081a36 55%,#020712);
}
.hero-bg:after{content:"";position:absolute;right:-60px;bottom:-60px;width:640px;height:760px;border-radius:42% 0 0 0;background:
  linear-gradient(rgba(2,13,30,.55),rgba(2,13,30,.8)),
  repeating-linear-gradient(90deg,rgba(255,255,255,.09) 0 2px,transparent 2px 92px),
  repeating-linear-gradient(0deg,rgba(255,255,255,.07) 0 2px,transparent 2px 115px);
  opacity:.7;filter:blur(.2px)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.12) 75%,rgba(0,0,0,.28) 100%)}
.hero-wrap{position:relative;z-index:2;max-width:1240px;margin:0 auto;padding:54px 40px 0;display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:start}
.hero-copy{padding-top:20px}
.eyebrow{font-weight:900;color:var(--gold);letter-spacing:.06em;font-size:14px;margin-bottom:28px}
h1{font-size:62px;line-height:1.14;margin:0 0 22px;letter-spacing:-.045em;font-weight:900}
h1 span,.portal-card h2 span{color:var(--gold)}
.lead{font-size:22px;line-height:1.46;color:#f0f3f8;max-width:600px;margin:0 0 45px}
.benefit-icons{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;max-width:560px;margin:0 0 52px}
.benefit-icons article{text-align:left}
.round-icon{width:57px;height:57px;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:#fff;font-size:28px;margin-bottom:16px}
.benefit-icons h3{font-size:15px;margin:0 0 9px;color:#fff;font-weight:900}
.benefit-icons p{font-size:15px;line-height:1.45;margin:0;color:#f5f7fb}
.quote-card{max-width:475px;background:rgba(255,255,255,.08);border-radius:12px;padding:24px 28px;display:grid;grid-template-columns:34px 1fr;column-gap:12px;color:#fff}
.quote-card span{font-size:52px;color:var(--gold);line-height:.8}
.quote-card p{margin:0 0 10px;line-height:1.5}
.quote-card b{grid-column:2;font-size:15px}

.portal-card{background:#fff;color:var(--ink);border-radius:14px;padding:29px 28px 25px;box-shadow:var(--shadow);margin-top:18px}
.step-row{margin-bottom:14px}
.step-label{font-weight:900;font-size:14px;letter-spacing:.02em;margin-bottom:8px}
.progress{height:10px;background:#dfe3e9;border-radius:999px;overflow:hidden}
.progress span{display:block;width:50%;height:100%;background:#061b3b;border-radius:999px}
.progress.full span{width:100%}
.portal-card h2{font-size:32px;line-height:1.18;margin:0 0 20px;letter-spacing:-.035em}
.step-copy{color:var(--muted);margin:-8px 0 18px}
.advantage-badge{display:flex;gap:18px;align-items:center;border:1px solid #ecd08b;background:#fff8e6;border-radius:9px;padding:18px 18px;margin-bottom:18px}
.badge-medal{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#d2940b,#f2c759);color:#fff;font-size:28px;flex:0 0 auto}
.advantage-badge strong{font-size:14px;display:block;margin-bottom:5px}
.advantage-badge p{font-size:14px;margin:0;color:#283449;line-height:1.35}
.advantage-badge.gold,.advantage-badge.silver{background:#f4fff1;border-color:#a9d99b}
.advantage-badge.gold .badge-medal,.advantage-badge.silver .badge-medal{background:linear-gradient(135deg,#317b1e,#75bd52)}
.advantage-badge.bronze,.advantage-badge.brass{background:#fff8e6;border-color:#e9c676}
.advantage-badge.neutral{background:#fff8e6;border-color:#ecd08b}
.field{display:block;margin:12px 0 0}
.field > span{display:flex;align-items:center;gap:5px;font-weight:900;font-size:13px;margin-bottom:7px;color:#081a37}
.field b{color:#aa1f1f}
.field small{display:inline-grid;place-items:center;width:16px;height:16px;border:1px solid var(--navy);border-radius:50%;font-size:11px;color:var(--navy)}
.field em{font-style:normal;color:#8a93a3;font-size:12px;font-weight:700}
input,select{font:inherit}
.input-icon{position:relative}
.input-icon input{padding-right:44px}
.input-icon i{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-style:normal;color:var(--navy)}
.field input,.field select{width:100%;height:43px;border:1px solid #cfd6e2;border-radius:6px;padding:0 14px;color:#0b1c39;background:#fff}
.field input:focus{outline:3px solid rgba(231,173,34,.22);border-color:#e3b645}
.loan-grid,.rate-grid,.timeline-grid{display:grid;gap:9px}
.loan-grid{grid-template-columns:repeat(4,1fr)}
.rate-grid{grid-template-columns:repeat(5,1fr)}
.timeline-grid{grid-template-columns:repeat(4,1fr)}
.loan-grid input,.rate-grid input,.timeline-grid input{position:absolute;opacity:0;pointer-events:none}
.loan-grid label,.rate-grid label,.timeline-grid label{border:1px solid #cfd6e2;border-radius:6px;background:#fff;min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900;font-size:13px;cursor:pointer;color:#071a38}
.loan-grid label{gap:8px}
.loan-grid label i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-style:normal;background:#09204a;color:#fff;font-size:10px}
.loan-grid label[for=loanUsda] i{background:#5d9f43}
.loan-grid label[for=loanUnknown] i{background:#6a6e76}
.rate-grid label{min-height:78px;line-height:1.15;flex-direction:column;padding:8px 6px}
.rate-grid label em{display:block;font-size:11px;color:#3b8a30;margin-top:5px}
.rate-grid label[for=rateBrass] em{font-size:10px;color:#1c2b44}
.rate-grid input:checked+label,.timeline-grid input:checked+label,.loan-grid input:checked+label{border-color:#0b2a5c;box-shadow:0 0 0 2px rgba(7,27,58,.09);background:#f6f9ff}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.money div{display:flex}
.money b{width:39px;height:43px;border:1px solid #cfd6e2;border-right:0;border-radius:6px 0 0 6px;display:grid;place-items:center;background:#f3f5f8;color:#061837}
.money input{border-radius:0 6px 6px 0}
.checkbox{display:flex;align-items:center;gap:14px;font-weight:800;line-height:1.35}
.checkbox input{width:22px;height:22px;flex:0 0 auto}
.gold-check{background:#fff4d8;border-radius:7px;padding:13px 15px;margin-top:16px}
.cta{border:0;border-radius:6px;height:50px;font-weight:950;font-size:16px;cursor:pointer;letter-spacing:.01em}
.cta.dark{width:100%;background:linear-gradient(180deg,#082650,#061838);color:#fff;box-shadow:0 5px 11px rgba(2,10,25,.18)}
.cta span{margin-left:16px}
.secondary{border:0;background:#edf1f6;border-radius:6px;font-weight:900;cursor:pointer}
.secure-note{text-align:center;color:#7a8494;font-size:12px;margin:12px 0 0}
.form-step,.result-panel{display:none}
.form-step.active,.result-panel.active{display:block}
.hp-field{position:absolute;left:-9999px}
.button-row{display:grid;grid-template-columns:.32fr .68fr;gap:10px;margin-top:18px}
.result-panel h2{font-size:28px}
.result-panel ul{line-height:1.8}
.call-now{background:#f4f7fb;border-radius:9px;padding:12px}

.edge-band{background:#fff;padding:20px 40px 38px;text-align:center}
.edge-band h2{font-size:25px;margin:0 0 18px}
.edge-grid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr)}
.edge-grid article{padding:12px 28px;border-right:1px solid #d8dde6}
.edge-grid article:last-child{border-right:0}
.edge-grid i{font-style:normal;font-size:32px;color:var(--gold);display:block;margin-bottom:9px}
.edge-grid h3{font-size:15px;margin:0 0 8px;line-height:1.25}
.edge-grid p{font-size:14px;color:#404c61;margin:0;line-height:1.35}

.why-section{display:grid;grid-template-columns:.9fr 1.16fr .74fr;max-width:1240px;margin:0 auto;background:#fff;border-top:1px solid #edf0f5;border-bottom:1px solid #edf0f5}
.photo-panel{min-height:300px;background:
  linear-gradient(180deg,rgba(3,16,36,.05),rgba(3,16,36,.1)),
  radial-gradient(circle at 70% 30%,rgba(231,173,34,.28),transparent 20%),
  linear-gradient(135deg,#b98950,#17345e 48%,#071832);
}
.why-copy{padding:38px 40px}
.why-copy h2{font-size:30px;margin:0 0 12px}
.why-copy p{font-size:16px;line-height:1.55;color:#23324b;margin:0 0 10px}
.why-copy ul{list-style:none;padding:0;margin:18px 0 0;line-height:1.9}
.why-copy li:before{content:"✓";color:var(--gold);border:1px solid var(--gold);border-radius:50%;font-size:10px;padding:1px 3px;margin-right:10px}
.right-card{margin:28px 28px 28px 0;background:#f7f7f8;border-radius:12px;display:grid;place-items:center;text-align:center;padding:25px}
.house-dollar{font-size:74px;color:var(--gold);line-height:1}
.right-card h3{font-size:23px;line-height:1.35;margin:12px 0;color:#071a38}
.right-card p{font-size:18px;color:var(--gold);font-weight:800}

.trust-row{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:center;text-align:center;padding:24px 40px;border-bottom:1px solid #e7ebf1}
.big-happy-logo{display:grid;grid-template-columns:52px auto;align-items:center;text-align:left;justify-content:center;gap:8px}
.sun{font-size:42px;color:var(--gold);grid-row:1/3}
.big-happy-logo strong{font-size:25px;line-height:.9;color:#092654}
.big-happy-logo small{font-size:11px;color:#435066}
.review-badge strong{font-size:28px;color:#4285f4}
.review-badge span{color:var(--gold);font-size:28px;margin:0 10px}
.review-badge small,.team-badge small{display:block;color:#2d3a4f;font-size:14px}
.team-badge i{font-style:normal;font-size:33px;color:var(--gold);display:block}
.team-badge strong{display:block;margin-top:3px}

.site-footer{background:linear-gradient(90deg,#061936,#09264e);color:#fff;display:grid;grid-template-columns:1.1fr 1fr 1fr .35fr;gap:26px;align-items:center;padding:27px 60px 38px;position:relative}
.site-footer .brand-main{font-size:25px}
.site-footer .brand-sub{font-size:12px}
.contact p,.license p{margin:4px 0;font-size:14px;color:#e6edf8}
.legal-icons{font-size:42px;text-align:right}
.fine-print{position:absolute;left:60px;right:60px;bottom:8px;text-align:center;margin:0;font-size:11px;color:#b8c4d6}

@media(max-width:980px){
  .topbar{height:auto;padding:18px 20px;gap:16px;align-items:flex-start;flex-direction:column}
  .hero{min-height:auto}
  .hero-wrap{grid-template-columns:1fr;padding:35px 18px}
  h1{font-size:45px}
  .benefit-icons{grid-template-columns:1fr 1fr 1fr;gap:16px}
  .quote-card{display:none}
  .portal-card{margin-top:0}
  .rate-grid{grid-template-columns:1fr 1fr}
  .loan-grid,.timeline-grid{grid-template-columns:1fr 1fr}
  .two-col{grid-template-columns:1fr}
  .edge-grid{grid-template-columns:1fr;gap:0}
  .edge-grid article{border-right:0;border-bottom:1px solid #e4e8ef}
  .why-section{grid-template-columns:1fr}
  .right-card{margin:20px}
  .trust-row{grid-template-columns:1fr;gap:22px}
  .site-footer{grid-template-columns:1fr;text-align:left;padding:28px 24px 52px}
  .legal-icons{text-align:left}
  .fine-print{left:24px;right:24px}
}
