.contact-hero{background:linear-gradient(135deg,rgb(232 5 76 / .05) 0%,rgb(232 169 5 / .05) 100%);padding:100px 0 60px;position:relative;overflow:hidden}.contact-hero::before{content:'';position:absolute;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,var(--primary-glass) 0%,transparent 70%);border-radius:50%;animation:floatLarge 20s ease-in-out infinite;z-index:-1}.contact-hero::after{content:'';position:absolute;bottom:-150px;left:-150px;width:400px;height:400px;background:radial-gradient(circle,var(--secondary-glass) 0%,transparent 70%);border-radius:50%;animation:floatLarge 15s ease-in-out infinite reverse;z-index:-1}.contact-content{padding:80px 0;position:relative}.contact-info-card{background:rgb(255 255 255 / .15);border:1px solid rgb(255 255 255 / .3);border-radius:20px;padding:40px;height:100%;box-shadow:0 8px 32px rgb(31 38 135 / .15),inset 0 4px 20px rgb(255 255 255 / .3);transition:all 0.3s ease}[data-theme="dark"] .contact-info-card{background:rgb(255 255 255 / .08);border:1px solid rgb(255 255 255 / .2);box-shadow:0 8px 32px rgb(0 0 0 / .4),inset 0 4px 20px rgb(255 255 255 / .1)}.contact-info-card:hover{transform:translateY(-5px);box-shadow:0 15px 50px rgb(31 38 135 / .2),inset 0 4px 30px rgb(255 255 255 / .4)}.contact-item{display:flex;align-items:start;gap:15px;margin-bottom:30px;transition:all 0.3s ease}.contact-item:hover{transform:translateX(5px)}.contact-icon{width:50px;height:50px;background:var(--secondary-gradient);border:1px solid rgb(255 255 255 / .3);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 20px rgb(232 169 5 / .3);transition:all 0.3s ease}.contact-item:hover .contact-icon{background:var(--primary-gradient);transform:scale(1.1)}.contact-icon svg{width:24px;height:24px;color:#fff}.contact-details h3{font-size:18px;font-weight:600;color:var(--dark-gray);margin-bottom:5px}.contact-details p{margin:0;color:var(--text-gray)}.contact-details a{color:var(--primary-color);text-decoration:none;font-weight:600;transition:all 0.3s ease}.contact-details a:hover{color:var(--secondary-color)}.contact-form-wrapper{background:rgb(255 255 255 / .8);border:1px solid rgb(255 255 255 / .3);border-radius:20px;padding:40px;box-shadow:0 8px 32px rgb(31 38 135 / .15),inset 0 4px 20px rgb(255 255 255 / .3)}[data-theme="dark"] .contact-form-wrapper{background:rgb(255 255 255 / .1);border:1px solid rgb(255 255 255 / .2)}.contact-form-wrapper h2{font-size:32px;font-weight:700;color:var(--dark-gray);margin-bottom:30px}.wpcf7-form{display:flex;flex-direction:column;gap:15px}.wpcf7-form p{margin:0}.wpcf7-form label{display:block;font-weight:600;color:var(--dark-gray);margin-bottom:8px;font-size:14px}.wpcf7-form input[type="text"],.wpcf7-form input[type="email"],.wpcf7-form input[type="tel"],.wpcf7-form textarea,.wpcf7-form select{width:100%;padding:14px 20px;border:2px solid rgb(255 255 255 / .3);border-radius:12px;font-size:16px;transition:all 0.3s ease;background:rgb(255 255 255 / .7);color:#fff}[data-theme="dark"] .wpcf7-form input[type="text"],[data-theme="dark"] .wpcf7-form input[type="email"],[data-theme="dark"] .wpcf7-form input[type="tel"],[data-theme="dark"] .wpcf7-form textarea,[data-theme="dark"] .wpcf7-form select{background:rgb(255 255 255 / .05);border-color:rgb(255 255 255 / .2)}.wpcf7-form input[type="text"]:focus,.wpcf7-form input[type="email"]:focus,.wpcf7-form input[type="tel"]:focus,.wpcf7-form textarea:focus,.wpcf7-form select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px rgb(232 5 76 / .1)}.wpcf7-form textarea{min-height:120px;resize:vertical}.wpcf7-form select{cursor:pointer}.wpcf7-form input[type="file"]{width:100%;padding:10px;border:2px dashed rgb(255 255 255 / .3);border-radius:12px;background:rgb(255 255 255 / .5);cursor:pointer}.file-upload-wrapper{position:relative}.file-upload-info{font-size:12px;color:var(--text-gray);margin-top:5px}.wpcf7-form input[type="submit"]{background:var(--primary-gradient);border:1px solid rgb(255 255 255 / .3);color:#fff;padding:16px 40px;border-radius:50px;font-size:18px;font-weight:600;cursor:pointer;transition:all 0.3s ease;box-shadow:0 8px 30px rgb(232 5 76 / .3)}.wpcf7-form input[type="submit"]:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgb(232 5 76 / .4)}.wpcf7-not-valid{border-color:#dc3545!important}.wpcf7-not-valid-tip{color:#dc3545;font-size:14px;margin-top:5px}.wpcf7-response-output{margin:20px 0 0;padding:15px 20px;border-radius:12px;text-align:center;font-weight:500}.wpcf7-mail-sent-ok{background:rgb(212 237 218 / .8);color:#155724;border:1px solid #c3e6cb}.wpcf7-mail-sent-ng,.wpcf7-spam-blocked{background:rgb(248 215 218 / .8);color:#721c24;border:1px solid #f5c6cb}.map-section{padding:80px 0;background:var(--white);position:relative}.map-wrapper{border-radius:20px;overflow:hidden;box-shadow:0 20px 60px rgb(0 0 0 / .15);position:relative;background:rgb(255 255 255 / .1);border:1px solid rgb(255 255 255 / .2)}.map-overlay{position:absolute;top:30px;left:30px;background:rgb(255 255 255 / .9);border:1px solid rgb(255 255 255 / .3);padding:30px;border-radius:15px;box-shadow:0 10px 30px rgb(0 0 0 / .15),inset 0 4px 20px rgb(255 255 255 / .3);max-width:350px;z-index:10}[data-theme="dark"] .map-overlay{background:rgb(26 26 26 / .9);border:1px solid rgb(255 255 255 / .2)}.office-hours{background:linear-gradient(135deg,rgb(232 5 76 / .05) 0%,rgb(232 169 5 / .05) 100%);border:1px solid rgb(232 5 76 / .2);border-radius:12px;padding:20px;margin-top:20px}.office-hours h4{font-size:16px;font-weight:600;color:var(--dark-gray);margin-bottom:10px}.office-hours p{margin:5px 0;font-size:14px;color:var(--text-gray)}@media (max-width:991px){.map-overlay{position:relative;top:0;left:0;max-width:100%;margin-bottom:30px}}@media (max-width:768px){.contact-form-wrapper{padding:30px 20px}.contact-info-card{padding:30px 20px}}@keyframes floatOrb{0%,100%{transform:translateY(0) translateX(0) scale(1);opacity:.3}25%{transform:translateY(-30px) translateX(20px) scale(1.1);opacity:.5}50%{transform:translateY(20px) translateX(-20px) scale(.9);opacity:.4}75%{transform:translateY(-20px) translateX(30px) scale(1.05);opacity:.6}}@keyframes floatLarge{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,30px) scale(.9)}}.form-group br{display:none}