.contact-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;pointer-events:none}
#contacto .field-error{display:block;font-size:11px;line-height:1.6;color:#a13756;margin-top:-3px}
#contacto .field-error:empty{display:none}
#contacto .field [aria-invalid="true"]{border-color:#b54d68;background:#fffafb}
#contacto #contact-submit{width:100%;transition:background .2s,box-shadow .2s,opacity .2s}
#contacto #contact-submit:disabled{background:#d5cddd;color:#786982;box-shadow:none;transform:none;cursor:not-allowed}
#contacto #contact-submit:disabled .icon{transform:none}
#contacto #contact-submit[aria-busy="true"]{background:#684887;color:#fff;cursor:wait}
.contact-spinner{width:17px;height:17px;flex:none;border:2px solid #ffffff50;border-top-color:#fff;border-radius:50%;animation:contact-spin .8s linear infinite}
@keyframes contact-spin{to{transform:rotate(360deg)}}
#contacto .form-status{font-size:12px;color:#8f3752;line-height:1.8}
.contact-preview{grid-column:1/-1;font-size:11px;line-height:1.8;color:#79568d;padding:9px 12px;border:1px dashed #80539950;border-radius:5px}
.contact-success{grid-column:1/-1;display:flex;gap:13px;align-items:flex-start;padding:20px;border:1px solid #af94c636;border-left:3px solid #805399;border-radius:9px;background:#eee6f4;color:#5d3c72}
.contact-success>.icon{width:22px;height:22px;display:block;padding:3px;margin-top:1px;border-radius:50%;background:#805399;color:white}
.contact-success h3{font-size:16px;font-weight:500;letter-spacing:-.02em}
.contact-success p{margin-top:7px;font-size:12px;line-height:1.9;color:#725e7f}
.contact-success small{display:block;margin-top:8px;font-size:10px;color:#87699b}
@media(prefers-reduced-motion:reduce){.contact-spinner{animation-duration:2s}}
