/* The shared contact dialog keeps visitors on their current page. */
.navlinks button.contact{font:inherit;line-height:inherit;background:transparent;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s}
.navlinks button.contact:hover,.navlinks button.contact[aria-expanded=true]{background:var(--blue,#4055e8);border-color:var(--blue,#4055e8);color:#fff}
.footer button.hello{border:0;background:transparent;padding:0;font-family:inherit;text-align:left;cursor:pointer}
.contact-is-open{overflow:hidden}
.contact-dialog{width:min(800px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:0;border:1px solid #e1dced;border-radius:28px;background:#fbfaf6;color:#1c2540;box-shadow:0 26px 110px #24304d38;overflow:hidden}
.contact-dialog::backdrop{background:#222b496b;backdrop-filter:blur(9px)}
.contact-dialog[open]{animation:contact-appear .22s ease-out}
.contact-dialog-close{position:absolute;right:20px;top:18px;z-index:2;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #d8d5e7;border-radius:50%;background:#f8f6ff;color:#70648c;font-size:26px;line-height:1;cursor:pointer;transition:background .2s,color .2s}
.contact-dialog-close:hover{background:#e9e3fb;color:#4055c4}
.contact-dialog-inner{padding:34px;max-height:calc(100dvh - 42px);overflow-y:auto;overscroll-behavior:contain}
.contact-dialog .eyebrow{font-size:10px;letter-spacing:2.3px;color:#9582a5;padding-right:45px}
.contact-dialog h2{font-size:33px;line-height:1.42;letter-spacing:-1px;color:#4f5da4;margin:18px 0 13px}
.contact-dialog h2>span{position:relative;isolation:isolate}
.contact-dialog h2>span:after{content:"";position:absolute;left:0;bottom:-4px;width:80%;height:5px;border-radius:50%;background:#efb79c;transform:rotate(-4deg);z-index:-1}
#contact-dialog-description{color:#7f7b90;font-size:13px;line-height:1.95;margin:0 0 25px}
.contact-methods{display:grid;grid-template-columns:1.05fr 1fr;gap:19px}
.contact-modal-email,.contact-modal-wechat{min-width:0;padding:24px;border:1px solid #dcd5ec;border-radius:20px}
.contact-modal-email{background:#eee8fa;display:flex;flex-direction:column;align-items:flex-start}
.contact-email-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:15px;background:#faf7ff;color:#8a75ad;transform:rotate(-6deg)}
.contact-email-icon svg{width:27px;height:27px;transform:rotate(6deg)}
.contact-dialog h3{font-size:18px;font-weight:600;line-height:1.5;margin:20px 0 13px;color:#6a5787}
.contact-modal-address{font-size:21px;line-height:1.7;letter-spacing:-.6px;font-weight:600;color:#4859ae;white-space:nowrap}
.contact-modal-address>span{font-size:17px;margin-left:3px}
.contact-modal-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:23px}
.contact-modal-actions a,.contact-modal-actions button{display:inline-block;padding:9px 16px;border:1px solid #bdb5db;border-radius:24px;color:#6f5b95;background:#ffffff73;line-height:1.5;font:inherit;font-size:12px;cursor:pointer}
.contact-modal-actions a{background:#4055e8;border-color:#4055e8;color:#fff}
.contact-modal-actions button:hover{background:#fff}
.contact-copy-status{font-size:11px;line-height:1.7;min-height:19px;color:#6c647f;margin:10px 0 18px}
.contact-modal-location{font-size:11px;letter-spacing:.5px;color:#8c809c;margin:auto 0 0;padding-top:20px}
.contact-modal-location>span{font-size:15px;color:#9d88b7;margin-right:5px}
.contact-modal-wechat{background:#edf1dd;border-color:#dbe4c2;text-align:center;padding:23px}
.contact-wechat-heading>span{display:block;font-size:9px;letter-spacing:2px;color:#869767}
.contact-wechat-heading h3{margin:8px 0 17px;color:#5d7542;font-size:18px}
.contact-modal-wechat .wechat-qr{max-width:230px;margin:0 auto;border:1px solid #e1e6d4;background:#fff;border-radius:14px}
.contact-modal-wechat>p{color:#758462;font-size:11px;line-height:1.8;margin:15px 0 8px}
.contact-qr-original{font-size:10px;line-height:1.8;color:#718258;text-decoration:underline;text-underline-offset:4px}
@keyframes contact-appear{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:600px){.navlinks button.contact{font-size:12px;padding:6px 18px}.contact-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:23px}.contact-dialog-inner{padding:25px 22px;max-height:calc(100dvh - 26px)}.contact-dialog-close{top:15px;right:15px;width:33px;height:33px;font-size:24px}.contact-dialog h2{font-size:29px;margin-top:18px}.contact-dialog .eyebrow{font-size:9px;letter-spacing:1.8px}#contact-dialog-description{font-size:12px;margin-bottom:21px}.contact-wide-break{display:none}.contact-methods{grid-template-columns:1fr;gap:15px}.contact-modal-email,.contact-modal-wechat{padding:21px;border-radius:18px}.contact-modal-email{position:relative}.contact-email-icon{position:absolute;right:19px;top:18px;width:36px;height:36px;border-radius:12px}.contact-email-icon svg{width:22px;height:22px}.contact-dialog h3{margin:0 0 10px;font-size:17px}.contact-modal-address{font-size:21px}.contact-modal-actions{margin-top:17px}.contact-copy-status{margin:8px 0 0;min-height:18px}.contact-modal-location{padding-top:7px;font-size:10px}.contact-wechat-heading h3{margin:7px 0 15px}.contact-modal-wechat .wechat-qr{width:min(100%,218px)}.contact-modal-wechat>p{margin-top:12px}}
@media(max-width:360px){.contact-dialog-inner{padding:25px 17px 20px}.contact-dialog h2{font-size:27px}.contact-modal-email,.contact-modal-wechat{padding:18px}.contact-modal-address{font-size:19px}.contact-modal-address>span{font-size:14px}.contact-modal-actions a,.contact-modal-actions button{padding:8px 13px}.contact-email-icon{width:30px;height:30px;right:15px;top:16px}.contact-email-icon svg{width:19px;height:19px}}
@media(prefers-reduced-motion:reduce){.contact-dialog[open]{animation:none}.contact-dialog-close,.navlinks button.contact{transition:none}}
