.quote-form{max-width:720px;margin:0 auto}.quote-form__progress{margin-bottom:3rem}.quote-form__progress-bar{position:relative;width:100%;height:8px;background:var(--color-base-200);border-radius:4px;overflow:hidden;margin-bottom:.75rem}.quote-form__progress-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,var(--color-base-800) 0,var(--color-base-600) 100%);transition:width .4s ease;border-radius:4px}.quote-form__progress-text{display:block;text-align:center;font-size:.875rem;font-weight:600;color:var(--color-base-600)}.quote-form__form{background:var(--color-base-0);border:1px solid var(--color-base-200);border-radius:16px;padding:3rem}.quote-form__step{animation:fadeIn .3s ease}.quote-form__step-title{font-size:1.75rem;font-weight:700;color:var(--color-base-1000);margin-bottom:2rem}.quote-form__field{margin-bottom:1.5rem}.quote-form__field:last-child{margin-bottom:0}.quote-form__field-row{display:grid;grid-template-columns:1fr 2fr;gap:1rem;margin-bottom:1.5rem}.quote-form__label{display:block;font-size:1rem;font-weight:600;color:var(--color-base-800);margin-bottom:.5rem}.quote-form__input{width:100%;padding:.875rem 1rem;font-size:1rem;color:var(--color-base-1000);background:var(--color-base-0);border:2px solid var(--color-base-300);border-radius:8px;transition:all .2s ease}.quote-form__input:focus{outline:none;border-color:var(--color-base-800);box-shadow:0 0 0 3px rgba(0,0,0,.05)}.quote-form__input::-moz-placeholder{color:var(--color-base-400)}.quote-form__input::placeholder{color:var(--color-base-400)}.quote-form__input-wrapper{position:relative;display:flex;align-items:center}.quote-form__input-wrapper .quote-form__input{padding-right:3.5rem}.quote-form__input-suffix{position:absolute;right:1rem;font-size:1rem;font-weight:600;color:var(--color-base-600)}.quote-form__textarea{width:100%;padding:.875rem 1rem;font-size:1rem;font-family:inherit;color:var(--color-base-1000);background:var(--color-base-0);border:2px solid var(--color-base-300);border-radius:8px;resize:vertical;transition:all .2s ease}.quote-form__textarea:focus{outline:none;border-color:var(--color-base-800);box-shadow:0 0 0 3px rgba(0,0,0,.05)}.quote-form__textarea::-moz-placeholder{color:var(--color-base-400)}.quote-form__textarea::placeholder{color:var(--color-base-400)}.quote-form__select{width:100%;padding:.875rem 1rem;font-size:1rem;color:var(--color-base-1000);background:var(--color-base-0);border:2px solid var(--color-base-300);border-radius:8px;cursor:pointer;transition:all .2s ease}.quote-form__select:focus{outline:none;border-color:var(--color-base-800);box-shadow:0 0 0 3px rgba(0,0,0,.05)}.quote-form__checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.quote-form__checkbox{display:flex;align-items:center;gap:.75rem;padding:1rem;border:2px solid var(--color-base-300);border-radius:8px;cursor:pointer;transition:all .2s ease}.quote-form__checkbox:hover{border-color:var(--color-base-400)}.quote-form__checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer}.quote-form__checkbox input[type=checkbox]:checked+span{font-weight:600;color:var(--color-base-1000)}.quote-form__checkbox:has(input[type=checkbox]:checked),input[type=checkbox]:checked~.quote-form__checkbox{border-color:var(--color-base-800);background:var(--color-base-50)}.quote-form__checkbox span{font-size:1rem;color:var(--color-base-700);transition:all .2s ease}.quote-form__radio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.quote-form__radio{display:flex;align-items:center;gap:.75rem;padding:1rem;border:2px solid var(--color-base-300);border-radius:8px;cursor:pointer;transition:all .2s ease}.quote-form__radio:hover{border-color:var(--color-base-400)}.quote-form__radio input[type=radio]{width:20px;height:20px;cursor:pointer}.quote-form__radio input[type=radio]:checked+span{font-weight:600;color:var(--color-base-1000)}.quote-form__radio:has(input[type=radio]:checked),input[type=radio]:checked~.quote-form__radio{border-color:var(--color-base-800);background:var(--color-base-50)}.quote-form__radio span{font-size:1rem;color:var(--color-base-700);transition:all .2s ease}.quote-form__error{display:block;margin-top:.5rem;font-size:.875rem;color:var(--color-error-500)}.quote-form__error-message{padding:1rem;background:var(--color-error-50);border:1px solid var(--color-error-200);border-radius:8px;color:var(--color-error-700);font-size:.9375rem;margin-top:1rem}.quote-form__actions{display:flex;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-base-200)}.quote-form__btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.quote-form__btn:disabled{opacity:.5;cursor:not-allowed}.quote-form__btn svg{flex-shrink:0}.quote-form__btn--primary{color:var(--color-base-0);background:var(--color-base-800);margin-left:auto}.quote-form__btn--primary:hover:not(:disabled){background:var(--color-base-1000);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.quote-form__btn--secondary{color:var(--color-base-800);background:var(--color-base-100)}.quote-form__btn--secondary:hover:not(:disabled){background:var(--color-base-200)}.quote-form__success{text-align:center;padding:3rem 1rem}.quote-form__success-icon{margin:0 auto 2rem;animation:scaleIn .5s ease}.quote-form__success-title{font-size:2rem;font-weight:700;color:var(--color-base-1000);margin-bottom:1rem}.quote-form__success-message{font-size:1.125rem;color:var(--color-base-700);line-height:1.6;max-width:500px;margin:0 auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:768px){.quote-form__form{padding:2rem 1.5rem}.quote-form__step-title{font-size:1.5rem}.quote-form__checkbox-grid,.quote-form__field-row,.quote-form__radio-grid{grid-template-columns:1fr}.quote-form__actions{flex-direction:column}.quote-form__actions .quote-form__btn{width:100%}.quote-form__actions .quote-form__btn--primary{margin-left:0;order:-1}.quote-form__success-title{font-size:1.5rem}.quote-form__success-message{font-size:1rem}}