[data-chat-open][hidden]{display:none!important}
.chat-launch{position:fixed;right:24px;bottom:24px;z-index:40;display:flex;align-items:center;gap:10px;padding:13px 18px;border:1px solid #ffffff35;border-radius:8px;background:#22271f;color:#f8f5ec;box-shadow:0 5px 25px #0002;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer}
.chat-launch svg{width:20px;height:20px}.chat-launch:hover{background:#35402b;transform:translateY(-2px)}
.chat-dialog{position:fixed;inset:0;margin:auto;width:min(530px,calc(100vw - 24px));max-height:min(790px,calc(100dvh - 28px));padding:0;border:1px solid #d3d7c8;border-radius:18px;background:#f8f7f1;color:#22271f;box-shadow:0 24px 100px #0005;overflow:hidden}
.chat-dialog::backdrop{background:#11170ed9;backdrop-filter:blur(5px)}
.chat-shell{display:flex;flex-direction:column;max-height:min(788px,calc(100dvh - 30px))}
.chat-head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;background:#20261d;color:#f8f7f1;flex-shrink:0}
.chat-head h2{font-family:inherit;font-size:23px;line-height:1.2;font-weight:500;margin:0}.chat-head p{font-size:12px;margin:7px 0 0;opacity:.7}.chat-close{border:1px solid #ffffff40;background:transparent;color:inherit;border-radius:50%;width:36px;height:36px;font-size:24px;cursor:pointer}
.chat-log{min-height:120px;overflow-y:auto;padding:22px 24px 8px;overscroll-behavior:contain;flex:1}
.chat-message{font-size:15px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 22px 18px 0;padding:0}.chat-message.user{background:#e6ebdb;border-radius:12px 12px 2px 12px;margin:0 0 18px 22px;padding:12px 15px}.chat-message.assistant{border-left:2px solid #8c9d64;padding-left:14px}
.chat-prompts{display:flex;flex-wrap:wrap;gap:7px;padding:0 24px 12px}.chat-prompts button{border:1px solid #cbd1bf;border-radius:30px;background:none;padding:8px 12px;font-size:12px;cursor:pointer;color:inherit}.chat-prompts button:disabled{display:none}
.chat-compose{display:flex;align-items:flex-end;gap:8px;margin:0 24px;padding:9px;border:1px solid #a7b09a;border-radius:12px;background:#fff}.chat-compose textarea{resize:none;width:100%;min-height:0;height:60px;max-height:100px;border:0;background:transparent;padding:5px;font:inherit;font-size:15px;line-height:1.4;color:inherit}.chat-compose textarea:focus{outline:0}.chat-compose:focus-within{outline:2px solid #688049;outline-offset:2px}.chat-compose button[type="submit"]{flex-shrink:0;border:0;border-radius:7px;background:#25331e;color:#fff;width:40px;height:40px;font-size:22px;cursor:pointer}.chat-compose button[type="submit"]:disabled{opacity:.4}
.chat-status{padding:0 24px;min-height:18px;font-size:12px;line-height:1.5;margin:7px 0}
.chat-foot{padding:8px 24px 20px;flex-shrink:0}.chat-brief{width:100%;background:#d5eea6;border:1px solid #becf9e;border-radius:8px;padding:12px;font:inherit;font-size:14px;font-weight:600;cursor:pointer}.chat-brief:disabled{opacity:.55;cursor:default}.chat-foot p{font-size:11px;line-height:1.5;color:#5b6353;margin:10px 0 0}.chat-foot a{text-decoration:underline}
@media(max-width:540px){.chat-launch{right:14px;bottom:14px;padding:12px 15px}.chat-head{padding:18px}.chat-log{padding:18px 18px 5px}.chat-prompts{padding:0 18px 10px}.chat-compose{margin:0 18px}.chat-foot{padding:7px 18px 15px}.chat-status{padding:0 18px}.chat-head h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){.chat-launch:hover{transform:none}}

.chat-shell [hidden]{display:none!important}.lead-flow{overflow-y:auto;min-height:0;padding:20px 24px;overscroll-behavior:contain}.lead-progress{font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:18px}.lead-form fieldset{padding:0;margin:0;border:0}.lead-form legend{font-size:21px;line-height:1.25;margin-bottom:12px;font-weight:600}.lead-form p{font-size:13px;line-height:1.5;margin:0 0 18px}.lead-form label{display:block;font-size:13px;margin:0 0 15px;color:#293323}.lead-form label span{font-weight:400}.lead-form input,.lead-form select,.lead-form textarea{display:block;width:100%;min-height:0;background:#fff;border:1px solid #b9c2ae;border-radius:7px;padding:11px;margin-top:7px;color:#20261d;font:inherit;font-size:16px;box-sizing:border-box}.lead-form textarea{height:130px;resize:vertical}.lead-form .lead-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5}.lead-consent input{width:18px;height:18px;flex-shrink:0;margin-top:3px}.lead-actions{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.lead-actions button{padding:12px;border-radius:7px;border:1px solid #a7b496;background:#e4eccf;color:#20261d;font:inherit;font-size:14px;cursor:pointer}.lead-actions button:disabled{opacity:.5;cursor:default}.lead-actions .lead-next{background:#d5eea6;font-weight:600}.lead-review{font:inherit;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;border-left:2px solid #9ba77e;padding-left:12px;margin-bottom:20px}.lead-form .lead-status{margin-top:16px;font-size:14px;line-height:1.6}.lead-flow:focus-within{scroll-behavior:auto}@media(max-width:540px){.lead-flow{padding:18px}}

.lead-form .honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

/* A visible response to sending, without pretending a human is typing. */
.chat-dialog[open]{animation:chat-open .24s cubic-bezier(.2,.8,.2,1)}
.chat-arrival{animation:chat-arrive .28s ease-out both}
.chat-thinking{display:flex;align-items:center;gap:12px;margin:4px 20px 20px 0;padding:15px 17px;border:1px solid #e0e5d6;border-radius:4px 16px 16px;background:linear-gradient(120deg,#f0f3e9,#e7eddc);animation:chat-arrive .28s ease-out both;min-height:70px}
.chat-thinking-mark{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#d6e2be;color:#34452b;font-size:30px;line-height:1;animation:chat-breathe 2.4s ease-in-out infinite}
.chat-thinking-body{display:flex;flex-direction:column;gap:10px}.chat-thinking-label{font-size:12px;line-height:1.4;color:#526046}.chat-thinking-dots{display:flex;align-items:center;gap:5px;height:8px}.chat-thinking-dots i{width:5px;height:5px;border-radius:50%;background:#6c8052;animation:chat-dot 1.4s ease-in-out infinite}.chat-thinking-dots i:nth-child(2){animation-delay:.16s}.chat-thinking-dots i:nth-child(3){animation-delay:.32s}
.chat-compose{transition:border-color .2s,box-shadow .2s}.chat-is-thinking .chat-compose{border-color:#a7b98e;box-shadow:0 0 0 3px #cbdab51a}.chat-is-thinking .chat-compose button[type="submit"]{position:relative;color:transparent;opacity:1;background:#e9eedf}.chat-is-thinking .chat-compose button[type="submit"]::after{content:'';position:absolute;inset:12px;border:2px solid #bdc9ac;border-top-color:#536e39;border-radius:50%;animation:chat-spin 1.1s linear infinite}
.chat-status.chat-status-quiet{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.lead-status{overflow-wrap:anywhere}
@keyframes chat-dot{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}
@keyframes chat-breathe{0%,100%{transform:scale(.95);opacity:.7}50%{transform:scale(1.05);opacity:1}}
@keyframes chat-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes chat-open{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes chat-spin{to{transform:rotate(360deg)}}
.motion-off .chat-dialog,.motion-off .chat-arrival,.motion-off .chat-thinking,.motion-off .chat-thinking-mark,.motion-off .chat-thinking-dots i,.motion-off .chat-compose button[type="submit"]::after{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){html:not(.chat-motion-enabled) .chat-dialog,html:not(.chat-motion-enabled) .chat-arrival,html:not(.chat-motion-enabled) .chat-thinking,html:not(.chat-motion-enabled) .chat-thinking-mark,html:not(.chat-motion-enabled) .chat-thinking-dots i,html:not(.chat-motion-enabled) .chat-compose button[type="submit"]::after{animation:none!important;transition:none!important}}

/* Explicit Motion:on overrides the site's universal OS-reduction rule for chat. */
html.chat-motion-enabled:not(.motion-off) .chat-thinking-dots i{animation:chat-dot 1.4s ease-in-out infinite!important}
html.chat-motion-enabled:not(.motion-off) .chat-thinking-dots i:nth-child(2){animation-delay:.16s!important}
html.chat-motion-enabled:not(.motion-off) .chat-thinking-dots i:nth-child(3){animation-delay:.32s!important}
html.chat-motion-enabled:not(.motion-off) .chat-thinking-mark{animation:chat-breathe 2.4s ease-in-out infinite!important}
html.chat-motion-enabled:not(.motion-off) .chat-is-thinking .chat-compose button[type="submit"]::after{animation:chat-spin 1.1s linear infinite!important}
html.chat-motion-enabled:not(.motion-off) .chat-arrival,html.chat-motion-enabled:not(.motion-off) .chat-thinking{animation:chat-arrive .28s ease-out both!important}
html.chat-motion-enabled:not(.motion-off) .chat-dialog[open]{animation:chat-open .24s cubic-bezier(.2,.8,.2,1)!important}

/* Editable reply shortcuts sit inside the composer. */
.chat-identity{display:flex;align-items:center;gap:12px;min-width:0}.chat-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid #d5eea6;flex-shrink:0}.chat-close{flex-shrink:0;margin-left:10px}
.chat-compose{flex-direction:column;align-items:stretch;flex-shrink:0}.chat-compose-row{display:flex;align-items:flex-end;gap:8px}.chat-compose textarea{min-width:0}
.chat-suggestions{padding:3px 4px 8px;border-bottom:1px solid #e8ecdf}.chat-suggestion-label{display:block;font-size:11px;line-height:1.4;color:#647157;margin-bottom:8px}.chat-options{display:flex;flex-wrap:wrap;gap:6px}.chat-options button{border:1px solid #cbd8b8;border-radius:18px;background:#f1f6e8;color:#34432a;font:inherit;font-size:12px;line-height:1.3;padding:8px 11px;cursor:pointer;text-align:left}.chat-options button:hover{background:#dfeecc;border-color:#819b5c}.chat-options button:focus-visible{outline:2px solid #688049;outline-offset:2px}
@media(max-width:540px){.chat-identity{gap:9px}.chat-avatar{width:44px;height:44px}.chat-head h2{font-size:19px}.chat-head p{font-size:10px}.chat-head{padding:16px}.chat-compose textarea{height:52px}}
/* The brief is visible from the first moment; chat stays alongside it. */
.chat-dialog{width:min(1040px,calc(100vw - 24px));height:min(820px,calc(100dvh - 28px));max-height:calc(100dvh - 28px)}
.chat-shell{height:100%;max-height:none}.chat-workspace{display:grid;grid-template-columns:1.08fr 1fr;min-height:0;flex:1}.chat-conversation{display:flex;flex-direction:column;min-height:0;min-width:0;background:#f0f3e9;border-left:1px solid #d8dfcc}.chat-pane-title{margin:0;padding:18px 24px 0;font-size:12px;font-weight:600;color:#5b694d}.chat-conversation .chat-log{min-height:70px}.chat-conversation .chat-foot{padding-top:0}.chat-conversation .chat-foot p{margin-top:0}.lead-flow{min-height:0;overflow-y:auto;padding:22px 26px;scrollbar-gutter:stable}.lead-progress{font-size:11px;letter-spacing:.08em;color:#667652}.lead-form fieldset{margin-bottom:24px}.lead-form fieldset+fieldset{border-top:1px solid #dce1d2;padding-top:22px}.lead-form legend{font-size:20px;padding:0}.lead-form label{margin-bottom:12px}.lead-form textarea{height:105px}.lead-actions{position:sticky;bottom:-22px;padding:12px 0 20px;background:#f8f7f1;margin:0;z-index:1}.lead-next{flex:1}.lead-form .lead-status:empty{display:none}.chat-conversation .chat-status:empty{min-height:0;margin:5px 0}
@media(max-width:700px){.chat-dialog{width:calc(100vw - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px)}.chat-head{padding:12px 16px}.chat-workspace{grid-template-columns:1fr;grid-template-rows:minmax(170px,1fr) minmax(245px,.95fr)}.lead-flow{padding:16px 18px}.lead-actions{bottom:-16px;padding-bottom:12px}.chat-conversation{border-left:0;border-top:1px solid #d0d9c0}.chat-pane-title{padding:8px 18px 0;font-size:11px}.chat-conversation .chat-log{padding:10px 18px 0;min-height:42px}.chat-conversation .chat-message{font-size:13px;line-height:1.45;margin-bottom:12px}.chat-conversation .chat-compose{margin:0 14px;padding:6px;gap:4px}.chat-conversation .chat-compose textarea{height:38px;font-size:16px}.chat-suggestion-label{margin-bottom:5px}.chat-options{flex-wrap:nowrap;overflow-x:auto;padding:2px 1px 5px}.chat-options button{white-space:nowrap;flex-shrink:0;padding:7px 9px}.chat-conversation .chat-foot{padding:4px 16px 8px}.chat-conversation .chat-foot p{font-size:10px}.chat-conversation .chat-suggestions{padding-bottom:2px}.chat-conversation .chat-status{font-size:11px;margin:3px 0;min-height:0}.chat-conversation .chat-thinking{min-height:48px;padding:9px 12px;margin-bottom:10px}}
@media(max-height:550px) and (max-width:700px){.chat-workspace{overflow-y:auto;display:block}.lead-flow{height:220px}.chat-conversation{height:270px}}
