.contact-form-container{max-width:600px;margin:2rem auto;padding:2rem;background-color:#fff;border-radius:10px;box-shadow:0 0 20px rgba(0,0,0,.1)}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.contact-form h2{text-align:center;color:#333;margin-bottom:1rem;font-size:2rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:#555}.form-group input,.form-group textarea{padding:.75rem;border:1px solid #ddd;border-radius:5px;font-size:1rem;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px rgba(74,144,226,.2)}.form-group input.error,.form-group textarea.error{border-color:#ff4d4f}.error-message{color:#ff4d4f;font-size:.875rem;margin-top:.25rem}.submit-button{background-color:#4a90e2;color:#fff;padding:1rem;border:none;border-radius:5px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease}.submit-button:hover{background-color:#357abd}.submit-button:active{transform:scale(.98)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease}.modal-content{background-color:#fff;padding:2rem;border-radius:10px;box-shadow:0 4px 20px rgba(0,0,0,.15);max-width:400px;width:90%;animation:slideIn .3s ease}.modal-message{text-align:center}.modal-message h3{color:#4a90e2;margin-bottom:1rem;font-size:1.5rem}.modal-message p{color:#666;margin-bottom:1.5rem}.close-button{background-color:#4a90e2;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:5px;cursor:pointer;font-weight:500;transition:background-color .3s ease}.close-button:hover{background-color:#357abd}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width:768px){.contact-form-container{margin:1rem;padding:1.5rem}.contact-form h2{font-size:1.75rem}.form-group input,.form-group textarea{padding:.625rem}.submit-button{padding:.875rem}}@media (max-width:480px){.contact-form-container{margin:.5rem;padding:1rem}.contact-form h2{font-size:1.5rem}.modal-content{padding:1.5rem}}