.contact-section{position:relative;padding:5rem 0;background:linear-gradient(180deg,#f5f9fa,#e0f2f1);color:#333}.wave-divider-bottom,.wave-divider-top{position:absolute;width:100%;height:100px;left:0;background-repeat:repeat-x;background-size:1000px 100px;z-index:1}.wave-divider-top{top:0}.wave-divider-bottom,.wave-divider-top{background-image:url('data:image/svg+xml;utf8,<svg viewBox="0 0 1200 120" xmlns="http://www.w3.org/2000/svg"><path d="M0,0V46.29c47.79,22.2,103.59,32.17,158,28,70.36-5.37,136.33-33.31,206.8-37.5C438.64,32.43,512.34,53.67,583,72.05c69.27,18,138.3,24.88,209.4,13.08,36.15-6,69.85-17.84,104.45-29.34C989.49,25,1113-14.29,1200,52.47V0Z" fill="%23006994" opacity=".1"/></svg>')}.wave-divider-bottom{bottom:0;transform:rotate(180deg)}.contact-container{max-width:1200px;margin:0 auto;padding:0 2rem;position:relative;z-index:2}.contact-header{text-align:center;margin-bottom:3rem}.contact-title{font-size:2.5rem;color:#006994;margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;gap:1rem}.wave-icon{font-size:2rem;animation:float 3s ease-in-out infinite}.contact-subtitle{color:#4a6d7c;font-size:1.1rem;font-weight:500}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{position:relative}.input-label{display:block;margin-bottom:.5rem;font-weight:600;color:#006994}.required-icon{color:#e63946;margin-left:.3rem}.form-input,.form-textarea{width:100%;padding:.8rem 1rem;border:2px solid #cce7eb;border-radius:8px;font-size:1rem;transition:all .3s ease;background-color:rgba(255,255,255,.8)}.form-input:focus,.form-textarea:focus{outline:none;border-color:#006994;box-shadow:0 0 0 3px rgba(0,105,148,.1)}.input-decoration,.textarea-decoration{position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,#006994,#4fd1c5);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.form-input:focus~.input-decoration,.form-textarea:focus~.textarea-decoration{transform:scaleX(1)}.form-textarea{min-height:120px;resize:vertical}.submit-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;background:#006994;color:white;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:1rem}.submit-button:hover{background:#004d6b;transform:translateY(-2px);box-shadow:0 5px 15px rgba(0,105,148,.3)}.submit-button:disabled{background:#8ecae6;cursor:not-allowed;transform:none}.button-icon{font-weight:700;transition:transform .3s ease}.submit-button:hover .button-icon{transform:translateX(3px)}.button-spinner{display:inline-block;width:1rem;height:1rem;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:white;animation:spin 1s ease-in-out infinite;margin-right:.5rem}.error-message,.success-message{padding:1rem;border-radius:8px;margin-top:1rem;display:flex;align-items:center;gap:.5rem}.success-message{background-color:#d4edda;color:#155724}.error-message{background-color:#f8d7da;color:#721c24}.error-icon,.success-icon{font-weight:700}.contact-info{display:flex;flex-direction:column;gap:2rem}.info-card{background:white;padding:1.5rem;border-radius:12px;box-shadow:0 5px 15px rgba(0,105,148,.1);transition:transform .3s ease}.info-card:hover{transform:translateY(-5px)}.info-icon{font-size:2rem;margin-bottom:1rem;color:#006994}.info-title{font-size:1.2rem;color:#006994;margin-bottom:.5rem}.info-link,.info-text{color:#4a6d7c;line-height:1.6}.info-link{text-decoration:none;transition:color .3s ease}.info-link:hover{color:#006994}.social-links{display:flex;gap:1rem;margin-top:1rem}.social-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#006994;color:white;transition:all .3s ease}.social-link:hover{background:#004d6b;transform:translateY(-3px)}.social-icon{font-size:1.2rem}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:992px){.contact-content{grid-template-columns:1fr}.contact-info{flex-direction:row;flex-wrap:wrap}.info-card{flex:1 1 calc(50% - 1rem);min-width:250px}}@media (max-width:768px){.contact-title{font-size:2rem}.info-card{flex:1 1 100%}}@media (max-width:576px){.contact-section{padding:3rem 0}.contact-title{font-size:1.8rem}.wave-icon{font-size:1.5rem}}