#estly-concierge{font:16px/1.5 Arial,sans-serif;color:#202b30}#estly-concierge *{box-sizing:border-box}#estly-concierge [hidden]{display:none!important}.ec-launch{position:fixed;right:24px;bottom:24px;z-index:1000;padding:15px 22px;border:0;border-radius:100px;background:#202b30;color:#fff;font:600 16px Arial;box-shadow:0 6px 28px #0003;cursor:pointer}.ec-launch span{color:#ff6338;margin-right:7px}#estly-concierge dialog{padding:0;border:1px solid #e3e7e8;border-radius:22px;width:min(520px,calc(100vw - 28px));max-height:90dvh;overflow:auto;color:#202b30;box-shadow:0 25px 100px #0004}#estly-concierge dialog::backdrop{background:#14212599;backdrop-filter:blur(4px)}#estly-concierge header{background:#202b30;color:#fff;padding:28px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}#estly-concierge h2{margin:8px 0 0;font-size:30px;line-height:1.1;letter-spacing:-1px;color:#fff}.ec-eyebrow{font-size:12px;letter-spacing:2px;color:#ff956f}.ec-close{border:1px solid #ffffff50;background:transparent;color:#fff;width:36px;height:36px;border-radius:50%;font-size:26px;line-height:1;cursor:pointer;flex-shrink:0}.ec-content{padding:24px 28px}.ec-content>p:first-child{margin-top:0}.ec-content label{display:block;font-size:14px;margin:12px 0;color:#202b30}.ec-content label>span{font-weight:400}.ec-content input,.ec-content select,.ec-content textarea{width:100%;padding:11px;margin-top:5px;border:1px solid #c5ced1;border-radius:8px;background:#fff;color:#202b30;font:16px Arial}.ec-content input:focus,.ec-content textarea:focus,.ec-content select:focus{outline:2px solid #ff6338;outline-offset:2px}.ec-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ec-content .ec-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5}.ec-check input{width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:#ed582d}.ec-primary{display:block;width:100%;padding:14px 18px;background:#f75d32;border:0;border-radius:9px;color:white!important;font:600 16px Arial;text-align:center;text-decoration:none;cursor:pointer;margin-top:18px}.ec-primary:disabled{opacity:.6}.ec-content .ec-small{font-size:12px;line-height:1.5;color:#52656e}.ec-content a:not(.ec-primary){color:#a63d20}.ec-trap{position:absolute;left:-10000px}.ec-status{font-size:14px}.ec-questions{display:flex;flex-wrap:wrap;gap:8px}.ec-questions button{border:1px solid #d4dfe3;border-radius:20px;padding:9px 12px;color:#202b30;background:#f4f7f8;cursor:pointer;font:14px Arial}.ec-answer{margin:20px 0;padding:18px;background:#f2f5f6;border-radius:12px}.ec-link{font-size:14px}@media(max-width:520px){.ec-launch{right:14px;bottom:14px}.ec-fields{grid-template-columns:1fr;gap:0}.ec-content{padding:22px}#estly-concierge header{padding:24px}}

.estly-contact-email{display:inline-block;color:#202b30;font-size:clamp(20px,3vw,32px);margin:8px 0 24px;text-underline-offset:6px;overflow-wrap:anywhere}.home-contact .contact-caption{font-size:14px;margin-top:24px}

/* The help panel is nonmodal; the lead-capture invitation remains a separate modal. */
#estly-concierge #ec-help{position:fixed;inset:auto 24px 88px auto;margin:0;width:min(390px,calc(100vw - 28px));max-height:calc(100dvh - 112px);z-index:1001;background:#fff;border-radius:18px;box-shadow:0 14px 55px #13252d30}
#estly-concierge #ec-help header{padding:21px 22px}#estly-concierge #ec-help h2{font-size:24px}#estly-concierge #ec-help .ec-content{padding:20px 22px}#estly-concierge #ec-help .ec-content>p:first-child{font-size:15px}
@media(max-width:520px){#estly-concierge #ec-help{right:14px;bottom:78px;max-height:calc(100dvh - 96px)}}

.owner-contact{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:20px;font-size:16px}.owner-contact a{color:#ac3b1b;text-underline-offset:5px;overflow-wrap:anywhere}

/* Typed conversations use text nodes so replies cannot inject markup. */
#estly-concierge #ec-help{width:min(420px,calc(100% - 28px))}
.ec-messages{margin:18px 0;max-height:260px;min-height:95px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.ec-message{padding:12px 14px;background:#f2f5f6;border-radius:12px;margin:0 0 10px;overflow-wrap:anywhere}
.ec-message>span{font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#63727a}
.ec-message p{font-size:14px;line-height:1.55;white-space:pre-wrap;margin:5px 0 0}
.ec-message.ec-user{background:#fff0e9;margin-left:25px}.ec-message.ec-assistant{margin-right:10px}
#ec-chat-form label{font-size:13px;font-weight:600;margin:0 0 6px}
.ec-composer{display:flex;align-items:stretch;gap:8px}.ec-composer textarea{margin:0;resize:vertical;max-height:120px;min-height:64px;flex:1;min-width:0}
.ec-composer button{border:0;border-radius:9px;background:#f75d32;color:white;padding:12px;font:600 14px Arial;cursor:pointer;align-self:stretch}
.ec-composer button:disabled,.ec-questions button:disabled{opacity:.6;cursor:wait}
#ec-chat-status{min-height:0;margin:7px 0 12px}#ec-chat-status:empty{display:none}
#ec-help .ec-link{display:inline-block;margin-top:12px}
@media(max-height:700px){.ec-messages{max-height:160px}#estly-concierge #ec-help header{padding:14px 18px}#estly-concierge #ec-help .ec-content{padding:15px 18px}}

.ec-chat-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;flex-wrap:wrap}
.ec-chat-actions button{border:1px solid #d7e0e3;border-radius:8px;background:#f3f6f6;color:#243137;padding:11px 12px;font:600 13px Arial;cursor:pointer}
#ec-help .ec-chat-actions .ec-link{margin:0;font-size:13px}
.ec-back{border:0;background:none;padding:0;margin:0 0 18px;color:#58696f;font:14px Arial;cursor:pointer}
#ec-chat-contact h3{font-size:24px;letter-spacing:-.6px;line-height:1.2;color:#202b30;margin:0 0 12px}
.ec-contact-intro{font-size:14px;line-height:1.6;margin:0 0 18px}.ec-contact-intro span{color:#65747a;font-size:12px}
#ec-contact-form label{font-size:13px}#ec-contact-form .ec-check{font-size:12px}
#ec-contact-form .ec-primary{font-size:14px;margin-top:14px}
.ec-contact-success{padding:14px 0 22px;font-size:15px;line-height:1.6}
.ec-success-mark{display:grid;place-items:center;width:48px;height:48px;margin:0 0 20px;border-radius:50%;background:#e9f2ed;color:#35744e;font-size:26px}
