.contact-container{flex-direction:column;justify-content:center;align-items:center;height:100vh;padding:16px;display:flex}.contact-container>div:has(.contact-card){width:100%;max-width:400px}.contact-card{text-align:center;width:100%;padding:20px;box-shadow:0 6px 18px rgba(0,0,0,.12)}.contact-divider{border:1px solid var(--accent);border-radius:4px;height:0;margin:12px -20px;display:block}.contact-description{text-align:center;color:var(--text);margin-bottom:20px;font-size:.95rem;line-height:1.5}.alert{text-align:left;border-radius:6px;margin-bottom:20px;padding:12px 16px;font-size:.9rem}.alert-success{color:#28a745;background-color:rgba(40,167,69,.1);border:1px solid rgba(40,167,69,.3)}.alert-danger{color:#dc3545;background-color:rgba(220,53,69,.1);border:1px solid rgba(220,53,69,.3)}.contact-input{transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;background-color:var(--card-bg,#f8f9fa)!important;border-color:var(--accent)!important;color:var(--text)!important}.contact-input::placeholder{opacity:.6;color:var(--text-muted,#6c757d)!important}.contact-input:focus{background-color:var(--card-bg,#fff)!important;border-color:var(--accent)!important;box-shadow:0 0 0 .25rem color-mix(in srgb,var(--accent)25%,transparent)!important;color:var(--text)!important}.contact-input.is-invalid{border-color:#dc3545!important}.contact-input.is-invalid:focus{border-color:#dc3545!important;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)!important}.invalid-feedback{color:#dc3545;text-align:left;margin-top:.25rem;font-size:.875rem}.contact-submit{align-items:center;gap:8px;transition:background-color .15s ease-in-out,border-color .15s ease-in-out;display:inline-flex;position:relative}.send-icon{will-change:transform;transition:transform .18s;display:inline-block}.contact-submit:hover .send-icon{transform:translate(2px)translateY(-2px)}.send-icon.sending{animation:1.2s cubic-bezier(.25,.46,.45,.94) forwards send-message}@keyframes send-message{0%{opacity:1;transform:translate(0)translateY(0)rotate(0)scale(1)}15%{opacity:1;transform:translate(8px)translateY(-8px)rotate(5deg)scale(1.1)}40%{opacity:.7;transform:translate(60px)translateY(-60px)rotate(25deg)scale(.9)}70%{opacity:.3;transform:translate(120px)translateY(-120px)rotate(35deg)scale(.6)}to{opacity:0;transform:translate(180px)translateY(-180px)rotate(45deg)scale(.3)}}.contact-submit.invalid{animation:.5s ease-in-out shake;background-color:#dc3545!important;border-color:#dc3545!important}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.contact-actions{justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:400px;margin-bottom:12px;display:flex}.contact-button{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-weight:600;text-decoration:none;transition:background-color .18s,color .18s,transform .12s;display:inline-flex}.contact-button:hover{background:var(--accent);color:#fff;transform:translateY(-2px)}.contact-button:focus{outline:2px solid color-mix(in srgb,var(--accent)50%,transparent);outline-offset:2px}.back-icon{will-change:transform;transition:transform .28s cubic-bezier(.34,1.56,.64,1)}.contact-button:hover .back-icon{animation:.5s cubic-bezier(.34,1.56,.64,1) infinite slide-back}@keyframes slide-back{0%,to{transform:translate(0)}50%{transform:translate(-4px)}}
