:root{--form-bg:#fff;--form-border:#e2e8f0;--form-text:#0f172a;--form-muted:#475569;--form-soft:#f8fafc;--form-accent:#0f766e;--form-accent-strong:#115e59;--form-accent-soft:#ccfbf1;--form-danger:#b91c1c;--form-success:#15803d;--success-color:#15803d}.form-container{background:radial-gradient(circle at 0 0,#ccfbf1 0,rgba(204,251,241,0) 38%),radial-gradient(circle at 100% 0,#bfdbfe 0,rgba(191,219,254,0) 35%),var(--form-bg);border:1px solid var(--form-border);border-radius:1rem;box-shadow:0 22px 45px -22px rgba(15,23,42,.45);margin-inline:auto;max-width:680px;overflow:hidden;padding:2.5rem 2rem 2rem;position:relative;scroll-margin-top:96px;width:100%}.lead-form-shell{margin:1.5rem auto;max-width:860px;width:100%}.progress-container{background:#e2e8f0;height:6px;left:0;position:absolute;top:0;width:100%}.progress-bar{background:linear-gradient(90deg,#0f766e,#0ea5e9);height:100%;transition:width .35s ease}.form-stage{min-height:560px}.form-step{animation:a .35s ease;display:none}.form-step.active{display:block}@keyframes a{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.step-header{margin-bottom:1.5rem}.step-title{color:var(--form-text);font-size:1.65rem;letter-spacing:-.02em;line-height:1.1;margin:0}.step-subtitle{color:var(--form-muted);font-size:.98rem;margin:.5rem 0 0}.form-grid{display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-group{margin-bottom:1rem;position:relative}.form-container label{color:var(--form-muted);display:block;font-size:.9rem;font-weight:600;margin-bottom:.4rem}.form-container input[type=email],.form-container input[type=tel],.form-container input[type=text],.form-container select{background:hsla(0,0%,100%,.95);border:1px solid var(--form-border);border-radius:.7rem;color:var(--form-text);font-size:.96rem;line-height:1.25;padding:.72rem .85rem;transition:border-color .2s,box-shadow .2s,background-color .2s;width:100%}.form-container select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%23475569' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .45rem center;background-repeat:no-repeat;background-size:1.2rem;padding-right:2rem}.form-container input:focus,.form-container select:focus{border-color:#2dd4bf;box-shadow:0 0 0 4px rgba(45,212,191,.2);outline:none}.locked-address-input{background:#f1f5f9;border-style:dashed;caret-color:transparent;color:#334155;cursor:default;opacity:1;pointer-events:none;user-select:none}.flatpickr-calendar{border:1px solid #dbe3ef;border-radius:1rem;box-shadow:0 30px 70px -34px rgba(15,23,42,.55);overflow:hidden}.flatpickr-months{background:linear-gradient(135deg,#f0fdfa,#f8fafc 55%,#eff6ff);border-bottom:1px solid #e2e8f0;padding:.35rem 0}.flatpickr-current-month{color:#0f172a;font-weight:700;letter-spacing:-.01em}.flatpickr-monthDropdown-months,.numInputWrapper .numInput{font-weight:700}.flatpickr-weekdays{background:#fff}span.flatpickr-weekday{color:#64748b;font-size:.74rem;font-weight:700;text-transform:uppercase}.flatpickr-day{border-radius:999px;color:#1e293b;font-weight:600;height:37px;line-height:37px;max-width:37px}.flatpickr-day:hover{background:#ecfeff;border-color:#d1fae5}.flatpickr-day.today{border-color:#99f6e4;color:#0f766e}.flatpickr-day.endRange,.flatpickr-day.selected,.flatpickr-day.startRange{background:linear-gradient(135deg,#0f766e,#0ea5e9);border-color:transparent;color:#fff}.flatpickr-next-month:hover svg,.flatpickr-prev-month:hover svg{fill:#0f766e}.field-help{color:var(--form-muted);font-size:.84rem;line-height:1.35;margin:.35rem 0 0}.route-rule{background:#e0f2fe;border:1px solid #bae6fd;border-radius:.65rem;color:#0c4a6e;font-size:.88rem;margin:.25rem 0 1rem;padding:.6rem .75rem}.route-toggle{display:grid;gap:.55rem;grid-template-columns:1fr 1fr;margin-bottom:.9rem}.route-toggle-btn{background:#f8fafc;border:1px solid #cbd5e1;border-radius:.65rem;color:#334155;font-size:.84rem;font-weight:700;line-height:1.2;padding:.62rem .68rem;text-align:center;transition:all .15s ease}.route-toggle-btn:hover{background:#eff6ff;border-color:#93c5fd}.route-toggle-btn.active{background:#ecfeff;border-color:#0ea5e9;box-shadow:0 0 0 3px rgba(14,165,233,.13);color:#0f172a}.button-group{display:flex;gap:.6rem;margin-top:1.3rem}.form-container .btn{align-items:center;border:1px solid transparent;border-radius:.7rem;cursor:pointer;display:inline-flex;font-size:.94rem;font-weight:700;justify-content:center;padding:.72rem .9rem;text-decoration:none;transition:all .2s ease;width:100%}.form-container .btn:disabled{cursor:not-allowed;opacity:.6}.form-container .btn-primary{background:linear-gradient(90deg,var(--form-accent),#0ea5e9);color:#fff}.form-container .btn-primary:hover{transform:translateY(-1px)}.form-container .btn-secondary{background:hsla(0,0%,100%,.9);border-color:var(--form-border);color:var(--form-text)}.form-container .btn-secondary:hover{border-color:#94a3b8}.address-menu{background:#fff;border:1px solid var(--form-border);border-radius:.7rem;box-shadow:0 16px 28px -22px rgba(15,23,42,.8);left:0;max-height:14rem;overflow-y:auto;position:absolute;right:0;top:calc(100% + .35rem);z-index:1}.address-item{background:transparent;border:none;color:var(--form-text);cursor:pointer;font-size:.88rem;line-height:1.35;padding:.65rem .75rem;text-align:left;width:100%}.address-item:hover{background:var(--form-soft)}.address-item-muted{color:#64748b;cursor:default}.time-picker-wrapper{position:relative}.time-display-btn{align-items:center;background:hsla(0,0%,100%,.95);border:1px solid var(--form-border);border-radius:.7rem;color:var(--form-text);display:flex;justify-content:space-between;min-height:44px;padding:.72rem .85rem;transition:border-color .2s,box-shadow .2s;width:100%}.time-display-btn:focus{border-color:#2dd4bf;box-shadow:0 0 0 4px rgba(45,212,191,.2);outline:none}.time-display-value{font-size:.96rem;font-weight:600}.time-display-icon{color:#64748b;height:1.1rem;width:1.1rem}.time-picker-panel{background:#fff;border:1px solid var(--form-border);border-radius:.8rem;box-shadow:0 22px 35px -24px rgba(15,23,42,.9);left:0;overflow:hidden;position:absolute;right:0;top:calc(100% + .35rem);z-index:2}.time-picker-panel.drop-up{bottom:calc(100% + .35rem);top:auto}.time-options-grid{display:grid;gap:.35rem;grid-template-columns:repeat(2,minmax(0,1fr));max-height:280px;overflow-y:auto;padding:.65rem}.time-option-btn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.6rem;color:#334155;font-size:.86rem;font-weight:600;padding:.55rem .6rem;text-align:center;transition:all .15s ease}.time-option-btn:hover{background:#eff6ff;border-color:#93c5fd}.time-option-btn.active{background:#ecfeff;border-color:#0ea5e9;color:#0f172a}.quote-card{background:linear-gradient(135deg,#f0fdfa,#ecfeff);border:1px solid #99f6e4;border-radius:.9rem;margin-top:1rem;padding:.95rem}.quote-card-compact{margin-top:.75rem}.quote-title{color:#0f766e;font-size:.88rem;font-weight:700;margin-bottom:.35rem}.quote-amount{color:#0f172a;font-size:2rem;font-weight:800;letter-spacing:-.03em;line-height:1}.quote-meta{align-items:center;color:#334155;display:flex;flex-wrap:wrap;font-size:.85rem;gap:.45rem;margin-top:.45rem}.quote-terms{background:#f0f9ff;border:1px solid #bae6fd;border-radius:.65rem;color:#0c4a6e;font-size:.82rem;font-weight:600;line-height:1.35;margin-top:.7rem;padding:.6rem .7rem}.quote-terms-compact{margin-top:.65rem}.submission-error{background:#fef2f2;border:1px solid #fecaca;border-radius:.65rem;color:var(--form-danger);font-size:.86rem;margin-top:1rem;padding:.65rem .75rem}.success-message{padding:.5rem .4rem .8rem;text-align:center}.post-submit-note{color:#475569;font-size:.9rem;margin-top:.8rem}.success-actions{margin-top:1rem}.success-icon-wrapper{height:80px;margin:0 auto 1rem;width:80px}.success-icon .circle{stroke-dasharray:240;stroke-dashoffset:240;animation:b .8s ease-out forwards}.success-icon .checkmark{stroke-dasharray:30;stroke-dashoffset:30;animation:b .4s ease-out .5s forwards}@keyframes b{to{stroke-dashoffset:0}}@media (max-width:640px){.form-container{border-radius:.8rem;padding:2.2rem 1.1rem 1.2rem}.form-stage{min-height:640px}.step-title{font-size:1.35rem}.form-grid{gap:0;grid-template-columns:1fr}.button-group{flex-direction:column}.quote-amount{font-size:1.6rem}.route-toggle,.time-options-grid{grid-template-columns:1fr}}@media (min-width:1024px){.lead-form-shell .form-container{max-width:760px;padding:2.7rem 2.4rem 2.25rem}.form-stage{min-height:590px}.flatpickr-calendar{width:342px}}