/* Contact Form Styles - Optimized and Minified */
.dots::after{content:'';animation:dots 1.5s infinite}@keyframes dots{0%,20%{content:''}40%{content:'.'}60%{content:'..'}80%,100%{content:'...'}}
.alert{border:none;border-radius:8px;font-weight:500;box-shadow:0 2px 10px rgba(0,0,0,0.1);margin-bottom:0}
.alert-success{background-color:#d4edda;color:#155724;border-left:4px solid #28a745}
.alert-danger{background-color:#f8d7da;color:#721c24;border-left:4px solid #dc3545}
.alert-info{background-color:#d1ecf1;color:#0c5460;border-left:4px solid #17a2b8}
.contact-form{background:#f8f9fa;padding:30px;border-radius:10px;box-shadow:0 0 30px rgba(0,0,0,0.1)}
.contact-form .form-floating>.form-control:focus{border-color:#06BBCC;box-shadow:0 0 0 0.2rem rgba(6,187,204,0.25)}
.contact-form .form-floating>label{color:#6c757d}
.contact-form input[type="tel"]{font-family:monospace}
.contact-form input[type="tel"]:focus{border-color:#06BBCC}
.contact-form .form-control:invalid{border-color:#dc3545}
.contact-form .form-control:valid{border-color:#28a745}
.contact-form .btn-primary{background-color:#06BBCC;border-color:#06BBCC;transition:all 0.3s ease}
.contact-form .btn-primary:hover{background-color:#059bb5;border-color:#059bb5;transform:translateY(-2px)}
.loading,.sent-message,.error-message{animation:fadeIn 0.3s ease-in}
@keyframes fadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:768px){.contact-form{padding:20px}}