#order.contact-form{box-sizing:border-box;width:480px;max-width:calc(100vw - 64px);padding:18px 20px;color:#253e45;font:16px/1.5 Arial,sans-serif;background:#fff}
#order.contact-form *{box-sizing:border-box}
#order.contact-form [hidden]{display:none!important}
#order.contact-form h2{margin:0 0 12px;font:normal 27px/1.2 Georgia,serif;color:#253e45}
#order .contact-lede{margin:0 0 24px;color:#65777c;font-size:14px}
#order .contact-label{display:block;float:none;width:auto;margin:12px 0 7px;font-weight:bold;font-size:14px}
#order.contact-form input[type=email],#order.contact-form textarea{display:block;width:100%;max-width:100%;height:auto;padding:12px 14px;border:1px solid #bfced2;border-radius:10px;background:#f7fafb;color:#253e45;font:16px/1.5 Arial,sans-serif;box-shadow:none;transition:border-color .2s,box-shadow .2s}
#order.contact-form textarea{resize:vertical;min-height:125px}
#order.contact-form input:focus,#order.contact-form textarea:focus{outline:none;border-color:#2785a1;box-shadow:0 0 0 3px #2785a122}
#order.contact-form [aria-invalid=true]{border:2px solid #d53845!important;background:#fff5f5!important}
#order .contact-error{display:block;color:#bd2432;font-size:12px;line-height:1.4;margin:5px 0 10px;min-height:0}
#order.contact-form button{display:block;width:100%;border:0;border-radius:11px;margin:20px 0 0;padding:14px 20px;background:#2785a1;color:white;font:bold 16px/1.3 Arial,sans-serif;cursor:pointer;transition:background .2s,transform .2s}
#order.contact-form button:hover{background:#1b657c;transform:translateY(-1px)}
#order.contact-form button:disabled{opacity:.65;cursor:wait;transform:none}
#order .contact-status{color:#bd2432;font-size:14px;margin:12px 0 0}
#order .contact-alternative{font-size:13px;text-align:center;color:#65777c;margin:14px 0 0}
#order .contact-alternative a{color:#226e85}
#order .contact-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
#order .contact-thanks{text-align:center;padding:26px 0;outline:none}
#order .contact-thanks p{color:#65777c;line-height:1.6;margin:12px 0}
#order .contact-thanks .contact-kicker{font:11px/1.5 Arial,sans-serif;text-transform:uppercase;letter-spacing:2px;color:#2785a1}
#order .contact-celebration{position:relative;width:170px;height:145px;margin:0 auto 20px}
#order .contact-check{position:absolute;inset:25px 35px 20px;border-radius:50%;background:#e6f6ef;box-shadow:0 0 0 12px #f4fbf8}
#order .contact-check svg{width:100%;height:100%;fill:none;stroke:#23996c;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
#order .contact-check path{stroke-dasharray:50;stroke-dashoffset:50}
#order .contact-celebration i{position:absolute;left:80px;top:65px;width:9px;height:9px;border-radius:3px;background:#2785a1;opacity:0;--x:-70px;--y:-50px}
#order .contact-celebration i:nth-child(2){--x:70px;--y:-45px;background:#e4b459}
#order .contact-celebration i:nth-child(3){--x:-75px;--y:35px;background:#e4b459}
#order .contact-celebration i:nth-child(4){--x:75px;--y:40px;background:#23996c}
#order .contact-celebration i:nth-child(5){--x:-30px;--y:-65px;background:#23996c}
#order .contact-celebration i:nth-child(6){--x:35px;--y:65px}
#order .is-visible .contact-check{animation:contact-pop .65s cubic-bezier(.2,.8,.3,1.3) both}
#order .is-visible .contact-check path{animation:contact-draw .5s .35s ease forwards}
#order .is-visible .contact-celebration i{animation:contact-confetti 1.3s .15s ease-out both}
#order .is-visible h2,#order .is-visible p{animation:contact-rise .6s .2s both}
@keyframes contact-pop{from{transform:scale(.35);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes contact-draw{to{stroke-dashoffset:0}}
@keyframes contact-confetti{15%{opacity:1}85%{opacity:1}to{transform:translate(var(--x),var(--y)) rotate(160deg);opacity:0}}
@keyframes contact-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:480px){#order.contact-form{padding:10px 8px}#order.contact-form h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){#order.contact-form *{animation:none!important;transition:none!important}#order .contact-check path{stroke-dashoffset:0}}

/* Keep the inline form within Fancybox's actual content width. */
#fancybox-content #order.contact-form{width:100%;max-width:100%}
#order.contact-form .contact-status:empty,#order.contact-form .contact-error:empty{display:none}
@media(max-width:640px){
    html.contact-modal-open,html.contact-modal-open body{overflow:hidden;overscroll-behavior:none}
    #fancybox-wrap.contact-popup{position:fixed!important;top:var(--contact-top,8px)!important;left:8px!important;width:calc(100% - 16px)!important;height:auto!important;max-height:var(--contact-height,calc(100dvh - 16px));padding:0!important;margin:0!important}
    #fancybox-wrap.contact-popup #fancybox-outer{border-radius:18px;overflow:hidden;box-shadow:0 12px 48px #102c4555}
    #fancybox-wrap.contact-popup #fancybox-content{width:100%!important;height:auto!important;max-height:var(--contact-height,calc(100dvh - 16px));border:0!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding:16px}
    #fancybox-wrap.contact-popup .fancybox-bg{display:none}
    #fancybox-wrap.contact-popup #fancybox-close{top:6px;right:6px;width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #253e4515;z-index:1200}
    #fancybox-wrap.contact-popup #fancybox-close:before,#fancybox-wrap.contact-popup #fancybox-close:after{content:"";position:absolute;top:21px;left:13px;width:18px;height:2px;background:#36545d;transform:rotate(45deg)}
    #fancybox-wrap.contact-popup #fancybox-close:after{transform:rotate(-45deg)}
    #fancybox-content #order.contact-form{width:100%;max-width:100%;padding:54px 18px max(22px,env(safe-area-inset-bottom));margin:0}
    #order.contact-form h2{font-size:25px;line-height:1.25;overflow-wrap:break-word}
    #order .contact-lede{margin-bottom:18px;line-height:1.5}
    #order .contact-label{margin-top:14px}
    #order.contact-form input[type=email]{min-height:50px}
    #order.contact-form textarea{height:132px;min-height:112px;resize:vertical}
    #order.contact-form button{min-height:50px;margin-top:18px;touch-action:manipulation}
    #order.contact-form button:hover{transform:none}
    #order .contact-error{font-size:13px}
    #order .contact-thanks{padding:4px 0 12px}
    #order .contact-celebration{margin-bottom:10px}
    #order .contact-alternative{line-height:1.7}
}
