.contact-form-title,.contact-info-title,.contacts-title{font-family:'Cormorant Garamond',serif;position:relative;font-weight:500}.contacts-section{padding:100px 0;background-color:var(--light-gray);position:relative}.contacts-section::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-image:url('https://images.unsplash.com/photo-1585421514284-efb74c2b69ba?q=80&w=2070&auto=format&fit=crop');background-size:cover;background-position:center;opacity:.05;pointer-events:none}.contact-form-title::after,.contact-info-title::after,.contacts-title::after{content:'';position:absolute;height:2px;background-color:var(--primary-color)}.contacts-container{max-width:1200px;margin:0 auto;padding:0 20px;position:relative;z-index:1}.contacts-title{font-size:42px;text-align:center;color:var(--dark-color);margin-bottom:15px;display:inline-block;left:50%;transform:translateX(-50%)}.contacts-title::after{bottom:-10px;left:50%;transform:translateX(-50%);width:60px}.contacts-subtitle{text-align:center;max-width:650px;margin:0 auto 70px;color:#666;font-size:16px;line-height:1.6}.contacts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:40px}.contact-form,.contact-info{background-color:var(--light-color);padding:45px;border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.06);transition:transform .3s,box-shadow .3s;opacity:0;transform:translateY(30px)}.contact-form.fade-in,.contact-info.fade-in{animation:.8s forwards fadeInUp}.contact-form:hover,.contact-info:hover{transform:translateY(-5px);box-shadow:0 15px 35px rgba(0,0,0,.09)}.contact-form-title,.contact-info-title{font-size:26px;color:var(--dark-color);margin-bottom:25px;padding-bottom:12px}.contact-form-title::after,.contact-info-title::after{bottom:0;left:0;width:40px}.contact-details{margin-bottom:35px}.contact-item{display:flex;align-items:flex-start;margin-bottom:25px;transition:transform .3s}.contact-item:hover,.form-group.focused{transform:translateX(5px)}.contact-icon{margin-right:18px;min-width:24px;color:var(--primary-color)}.contact-text{font-size:16px;color:#555;line-height:1.6}.contact-text .schedule{display:block;margin-top:8px;font-size:14px;color:#777;font-style:italic}.contact-desc{margin-bottom:30px;padding:15px;border-left:3px solid var(--primary-color);background-color:rgba(155,183,212,.05);border-radius:0 4px 4px 0}.contact-desc p{margin:0;font-size:14px;color:#666;line-height:1.5}.social-links{display:flex;gap:15px;margin-top:30px}.social-link{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background-color:#f5f5f5;color:#555;transition:.3s}.social-link:hover{background-color:var(--primary-color);color:var(--light-color);transform:translateY(-3px)}.contact-form,.form-control:focus{background-color:var(--light-color)}.contact-form{padding:45px;border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.06);transition:transform .3s,box-shadow .3s}.form-group{margin-bottom:22px;position:relative;transition:.3s}.form-label{display:block;margin-bottom:8px;font-size:14px;color:#555;font-weight:500;transition:color .3s}.form-control,.submit-btn{transition:.3s;width:100%}.form-group.focused .form-label{color:#967259}.form-control{padding:14px 18px;font-size:15px;border:1px solid #e5e5e5;border-radius:20px;background-color:#f9f9f9;opacity:.85}.error-message,.success-message{font-size:12px;margin-top:6px;display:block;opacity:0;animation:.3s forwards errorFadeIn;font-weight:500}.form-control.field-animated{animation:.5s forwards formFieldFadeIn}.form-control:focus{outline:0;border-color:var(--primary-color);box-shadow:0 3px 8px rgba(0,0,0,.05)}.form-control.input-active{border-color:#967259;box-shadow:0 0 0 3px rgba(150,114,89,.15)}.form-control.error{border-color:#e74c3c;background-color:#fdeded;box-shadow:0 0 0 3px rgba(231,76,60,.1)}.form-control.valid{border-color:#27ae60;background-color:#edfbf1;box-shadow:0 0 0 3px rgba(39,174,96,.1)}.error-message{color:#e74c3c}.success-message{color:#27ae60}.submit-btn{display:inline-block;padding:14px 30px;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;font-size:16px;font-weight:500;border-radius:30px;border:1px solid transparent;cursor:pointer;text-decoration:none;text-align:center;box-shadow:0 4px 15px rgba(150,114,89,.1);margin-top:15px}.submit-btn:hover{background-color:#fff;transform:translateY(-3px);box-shadow:0 4px 15px rgba(150,114,89,.2);border:1px solid var(--primary-color)}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes formFieldFadeIn{from{opacity:.6;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}@keyframes shake{0%,20%,40%,60%,80%{transform:translateX(0)}10%,30%,50%,70%{transform:translateX(-5px)}15%,35%,55%,75%{transform:translateX(5px)}}@keyframes errorFadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes successFadeIn{from{opacity:0}to{opacity:1}}@keyframes iconPop{from{opacity:0;transform:scale(.5)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes itemFadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.contacts-grid{grid-template-columns:1fr}.contacts-title{font-size:36px}.contact-form,.contact-info{padding:35px}.contacts-section{padding:80px 0}}@media (max-width:480px){.contacts-title{font-size:30px}.contact-form,.contact-info{padding:30px 20px}.form-privacy label{font-size:12px;padding-left:28px;line-height:1.4}.form-privacy label::before{top:1px;width:18px;height:18px}.form-privacy label::after{top:6px;left:4px;width:8px;height:8px}}.form-privacy label.clicked::before{transform:scale(.9);background-color:rgba(150,114,89,.1)}.form-privacy label.error{color:#f44336}.form-privacy label.error::before{border-color:#f44336;background-color:rgba(244,67,54,.05)}.form-privacy label.shake{animation:.6s shake}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(39,39,42,.7);display:flex;justify-content:center;align-items:center;z-index:1000}.loading-container{background-color:#fff;border-radius:15px;padding:30px;display:flex;flex-direction:column;align-items:center;box-shadow:0 10px 25px rgba(0,0,0,.1)}.loader-spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #3d5e8c;border-radius:50%;margin-bottom:15px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}