.mfa-public-hero{
    width:100%;
    margin:0 0 30px;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 14px 38px rgba(0,57,34,.10);
}
.mfa-public-hero img{
    display:block;
    width:100%;
    height:clamp(220px,28vw,350px);
    object-fit:cover;
    object-position:center;
}


.mfa-public-estimator{
    --mfa-green:#003922;
    --mfa-gold:#D9A21B;
    --mfa-light:#F3F6F1;
    --mfa-cream:#FFF8ED;
    --mfa-text:#222222;
    --mfa-muted:#626a65;
    max-width:1120px;
    margin:0 auto;
    color:var(--mfa-text);
    font-family:inherit;
}
.mfa-public-estimator *{box-sizing:border-box}
.mfa-public-intro{
    text-align:center;
    margin:0 auto 28px;
    max-width:760px;
}
.mfa-kicker{
    display:inline-block;
    color:var(--mfa-gold);
    font-weight:800;
    font-size:13px;
    letter-spacing:.08em;
    text-transform:uppercase;
    margin-bottom:8px;
}
.mfa-public-intro h1 {
    color:var(--mfa-green);
    font-size:clamp(28px,4vw,46px);
    line-height:1.1;
    margin:0 0 12px;
    font-weight:800;
}
.mfa-public-intro p{
    font-size:17px;
    line-height:1.6;
    color:var(--mfa-muted);
    margin:0 0 12px;
}
.mfa-coverage{
    display:inline-block;
    background:var(--mfa-light);
    color:var(--mfa-green);
    padding:8px 14px;
    border-radius:999px;
    font-size:13px;
}
.mfa-public-form,
.mfa-result{
    background:#fff;
    border:1px solid #e2e5e2;
    border-radius:18px;
    box-shadow:0 12px 35px rgba(0,57,34,.07);
    overflow:hidden;
}
.mfa-public-form{padding:26px}
.mfa-progress{
    display:flex;
    align-items:center;
    justify-content:center;
    max-width:470px;
    margin:0 auto 28px;
}
.mfa-progress span{
    width:34px;height:34px;
    border-radius:50%;
    background:#e8ece9;
    color:#727973;
    display:grid;
    place-items:center;
    font-weight:800;
    transition:.2s ease;
}
.mfa-progress span.is-active,
.mfa-progress span.is-done{
    background:var(--mfa-green);
    color:#fff;
}
.mfa-progress i{
    height:3px;
    flex:1;
    background:#e8ece9;
    margin:0 8px;
}
.mfa-step{display:none}
.mfa-step.is-active{display:block}
.mfa-step-head{
    border-bottom:1px solid #edf0ed;
    padding-bottom:17px;
    margin-bottom:22px;
}
.mfa-step-head span{
    display:block;
    color:var(--mfa-gold);
    font-weight:700;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.06em;
    margin-bottom:4px;
}
.mfa-step-head h3,
.mfa-block h4{
    color:var(--mfa-green);
    margin:0;
    font-weight:800;
}
.mfa-step-head h3{font-size:25px}
.mfa-block{
    background:#fbfcfb;
    border:1px solid #edf0ed;
    border-radius:14px;
    padding:18px;
    margin:20px 0;
}
.mfa-block h4{font-size:17px;margin-bottom:4px}
.mfa-help{
    color:var(--mfa-muted);
    font-size:13px;
    margin:0 0 14px;
}
.mfa-grid{
    display:grid;
    gap:16px;
}
.mfa-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.mfa-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.mfa-span-2{grid-column:span 2}
.mfa-field label{
    display:block;
    font-size:13px;
    font-weight:700;
    color:#333;
    margin:0 0 6px;
}
.mfa-field input,
.mfa-field select,
.mfa-lead-form input{
    width:100%;
    min-height:48px;
    border:1px solid #ccd2ce;
    border-radius:9px;
    background:#fff;
    color:#222;
    padding:10px 12px;
    font:inherit;
    box-shadow:none;
}
.mfa-field input:focus,
.mfa-field select:focus,
.mfa-lead-form input:focus{
    outline:none;
    border-color:var(--mfa-green);
    box-shadow:0 0 0 3px rgba(0,57,34,.08);
}
.mfa-number-wrap{position:relative}
.mfa-number-wrap span{
    position:absolute;
    right:13px;top:50%;
    transform:translateY(-50%);
    color:#747b76;
    font-size:13px;
}
.mfa-check-row{
    display:flex;
    flex-wrap:wrap;
    gap:10px 20px;
    margin:16px 0;
}
.mfa-check,
.mfa-check-card,
.mfa-privacy-check{
    display:flex;
    align-items:flex-start;
    gap:9px;
    cursor:pointer;
    font-size:14px;
    line-height:1.35;
}
.mfa-check input,
.mfa-check-card input,
.mfa-privacy-check input{
    width:18px;
    height:18px;
    margin:1px 0 0;
    accent-color:var(--mfa-green);
    flex:none;
}
.mfa-check-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.mfa-check-grid-compact{margin-top:20px}
.mfa-check-card{
    border:1px solid #e0e5e1;
    border-radius:10px;
    padding:12px;
    background:#fff;
}
.mfa-check-card:has(input:checked){
    border-color:var(--mfa-green);
    background:var(--mfa-light);
}
.mfa-step-actions{
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin-top:25px;
}
.mfa-step-actions-end{justify-content:flex-end}
.mfa-btn{
    appearance:none;
    border:0;
    border-radius:9px;
    min-height:47px;
    padding:12px 20px;
    font:inherit;
    font-weight:800;
    cursor:pointer;
    text-decoration:none;
    transition:transform .15s ease,opacity .15s ease;
}
.mfa-btn:hover{transform:translateY(-1px)}
.mfa-btn-primary{background:var(--mfa-green);color:#fff}
.mfa-btn-secondary{background:#eef1ef;color:var(--mfa-green)}
.mfa-btn-gold{background:var(--mfa-gold);color:#fff}
.mfa-public-message{
    margin:0 0 18px;
    border-radius:12px;
    padding:14px 17px;
    font-size:14px;
}
.mfa-public-error{
    background:#fff1f0;
    color:#8b221c;
    border:1px solid #ffd1cd;
}
.mfa-public-success{
    background:#eef8f2;
    color:var(--mfa-green);
    border:1px solid #cfe8d8;
}
.mfa-result{
    margin-top:28px;
    padding:34px;
    text-align:center;
    border-top:5px solid var(--mfa-gold);
}
.mfa-result-badge{
    display:inline-block;
    color:var(--mfa-green);
    background:var(--mfa-light);
    border-radius:999px;
    padding:7px 13px;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
}
.mfa-result h3{
    color:var(--mfa-green);
    font-size:23px;
    margin:17px 0 7px;
}
.mfa-result-price{
    color:var(--mfa-green);
    font-size:clamp(38px,6vw,62px);
    line-height:1;
    font-weight:900;
    letter-spacing:-.04em;
    margin:10px 0 26px;
}
.mfa-result-price span{color:var(--mfa-gold)}
.mfa-result-price small{
    display:block;
    font-size:14px;
    letter-spacing:0;
    font-weight:600;
    color:var(--mfa-muted);
    margin-top:9px;
}
.mfa-result-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    border:1px solid #e8ece9;
    border-radius:13px;
    overflow:hidden;
    margin:0 auto 20px;
    max-width:980px;
}
.mfa-result-grid div{
    padding:17px;
    background:#fbfcfb;
}
.mfa-result-grid div+div{border-left:1px solid #e8ece9}
.mfa-result-grid span{
    display:block;
    color:var(--mfa-muted);
    font-size:12px;
    margin-bottom:4px;
}
.mfa-result-grid strong{color:var(--mfa-green);font-size:16px}
.mfa-result-note{
    max-width:760px;
    margin:0 auto;
    color:#767d78;
    font-size:12px;
    line-height:1.5;
}
.mfa-prudential-note{
    max-width:780px;
    margin:18px auto 0;
    padding:12px 16px;
    background:var(--mfa-cream);
    border-left:3px solid var(--mfa-gold);
    border-radius:8px;
    color:#5f6862;
    font-size:13px;
    line-height:1.55;
    text-align:left;
}
.mfa-prudential-note strong{color:var(--mfa-green)}

.mfa-result-cta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    text-align:left;
    background:var(--mfa-green);
    color:#fff;
    border-radius:14px;
    padding:21px 23px;
    margin-top:28px;
}
.mfa-result-cta span{display:block;font-size:13px;opacity:.85}
.mfa-result-cta strong{display:block;font-size:19px;margin-top:2px}
.mfa-lead-box{
    text-align:left;
    background:var(--mfa-cream);
    border-radius:14px;
    padding:22px;
    margin-top:14px;
}
.mfa-lead-box h4{
    color:var(--mfa-green);
    font-size:21px;
    margin:0 0 5px;
}
.mfa-lead-box>p{margin:0 0 17px;color:var(--mfa-muted)}
.mfa-lead-form .mfa-grid{margin-bottom:15px}
.mfa-privacy-check{
    font-size:12px;
    color:#555;
    margin:12px 0 18px;
}
.mfa-privacy-check a{color:var(--mfa-green);text-decoration:underline}
.mfa-honeypot{
    position:absolute!important;
    left:-9999px!important;
    opacity:0!important;
    pointer-events:none!important;
}
@media(max-width:780px){
    .mfa-public-form,.mfa-result{padding:20px}
    .mfa-grid-2,.mfa-grid-3,.mfa-result-grid{grid-template-columns:1fr}
    .mfa-span-2{grid-column:auto}
    .mfa-check-grid{grid-template-columns:1fr}
    .mfa-result-grid div+div{border-left:0;border-top:1px solid #e8ece9}
    .mfa-result-cta{align-items:stretch;flex-direction:column}
    .mfa-result-cta .mfa-btn{width:100%}
    .mfa-step-actions .mfa-btn{flex:1}
}

.mfa-condo-summary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:6px 10px;
    background:var(--mfa-cream);
    border:1px solid #f1dfb1;
    border-radius:10px;
    padding:10px 14px;
    margin:0 auto 15px;
    font-size:12px;
}
.mfa-condo-summary span{color:var(--mfa-muted)}
.mfa-condo-summary strong{color:var(--mfa-green)}
.mfa-condo-summary small{color:#7b6840}

/* v0.9.0 - AI Market Check */
.mfa-ai-market-summary{margin:24px 0;padding:22px;border:1px solid #e3e7e4;border-radius:18px;background:#f8faf8;text-align:left}
.mfa-ai-market-head{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:10px}
.mfa-ai-market-head>div{display:flex;flex-direction:column;gap:4px}
.mfa-ai-market-head span{font-size:13px;color:#6c756f}
.mfa-ai-market-head strong{font-size:17px;color:#003922}
.mfa-ai-market-summary p{margin:10px 0 14px;color:#68716b;font-size:13px}
.mfa-ai-sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.mfa-ai-sources a{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid #e0e5e1;border-radius:12px;background:#fff;color:#003922;text-decoration:none}
.mfa-ai-sources a:hover{border-color:#d9a514}
.mfa-ai-sources a span{font-size:12px;color:#66706a}
@media(max-width:720px){.mfa-ai-market-head,.mfa-ai-sources{grid-template-columns:1fr}}
