@import url("https://fonts.googleapis.com/css2?family=Libre+Franklin:wght@400;600&display=swap");@font-face{font-display:swap;font-family:Butler;font-style:normal;font-weight:700;src:url(https://use.typekit.net/af/1a1c4b/00000000000000007735a9aa/30/l?subset_id=2&fvd=n7) format("woff2")}@font-face{font-display:swap;font-family:Butler;font-style:normal;font-weight:500;src:url(https://use.typekit.net/af/9b05f3/00000000000000007735a9b0/30/l?subset_id=2&fvd=n5) format("woff2")}@font-face{font-display:swap;font-family:Butler;font-style:normal;font-weight:400;src:url(https://use.typekit.net/af/4e7e72/00000000000000007735a9ac/30/l?subset_id=2&fvd=n4) format("woff2")}:root{--calc-primary-dark:#192031;--calc-primary-medium:#284b66;--calc-accent-gold:#cdb9a3;--calc-light-neutral:#e5dfd8;--calc-white:#fff;--calc-offwhite:#f9f7f5;--calc-gold-hover:#b8a68d;--calc-shadow:rgba(25,32,49,.06);--calc-error:#d32f2f;--calc-error-bg:#ffebee}.mortgage-calculator-wrapper{font-family:Libre Franklin,sans-serif;margin:0 auto;max-width:1200px;padding:2rem 1rem}.calc-wrapper-container{position:relative}.calc-main-header{margin-bottom:3rem;text-align:center}.calc-main-header h1{color:var(--calc-primary-dark);font-family:Butler,serif;font-size:2.5rem;font-weight:700;line-height:1.2;margin-bottom:1rem}.calc-main-header p{color:var(--calc-primary-medium);font-family:Libre Franklin,sans-serif;font-size:1.125rem;line-height:1.6}.calc-container{background:linear-gradient(135deg,var(--calc-white) 0,var(--calc-offwhite) 100%);border:1px solid var(--calc-light-neutral);border-radius:1.25rem;box-shadow:0 4px 6px rgba(25,32,49,.03),0 10px 25px var(--calc-shadow);overflow:hidden}.calc-content{padding:3rem}.calc-grid{display:grid;gap:3rem;grid-template-columns:1fr 1fr;margin-bottom:3rem}.calc-inputs{gap:1.5rem}.calc-inputs,.input-group{display:flex;flex-direction:column}.input-group{gap:.5rem}.input-group label{align-items:center;color:var(--calc-primary-dark);display:flex;font-family:Butler,serif;font-size:1rem;font-weight:600;gap:.5rem}.input-group label svg{color:var(--calc-accent-gold);flex-shrink:0}.input-wrapper{position:relative}.input-group input{background:var(--calc-white);border:2px solid var(--calc-light-neutral);border-radius:.75rem;color:var(--calc-primary-dark);font-size:1.125rem;padding:1rem 1.25rem;transition:all .3s ease;width:100%}.input-group input,.input-prefix{font-family:Libre Franklin,sans-serif;font-weight:600}.input-prefix{color:var(--calc-primary-medium);left:1.25rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.input-wrapper:has(.input-prefix) input{padding-left:2.5rem}.input-suffix{color:var(--calc-primary-medium);font-family:Libre Franklin,sans-serif;font-weight:600;pointer-events:none;position:absolute;right:1.25rem;top:50%;transform:translateY(-50%)}.input-group input:focus{border-color:var(--calc-accent-gold);box-shadow:0 0 0 4px hsla(31,30%,72%,.1);outline:none}.tooltip-container{align-items:center;cursor:help;display:inline-flex;margin-left:.375rem;position:relative}.tooltip-icon{color:var(--calc-accent-gold);flex-shrink:0;transition:all .2s ease}.tooltip-container:hover .tooltip-icon{color:var(--calc-gold-hover);transform:scale(1.1)}.tooltip-text{background:var(--calc-primary-dark);border-radius:.5rem;bottom:calc(100% + .75rem);box-shadow:0 4px 20px rgba(25,32,49,.3);color:var(--calc-white);font-family:Libre Franklin,sans-serif;font-size:.875rem;font-weight:400;line-height:1.5;max-width:90vw;opacity:0;padding:.875rem 1rem;pointer-events:none;text-align:left;transition:all .3s ease;visibility:hidden;white-space:normal;width:280px;z-index:1000}.tooltip-text,.tooltip-text:after{left:50%;position:absolute;transform:translateX(-50%)}.tooltip-text:after{border:6px solid transparent;border-top:6px solid var(--calc-primary-dark);content:"";top:100%}.tooltip-container:hover .tooltip-text{bottom:calc(100% + .5rem);opacity:1;visibility:visible}.calc-results{background:linear-gradient(135deg,var(--calc-primary-dark) 0,var(--calc-primary-medium) 100%);border-radius:1rem;box-shadow:0 4px 20px rgba(25,32,49,.15);color:var(--calc-white);padding:2rem}.result-header{color:var(--calc-accent-gold);font-family:Butler,serif;font-size:1.25rem;font-weight:700;letter-spacing:.5px;margin-bottom:1.5rem;text-transform:uppercase}.result-item{border-bottom:1px solid hsla(31,30%,72%,.2);padding:1.25rem 0}.result-item:last-child{border-bottom:none}.result-label{color:hsla(0,0%,100%,.8);font-family:Libre Franklin,sans-serif;font-size:.875rem;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.result-value{color:var(--calc-accent-gold);font-family:Butler,serif;font-size:1.75rem;font-weight:700}.result-highlight{background:hsla(31,30%,72%,.15);border-left:4px solid var(--calc-accent-gold);border-radius:.5rem;margin-bottom:1rem;padding:1.5rem}.calc-breakdown{background:linear-gradient(135deg,#f7f5f2,#ede8e3);border-radius:1rem;margin-top:2rem;padding:2rem}.breakdown-title{color:var(--calc-primary-dark);font-family:Butler,serif;font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}.breakdown-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}.breakdown-card{background:var(--calc-white);border:1px solid var(--calc-light-neutral);border-radius:.75rem;padding:1.5rem;transition:all .3s ease}.breakdown-card:hover{box-shadow:0 4px 12px rgba(25,32,49,.08);transform:translateY(-2px)}.breakdown-card-label{color:var(--calc-primary-medium);font-family:Libre Franklin,sans-serif;font-size:.875rem;margin-bottom:.5rem}.breakdown-card-value{color:var(--calc-primary-dark);font-family:Butler,serif;font-size:1.5rem;font-weight:700}.calc-cta{background:linear-gradient(135deg,var(--calc-primary-dark) 0,var(--calc-primary-medium) 100%);border-radius:0 0 1.25rem 1.25rem;padding:2.5rem;text-align:center}.cta-content h3{color:var(--calc-white);font-family:Butler,serif;font-size:1.75rem;font-weight:700;margin-bottom:1rem}.cta-content p{color:hsla(0,0%,100%,.9);font-size:1.125rem;margin-bottom:2rem}.calc-btn,.cta-content p,.vgbel-btn{font-family:Libre Franklin,sans-serif}.calc-btn,.vgbel-btn{align-items:center;border:none;border-radius:.75rem;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;letter-spacing:.5px;padding:1rem 2rem;text-decoration:none;text-transform:uppercase;transition:all .3s ease}.calc-btn-primary,.vgbel-btn-primary{background:var(--calc-accent-gold);box-shadow:0 2px 8px hsla(31,30%,72%,.3);color:var(--calc-primary-dark)}.calc-btn-primary:hover,.vgbel-btn-primary:hover{background:var(--calc-gold-hover);box-shadow:0 4px 16px hsla(31,30%,72%,.4);transform:translateY(-2px)}.vgbel-btn-secondary{background:var(--calc-white);border:2px solid var(--calc-primary-dark);color:var(--calc-primary-dark)}.vgbel-btn-secondary:hover{background:var(--calc-primary-dark);color:var(--calc-white);transform:translateY(-2px)}.vgbel-btn-gold{background:var(--calc-accent-gold);color:var(--calc-primary-dark)}.vgbel-btn-gold:hover{background:var(--calc-gold-hover);transform:translateY(-2px)}.calc-btn-large,.vgbel-btn-large{font-size:1.125rem;padding:1.25rem 2.5rem}.btn-icon{flex-shrink:0;height:20px;width:20px}.auth-screen{background:var(--calc-white);border:1px solid var(--calc-light-neutral);border-radius:1.25rem;box-shadow:0 4px 6px rgba(25,32,49,.03),0 10px 25px var(--calc-shadow);padding:3rem}.auth-content{margin:0 auto;max-width:600px;text-align:center}.auth-content h2{color:var(--calc-primary-dark);font-family:Butler,serif;font-size:2rem;font-weight:700;margin-bottom:1rem}.auth-description{color:var(--calc-primary-medium);font-family:Libre Franklin,sans-serif;font-size:1.125rem;line-height:1.6;margin-bottom:2rem}.auth-buttons-primary{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.auth-divider{margin:2rem 0;position:relative;text-align:center}.auth-divider:before{background:var(--calc-light-neutral);content:"";height:1px;left:0;position:absolute;top:50%;width:100%}.auth-divider span{background:var(--calc-white);color:var(--calc-primary-medium);display:inline-block;font-family:Libre Franklin,sans-serif;font-size:.875rem;font-weight:600;letter-spacing:.5px;padding:0 1rem;position:relative;text-transform:uppercase}.auth-email-section{background:var(--calc-offwhite);border:1px solid var(--calc-light-neutral);border-radius:.75rem;margin-top:2rem;padding:1.5rem}.email-option-text{color:var(--calc-primary-dark);font-family:Libre Franklin,sans-serif;font-size:1rem;font-weight:600;margin-bottom:1rem;text-align:center}.email-input-group{display:flex;gap:1rem;margin-bottom:1rem}.email-input-group input{background:var(--calc-white);border:2px solid var(--calc-light-neutral);border-radius:.75rem;color:var(--calc-primary-dark);flex:1;font-family:Libre Franklin,sans-serif;font-size:1rem;padding:1rem 1.25rem;transition:all .3s ease}.email-input-group input:focus{border-color:var(--calc-accent-gold);box-shadow:0 0 0 4px hsla(31,30%,72%,.1);outline:none}.email-note{color:var(--calc-primary-medium);opacity:.8;text-align:center}.email-note,.error-message{font-family:Libre Franklin,sans-serif;font-size:.875rem}.error-message{background:var(--calc-error-bg);border-left:4px solid var(--calc-error);border-radius:.5rem;color:var(--calc-error);margin-top:.75rem;padding:.875rem 1rem;text-align:left}.vgbel-modal{align-items:center;animation:fadeIn .2s ease;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.vgbel-modal.hidden{display:none}.modal-overlay{backdrop-filter:blur(4px);background:rgba(25,32,49,.8);height:100%;left:0;position:absolute;top:0;width:100%}.modal-content{animation:slideUp .3s ease;background:var(--calc-white);border-radius:1rem;box-shadow:0 20px 60px rgba(0,0,0,.3);height:80vh;max-height:700px;max-width:600px;overflow:hidden;position:relative;width:90%;z-index:1}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-content iframe{border:none;height:100%;width:100%}.modal-close{align-items:center;background:var(--calc-primary-dark);border:none;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.15);color:var(--calc-white);cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;line-height:1;position:absolute;right:1rem;top:1rem;transition:all .3s ease;width:40px;z-index:2}.modal-close:hover{background:var(--calc-accent-gold);transform:rotate(90deg)}.hidden{display:none!important}@media (max-width:768px){.mortgage-calculator-wrapper{padding:1.5rem 1rem}.calc-main-header{margin-bottom:2rem}.calc-main-header h1{font-size:2rem;word-spacing:-.05em}.calc-main-header p{font-size:1rem}.calc-content{padding:2rem 1.5rem}.calc-grid{gap:2rem;grid-template-columns:1fr}.calc-inputs{gap:1.25rem}.breakdown-grid{gap:1rem;grid-template-columns:1fr}.calc-cta{padding:2rem 1.5rem}.cta-content h3{font-size:1.5rem}.cta-content p{font-size:1rem}.result-value{font-size:1.5rem}.breakdown-card-value{font-size:1.25rem}.modal-content{height:85vh;width:95%}.auth-screen{padding:2rem 1.5rem}.auth-content h2{font-size:1.75rem}.auth-description{font-size:1rem}.email-input-group{flex-direction:column}.auth-buttons-primary{gap:.75rem}.calc-btn,.vgbel-btn{font-size:.9375rem;padding:.875rem 1.5rem}.calc-btn-large,.vgbel-btn-large{font-size:1rem;padding:1rem 2rem}.tooltip-text{font-size:.8125rem;left:auto;padding:.75rem .875rem;right:0;transform:none;width:240px}.tooltip-text:after{left:auto;right:1rem;transform:none}}@media (max-width:480px){.mortgage-calculator-wrapper{padding:1rem .75rem}.calc-main-header{margin-bottom:1.5rem}.calc-main-header h1{font-size:1.5rem;letter-spacing:-.01em;line-height:1.3;word-spacing:-.05em}.calc-main-header p{font-size:.875rem;line-height:1.5}.calc-container{border-radius:1rem}.calc-content{padding:1.5rem 1.25rem}.calc-grid{gap:1.5rem;margin-bottom:2rem}.calc-inputs{gap:1.25rem}.input-group{gap:.375rem}.input-group label{font-size:.9375rem}.input-group label svg{height:18px;width:18px}.input-group input{font-size:1rem;padding:.875rem 1rem}.input-wrapper:has(.input-prefix) input{padding-left:2.25rem}.input-prefix,.input-suffix{font-size:.9375rem}.input-prefix{left:1rem}.input-suffix{right:1rem}.tooltip-icon{height:14px;width:14px}.tooltip-text{bottom:calc(100% + 1rem);font-size:.75rem;padding:.625rem .75rem;width:200px}.tooltip-container:hover .tooltip-text{bottom:calc(100% + .75rem)}.calc-results{padding:1.5rem}.result-header{font-size:1.125rem;margin-bottom:1.25rem}.result-item{padding:1rem 0}.result-label{font-size:.8125rem;margin-bottom:.375rem}.result-value{font-size:1.375rem}.result-highlight{border-left-width:3px;padding:1.25rem 1rem}.calc-breakdown{border-radius:.75rem;margin-top:1.5rem;padding:1.5rem 1.25rem}.breakdown-title{font-size:1.125rem;margin-bottom:1.25rem}.breakdown-grid{gap:1rem}.breakdown-card{padding:1.25rem 1rem}.breakdown-card-label{font-size:.8125rem}.breakdown-card-value{font-size:1.25rem}.calc-cta{border-radius:0 0 1rem 1rem;padding:2rem 1.25rem}.cta-content h3{font-size:1.375rem;line-height:1.3;margin-bottom:.75rem}.cta-content p{font-size:.9375rem;line-height:1.5;margin-bottom:1.5rem}.calc-btn,.vgbel-btn{font-size:.875rem;padding:.75rem 1.25rem}.calc-btn-large,.vgbel-btn-large{font-size:.9375rem;padding:.875rem 1.5rem}.btn-icon{height:18px;width:18px}.auth-screen{border-radius:1rem;padding:1.5rem 1.25rem}.auth-content{max-width:100%}.auth-content h2{font-size:1.375rem;line-height:1.3}.auth-description{font-size:.9375rem;margin-bottom:1.5rem}.auth-email-section{padding:1.25rem 1rem}.email-input-group input{font-size:.9375rem;padding:.875rem 1rem}.email-note,.error-message{font-size:.8125rem}.error-message{padding:.75rem .875rem}.modal-content{border-radius:1rem 1rem 0 0;height:90vh;width:100%}.modal-close{font-size:20px;height:36px;right:.75rem;top:.75rem;width:36px}}@media (max-width:360px){.calc-main-header h1{font-size:1.375rem}.calc-content{padding:1.25rem 1rem}.input-group input{font-size:.9375rem;padding:.75rem .875rem}.input-wrapper:has(.input-prefix) input{padding-left:2rem}.result-value{font-size:1.25rem}.breakdown-card-value{font-size:1.125rem}.cta-content h3{font-size:1.25rem}.cta-content p{font-size:.875rem}}@media (hover:none){.tooltip-container{cursor:pointer}.tooltip-container:active .tooltip-text{opacity:1;visibility:visible}}