@import url("https://fonts.googleapis.com/css2?family=Libre+Franklin:wght@400;600;700&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-error:#d32f2f;--calc-error-bg:#ffebee;--calc-success:#059669;--calc-shadow-sm:0 2px 4px rgba(25,32,49,.04);--calc-shadow-md:0 4px 12px rgba(25,32,49,.08);--calc-shadow-lg:0 10px 40px rgba(25,32,49,.12);--calc-shadow-xl:0 20px 60px rgba(25,32,49,.15);--calc-spacing-xs:0.5rem;--calc-spacing-sm:0.75rem;--calc-spacing-md:1rem;--calc-spacing-lg:1.5rem;--calc-spacing-xl:2rem;--calc-spacing-2xl:3rem;--calc-radius-sm:0.375rem;--calc-radius-md:0.5rem;--calc-radius-lg:0.75rem;--calc-radius-xl:1rem;--calc-font-primary:"Libre Franklin",sans-serif;--calc-font-heading:"Butler",serif;--calc-transition-fast:0.15s ease;--calc-transition-base:0.2s ease;--calc-transition-slow:0.3s ease}.mortgage-calculator-wrapper *,.mortgage-calculator-wrapper :after,.mortgage-calculator-wrapper :before{box-sizing:border-box}.mortgage-calculator-wrapper{background:linear-gradient(135deg,var(--calc-offwhite) 0,var(--calc-light-neutral) 100%);font-family:var(--calc-font-primary);min-height:100vh;padding:var(--calc-spacing-2xl) var(--calc-spacing-lg);width:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.calc-wrapper-container{margin:0 auto;max-width:1200px}.hidden{display:none!important}.calc-main-header{margin-bottom:var(--calc-spacing-2xl);margin-left:auto;margin-right:auto;max-width:800px;text-align:center}.calc-main-header h1{color:var(--calc-primary-dark);font-family:var(--calc-font-heading);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0 0 var(--calc-spacing-md)}.calc-main-header p{color:var(--calc-primary-medium);font-size:clamp(.9375rem,2vw,1.125rem);line-height:1.6;margin:0 auto;max-width:600px}.calc-container{background:var(--calc-white);border:2px solid var(--calc-accent-gold);border-radius:var(--calc-radius-xl);box-shadow:var(--calc-shadow-lg);margin:0 auto;max-width:1100px;overflow:hidden}.calc-content{padding:clamp(1.5rem,3vw,2.5rem)}.calc-grid{display:grid;gap:var(--calc-spacing-xl);grid-template-columns:1fr;margin-bottom:var(--calc-spacing-xl)}@media (min-width:769px){.calc-grid{gap:clamp(1.5rem,3vw,2.5rem);grid-template-columns:1fr 1fr}}@media (min-width:1200px){.calc-grid{gap:var(--calc-spacing-2xl)}}.calc-inputs{gap:var(--calc-spacing-lg)}.calc-inputs,.input-group{display:flex;flex-direction:column}.input-group,.input-group label{gap:var(--calc-spacing-xs)}.input-group label{align-items:center;color:var(--calc-primary-dark);display:flex;font-family:var(--calc-font-heading);font-size:.9375rem;font-weight:600;line-height:1.4}.input-group label svg{color:var(--calc-accent-gold);flex-shrink:0;height:18px;width:18px}.input-wrapper,.select-wrapper{position:relative;width:100%}.input-group input,.input-group select{background:var(--calc-white);border:2px solid var(--calc-primary-medium);border-radius:var(--calc-radius-md);color:var(--calc-primary-dark);font-family:var(--calc-font-primary);font-size:1rem;font-weight:600;outline:none;padding:.875rem 1rem;transition:all var(--calc-transition-base);width:100%}.input-group input:hover,.input-group select:hover{border-color:var(--calc-accent-gold)}.input-group input:focus,.input-group select:focus{border-color:var(--calc-accent-gold);box-shadow:0 0 0 3px hsla(31,30%,72%,.15)}.input-group input::placeholder{color:rgba(25,32,49,.4);font-weight:400}.input-group select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' viewBox='0 0 12 8'%3E%3Cpath stroke='%23192031' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 1 5 5 5-5'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;cursor:pointer;padding-right:2.5rem}.input-prefix,.input-suffix{color:var(--calc-primary-medium);font-family:var(--calc-font-primary);font-size:.9375rem;font-weight:600;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.input-prefix{left:1rem}.input-suffix{right:1rem}.input-wrapper:has(.input-prefix) input{padding-left:2.25rem}.input-wrapper:has(.input-suffix) input{padding-right:2.5rem}.field-help-text{color:var(--calc-primary-medium);font-size:.8125rem;line-height:1.5;margin-top:var(--calc-spacing-xs)}.field-help-text-highlighted{align-items:flex-start;background:linear-gradient(135deg,hsla(31,30%,72%,.08),hsla(31,30%,72%,.04));border-left:3px solid var(--calc-accent-gold);border-radius:var(--calc-radius-sm);box-shadow:var(--calc-shadow-sm);display:flex;gap:var(--calc-spacing-xs);margin-top:var(--calc-spacing-sm);padding:var(--calc-spacing-sm) var(--calc-spacing-md)}.field-help-text-highlighted svg{color:var(--calc-accent-gold);flex-shrink:0;margin-top:.125rem}.field-help-text-highlighted span{flex:1}.email-warning-notice{align-items:center;animation:subtle-pulse 3s ease-in-out infinite;background:linear-gradient(135deg,hsla(31,30%,72%,.15),hsla(31,30%,72%,.08));border:1px solid hsla(31,30%,72%,.4);border-radius:var(--calc-radius-md);display:flex;gap:var(--calc-spacing-sm);margin-bottom:var(--calc-spacing-md);margin-top:var(--calc-spacing-sm);padding:var(--calc-spacing-sm) var(--calc-spacing-md)}@keyframes subtle-pulse{0%,to{box-shadow:0 0 0 0 hsla(31,30%,72%,0)}50%{box-shadow:0 0 0 3px hsla(31,30%,72%,.15)}}.email-warning-icon{color:var(--calc-accent-gold);flex-shrink:0;height:16px;width:16px}.email-warning-notice span{color:var(--calc-primary-dark);font-size:.8125rem;line-height:1.4}.email-warning-notice strong{color:var(--calc-primary-dark);font-weight:700}.calc-results{background:linear-gradient(135deg,var(--calc-primary-dark) 0,var(--calc-primary-medium) 100%);border-radius:var(--calc-radius-lg);box-shadow:var(--calc-shadow-xl);color:var(--calc-white);padding:clamp(1.5rem,3vw,2rem);position:sticky;top:var(--calc-spacing-xl)}.result-header{align-items:center;border-bottom:2px solid hsla(31,30%,72%,.3);color:var(--calc-accent-gold);display:flex;font-family:var(--calc-font-heading);font-size:1.125rem;font-weight:700;gap:var(--calc-spacing-xs);letter-spacing:.05em;margin:0 0 var(--calc-spacing-lg);padding-bottom:var(--calc-spacing-sm);text-transform:uppercase}.result-header svg{height:24px;width:24px}.result-highlight{background:hsla(31,30%,72%,.15);border-left:4px solid var(--calc-accent-gold);border-radius:var(--calc-radius-md);margin-bottom:var(--calc-spacing-md);padding:var(--calc-spacing-lg)}.result-item{border-bottom:1px solid hsla(31,30%,72%,.2);padding:var(--calc-spacing-md) 0}.result-item:last-child{border-bottom:none;padding-bottom:0}.result-label{color:hsla(0,0%,100%,.75);display:block;font-size:.8125rem;font-weight:600;letter-spacing:.05em;margin-bottom:var(--calc-spacing-xs);text-transform:uppercase}.result-value{color:var(--calc-accent-gold);display:block;font-family:var(--calc-font-heading);font-size:clamp(1.375rem,3vw,1.75rem);font-weight:700;line-height:1.2;word-break:break-word}.calc-breakdown{background:linear-gradient(135deg,#f7f5f2,#ede8e3);border-radius:var(--calc-radius-lg);margin-top:var(--calc-spacing-xl);padding:clamp(1.5rem,3vw,2rem)}.breakdown-title{align-items:center;color:var(--calc-primary-dark);display:flex;font-family:var(--calc-font-heading);font-size:1.25rem;font-weight:700;gap:var(--calc-spacing-xs);margin:0 0 var(--calc-spacing-lg)}.breakdown-title svg{color:var(--calc-accent-gold);height:24px;width:24px}.breakdown-grid{display:grid;gap:var(--calc-spacing-md);grid-template-columns:1fr}@media (min-width:640px){.breakdown-grid{grid-template-columns:repeat(3,1fr)}}.breakdown-card{background:var(--calc-white);border:2px solid var(--calc-light-neutral);border-radius:var(--calc-radius-md);padding:var(--calc-spacing-lg);text-align:center;transition:all var(--calc-transition-base)}.breakdown-card:hover{transform:translateY(-2px)}.breakdown-card-highlight,.breakdown-card:hover{border-color:var(--calc-accent-gold);box-shadow:var(--calc-shadow-md)}.breakdown-card-highlight{background:linear-gradient(135deg,var(--calc-accent-gold) 0,var(--calc-gold-hover) 100%)}.breakdown-card-highlight .breakdown-card-label,.breakdown-card-highlight .breakdown-card-value{color:var(--calc-primary-dark)}.breakdown-card-icon{align-items:center;background:hsla(31,30%,72%,.1);border-radius:50%;display:flex;height:48px;justify-content:center;margin:0 auto var(--calc-spacing-sm);width:48px}.breakdown-card-highlight .breakdown-card-icon{background:rgba(25,32,49,.1)}.breakdown-card-icon svg{color:var(--calc-accent-gold)}.breakdown-card-highlight .breakdown-card-icon svg{color:var(--calc-primary-dark)}.breakdown-card-label{color:var(--calc-primary-medium);font-size:.8125rem;font-weight:600;letter-spacing:.05em;margin-bottom:var(--calc-spacing-xs);text-transform:uppercase}.breakdown-card-value{color:var(--calc-primary-dark);font-family:var(--calc-font-heading);font-size:clamp(1.125rem,2vw,1.375rem);font-weight:700}.calc-cta{background:linear-gradient(135deg,var(--calc-primary-dark) 0,var(--calc-primary-medium) 100%);padding:clamp(1.5rem,3vw,2.5rem);text-align:center}.cta-content h3{color:var(--calc-white);font-family:var(--calc-font-heading);font-size:clamp(1.25rem,3vw,1.75rem);font-weight:700;line-height:1.3;margin:0 0 var(--calc-spacing-md)}.cta-content p{color:hsla(0,0%,100%,.9);font-size:clamp(.9375rem,2vw,1.125rem);line-height:1.6;margin:0 0 var(--calc-spacing-xl);margin-left:auto;margin-right:auto;max-width:600px}.calc-btn,.vgbel-btn{align-items:center;border:none;border-radius:var(--calc-radius-md);cursor:pointer;display:inline-flex;font-family:var(--calc-font-primary);font-size:.9375rem;font-weight:600;gap:var(--calc-spacing-xs);justify-content:center;letter-spacing:.05em;min-height:44px;overflow:hidden;padding:.875rem 1.75rem;position:relative;text-decoration:none;text-transform:uppercase;transition:all var(--calc-transition-base);width:100%}.calc-btn:disabled,.vgbel-btn:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.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:not(:disabled),.vgbel-btn-primary:hover:not(:disabled){background:var(--calc-gold-hover);box-shadow:0 4px 12px hsla(31,30%,72%,.4);transform:translateY(-2px)}.calc-btn-primary:active:not(:disabled),.vgbel-btn-primary:active:not(:disabled){transform:translateY(0)}.vgbel-btn-secondary{background:var(--calc-white);border:2px solid var(--calc-primary-dark);color:var(--calc-primary-dark)}.vgbel-btn-secondary:hover:not(:disabled){background:var(--calc-primary-dark);color:var(--calc-white);transform:translateY(-2px)}.vgbel-btn-gold{background:var(--calc-accent-gold);box-shadow:0 2px 8px hsla(31,30%,72%,.3);color:var(--calc-primary-dark)}.vgbel-btn-gold:hover:not(:disabled){background:var(--calc-gold-hover);box-shadow:0 4px 12px hsla(31,30%,72%,.4);transform:translateY(-2px)}.calc-btn-large,.vgbel-btn-large{font-size:1rem;padding:1.125rem 2rem}.btn-icon{flex-shrink:0;height:20px;width:20px}.auth-screen{padding:clamp(1.5rem,3vw,2.5rem) 0}.auth-content{margin:0 auto;max-width:600px;text-align:center}.auth-content h2{color:var(--calc-primary-dark);font-family:var(--calc-font-heading);font-size:clamp(1.375rem,3vw,2rem);font-weight:700;line-height:1.3;margin:0 0 var(--calc-spacing-md)}.auth-description{color:var(--calc-primary-medium);font-size:clamp(.9375rem,2vw,1.125rem);line-height:1.6;margin:0 0 var(--calc-spacing-xl)}.auth-buttons-primary{display:grid;gap:var(--calc-spacing-md);grid-template-columns:1fr;margin-bottom:var(--calc-spacing-xl)}@media (min-width:480px){.auth-buttons-primary{grid-template-columns:1fr 1fr}}.auth-divider{margin:var(--calc-spacing-xl) 0;position:relative;text-align:center}.auth-divider:after,.auth-divider:before{background:var(--calc-light-neutral);content:"";height:1px;position:absolute;top:50%;width:40%}.auth-divider:before{left:0}.auth-divider:after{right:0}.auth-divider span{background:var(--calc-white);color:var(--calc-primary-medium);font-size:.8125rem;font-weight:600;letter-spacing:.05em;padding:0 var(--calc-spacing-md);position:relative;text-transform:uppercase}.auth-email-section{background:var(--calc-offwhite);border:1px solid var(--calc-light-neutral);border-radius:var(--calc-radius-lg);padding:var(--calc-spacing-lg)}.email-option-text{color:var(--calc-primary-dark);font-weight:600;margin-bottom:var(--calc-spacing-md);text-align:center}.email-input-group{display:block;margin-bottom:var(--calc-spacing-md)}.email-input-group input{background:var(--calc-white);border:2px solid var(--calc-primary-medium);border-radius:var(--calc-radius-md);color:var(--calc-primary-dark);display:block;font-size:1rem;outline:none;padding:.875rem 1rem;transition:all var(--calc-transition-base);width:100%}.email-input-group input:focus{border-color:var(--calc-accent-gold);box-shadow:0 0 0 3px hsla(31,30%,72%,.15)}.gdpr-consent-section{margin:var(--calc-spacing-lg) 0 var(--calc-spacing-md)}.gdpr-checkbox{align-items:flex-start;color:var(--calc-primary-dark);cursor:pointer;display:flex;font-size:.875rem;gap:var(--calc-spacing-sm);line-height:1.5;margin-bottom:var(--calc-spacing-md);text-align:left}.gdpr-checkbox input[type=checkbox]{accent-color:var(--calc-accent-gold);cursor:pointer;flex-shrink:0;height:18px;margin-top:.25rem;min-width:18px;width:18px}.gdpr-checkbox span{flex:1}.gdpr-checkbox a{color:var(--calc-accent-gold);text-decoration:underline;transition:color var(--calc-transition-base)}.gdpr-checkbox a:hover{color:var(--calc-gold-hover)}.email-note{color:var(--calc-primary-medium);font-size:.8125rem;text-align:center}.email-note,.error-message{line-height:1.4;margin-top:var(--calc-spacing-sm)}.error-message{background:var(--calc-error-bg);border-left:4px solid var(--calc-error);border-radius:var(--calc-radius-md);color:var(--calc-error);font-size:.875rem;padding:var(--calc-spacing-sm) var(--calc-spacing-md);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,.85);height:100%;left:0;position:absolute;top:0;width:100%}.modal-content{animation:slideUp .3s ease;background:var(--calc-white);border-radius:var(--calc-radius-xl);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:var(--calc-shadow-md);color:var(--calc-white);cursor:pointer;display:flex;font-size:24px;height:44px;justify-content:center;line-height:1;position:absolute;right:var(--calc-spacing-md);top:var(--calc-spacing-md);transition:all var(--calc-transition-base);width:44px;z-index:2}.modal-close:hover{background:var(--calc-accent-gold);transform:rotate(90deg)}.modal-close:focus{outline:2px solid var(--calc-accent-gold);outline-offset:2px}@media (max-width:768px){.mortgage-calculator-wrapper{padding:var(--calc-spacing-xl) var(--calc-spacing-md)}.calc-container{border-width:1px}.calc-results{position:static}.result-value{font-size:1.5rem}.breakdown-grid{grid-template-columns:1fr}.modal-content{height:85vh;width:95%}.email-warning-notice{padding:var(--calc-spacing-sm)}}@media (max-width:480px){:root{--calc-spacing-2xl:2rem;--calc-spacing-xl:1.5rem;--calc-spacing-lg:1.25rem}.mortgage-calculator-wrapper{padding:var(--calc-spacing-xl) var(--calc-spacing-sm)}.calc-container{border-radius:var(--calc-radius-lg)}.calc-content{padding:var(--calc-spacing-lg)}.calc-grid{gap:var(--calc-spacing-lg)}.input-group label{font-size:.875rem}.input-group input,.input-group select{font-size:.9375rem;padding:.75rem .875rem}.calc-btn,.vgbel-btn{font-size:.875rem;padding:.75rem 1.5rem}.calc-cta{padding:var(--calc-spacing-lg)}.breakdown-card-icon{height:40px;width:40px}.breakdown-card-icon svg{height:24px;width:24px}.modal-content{border-radius:var(--calc-radius-xl) var(--calc-radius-xl) 0 0;height:90vh;width:100%}.modal-close{font-size:20px;height:36px;width:36px}.email-warning-notice{flex-direction:row;padding:var(--calc-spacing-sm);text-align:left}.email-warning-notice span{font-size:.75rem}}@media (max-width:360px){.calc-content{padding:var(--calc-spacing-md)}.input-group input,.input-group select{font-size:.875rem;padding:.625rem .75rem}.result-value{font-size:1.25rem}.breakdown-card{padding:var(--calc-spacing-md)}.email-warning-notice span{font-size:.6875rem}}@media (min-width:1200px){.mortgage-calculator-wrapper{padding:5rem var(--calc-spacing-xl)}.calc-container{max-width:1200px}.calc-main-header{margin-bottom:var(--calc-spacing-2xl)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.email-warning-notice{animation:none}}.calc-btn:focus-visible,.input-group input:focus-visible,.input-group select:focus-visible,.vgbel-btn:focus-visible{outline:2px solid var(--calc-accent-gold);outline-offset:2px}@media (prefers-contrast:high){.calc-container{border-width:3px}.calc-btn,.vgbel-btn{border:2px solid}.email-warning-notice{border-width:2px}}@media print{.mortgage-calculator-wrapper{background:#fff;padding:0}.auth-screen,.calc-btn,.calc-cta,.modal-close,.vgbel-btn{display:none}.calc-container{border:1px solid #000;box-shadow:none}.calc-results{position:static}.breakdown-grid,.calc-results{page-break-inside:avoid}}.calc-btn.loading,.vgbel-btn.loading{pointer-events:none;position:relative}.calc-btn.loading:after,.vgbel-btn.loading:after{animation:spin .6s linear infinite;border:2px solid transparent;border-radius:50%;border-top-color:currentcolor;content:"";height:16px;left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.breakdown-card,.calc-breakdown,.calc-grid,.calc-inputs,.calc-results{animation:fadeInUp .4s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.breakdown-card:first-child{animation-delay:.1s}.breakdown-card:nth-child(2){animation-delay:.2s}.breakdown-card:nth-child(3){animation-delay:.3s}.text-center{text-align:center}.mt-xs{margin-top:var(--calc-spacing-xs)}.mt-sm{margin-top:var(--calc-spacing-sm)}.mt-md{margin-top:var(--calc-spacing-md)}.mt-lg{margin-top:var(--calc-spacing-lg)}.mt-xl{margin-top:var(--calc-spacing-xl)}.mb-xs{margin-bottom:var(--calc-spacing-xs)}.mb-sm{margin-bottom:var(--calc-spacing-sm)}.mb-md{margin-bottom:var(--calc-spacing-md)}.mb-lg{margin-bottom:var(--calc-spacing-lg)}.mb-xl{margin-bottom:var(--calc-spacing-xl)}