.form-modal-overlay,.quote-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;z-index:10000}.form-modal,.quote-modal{box-shadow:0 12px 48px rgba(0,0,0,.15)}.form-modal-overlay{background-color:rgba(0,0,0,.45);justify-content:center;animation:.25s ease-out formModalFadeIn}.form-modal-overlay.form-modal-closing{animation:.2s ease-in forwards formModalFadeOut}.form-modal{background:#fff;border-radius:12px;max-width:380px;width:90%;overflow:hidden;animation:.3s ease-out formModalSlideIn}.form-modal-overlay.form-modal-closing .form-modal{animation:.2s ease-in forwards formModalSlideOut}.form-modal-topbar{height:4px;width:100%}.form-modal-icon,.form-modal-icon-wrap{width:48px;height:48px}.form-modal-body{padding:32px 28px 20px;display:flex;align-items:flex-start;gap:16px;max-height:60vh;overflow-y:auto}.form-modal-icon-wrap{flex-shrink:0}.form-modal-icon-success circle,.form-modal-icon-success path{stroke:#22c55e}.form-modal-icon-error circle,.form-modal-icon-error line{stroke:#ef4444}.form-modal-icon-warning circle,.form-modal-icon-warning line{stroke:#f59e0b}.form-modal-icon-warning circle:last-child{fill:#f59e0b}.form-modal-icon-info circle,.form-modal-icon-info circle:first-child,.form-modal-icon-info line{stroke:#3b82f6}.form-modal-icon-info circle:last-child{fill:#3b82f6}.form-modal-text{flex:1;min-width:0}.form-modal-title{font-size:1.05rem;font-weight:600;color:#1a1a2e;margin-bottom:6px;line-height:1.4}.form-modal-message,.quote-modal-form .file-text{color:#666;font-size:.9rem}.form-modal-message{line-height:1.5}.form-modal-footer{padding:0 28px 24px;display:flex;justify-content:flex-end}.form-modal-btn{padding:8px 28px;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:.2s;background-color:#223769;color:#fff;min-width:80px}.form-modal-btn:hover{background-color:#1a2d55;transform:translateY(-1px);box-shadow:0 4px 12px rgba(34,55,105,.25)}.form-modal-btn:active,.quote-modal-form .btn-submit:active{transform:translateY(0)}@keyframes formModalFadeIn{from{opacity:0}to{opacity:1}}@keyframes formModalFadeOut{from{opacity:1}to{opacity:0}}@keyframes formModalSlideIn{from{opacity:0;transform:translateY(-20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes formModalSlideOut{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-10px) scale(.96)}}.quote-modal-overlay{background-color:rgba(0,0,0,.5);justify-content:center;animation:.25s ease-out quoteModalFadeIn}.quote-modal-close,.quote-modal-header{color:#fff;align-items:center;display:flex}.quote-modal-overlay.quote-modal-closing{animation:.2s ease-in forwards quoteModalFadeOut}.quote-modal{background:#fff;border-radius:12px;max-width:480px;width:90%;max-height:90vh;overflow:hidden;animation:.3s ease-out quoteModalSlideIn}.quote-modal-overlay.quote-modal-closing .quote-modal{animation:.2s ease-in forwards quoteModalSlideOut}.quote-modal-header{justify-content:space-between;padding:20px 24px;border-bottom:1px solid #eee;background:linear-gradient(135deg,#223769 0,#1a2d55 100%)}.quote-modal-header h3{margin:0;font-size:1.25rem;font-weight:600}.quote-modal-close{background:0 0;border:none;font-size:1.75rem;cursor:pointer;padding:0;width:32px;height:32px;justify-content:center;border-radius:4px;transition:background-color .2s}.quote-modal-close:hover{background-color:rgba(255,255,255,.2)}.quote-modal-body{padding:24px;overflow-y:auto;max-height:calc(90vh - 80px)}.quote-modal-form .form-group{margin-bottom:16px}.quote-modal-form .form-group input[type=email],.quote-modal-form .form-group input[type=tel],.quote-modal-form .form-group input[type=text],.quote-modal-form .form-group textarea{width:100%;padding:12px 16px;border:1px solid #ddd!important;border-radius:8px!important;font-size:.95rem;font-family:inherit;transition:border-color .2s,box-shadow .2s;box-sizing:border-box;background-color:#fff!important;color:#333!important;height:auto}.quote-modal-form .form-group input[type=email]:focus,.quote-modal-form .form-group input[type=tel]:focus,.quote-modal-form .form-group input[type=text]:focus,.quote-modal-form .form-group textarea:focus{outline:0;border-color:#223769!important;box-shadow:0 0 0 3px rgba(34,55,105,.1)}.quote-modal-form .form-group textarea{min-height:100px;resize:vertical}.quote-modal-form .form-group input::placeholder,.quote-modal-form .form-group textarea::placeholder{color:#999!important;opacity:1}.quote-modal-form .file-group{margin-bottom:20px;position:static;height:auto;background-color:transparent;border:none;border-radius:0;box-shadow:none;transform:none}.quote-modal-form .file-group::after,.quote-modal-form input[type=file]{display:none}.quote-modal-form .file-group:hover{border:none;transform:none;box-shadow:none}.quote-modal-form .file-label{display:flex;align-items:center;padding:12px 16px;border:2px dashed #ddd;border-radius:8px;cursor:pointer;transition:border-color .2s,background-color .2s}.quote-modal-form .file-label:hover{border-color:#223769;background-color:#f8f9fa}.quote-modal-form .submit-group{margin-top:8px}.quote-modal-form .btn-submit{width:100%;padding:14px 24px;background:linear-gradient(135deg,#223769 0,#1a2d55 100%);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.quote-modal-form .btn-submit:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(34,55,105,.3)}.quote-modal-form .btn-submit:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}@keyframes quoteModalFadeIn{from{opacity:0}to{opacity:1}}@keyframes quoteModalFadeOut{from{opacity:1}to{opacity:0}}@keyframes quoteModalSlideIn{from{opacity:0;transform:translateY(-20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes quoteModalSlideOut{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-10px) scale(.96)}}.quote-modal-form .recaptcha-group{margin-bottom:16px;display:flex;justify-content:center}.quote-modal-form .recaptcha-group .g-recaptcha,.quote-modal-form .recaptcha-group .modal-recaptcha{transform-origin:center center}