.calculator-page{min-height:100vh;padding-bottom:4rem}.calculator-page .navbar-2{background-color:#fff;box-shadow:0 2px 4px #0000000d;margin-bottom:2rem}.calculator-hero{text-align:center;margin-bottom:3rem;padding:2rem 1rem}.calculator-hero h1{font-family:var(--heading-font);font-size:3rem;font-weight:800;color:#022911;margin-bottom:1rem;line-height:1.1}.calculator-hero p{font-family:var(--body-font);font-size:1.25rem;color:#8b9388;max-width:600px;margin:0 auto}.calculator-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 400px;gap:2rem;align-items:start}@media (max-width: 1024px){.calculator-container{grid-template-columns:1fr}.estimate-preview{position:static!important}}.calculator-form{background:#fff;border-radius:16px;padding:2.5rem;box-shadow:0 4px 20px #02291114}.progress-bar{display:flex;justify-content:space-between;margin-bottom:3rem;position:relative}.progress-bar:before{content:"";position:absolute;top:20px;left:0;right:0;height:2px;background:#e5e7df;z-index:0}.progress-step{display:flex;flex-direction:column;align-items:center;gap:.5rem;position:relative;z-index:1;flex:1}.progress-circle{width:40px;height:40px;border-radius:50%;background:#fff;border:2px solid #E5E7DF;display:flex;align-items:center;justify-content:center;font-weight:600;color:#8b9388;font-family:var(--body-font);transition:all .3s ease}.progress-step.active .progress-circle{background:#09a12e;border-color:#09a12e;color:#fff}.progress-label{font-size:.875rem;color:#8b9388;font-family:Space Mono,monospace;text-transform:uppercase;letter-spacing:.5px}.progress-step.active .progress-label{color:#022911;font-weight:600}.form-step{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.step-title{font-family:var(--heading-font);font-size:2rem;font-weight:800;color:#022911;margin-bottom:.5rem}.step-description{font-family:var(--body-font);font-size:1rem;color:#8b9388;margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-family:var(--body-font);font-size:.875rem;font-weight:600;color:#022911;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.form-input{width:100%;padding:.75rem;border:1px solid var(--input);border-radius:8px;font-size:1rem;font-family:var(--body-font);transition:border-color .2s}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0da22f1a}@media (max-width: 768px){.form-input{font-size:16px;padding:1rem;-webkit-appearance:none;appearance:none}.form-input[type=text][inputmode=decimal],.form-input[type=text][inputmode=numeric]{text-align:left}}.form-input::placeholder{color:#8b9388}.radio-group{display:flex;gap:16px;flex-wrap:wrap}.radio-group-spaced{display:flex;gap:32px;flex-wrap:wrap}.radio-group-spaced{display:flex;gap:16px;flex-wrap:wrap}.radio-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:16px}.selection-boxes{display:flex;gap:12px;flex-wrap:wrap}.selection-box{flex:1;min-width:120px;padding:16px 24px;border:2px solid #ECEBEA;border-radius:8px;background:#fff;cursor:pointer;transition:all .2s ease;text-align:center;font-size:16px;font-weight:500;font-family:var(--body-font)}.selection-box:hover{border-color:var(--primary);background:#f8fdf8}.selection-box.selected{border-color:var(--primary);background:var(--primary);color:#fff}.selection-box input[type=radio]{display:none}.radio-label:hover{border-color:#09a12e;background:#c5f9ce1a}.radio-label input[type=radio]{width:20px;height:20px;accent-color:#09A12E;cursor:pointer}.radio-label input[type=radio]:checked+span,.radio-label:has(input[type=radio]:checked){font-weight:600}.radio-label:has(input[type=radio]:checked){border-color:#09a12e;background:#c5f9ce33}.radio-group-vertical{display:flex;flex-direction:column;gap:1rem}.radio-label-card{display:flex;align-items:center;gap:1rem;cursor:pointer;padding:1.25rem;border:2px solid #E5E7DF;border-radius:12px;transition:all .2s ease;background:#fff}.radio-label-card:hover{border-color:#09a12e;background:#c5f9ce0d}.radio-label-card:has(input[type=radio]:checked){border-color:#09a12e;background:#c5f9ce26;box-shadow:0 2px 8px #09a12e26}.radio-label-card input[type=radio]{width:24px;height:24px;accent-color:#09A12E;cursor:pointer;flex-shrink:0}.radio-card-content{display:flex;flex-direction:column;gap:.25rem}.radio-card-title{font-family:var(--body-font);font-size:1.125rem;font-weight:700;color:#022911}.radio-card-description{font-family:var(--body-font);font-size:.875rem;color:#8b9388}.btn-primary{background:#09a12e;color:#fff;border:none;padding:1rem 2.5rem;border-radius:8px;font-family:var(--button-font);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px;width:100%;margin-top:1rem}.btn-primary:hover:not(:disabled){background:#078324;transform:translateY(-2px);box-shadow:0 4px 12px #09a12e4d}.btn-primary:disabled{background:#e5e7df;color:#8b9388;cursor:not-allowed;transform:none}.btn-secondary{background:#fff;color:#022911;border:2px solid #022911;padding:1rem 2.5rem;border-radius:8px;font-family:var(--button-font);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.btn-secondary:hover{background:#022911;color:#fff}.button-group{display:flex;gap:1rem;margin-top:2rem}.button-group .btn-primary,.button-group .btn-secondary{width:auto;flex:1;margin-top:0}.results-step{text-align:center}.results-header{margin-bottom:2rem}.checkmark{width:80px;height:80px;margin:0 auto 1.5rem}.checkmark-circle{stroke:#09a12e;stroke-width:2;stroke-miterlimit:10;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.checkmark-check{stroke:#09a12e;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:48;stroke-dashoffset:48;animation:stroke .3s cubic-bezier(.65,0,.45,1) .4s forwards}@keyframes stroke{to{stroke-dashoffset:0}}.results-subtitle{font-family:Space Mono,monospace;font-size:.875rem;color:#8b9388;margin-top:.5rem}.estimate-card{background:linear-gradient(135deg,#022911,#09a12e);border-radius:16px;padding:2.5rem;margin:2rem 0;box-shadow:0 8px 24px #02291133}.estimate-total{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.estimate-label{font-family:var(--body-font);font-size:1rem;color:#ffffffe6;text-transform:uppercase;letter-spacing:1px}.estimate-amount{font-family:var(--heading-font);font-size:3.5rem;font-weight:800;color:#fff;line-height:1}.provisional-sum{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#ffffff26;border-radius:8px;margin-top:1rem;backdrop-filter:blur(10px)}.ps-label{font-family:var(--body-font);font-size:.875rem;color:#fffffff2}.ps-amount{font-family:var(--body-font);font-size:1.125rem;font-weight:700;color:#fff}.results-info{background:#c5f9ce33;border:2px solid #C5F9CE;border-radius:12px;padding:1.5rem;margin:2rem 0}.results-info p{font-family:var(--body-font);font-size:.95rem;color:#022911;margin:.5rem 0}.estimate-preview{position:sticky;top:2rem}.preview-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 20px #02291114;border:2px solid #E5E7DF}.preview-title{font-family:var(--heading-font);font-size:1.5rem;font-weight:700;color:#022911;margin-bottom:1.5rem;text-align:center}.preview-locked{text-align:center;padding:2rem 0}.lock-icon{width:48px;height:48px;color:#8b9388;margin:0 auto 1rem}.preview-locked p{font-family:var(--body-font);font-size:.875rem;color:#8b9388}.preview-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #E5E7DF}.preview-section:last-of-type{border-bottom:none}.preview-section-title{font-family:var(--body-font);font-size:.75rem;font-weight:700;color:#8b9388;text-transform:uppercase;letter-spacing:1px;margin-bottom:.75rem}.preview-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-family:var(--body-font);font-size:.875rem}.preview-row span:first-child{color:#8b9388}.preview-row span:last-child{color:#022911;font-weight:600}.preview-total{margin-top:2rem;padding-top:1.5rem;border-top:2px solid #09A12E;display:flex;justify-content:space-between;align-items:center}.preview-total span:first-child{font-family:var(--body-font);font-size:.875rem;font-weight:700;color:#022911;text-transform:uppercase;letter-spacing:.5px}.preview-amount{font-family:var(--heading-font);font-size:1.75rem;font-weight:800;color:#09a12e}@media (max-width: 768px){.calculator-hero h1{font-size:2rem}.calculator-hero p{font-size:1rem}.calculator-form{padding:1.5rem}.step-title{font-size:1.5rem}.radio-group{flex-direction:column}.radio-label{min-width:auto}.button-group{flex-direction:column}.estimate-amount{font-size:2.5rem}.progress-label{font-size:.7rem}.progress-circle{width:32px;height:32px;font-size:.875rem}}.calculator-container-embed{width:100%;max-width:100%;margin:0;padding:.75rem;display:flex;justify-content:center;align-items:center;min-height:100vh}.calculator-form-full{width:50%;max-width:600px;margin:0 auto;background:#fff;border-radius:12px;padding:1.5rem 2rem;box-shadow:0 2px 8px #0000001a}.calculator-form-full .form-step{padding:1rem 0}.calculator-form-full .step-title{margin-bottom:.5rem;font-size:1.75rem}.calculator-form-full .step-description,.calculator-form-full .form-group{margin-bottom:1.25rem}.calculator-form-full .progress-bar{margin-bottom:1.5rem;padding:1rem 0}.calculator-form-full .button-group{margin-top:1.5rem;gap:1rem}.calculator-form-full .selection-boxes,.calculator-form-full .radio-group{gap:.75rem}@media (max-width: 1024px){.calculator-form-full{width:70%;max-width:700px;padding:1.5rem 1.75rem}}@media (max-width: 768px){.calculator-container-embed{padding:.5rem;display:flex;justify-content:center;align-items:center}.calculator-form-full{width:100%;max-width:100%;padding:1.25rem 1rem;border-radius:8px}.calculator-form-full .step-title{font-size:1.5rem;margin-bottom:.4rem}.calculator-form-full .step-description,.calculator-form-full .form-group{margin-bottom:1rem}.progress-bar{gap:.5rem;margin-bottom:1rem}.progress-label{font-size:.75rem}}@media (max-width: 480px){.calculator-container-embed{padding:.25rem;display:flex;justify-content:center;align-items:center}.calculator-form-full{width:100%;padding:1rem .75rem;border-radius:6px}.calculator-form-full .step-title{font-size:1.25rem;margin-bottom:.3rem}.calculator-form-full .step-description{font-size:.875rem;margin-bottom:.75rem}.calculator-form-full .form-group{margin-bottom:.875rem}.progress-circle{width:32px;height:32px;font-size:.875rem}.progress-label{font-size:.7rem}.form-input,.radio-label span,.selection-box span{font-size:.9rem}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;font-size:.95rem}}
