:root{--green:#176b43;--green-dark:#105334;--green-light:#e8f3eb;--ink:#17362b;--muted:#74847a;--line:#e4eae5;--cream:#f7f9f6;--gold:#e8b957}*{box-sizing:border-box}
body{margin:0;background:#fff;color:var(--ink);font-family:Montserrat,Arial,sans-serif;-webkit-font-smoothing:antialiased}
main{max-width:1090px;margin:0 auto;padding:0px 0px 0}
.intro{min-height:260px;background:var(--green);border-radius:16px;position:relative;overflow:hidden;padding:20px 52px;color:white;display:flex;align-items:center}
.intro-copy{position:relative;z-index:1;max-width:440px}.intro h1{font:800 39px/1.08 Montserrat,sans-serif;letter-spacing:-.045em;margin:0}
.intro h1 em{font-style:normal;color:#c4e18a}.intro-text{max-width:355px;color:#e0eee4;font-size:13px;line-height:1.6;margin:10px 0 15px}
.trust-note{display:flex;align-items:center;gap:9px;color:#d5e9db;font-size:10px;line-height:1.45}.trust-note strong{font-size:11px;color:#fff}
.shield{width:25px;height:25px;border:1px solid #8db69a;border-radius:8px;display:grid;place-items:center;color:#c4e18a;font-size:15px}
.decor{position:absolute;inset:0 0 0 55%;overflow:hidden}.circle{position:absolute;border-radius:50%;border:1px solid rgba(222,243,224,.21)}
.circle-one{width:310px;height:310px;right:32px;top:-31px}.circle-two{width:220px;height:220px;right:78px;top:15px}.decor:before,
.decor:after{content:'';position:absolute;height:1px;width:300px;background:rgba(255,255,255,.15);right:-15px;top:86px;transform:rotate(-39deg)}.decor:after{top:157px;right:-44px}
.decor-card{position:absolute;right:92px;top:76px;width:156px;height:98px;border-radius:13px;background:#f7f8ed;color:var(--green);box-shadow:0 14px 30px #073a2852;padding:22px 17px;transform:rotate(5deg);font-size:10px}
.decor-card b{display:block;font:800 16px Montserrat;margin-top:5px}.decor-card i{position:absolute;right:15px;bottom:15px;font-size:20px;font-style:normal}
.sparkle{position:absolute;right:68px;top:58px;color:var(--gold);font-size:21px}
.simulator{margin:2px 0 5px;display:grid;grid-template-columns:1.16fr .84fr;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:0 9px 30px #20372b0a}
.form-panel{padding:15px 15px 15px}.section-heading{display:flex;align-items:center;gap:13px;margin-bottom:23px}
.section-heading h2{font:800 19px Montserrat;margin:0 0 3px;letter-spacing:-.03em}
.section-heading p{font-size:11px;color:var(--muted);margin:0}.status-dot{width:7px;height:7px;border-radius:50%;background:#56a36d}
form label{display:block;font-size:11px;font-weight:700;margin:0 0 7px;color:#34493d}
.select-wrap select{width:100%;height:39px;border:1px solid #dce5dd;border-radius:7px;background:white;padding:0 35px 0 12px;font:500 12px Montserrat;color:#203b2d;outline:none}
.select-wrap select:focus,.money-field:focus-within{border-color:#5f9c76;box-shadow:0 0 0 3px #176b4314}
.field-label-row{display:flex;justify-content:space-between;align-items:center}.field-label-row label{margin:0}
.hint{font-size:9px;color:#86948a;font-weight:700;letter-spacing:.1em}.money-field{height:43px;border:1px solid #dce5dd;border-radius:7px;display:flex;align-items:center;padding:0 12px;gap:8px}
.money-field>span{font-weight:700;color:var(--green);font-size:15px}.money-field input{width:100%;border:0;outline:0;font:700 16px Montserrat;color:#1b3c2b;background:transparent}
.field-help{font-size:9px;color:#8b978e;margin:6px 0 18px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field-block{margin-top:16px}
.calculate-button{border:0;width:100%;height:43px;border-radius:7px;background:var(--green);color:white;margin-top:18px;font:700 12px Montserrat;cursor:pointer;transition:background .2s,transform .2s}
.calculate-button:hover{background:var(--green-dark);transform:translateY(-1px)}.calculate-button span{font-size:16px;margin-left:6px}
.disclaimer{font-size:9px;line-height:1.5;color:#8a968e;margin:10px 0 0}.result-panel{background:#f3f7f2;padding:27px 30px;position:relative}
.result-panel:after{content:'';position:absolute;width:210px;height:210px;border:1px solid #e2ebe0;border-radius:50%;right:-124px;bottom:-142px;pointer-events:none}
.result-top{display:flex;align-items:center;justify-content:space-between}.result-kicker{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:.12em;font-weight:700;color:#67816e}
.result-icon{height:29px;width:29px;display:grid;place-items:center;background:#e6f0e5;border-radius:9px;color:var(--green);font-size:15px}
.result-label{font-size:11px;color:#718078;margin:19px 0 5px}.payment{font:800 30px Montserrat;color:#165c3a;letter-spacing:-.05em;overflow-wrap:anywhere}
.payment-caption{font-size:9px;color:#8a978d;margin:4px 0 17px}.result-divider{height:1px;background:#dfe8df}.summary{margin:13px 0 17px}
.summary div{display:flex;justify-content:space-between;align-items:center;padding:6px 0;gap:10px}.summary dt{font-size:10px;color:#728078}
.summary dd{margin:0;text-align:right;font-size:10px;font-weight:700;color:#314a39}.summary div:last-child{border-top:1px solid #dfe8df;margin-top:4px;padding-top:12px}
.summary div:last-child dt,.summary div:last-child dd{font-weight:700;color:var(--green)}
.result-footer{border:1px solid #e2eadf;background:#edf4eb;border-radius:8px;padding:10px;display:flex;gap:9px;align-items:flex-start;position:relative;z-index:1}
.bulb{font-size:14px;color:#a3873c}.result-footer p{margin:0;font-size:9px;color:#6e7f72;line-height:1.5}
.next-step{background:#fbfcfa;border:1px solid var(--line);border-radius:12px;padding:17px 21px;display:flex;align-items:center;gap:13px;margin-bottom:10px}
.next-icon{width:33px;height:33px;display:grid;place-items:center;border-radius:10px;background:#edf5ec;color:var(--green);font-size:17px}
.next-step h2{font:700 12px Montserrat;margin:0 0 4px}.next-step p{font-size:10px;color:#7a8980;margin:0}
footer{max-width:1090px;margin:0 auto;padding:0 28px 1px;display:flex;justify-content:space-between;color:#9aa59d;font-size:9px}@media(max-width:720px){main{padding:16px 16px 0}
.intro{min-height:245px;padding:28px 25px}.intro h1{font-size:35px}.intro-text{max-width:300px;font-size:12px}.decor{left:47%;opacity:.55}
.decor-card{right:22px;top:118px;transform:scale(.82) rotate(5deg);transform-origin:right top}.circle-one{right:-40px}.circle-two{right:5px}.sparkle{right:14px}
.simulator{grid-template-columns:1fr;margin-top:1px}.form-panel{padding:24px 22px}.result-panel{padding:23px 22px}.payment{font-size:27px}
.next-step{align-items:flex-start;padding:16px}footer{padding:0 16px 18px;font-size:8px}}@media(max-width:380px){.intro{padding:25px 19px}
.intro h1{font-size:32px}.decor{left:40%;opacity:.35}.form-panel{padding:22px 16px}.result-panel{padding:21px 16px}.payment{font-size:24px}.two-fields{grid-template-columns:1fr;gap:12px}}

/* Accessible, larger typography with fluid sizing across embed and mobile widths. */
.intro h1{font-size:clamp(2.25rem,5vw,3rem)}
.intro-text{font-size:clamp(.9rem,1.4vw,1rem)}
.trust-note{font-size:.82rem}.trust-note strong{font-size:.9rem}
.section-heading h2{font-size:clamp(1.25rem,2vw,1.45rem)}
.section-heading p,form label{font-size:clamp(.9rem,1.2vw,1rem)}
.select-wrap select{height:48px;font-size:1rem}
.money-field{height:50px}.money-field input{font-size:1.1rem}
.hint,.field-help,.disclaimer{font-size:.8rem}
.calculate-button{height:49px;font-size:1rem}
.result-kicker{font-size:.78rem}.result-label{font-size:.95rem}
.payment{font-size:clamp(1.65rem,3vw,2.2rem)}.payment-caption{font-size:.78rem}
.summary dt,.summary dd{font-size:.86rem}.result-footer p{font-size:.78rem}
.next-step h2{font-size:1rem}.next-step p{font-size:.86rem;line-height:1.5}
.contact-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.contact-actions .contact-link{margin:0;padding:12px 16px;border-radius:8px;display:inline-flex;align-items:center;gap:6px;font:700 .9rem Montserrat,sans-serif;cursor:pointer}
.request-button{background:var(--green);color:white;border:1px solid var(--green)}.request-button:hover{background:var(--green-dark)}
.advisor-button{border:1px solid #d5e3d7;background:#fff;color:var(--green)}.advisor-button:hover{background:#edf5ec}
.calculate-button:disabled,.calculate-button:disabled:hover{background:#aebbb1;color:#f3f5f3;cursor:not-allowed;transform:none}
.request-dialog{width:min(650px,calc(100% - 24px));max-height:92vh;padding:0;border:0;border-radius:16px;box-shadow:0 24px 80px #132e2052;color:var(--ink);overflow:auto}
.request-dialog::backdrop{background:#10271dcc;backdrop-filter:blur(3px)}
.dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 27px 17px;border-bottom:1px solid var(--line)}
.dialog-header h2{font:800 1.55rem Montserrat,sans-serif;margin:0 0 5px}.dialog-header p:last-child{margin:0;color:var(--muted);font-size:.95rem;line-height:1.5}
.dialog-eyebrow{color:var(--green);margin:0 0 8px;font-size:.75rem;font-weight:700;letter-spacing:.12em}
.dialog-close{flex:none;border:0;background:#f0f5f0;border-radius:50%;width:38px;height:38px;color:#496455;font-size:1.6rem;cursor:pointer}
.request-form{padding:18px 27px 24px}.request-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.request-field label{font-size:.9rem;margin:0 0 7px}.request-field input,.request-field select{width:100%;height:46px;border:1px solid #dce5dd;border-radius:7px;background:white;padding:0 12px;font:500 1rem Montserrat;color:#203b2d;outline:none}
.request-field input:focus,.request-field select:focus{border-color:#5f9c76;box-shadow:0 0 0 3px #176b4314}
.consent-row{display:flex;align-items:flex-start;gap:10px;margin-top:15px;font-size:.88rem;line-height:1.55;color:#516459;cursor:pointer}.consent-row input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--green)}.consent-row a{color:var(--green);font-weight:700}
.form-privacy-note{margin:14px 0 0;padding:11px;background:#f2f7f0;border-radius:7px;color:#6e7f72;font-size:.8rem;line-height:1.5}
.request-submit{margin-top:14px}.request-submit:disabled,.request-submit:disabled:hover{background:#aebbb1;color:#f3f5f3;opacity:1;cursor:not-allowed;transform:none}
@media(max-width:720px){.contact-actions{width:100%;margin:8px 0 0;gap:8px}.contact-actions .contact-link{flex:1;justify-content:center;padding:12px 8px;font-size:.82rem}.next-step{flex-wrap:wrap}.dialog-header{padding:19px 18px 15px}.request-form{padding:16px 18px 20px}.request-grid{grid-template-columns:1fr;gap:12px}.request-dialog{max-height:94vh}}
@media(max-width:380px){.intro h1{font-size:2rem}.form-panel,.result-panel{padding-left:16px;padding-right:16px}.two-fields{grid-template-columns:1fr;gap:12px}.contact-actions{flex-direction:column}.contact-actions .contact-link{width:100%}.summary div{align-items:flex-start}.summary dt,.summary dd{font-size:.78rem}}