.contact-overlay:where(.astro-3lxxcq2o){position:fixed;inset:0;z-index:80;display:grid;align-items:center;justify-items:center;place-items:center;padding:1.5rem;background:color-mix(in srgb,var(--color-bg) 55%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .3s ease}.contact-overlay:where(.astro-3lxxcq2o)[hidden]{display:none}.contact-overlay:where(.astro-3lxxcq2o).is-visible{opacity:1}.contact-overlay-panel:where(.astro-3lxxcq2o){display:flex;flex-direction:column;align-items:center;gap:1.25rem;min-width:min(280px,100%);padding:2.5rem 2rem 2rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:1.25rem;box-shadow:0 16px 48px color-mix(in srgb,var(--color-fg) 10%,transparent);transform:scale(.92) translateY(12px);opacity:0;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s ease}.contact-overlay:where(.astro-3lxxcq2o).is-visible .contact-overlay-panel:where(.astro-3lxxcq2o){transform:scale(1) translateY(0);opacity:1}.contact-overlay-logo:where(.astro-3lxxcq2o){position:relative;width:4.5rem;height:4.5rem}.overlay-logo-svg:where(.astro-3lxxcq2o){width:100%;height:100%;overflow:visible}.overlay-logo-group:where(.astro-3lxxcq2o){transform-origin:512px 512px}.overlay-dot:where(.astro-3lxxcq2o),.overlay-pill-left:where(.astro-3lxxcq2o),.overlay-pill-middle:where(.astro-3lxxcq2o),.overlay-pill-right:where(.astro-3lxxcq2o){transform-origin:512px 512px;opacity:.9;will-change:transform,opacity}.contact-overlay-logo:where(.astro-3lxxcq2o).is-sending .overlay-logo-group:where(.astro-3lxxcq2o){animation:send-float 5s ease-in-out infinite;transform-origin:512px 512px}.contact-overlay-logo:where(.astro-3lxxcq2o).is-sending .overlay-pill-left:where(.astro-3lxxcq2o){animation:send-orbit-left 3.2s linear infinite}.contact-overlay-logo:where(.astro-3lxxcq2o).is-sending .overlay-pill-right:where(.astro-3lxxcq2o){animation:send-orbit-right 3.7s linear infinite}.contact-overlay-logo:where(.astro-3lxxcq2o).is-sending .overlay-pill-middle:where(.astro-3lxxcq2o){animation:send-breathe 3s ease-in-out infinite alternate}.contact-overlay-logo:where(.astro-3lxxcq2o).is-sending .overlay-dot:where(.astro-3lxxcq2o){animation:send-pulse-dot 1.9s cubic-bezier(.37,0,.63,1) infinite}.overlay-check:where(.astro-3lxxcq2o){opacity:0;transition:opacity .3s ease}.contact-overlay-logo:where(.astro-3lxxcq2o).is-done .overlay-logo-group:where(.astro-3lxxcq2o){animation:success-converge .5s cubic-bezier(.34,1.56,.64,1) forwards}.contact-overlay-logo:where(.astro-3lxxcq2o).is-done .overlay-dot:where(.astro-3lxxcq2o),.contact-overlay-logo:where(.astro-3lxxcq2o).is-done .overlay-pill-left:where(.astro-3lxxcq2o),.contact-overlay-logo:where(.astro-3lxxcq2o).is-done .overlay-pill-middle:where(.astro-3lxxcq2o),.contact-overlay-logo:where(.astro-3lxxcq2o).is-done .overlay-pill-right:where(.astro-3lxxcq2o){animation:success-fade-pills .4s ease .15s forwards}.contact-overlay-logo:where(.astro-3lxxcq2o).is-done .overlay-check:where(.astro-3lxxcq2o){opacity:1;animation:success-draw-check .5s cubic-bezier(.65,0,.35,1) .35s forwards}.contact-overlay-logo:where(.astro-3lxxcq2o).is-done .overlay-ripple:where(.astro-3lxxcq2o){animation:success-ripple .7s ease-out .3s forwards}.overlay-x-mark:where(.astro-3lxxcq2o){opacity:0;transition:opacity .3s ease}.contact-overlay-logo:where(.astro-3lxxcq2o).is-error .overlay-logo-group:where(.astro-3lxxcq2o){animation:error-shake .5s cubic-bezier(.36,.07,.19,.97) forwards}.contact-overlay-logo:where(.astro-3lxxcq2o).is-error .overlay-dot:where(.astro-3lxxcq2o),.contact-overlay-logo:where(.astro-3lxxcq2o).is-error .overlay-pill-left:where(.astro-3lxxcq2o),.contact-overlay-logo:where(.astro-3lxxcq2o).is-error .overlay-pill-middle:where(.astro-3lxxcq2o),.contact-overlay-logo:where(.astro-3lxxcq2o).is-error .overlay-pill-right:where(.astro-3lxxcq2o){animation:error-scatter .4s ease .15s forwards}.contact-overlay-logo:where(.astro-3lxxcq2o).is-error .overlay-x-mark:where(.astro-3lxxcq2o){opacity:1;animation:error-x-appear .3s ease-out .35s forwards;transform-origin:512px 512px}.overlay-ripple:where(.astro-3lxxcq2o){position:absolute;inset:-.5rem;border-radius:50%;border:2px solid #daa520;border:2px solid var(--color-accent,#daa520);opacity:0;pointer-events:none}.contact-overlay-title:where(.astro-3lxxcq2o){margin:0;font-size:.95rem;font-weight:600;letter-spacing:.01em;color:var(--color-fg);text-align:center;transition:color .3s ease}.contact-overlay-title:where(.astro-3lxxcq2o).is-error{color:#b42318}@keyframes send-float{0%{transform:translate(0)}50%{transform:translateY(-6px)}to{transform:translate(0)}}@keyframes send-orbit-left{0%{transform:translateY(-14px) rotate(0);opacity:.9}12.5%{transform:translate(-18px,-12px) rotate(-4deg);opacity:.82}25%{transform:translate(-26px) rotate(-6deg);opacity:.74}37.5%{transform:translate(-18px,12px) rotate(-4deg);opacity:.78}50%{transform:translateY(16px) rotate(0);opacity:.86}62.5%{transform:translate(18px,12px) rotate(4deg);opacity:.9}75%{transform:translate(26px) rotate(6deg);opacity:.92}87.5%{transform:translate(18px,-12px) rotate(4deg);opacity:.9}to{transform:translateY(-14px) rotate(0);opacity:.9}}@keyframes send-orbit-right{0%{transform:translateY(14px) rotate(0);opacity:.9}12.5%{transform:translate(18px,12px) rotate(4deg);opacity:.82}25%{transform:translate(26px) rotate(6deg);opacity:.74}37.5%{transform:translate(18px,-12px) rotate(4deg);opacity:.78}50%{transform:translateY(-16px) rotate(0);opacity:.86}62.5%{transform:translate(-18px,-12px) rotate(-4deg);opacity:.9}75%{transform:translate(-26px) rotate(-6deg);opacity:.92}87.5%{transform:translate(-18px,12px) rotate(-4deg);opacity:.9}to{transform:translateY(14px) rotate(0);opacity:.9}}@keyframes send-breathe{0%{transform:scale(.99);opacity:.9}to{transform:scale(1.05);opacity:.74}}@keyframes send-pulse-dot{0%{transform:scale(.94);opacity:.7}45%{transform:scale(1.18);opacity:1}70%{transform:scale(1.02);opacity:.9}to{transform:scale(.94);opacity:.7}}@keyframes success-converge{0%{transform:scale(1)}50%{transform:scale(.85)}to{transform:scale(0);opacity:0}}@keyframes success-fade-pills{to{opacity:0}}@keyframes success-draw-check{to{stroke-dashoffset:0}}@keyframes success-ripple{0%{transform:scale(.6);opacity:.8}to{transform:scale(1.8);opacity:0}}@keyframes error-shake{0%,to{transform:translate(0)}10%{transform:translate(-18px)}20%{transform:translate(16px)}30%{transform:translate(-14px)}40%{transform:translate(12px)}50%{transform:translate(-8px)}60%{transform:translate(6px)}70%{transform:translate(-4px)}80%{transform:translate(2px)}}@keyframes error-scatter{to{opacity:0;transform:scale(.6) rotate(15deg)}}@keyframes error-x-appear{0%{opacity:0;transform:scale(.5) rotate(-90deg)}to{opacity:1;transform:scale(1) rotate(0)}}@media(prefers-reduced-motion:reduce){.contact-overlay-logo:where(.astro-3lxxcq2o).is-sending .overlay-dot:where(.astro-3lxxcq2o),.contact-overlay-logo:where(.astro-3lxxcq2o).is-sending .overlay-pill-left:where(.astro-3lxxcq2o),.contact-overlay-logo:where(.astro-3lxxcq2o).is-sending .overlay-pill-middle:where(.astro-3lxxcq2o),.contact-overlay-logo:where(.astro-3lxxcq2o).is-sending .overlay-pill-right:where(.astro-3lxxcq2o){animation:none}.overlay-dot:where(.astro-3lxxcq2o){animation:send-pulse-dot 2s ease-in-out infinite alternate!important}}
