.contact-interaction{min-width:0}.contact-success[hidden],#contact-form[hidden]{display:none!important}.contact-success{padding:12px 0;outline:none;animation:contact-arrive .65s cubic-bezier(.2,.7,.2,1) both}.success-emblem{width:80px;height:80px;margin-bottom:28px;border-radius:50%;background:radial-gradient(circle,#b6dcca17,transparent 72%);box-shadow:0 0 40px #b6dcca0b}.success-emblem svg{width:100%;height:100%;fill:none;stroke:#b6dcca;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.success-emblem circle{stroke-opacity:.35;stroke-dasharray:246;animation:contact-ring .7s ease-out both}.success-emblem path{stroke-width:2.5;stroke-dasharray:52;stroke-dashoffset:52;animation:contact-check .5s .25s ease-out forwards}.contact-success .eyebrow{font-size:8px;margin-bottom:18px}.contact-success h3{font:500 clamp(28px,3vw,40px)/1.2 Manrope,Arial,sans-serif;letter-spacing:-1px;margin-bottom:18px}.contact-success .text-link{font-size:11px;margin-top:0}.contact-reset{display:block;margin-top:24px;padding:6px 0;background:none;border:0;color:#9cb5ad;font-size:11px}.contact-reset:hover{color:#e4f5ec}.contact-spinner{width:18px;height:18px;border:1px solid #12221c40;border-top-color:#12221c;border-radius:50%;animation:contact-spin .7s linear infinite}#contact-form button:disabled{cursor:wait;transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@keyframes contact-arrive{from{opacity:0;transform:translateY(12px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes contact-ring{from{stroke-dashoffset:246}to{stroke-dashoffset:0}}@keyframes contact-check{to{stroke-dashoffset:0}}@keyframes contact-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.contact-success,.success-emblem circle,.success-emblem path,.contact-spinner{animation:none!important}.success-emblem path{stroke-dashoffset:0}}
.contact-delivery[hidden]{display:none!important}
.contact-interaction{position:relative}
.contact-form-exit{animation:contact-form-away .24s ease-in both;pointer-events:none}
.contact-delivery{padding:40px 0;animation:contact-arrive .35s ease-out both}
.delivery-route{position:relative;height:100px;margin:30px 16px 26px}
.delivery-line{position:absolute;left:8px;right:24px;top:50%;height:1px;background:#b6dcca20;overflow:hidden}
.delivery-line>span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#b6dcca15,#b6dcca);transform-origin:left;animation:delivery-fill 1.6s .12s cubic-bezier(.35,.05,.3,1) both}
.delivery-origin{position:absolute;left:0;top:calc(50% - 3px);width:6px;height:6px;background:#b6dcca;border-radius:50%}
.delivery-envelope{position:absolute;left:0;top:calc(50% - 15px);width:40px;height:30px;padding:3px;background:var(--bg);filter:drop-shadow(0 0 9px #b6dcca25);animation:envelope-travel 1.6s .12s cubic-bezier(.35,.05,.3,1) both;z-index:2}
.delivery-envelope svg{width:100%;height:100%;stroke:#cce9db;stroke-width:1.4;stroke-linejoin:round}
.delivery-destination{position:absolute;right:0;top:calc(50% - 15px);width:30px;height:30px;border:1px solid #b6dcca40;background:var(--bg);border-radius:50%;box-shadow:0 0 0 7px #b6dcca06;animation:destination-arrive .4s 1.55s ease-out both;z-index:3}
.delivery-destination svg{width:100%;height:100%;stroke:#b6dcca;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24;animation:contact-check .3s 1.6s forwards}
.contact .delivery-title{font:500 23px Manrope,Arial,sans-serif;color:#e6f1eb;margin-bottom:10px;letter-spacing:-.5px}
.contact .delivery-caption{font-size:11px;color:#8ba89d}
.delivery-progress{height:2px;background:#b6dcca12;margin-top:30px;overflow:hidden;border-radius:4px}
.delivery-progress span{display:block;height:100%;background:linear-gradient(90deg,#557e6c,#c6ead9);transform-origin:left;animation:delivery-fill 1.7s .1s ease-in-out both}
.delivery-arrived{transition:opacity .24s,transform .24s;opacity:0;transform:translateY(-6px)}
.contact-success{position:relative;animation:contact-arrive .55s ease-out both}
.success-emblem{position:relative;animation:success-pop .65s cubic-bezier(.2,.8,.2,1) both}
.success-emblem:after{content:'';position:absolute;inset:0;border:1px solid #b6dcca55;border-radius:50%;pointer-events:none;animation:success-halo 1s .3s ease-out both}
.contact-success>.eyebrow{animation:contact-arrive .5s .16s both}
.contact-success>h3{animation:contact-arrive .55s .24s both}
.contact-success>p:not(.eyebrow){animation:contact-arrive .55s .32s both}
@keyframes contact-form-away{to{opacity:0;transform:translateY(-8px);filter:blur(2px)}}
@keyframes delivery-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes envelope-travel{0%{left:0;opacity:0;transform:translateY(4px) rotate(-6deg)}12%{opacity:1}70%{opacity:1;transform:translateY(-4px) rotate(3deg)}100%{left:calc(100% - 36px);opacity:0;transform:translateY(0) rotate(0)}}
@keyframes destination-arrive{from{border-color:#b6dcca40;box-shadow:0 0 0 7px #b6dcca06}to{border-color:#b6dcca;box-shadow:0 0 0 11px #b6dcca0c}}
@keyframes success-pop{0%{opacity:0;transform:scale(.85)}65%{opacity:1;transform:scale(1.04)}100%{opacity:1;transform:scale(1)}}
@keyframes success-halo{from{opacity:.6;transform:scale(.95)}to{opacity:0;transform:scale(1.55)}}
@media(prefers-reduced-motion:reduce){.contact-form-exit,.contact-delivery,.delivery-envelope,.delivery-line>span,.delivery-progress span,.delivery-destination,.delivery-destination svg,.success-emblem,.success-emblem:after,.contact-success>*{animation:none!important;transition:none!important}.delivery-destination svg{stroke-dashoffset:0}.success-emblem:after{display:none}}
.delivery-gentle .delivery-progress span{animation:gentle-delivery-progress 1.7s linear both!important;transform:none!important}
.delivery-gentle .delivery-envelope{left:0;opacity:1}
@keyframes gentle-delivery-progress{from{width:0}to{width:100%}}
