@keyframes fadeUp{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes orbFloat{0%{transform:translate(0)scale(1)}50%{transform:translate(30px,-40px)scale(1.1)}to{transform:translate(-20px,30px)scale(.95)}}.contact-info h2{font-family:var(--font-playfair),"Playfair Display",serif;margin-bottom:.4rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:700}.contact-info .subtitle{color:#555;margin-bottom:2rem;font-size:.95rem;line-height:1.7}.info-cards{flex-direction:column;gap:.8rem;display:flex}.info-card{border-radius:16px;gap:1rem;padding:1.3rem;transition:all .25s;display:flex}.info-card:hover{background:#fff9;transform:translateY(-2px);box-shadow:0 12px 36px #00000014}.info-card h4{margin-bottom:.15rem;font-size:.88rem;font-weight:700}.info-card p{color:#555;font-size:.82rem;line-height:1.5}.info-card a{color:#4e8c2a;font-weight:600;text-decoration:none}.info-card a:hover{text-decoration:underline}.ic-icon{background:#4e8c2a0f;border:1px solid #4e8c2a1a;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.1rem;display:flex}.map-wrap{border:1px solid #ffffff8c;border-radius:16px;height:180px;margin-top:1.5rem;overflow:hidden;box-shadow:0 8px 32px #00000014}.map-wrap iframe{border:none;width:100%;height:100%}.map-link{color:#4e8c2a;align-items:center;gap:.4rem;margin-top:.6rem;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-flex}.map-link:hover{text-decoration:underline}.social-row{gap:.6rem;margin-top:1.5rem;display:flex}.social-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#555;background:#ffffff73;border:1px solid #ffffff8c;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:.75rem;font-weight:700;text-decoration:none;transition:all .3s;display:flex;box-shadow:0 8px 32px #00000014,inset 0 1px #ffffff80}.social-btn:hover{color:#4e8c2a;border-color:#4e8c2a4d;transform:translateY(-2px);box-shadow:0 6px 20px #4e8c2a1a}
@keyframes fadeUp{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes orbFloat{0%{transform:translate(0)scale(1)}50%{transform:translate(30px,-40px)scale(1.1)}to{transform:translate(-20px,30px)scale(.95)}}.contact-form{border-radius:24px;padding:2.5rem}.contact-form>h3{font-family:var(--font-playfair),"Playfair Display",serif;margin-bottom:.3rem;font-size:1.3rem;font-weight:700}.contact-form>p{color:#555;margin-bottom:1.8rem;font-size:.85rem}.form-row{grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:.8rem;display:grid}.form-group{margin-bottom:.8rem}.form-group label{color:#555;text-transform:uppercase;letter-spacing:.07em;margin-bottom:.35rem;font-size:.72rem;font-weight:600;display:block}.form-group input,.form-group textarea,.form-group select{color:#1a1a1a;width:100%;font-size:.92rem;font-family:var(--font-inter),"Inter",system-ui,sans-serif;resize:vertical;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff73;border:1.5px solid #ffffff4d;border-radius:12px;outline:none;padding:.85rem 1rem;transition:border-color .3s,box-shadow .3s,background .3s}.form-group input::placeholder,.form-group textarea::placeholder,.form-group select::placeholder{color:#aaa}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{background:#ffffff8c;border-color:#4e8c2a;box-shadow:0 0 0 3px #4e8c2a14}.form-group textarea{min-height:120px}.form-group .hint{color:#999;margin-top:.25rem;font-size:.68rem;display:block}.form-group.error input,.form-group.error textarea{border-color:#d44}.error-msg{color:#d44;margin-top:.25rem;font-size:.7rem;display:none}.error .error-msg{display:block}.req{color:#d44;margin-left:2px}.success-msg{text-align:center;padding:3rem 1rem}.success-msg .check{background:#4e8c2a1a;border:1px solid #4e8c2a26;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 1rem;font-size:1.6rem;display:flex}.success-msg h3{font-family:var(--font-playfair),"Playfair Display",serif;margin-bottom:.4rem;font-size:1.2rem;font-weight:700}.success-msg p{color:#555;font-size:.88rem;line-height:1.6}@media (max-width:768px){.form-row{grid-template-columns:1fr}}
