.ll-contact-launcher{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:70;display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 20px;border:1px solid #b59155;border-radius:32px;background:linear-gradient(135deg,#c7a670,#cba96c);color:#3f3429;box-shadow:0 6px 24px #4a3f3526;cursor:pointer;font:600 14px/1.2 Montserrat,sans-serif;transition:transform .2s,box-shadow .2s}
.ll-contact-launcher:hover{transform:translateY(-3px);box-shadow:0 9px 28px #4a3f3533}.ll-contact-launcher svg{width:25px;height:25px}.ll-contact-launcher:focus-visible,.ll-channel:focus-visible,.ll-wechat-panel :focus-visible{outline:3px solid #7a5a2b;outline-offset:4px}
#contact-dialog,#wechat-dialog{width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #d7c5a7;border-radius:22px;background:#f5f2ed;overflow:auto;overscroll-behavior:contain;color:#4a3f35}
#contact-dialog .modal-close,#wechat-dialog .modal-close{position:absolute;top:12px;right:12px;width:44px;height:44px;min-width:44px;min-height:44px;font-size:28px;background:#fdfdfb;color:#4a3f35;border:1px solid #d7c5a7;border-radius:50%;z-index:2}
.ll-contact-panel,.ll-wechat-panel{padding:42px 28px 24px}.ll-contact-panel h2,.ll-wechat-panel h2{margin:12px 0;font:400 38px/1.15 'Playfair Display',serif;letter-spacing:-.025em}.ll-contact-panel>p,.ll-wechat-panel>p{font:400 14px/1.65 Montserrat,sans-serif;color:#64564b}.ll-contact-panel .eyebrow{padding-right:32px}.ll-contact-channels{display:grid;gap:9px;margin-top:24px}.ll-channel{display:flex;align-items:center;gap:13px;width:100%;min-height:66px;padding:11px 15px;border:1px solid #d7c5a7;border-radius:13px;background:#fdfdfb;color:#4a3f35;text-align:left;cursor:pointer;text-decoration:none;font:500 14px/1.4 Montserrat,sans-serif;transition:border-color .2s,background .2s}.ll-channel:hover{border-color:#a98750;background:#f9f8f4;color:#4a3f35}.ll-channel--whatsapp{background:#c7a670;border-color:#b59155;color:#3f3429}.ll-channel--whatsapp:hover{background:#cba96c}.ll-channel-icon{display:grid;place-items:center;flex-shrink:0;width:35px;height:35px;border:1px solid #c7a6706b;border-radius:50%}.ll-channel--whatsapp .ll-channel-icon{border-color:#7a5a2b66}.ll-channel-copy{display:grid;gap:2px;min-width:0}.ll-channel-copy strong{font-weight:600;font-size:14px}.ll-channel-copy small{font-size:14px;overflow-wrap:anywhere;color:inherit}.ll-channel-arrow{margin-left:auto}.ll-contact-panel .ll-contact-address{margin:20px 0 0;font-size:14px}.ll-contact-inline{display:grid;grid-template-columns:1fr 1fr;gap:9px}.ll-contact-inline>.full{grid-column:1/-1}.ll-channel--compact{justify-content:center;min-height:48px;padding:8px 10px;gap:8px}.ll-channel--compact .ll-channel-icon{width:24px;height:24px;border:0}.ll-channel--compact .ll-channel-icon svg{width:19px;height:19px}.ll-wechat-symbol{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid #c7a670;background:#fdfdfb}.ll-wechat-panel label{display:block;margin:22px 0 7px;font:500 14px/1.5 Montserrat,sans-serif}.ll-wechat-id{display:block;width:100%;min-height:48px;padding:12px;border:1px solid #c7a670;border-radius:9px;background:#fff;color:#4a3f35;font:600 16px/1.4 Montserrat,sans-serif;user-select:all}.ll-wechat-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.ll-wechat-actions .btn{font-size:14px;min-height:48px;flex:1 1 150px;justify-content:center}.ll-wechat-status{min-height:24px}
@media(max-width:760px){.ll-contact-launcher{right:16px;bottom:calc(94px + env(safe-area-inset-bottom));min-width:52px;min-height:52px;padding:0 14px;gap:7px}.ll-contact-launcher span{display:none}.ll-contact-panel,.ll-wechat-panel{padding:38px 20px 20px}.ll-contact-panel h2,.ll-wechat-panel h2{font-size:34px}.ll-channel{min-height:62px}.ll-contact-inline .ll-channel{min-height:48px}.ll-contact-panel .eyebrow{font-size:11px}}
@media(prefers-reduced-motion:reduce){.ll-contact-launcher,.ll-channel{transition:none}.ll-contact-launcher:hover{transform:none}}

/* Local Font Awesome vectors retain their native viewBox proportions. */
.ll-contact-icon{display:block;flex:none;fill:currentColor;stroke:none;overflow:visible}
.ll-channel-icon>.ll-contact-icon{width:22px;height:22px}
.ll-channel--compact .ll-channel-icon>.ll-contact-icon{width:19px;height:19px}
.ll-contact-launcher>.ll-contact-icon{width:25px;height:25px}
.ll-wechat-symbol>.ll-contact-icon{width:27px;height:27px}
@media(min-width:761px){.ll-contact-panel{padding-top:38px;padding-bottom:20px}.ll-contact-channels{gap:6px;margin-top:20px}.ll-contact-panel .ll-contact-address{margin-top:16px}}
.ll-channel-arrow{display:grid;place-items:center;width:18px;height:18px;flex:none}
.ll-channel-arrow>.ll-icon{display:block;width:18px;height:18px}
@media(max-width:520px){.ll-contact-panel .ll-channel{gap:9px;padding-inline:12px}.ll-contact-panel .ll-channel-icon{width:32px;height:32px}.ll-contact-panel .ll-channel-arrow,.ll-contact-panel .ll-channel-arrow>.ll-icon{width:16px;height:16px}}
