.contact-section{background:var(--dark-2)}.contact-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:4rem;align-items:start}.contact-info-col{display:flex;flex-direction:column;gap:1.25rem}.contact-card{background:var(--dark-3);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:1.5rem;display:flex;gap:1rem;align-items:flex-start;transition:var(--transition)}.contact-card:hover{border-color:rgba(107,33,168,.35);transform:translateX(4px)}.contact-card-icon{width:46px;height:46px;min-width:46px;border-radius:var(--radius-sm);background:linear-gradient(135deg,rgba(107,33,168,.2),rgba(147,51,234,.1));border:1px solid rgba(107,33,168,.3);display:flex;align-items:center;justify-content:center;font-size:1.3rem}.contact-card-body h5{font-family:var(--ff-body);font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:.35rem}.contact-card-body a,.contact-card-body p{font-size:.9rem;color:var(--text-secondary);line-height:1.6;transition:color var(--transition)}.contact-card-body a:hover{color:var(--white)}.whatsapp-contact-btn{background:linear-gradient(135deg,#128c7e,#25d366);border-radius:var(--radius-md);padding:1.25rem 1.5rem;display:flex;align-items:center;gap:.75rem;color:var(--white);font-weight:600;font-size:.9rem;transition:var(--transition);border:1px solid rgba(37,211,102,.3)}.whatsapp-contact-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(37,211,102,.35)}.whatsapp-contact-btn .wa-icon{font-size:1.6rem;color:#fff;display:inline-block;line-height:1;width:34px;text-align:center}.contact-form-wrap{background:var(--dark-3);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:2.5rem 3rem}.contact-form-wrap h3{font-family:var(--ff-heading);font-size:1.8rem;color:var(--white);margin-bottom:.4rem}.contact-form-wrap p{font-size:.88rem;color:var(--text-muted);margin-bottom:2rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1rem}.form-group label{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.form-group input,.form-group select,.form-group textarea{background:var(--dark-4);border:1.5px solid var(--border-light);border-radius:var(--radius-sm);padding:.85rem 1rem;color:var(--text-primary);font-size:.9rem;transition:border-color .25s,box-shadow .25s;outline:0;width:100%}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--purple-light);box-shadow:0 0 0 3px rgba(107,33,168,.15)}.form-group textarea{resize:vertical;min-height:130px}.form-group select{appearance:none;cursor:pointer}.form-group select option{background:var(--dark-3)}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#f87171;box-shadow:0 0 0 3px rgba(248,113,113,.15)}.form-group input.valid,.form-group select.valid,.form-group textarea.valid{border-color:#34d399}.field-error{font-size:.75rem;color:#f87171;display:flex;align-items:center;gap:.3rem}.field-error::before{content:'⚠'}.form-submit-wrap{margin-top:.5rem}.form-submit-btn{width:100%;justify-content:center;padding:1rem 2rem;font-size:.9rem}.form-success{display:none;text-align:center;padding:3rem 2rem}.form-success.show{display:block}.form-success .success-icon{font-size:3rem;margin-bottom:1rem}.form-success h3{font-size:1.5rem;color:#34d399;margin-bottom:.5rem}.form-success p{color:var(--text-muted)}.map-section{background:var(--dark);padding-top:0}.map-placeholder{height:320px;background:var(--dark-3);border-radius:var(--radius-lg);border:1px solid var(--border-light);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.75rem;color:var(--text-muted);font-size:3rem}.map-placeholder p{font-size:.9rem}@media (max-width:900px){.contact-grid{grid-template-columns:1fr}.contact-info-col{display:grid;grid-template-columns:1fr 1fr}.whatsapp-contact-btn{grid-column:1/-1}}@media (max-width:640px){.contact-form-wrap{padding:1.75rem 1.5rem}.form-row{grid-template-columns:1fr}.contact-info-col{grid-template-columns:1fr}}