.contact-form-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background-color:#0009;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.contact-form-modal{background-color:#fff;border-radius:1rem;width:100%;max-width:42rem;max-height:90vh;animation:.3s ease-out slideUp;position:relative;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.contact-form-modal::-webkit-scrollbar{width:8px}.contact-form-modal::-webkit-scrollbar-track{background:#f9fafb;border-radius:0 1rem 1rem 0}.contact-form-modal::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.contact-form-modal::-webkit-scrollbar-thumb:hover{background:#9ca3af}.modal-close-btn{cursor:pointer;z-index:10;background-color:#f3f4f6;border:none;border-radius:.5rem;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;transition:all .2s;display:flex;position:absolute;top:1.25rem;right:1.25rem}.modal-close-btn:hover{background-color:#e5e7eb;transform:rotate(90deg)}.modal-close-btn:disabled{opacity:.5;cursor:not-allowed}.close-icon{color:#6b7280;width:1.25rem;height:1.25rem}.form-header{border-bottom:1px solid #e5e7eb;padding:2.5rem 2.5rem 1.5rem}@media (max-width:640px){.form-header{padding:2rem 1.5rem 1rem}}.form-title{color:#111827;margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.form-subtitle{color:#6b7280;font-size:1rem;line-height:1.5}.contact-form{padding:2rem 2.5rem 2.5rem}@media (max-width:640px){.contact-form{padding:1.5rem}}.form-row{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (min-width:640px){.form-row{grid-template-columns:1fr 1fr}}.form-group{margin-bottom:1.5rem}.form-label{color:#374151;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.required{color:#dc2626;margin-left:.25rem}.input-wrapper{position:relative}.input-icon{color:#9ca3af;pointer-events:none;width:1.125rem;height:1.125rem;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.textarea-icon{top:1rem;transform:none}.form-input{color:#111827;background-color:#fff;border:1px solid #d1d5db;border-radius:.5rem;width:100%;padding:.75rem 1rem .75rem 2.75rem;font-family:inherit;font-size:.9375rem;transition:all .2s}.form-input:focus{border-color:#6b7280;outline:none;box-shadow:0 0 0 3px #6b72801a}.form-input::placeholder{color:#9ca3af}.form-input.error{border-color:#dc2626}.form-input.error:focus{box-shadow:0 0 0 3px #dc26261a}.form-textarea{resize:vertical;min-height:120px;line-height:1.6}.form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;padding-right:3rem}.error-message{color:#dc2626;margin-top:.375rem;font-size:.8125rem;display:block}.submit-btn{color:#fff;cursor:pointer;background-color:#1f2937;border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.625rem;width:100%;margin-top:.5rem;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s;display:flex}.submit-btn:hover:not(:disabled){background-color:#111827;transform:translateY(-2px);box-shadow:0 10px 15px -3px #00000026}.submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-icon{width:1.125rem;height:1.125rem}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:1.125rem;height:1.125rem;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.privacy-note{text-align:center;color:#6b7280;margin-top:1rem;font-size:.8125rem;line-height:1.5}.success-state{text-align:center;padding:4rem 2.5rem}.success-icon{background:linear-gradient(135deg,#34d399 0%,#10b981 100%);border-radius:50%;justify-content:center;align-items:center;width:4rem;height:4rem;margin:0 auto 1.5rem;animation:.5s ease-out successPop;display:flex}@keyframes successPop{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.success-icon .icon{color:#fff;width:2rem;height:2rem}.success-title{color:#111827;margin-bottom:1rem;font-size:1.75rem;font-weight:700}.success-message{color:#6b7280;max-width:28rem;margin:0 auto;font-size:1rem;line-height:1.6}@media (max-width:640px){.contact-form-modal{border-radius:.75rem;max-height:95vh}.form-title{font-size:1.5rem}.form-subtitle{font-size:.9375rem}.success-state{padding:3rem 1.5rem}}
