.contact-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;pointer-events:none}
#contact-form .field-error{display:block;font-size:12px;line-height:1.6;color:#a33353;margin-top:5px}
#contact-form .field-error:empty{display:none}
#contact-form [aria-invalid="true"]{border-color:#b54d68}
#contact-submit{transition:background .2s,box-shadow .2s,opacity .2s}
#contact-submit:disabled{opacity:.45;box-shadow:none;transform:none;cursor:not-allowed}
#contact-submit[aria-busy="true"]{opacity:.85;cursor:wait}
.contact-spinner{display:inline-block;width:17px;height:17px;flex:none;border:2px solid #ffffff50;border-top-color:#fff;border-radius:50%;animation:densor-contact-spin .8s linear infinite}
.contact-spinner[hidden],.contact-submit-arrow[hidden],.contact-success[hidden],.contact-preview[hidden]{display:none!important}
@keyframes densor-contact-spin{to{transform:rotate(360deg)}}
#form-status{font-size:13px;color:#a33353;line-height:1.7}
#form-status:empty{display:none}
.contact-preview{grid-column:1/-1;font-size:12px;line-height:1.7;color:#6b4a87;padding:10px 14px;border:1px dashed #80539950;border-radius:9px;background:#bfa0dc0a}
.contact-success{grid-column:1/-1;padding:22px;border:1px solid #af94c650;border-left:3px solid #805399;border-radius:12px;background:#f0eaf6;color:#4d2e69}
.contact-success h3{margin:0;font-size:18px;font-weight:600;letter-spacing:-.02em}
.contact-success p{margin:8px 0 0;font-size:14px;line-height:1.8;color:#685476}
.contact-success small{display:block;margin-top:10px;font-size:12px;color:#87699b}
@media(prefers-reduced-motion:reduce){.contact-spinner{animation-duration:2s}#contact-submit{transition:none}}
