.contact-form{background:hsla(0,0%,100%,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:2rem;box-shadow:0 8px 32px rgba(0,0,0,.1);transition:transform .3s ease}.form-group{margin-bottom:1.5rem;opacity:0;transform:translateY(20px);animation:slideUp .5s ease forwards}.form-group:nth-child(2){animation-delay:.2s}.form-group:nth-child(3){animation-delay:.4s}.form-label{font-size:.9rem;font-weight:500;color:#2d3436;margin-bottom:.5rem;display:block;transform:translateY(0);transition:all .3s ease}.form-control{background:hsla(0,0%,100%,.9);border:2px solid transparent;border-radius:8px;padding:.8rem 1rem;font-size:1rem;transition:all .3s ease;width:100%}.form-control:focus{outline:none;border-color:#e17055;box-shadow:0 0 0 3px rgba(225,112,85,.1);transform:translateY(-2px)}.form-control:focus+.form-label{transform:translateY(-2px);color:#e17055}textarea.form-control{min-height:120px;resize:vertical}.submit-button{background:#e17055;color:#fff;border:none;border-radius:25px;padding:.8rem 2rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;opacity:0;transform:translateY(20px);animation:slideUp .5s ease .6s forwards}.submit-button:hover{background:#d65d45;transform:translateY(-2px);box-shadow:0 4px 15px rgba(225,112,85,.2)}.submit-button:active{transform:translateY(0)}.success-message{text-align:center;padding:2rem;opacity:0;animation:fadeIn .5s ease forwards}.success-message h1{color:#2d3436;font-size:1.8rem;margin-bottom:1rem}.success-icon{font-size:3rem;color:#00b894;margin-bottom:1rem;animation:scaleIn .5s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}@media (max-width:768px){.contact-form{padding:1.5rem}.form-control{padding:.6rem .8rem}.submit-button{width:100%;padding:.7rem 1.5rem}}.map-container{position:relative;width:100%;max-width:1200px;margin:0 auto;border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.1)}.map-container:hover{transform:scale(1.02)}.bistroLink{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);cursor:pointer;transition:all .3s ease}.marker{width:40px;height:40px;animation:bounce 2s infinite;filter:drop-shadow(0 5px 15px rgba(0,0,0,.2))}.bistroLink:hover .marker{transform:scale(1.2);filter:drop-shadow(0 8px 20px rgba(0,0,0,.3))}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (max-width:768px){.map-container{border-radius:15px;margin:10px}.marker{width:30px;height:30px}}@media (max-width:480px){.map-container{border-radius:10px}.marker{width:25px;height:25px}}.contact-section{padding:4rem 0;background:linear-gradient(180deg,#fff,#f8f9fa)}.contact-header{text-align:center;margin-bottom:3rem;opacity:0;animation:fadeInUp .8s ease forwards}.contact-title{font-size:2.5rem;color:#2d3436;margin-bottom:1.5rem;font-weight:700;position:relative;display:inline-block}.contact-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);width:50px;height:3px;background:#e17055;transition:width .3s ease}.contact-title:hover:after{width:100px}.contact-description{font-size:1.1rem;line-height:1.8;color:#636e72;max-width:800px;margin:0 auto;padding:0 1rem;opacity:0;animation:fadeIn 1s ease .3s forwards}.contact-content{display:grid;grid-template-columns:1fr 1fr;grid-gap:2rem;gap:2rem;padding:2rem}.map-container{border-radius:12px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.1);transition:transform .3s ease;opacity:0;animation:slideInLeft 1s ease forwards}.map-container:hover{transform:translateY(-5px)}.form-container{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.1);opacity:0;animation:slideInRight 1s ease forwards}.form-title{font-size:1.8rem;color:#2d3436;margin-bottom:1.5rem;text-align:center}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.contact-content{grid-template-columns:1fr}.contact-title{font-size:2rem}.contact-description{font-size:1rem}.form-container,.map-container{margin-bottom:2rem}}