.contact{background:var(--section-alt);padding:48px 0;position:relative;overflow:hidden}.contact:before{content:"";background:linear-gradient(90deg,#0000,#6366f159,#0000);height:1px;position:absolute;top:0;left:0;right:0}.contact__header{text-align:center;margin-bottom:28px}.contact__header .section-subtitle{margin:0 auto}.contact__inner{grid-template-columns:1fr 1.4fr;align-items:start;gap:60px;display:grid}.contact__info-title{color:var(--text-white);margin-bottom:12px;font-size:22px;font-weight:700}.contact__info-desc{color:var(--text-light);margin-bottom:36px;font-size:15px;line-height:1.75}.contact__info-list{flex-direction:column;gap:24px;margin-bottom:32px;display:flex}.contact__info-item{align-items:flex-start;gap:16px;display:flex}.contact__info-icon{width:46px;height:46px;color:var(--accent);background:#6366f11a;border:1px solid #6366f140;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact__info-text{flex-direction:column;gap:4px;display:flex}.contact__info-label{letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);font-size:11.5px;font-weight:700}.contact__info-value{color:var(--text-light);font-size:14.5px;line-height:1.5;text-decoration:none;transition:color .2s}.contact__info-value:hover{color:var(--accent)}.contact__hours{border-radius:var(--radius-sm);background:#6366f10f;border:1px solid #6366f126;align-items:center;gap:14px;padding:16px;display:flex}.contact__hours-icon{color:var(--accent);flex-shrink:0}.contact__hours-label{letter-spacing:.8px;text-transform:uppercase;color:var(--text-muted);margin-bottom:3px;font-size:11px;font-weight:700}.contact__hours-value{color:var(--text-light);font-size:14px}.contact__form-wrapper{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius);padding:36px}.contact__form{flex-direction:column;gap:20px;display:flex}.contact__form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.contact__field{flex-direction:column;gap:7px;display:flex}.contact__label{color:var(--text-light);letter-spacing:.3px;font-size:13px;font-weight:600}.contact__label span{color:var(--accent)}.contact__input,.contact__textarea{border-radius:var(--radius-sm);color:var(--text-white);box-sizing:border-box;background:#ffffff0a;border:1px solid #ffffff1a;outline:none;width:100%;padding:12px 14px;font-size:15px;transition:border-color .25s,box-shadow .25s,background .25s}.contact__input::placeholder,.contact__textarea::placeholder{color:var(--text-muted);font-size:14px}.contact__input:focus,.contact__textarea:focus{border-color:var(--accent);background:#6366f10a;box-shadow:0 0 0 3px #6366f126}.contact__input--error{border-color:#ff5370!important;box-shadow:0 0 0 3px #ff53701a!important}.contact__textarea{resize:vertical;min-height:120px}.contact__error{color:#ff5370;font-size:12px;font-weight:500}.contact__submit{color:#fff;background:var(--gradient-accent);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);letter-spacing:.3px;border:none;justify-content:center;align-items:center;gap:10px;margin-top:4px;padding:14px 28px;font-size:15px;font-weight:700;display:flex}.contact__submit:hover:not(:disabled){box-shadow:0 0 28px var(--accent-glow);opacity:.92;transform:translateY(-2px)}.contact__submit:disabled{opacity:.7;cursor:not-allowed}.contact__spinner{border:2px solid #0a0f2c4d;border-top-color:var(--primary);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.contact__success{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:40px 20px;display:flex}.contact__success-icon{background:#6366f11f;border:1px solid #6366f159;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;display:flex}.contact__success h3{color:var(--text-white);font-size:24px;font-weight:700}.contact__success p{color:var(--text-light);max-width:340px;font-size:15px;line-height:1.7}.contact__success-btn{color:var(--accent);border:1.5px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);background:0 0;margin-top:8px;padding:12px 24px;font-size:14px;font-weight:600}.contact__success-btn:hover{background:#6366f11a}@media (width<=1024px){.contact__inner{grid-template-columns:1fr;gap:40px}}@media (width<=640px){.contact{padding:32px 0}.contact__form-wrapper{padding:24px 20px}.contact__form-row{grid-template-columns:1fr}}
