@keyframes contact-module-scss-module__zzj-wG__fadeIn{0%{opacity:0}to{opacity:1}}@keyframes contact-module-scss-module__zzj-wG__slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes contact-module-scss-module__zzj-wG__glowPulse{0%,to{box-shadow:0 0 12px #8b5cf666}50%{box-shadow:0 0 28px #8b5cf666}}@keyframes contact-module-scss-module__zzj-wG__contactSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes contact-module-scss-module__zzj-wG__spin{to{transform:rotate(360deg)}}.contact-module-scss-module__zzj-wG__section{background:#0a0a0a;align-items:center;min-height:100svh;display:flex;position:relative;overflow:hidden}.contact-module-scss-module__zzj-wG__glow{filter:blur(80px);pointer-events:none;background:radial-gradient(#8b5cf62e 0%,#8b5cf60d 45%,#0000 70%);border-radius:50%;width:560px;height:560px;position:absolute;top:-10%;left:-10%}.contact-module-scss-module__zzj-wG__inner{z-index:1;padding-inline:1.5rem;grid-template-columns:1fr;gap:4rem;width:100%;max-width:1200px;margin-inline:auto;padding-top:6rem;padding-bottom:6rem;display:grid;position:relative}@media (min-width:1024px){.contact-module-scss-module__zzj-wG__inner{grid-template-columns:5fr 7fr;align-items:start}}.contact-module-scss-module__zzj-wG__info{opacity:0;flex-direction:column;gap:1.5rem;animation:.6s 50ms forwards contact-module-scss-module__zzj-wG__contactSlideUp;display:flex}.contact-module-scss-module__zzj-wG__label{font-family:var(--font-mono),"Fira Code",monospace;color:#8b5cf6;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.contact-module-scss-module__zzj-wG__title{font-family:var(--font-sans),system-ui,sans-serif;letter-spacing:-.02em;color:#eaeaea;font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.1}.contact-module-scss-module__zzj-wG__desc{color:#eaeaea99;max-width:44ch;font-size:1.125rem;line-height:1.6}.contact-module-scss-module__zzj-wG__meta{border-top:1px solid #ffffff14;flex-direction:column;gap:.75rem;padding-top:1rem;display:flex}.contact-module-scss-module__zzj-wG__metaItem{color:#eaeaea99;align-items:center;gap:.75rem;font-size:1rem;display:flex}.contact-module-scss-module__zzj-wG__metaItem strong{color:#eaeaea;font-weight:500}.contact-module-scss-module__zzj-wG__card{opacity:0;background:#111118;border:1px solid #ffffff14;border-radius:.75rem;padding:2rem;animation:.6s .15s forwards contact-module-scss-module__zzj-wG__contactSlideUp;box-shadow:0 1px 3px #0006,0 0 0 1px #ffffff14}.contact-module-scss-module__zzj-wG__form{flex-direction:column;gap:1.25rem;display:flex}.contact-module-scss-module__zzj-wG__field{flex-direction:column;gap:.5rem;display:flex}.contact-module-scss-module__zzj-wG__fieldRow{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (min-width:640px){.contact-module-scss-module__zzj-wG__fieldRow{grid-template-columns:1fr 1fr}}.contact-module-scss-module__zzj-wG__fieldLabelRow{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.contact-module-scss-module__zzj-wG__fieldLabel{color:#eaeaea99;letter-spacing:.02em;font-size:.875rem;font-weight:500}.contact-module-scss-module__zzj-wG__charCount{font-size:.875rem;font-family:var(--font-mono),"Fira Code",monospace;color:#eaeaea80;transition:color .25s}.contact-module-scss-module__zzj-wG__charCount.contact-module-scss-module__zzj-wG__charCountOk{color:#48bb78}.contact-module-scss-module__zzj-wG__input,.contact-module-scss-module__zzj-wG__textarea{color:#eaeaea;width:100%;font-family:var(--font-sans),system-ui,sans-serif;background:#1b1b28;border:1px solid #ffffff14;border-radius:.5rem;outline:none;padding:.75rem 1rem;font-size:1rem;line-height:1.6;transition:border-color .25s,box-shadow .25s}.contact-module-scss-module__zzj-wG__input::placeholder,.contact-module-scss-module__zzj-wG__textarea::placeholder{color:#eaeaea80}.contact-module-scss-module__zzj-wG__input:focus,.contact-module-scss-module__zzj-wG__textarea:focus{border-color:#8b5cf699;box-shadow:0 0 0 3px #8b5cf61f}.contact-module-scss-module__zzj-wG__input.contact-module-scss-module__zzj-wG__inputError,.contact-module-scss-module__zzj-wG__textarea.contact-module-scss-module__zzj-wG__inputError{border-color:#e53e3e99;box-shadow:0 0 0 3px #e53e3e1a}.contact-module-scss-module__zzj-wG__textarea{resize:vertical;min-height:140px}.contact-module-scss-module__zzj-wG__fieldError{color:#e53e3e;font-size:.875rem}.contact-module-scss-module__zzj-wG__submit{color:#fff;font-family:var(--font-sans),system-ui,sans-serif;cursor:pointer;background:#8b5cf6;border:none;border-radius:.5rem;justify-content:center;align-self:flex-start;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:1rem;font-weight:600;transition:background .25s,box-shadow .25s,transform .15s;display:inline-flex}.contact-module-scss-module__zzj-wG__submit:hover:not(:disabled){background:#7c3aed;transform:translateY(-2px);box-shadow:0 0 28px #8b5cf673}.contact-module-scss-module__zzj-wG__submit:active:not(:disabled){transform:translateY(0)}.contact-module-scss-module__zzj-wG__submit:focus-visible{outline-offset:3px;border-radius:.375rem;outline:2px solid #8b5cf6}.contact-module-scss-module__zzj-wG__submit:disabled{opacity:.65;cursor:not-allowed}.contact-module-scss-module__zzj-wG__spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite contact-module-scss-module__zzj-wG__spin}.contact-module-scss-module__zzj-wG__feedbackSuccess{color:#48bb78;background:#48bb7814;border:1px solid #48bb7840;border-radius:.5rem;align-items:flex-start;gap:.75rem;padding:1rem;font-size:1rem;line-height:1.6;display:flex}.contact-module-scss-module__zzj-wG__feedbackError{color:#e53e3e;background:#e53e3e14;border:1px solid #e53e3e40;border-radius:.5rem;align-items:flex-start;gap:.75rem;padding:1rem;font-size:1rem;line-height:1.6;display:flex}@media (prefers-reduced-motion:reduce){.contact-module-scss-module__zzj-wG__info,.contact-module-scss-module__zzj-wG__card{opacity:1;animation:none}.contact-module-scss-module__zzj-wG__spinner{animation:none}}
