.aiChatLauncher{position:fixed;inset-inline-end:18px;bottom:18px;z-index:45;width:54px;height:54px;min-height:54px;background:#f3fff7;border:1px solid #b6dcca;border-radius:50%;padding:4px;box-shadow:0 6px 22px #003f2522;display:grid;place-items:center;cursor:pointer}.aiChatLauncher img{width:45px;height:45px;object-fit:contain;animation:chatLauncherFloat 7s ease-in-out infinite}.aiChatPanel{position:fixed;bottom:84px;inset-inline-end:18px;z-index:50;width:420px;max-width:calc(100vw - 28px);height:min(610px,calc(100dvh - 110px));background:#f9fffb;border:1px solid #aacdb7;border-radius:21px;box-shadow:0 20px 70px #002e2940;display:flex;flex-direction:column;overflow:hidden;color:#064e36}.aiChatPanel[hidden],.aiChatPanel [hidden]{display:none!important}.aiChatTop{display:flex;align-items:center;gap:10px;padding:15px 16px;background:#006747;color:#f1fff5;flex-shrink:0}.aiChatTop img{width:42px;height:42px;object-fit:contain}.aiChatTop>span{display:flex;flex-direction:column;gap:4px}.aiChatTop b{font-size:16px;line-height:1.2}.aiChatTop small{font-size:11px;color:#c5efd7}.aiChatTop .aiChatClose{margin-inline-start:auto;border:1px solid #b6e8c855;background:transparent;color:white;border-radius:50%;padding:0;height:34px;width:34px;min-height:34px;font-size:24px;line-height:1;cursor:pointer}.aiChatTools{display:flex;justify-content:space-between;align-items:center;padding:10px 13px;border-bottom:1px solid #d6e9de;gap:10px;flex-shrink:0}.aiChatTools>span{display:flex;gap:5px}.aiChatTools button{font:inherit;font-size:11px;padding:7px 9px;min-height:32px;border:1px solid #c5dece;border-radius:100px;background:#f7fffa;color:#2a6850;cursor:pointer}.aiChatTools button[aria-pressed=true]{background:#006747;color:#eafff1;border-color:#006747}.aiChatMessages{flex:1;min-height:0;overflow:auto;padding:18px 16px;display:flex;flex-direction:column;gap:14px;overscroll-behavior:contain;scroll-behavior:smooth}.aiChatWelcome{margin:auto 0;text-align:center;padding:20px 8px}.aiChatWelcome img{width:88px;height:88px;object-fit:contain;display:block;margin:0 auto 16px}.aiChatWelcome strong{font-size:22px;line-height:1.25;display:block}.aiChatWelcome p{font-size:14px;line-height:1.55;color:#5c7c6b}.aiChatMessage{max-width:96%;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;font-size:15px;text-align:start}.aiChatMessage.user{align-self:flex-end;background:#dff4e7;padding:10px 13px;border:1px solid #bcdac8;border-radius:14px 14px 3px 14px;max-width:88%}.aiChatMessage.assistant{align-self:stretch;padding:4px 2px;color:#164f38}.aiChatMessage.pending:after{content:'•••';color:#568f6b;animation:chatThinking 1s infinite}.aiChatConnection{margin:0;padding:9px 16px;font-size:12px;line-height:1.5;color:#597562;text-align:center;background:#edf8f1;flex-shrink:0}.aiChatConnection:empty{display:none}.aiChatComposer{display:flex;align-items:flex-end;gap:8px;border-top:1px solid #d4e7db;padding:12px;margin:0;background:#f7fffa;flex-shrink:0}.aiChatComposer textarea{flex:1;min-width:0;max-height:110px;min-height:47px;margin:0;border:1px solid #b4d3c0;border-radius:11px;padding:11px;font:inherit;font-size:16px;line-height:1.4;color:#174d36;background:white;resize:none;outline-offset:2px}.aiChatComposer textarea:focus{outline:2px solid #2a9d63}.aiChatComposer textarea:disabled{background:#edf5ef;color:#729080;opacity:1}.aiChatComposer button{font:inherit;font-size:13px;font-weight:700;min-height:46px;padding:10px 13px;border:1px solid #006747;border-radius:10px;background:#006747;color:#effff4;cursor:pointer}.aiChatComposer button:disabled{opacity:.4;cursor:default}.aiChatPanel button:focus-visible,.aiChatLauncher:focus-visible{outline:3px solid #55c985;outline-offset:3px}.aiChatPanel[dir=rtl] .aiChatMessage.user{border-radius:14px 14px 14px 3px}@keyframes chatLauncherFloat{50%{transform:translateY(-2px) rotate(-5deg)}}@keyframes chatThinking{50%{opacity:.4}}@media(max-width:650px){.aiChatPanel{bottom:76px;inset-inline-end:12px;height:min(580px,calc(100dvh - 96px));border-radius:17px}.aiChatLauncher{inset-inline-end:12px;bottom:16px;width:48px;height:48px;min-height:48px}.aiChatLauncher img{width:40px;height:40px}.aiChatTop{padding:12px}.aiChatTools{padding:8px 11px}.aiChatMessage{font-size:15px}.aiChatMessages{padding:15px 13px}}@media(prefers-reduced-motion:reduce){.aiChatPanel *,.aiChatLauncher *{animation:none!important;scroll-behavior:auto}}
/* Voice messages: clear recording controls and native accessible playback. */
.aiChatComposer .aiChatMic{display:grid;place-items:center;width:44px;min-width:44px;padding:8px;border-radius:50%;background:#e2f6e9;color:#006747;border-color:#9bcbad}
.aiVoiceRecording{display:flex;align-items:center;gap:9px;padding:14px 12px;border-top:1px solid #c5dfce;background:#eefbf3;flex-shrink:0}
.aiVoiceRecording button{font:inherit;font-size:14px;padding:10px 11px;min-height:44px;border-radius:10px;border:1px solid #b1d3bd;color:#006747;background:white;cursor:pointer}
.aiVoiceRecording .aiVoiceSend{margin-inline-start:auto;background:#006747;color:white;border-color:#006747}
.aiVoicePulse{width:10px;height:10px;border-radius:50%;background:#b83342;animation:voicePulse 1s ease-in-out infinite}
.aiVoiceTimer{font-size:15px;font-variant-numeric:tabular-nums;min-width:34px}
.aiVoiceFooter{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:8px 12px;background:#f7fffa;color:#547260;flex-shrink:0;border-top:1px solid #e0eee5}
.aiVoiceFooter>span{font-size:12px;line-height:1.4;max-width:55%}
.aiVoiceToggle{font:inherit;font-size:12px;min-height:34px;padding:6px 8px;background:transparent;border:1px solid #b8d6c3;color:#006747;border-radius:20px;cursor:pointer}
.aiChatMessage audio{display:block;width:100%;max-width:100%;height:40px;margin-top:10px}
@keyframes voicePulse{50%{opacity:.4;transform:scale(.8)}}
@media(max-width:400px){.aiChatComposer{gap:5px;padding:9px}.aiChatComposer button{padding:8px}.aiChatComposer .aiChatMic{min-width:40px;width:40px}.aiVoiceRecording{gap:6px}.aiVoiceRecording button{font-size:13px;padding:8px}.aiVoiceFooter>span{font-size:12px}}

.aiVoiceBrowserNotice{padding:12px 14px;background:#e3f4e9;border-bottom:1px solid #b9d8c4;flex-shrink:0}.aiVoiceBrowserNotice p{font-size:14px;line-height:1.5;margin:0 0 8px}.aiVoiceBrowserNotice a{display:inline-block;padding:8px 12px;background:#006747;color:white;border-radius:8px;font-size:14px;text-decoration:none}

.aiChatHelp{display:flex;flex-wrap:wrap;gap:8px 16px;padding:8px 14px;background:#f3faf5;border-top:1px solid #d4e7db;font-size:12px;flex-shrink:0}.aiChatHelp a{color:#006747;text-underline-offset:3px}.aiChatHelp small{flex-basis:100%;color:#5a7566;font-size:10px}.aiChatClosedNotice{position:fixed;z-index:9999;bottom:80px;inset-inline-end:18px;max-width:min(350px,90vw);padding:18px;background:#f1fff5;color:#164f38;border:1px solid #a9d5bc;border-radius:16px;box-shadow:0 8px 30px #00372326;font-size:14px}

.privacyContent{padding-bottom:70px;max-width:850px}.privacyContent article{margin:0 0 32px}.privacyContent h2{font-size:24px}.privacyContent p{font-size:16px;line-height:1.8;color:#426a56}

.aiLeadForm{flex:1;min-height:0;overflow-y:auto;padding:20px;margin:0;animation:leadReveal .35s ease-out}.aiLeadForm h2{font-size:23px;margin:0 0 8px}.aiLeadForm p{font-size:13px;line-height:1.5;margin:0 0 14px;color:#567462}.aiLeadForm label{display:block;margin:0 0 12px;font-size:13px}.aiLeadForm label>span{display:block;margin-bottom:5px}.aiLeadForm input:not([type=checkbox]){display:block;width:100%;box-sizing:border-box;min-height:43px;padding:10px 12px;background:white;border:1px solid #b8d5c4;border-radius:10px;font:inherit;font-size:16px;color:#164f38}.aiLeadForm input:focus-visible{outline:2px solid #26976b;outline-offset:2px}.aiLeadForm .aiLeadConsent{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.5}.aiLeadConsent input{margin-top:3px;width:17px;height:17px;accent-color:#006747;flex-shrink:0}.aiLeadConsent a{color:#006747;text-underline-offset:3px}.aiLeadForm button{width:100%;min-height:46px;border:0;border-radius:12px;background:#006747;color:white;font:inherit;font-weight:700;cursor:pointer}.aiLeadForm button:disabled{opacity:.5}.aiLeadForm .aiLeadError{color:#a02f36}.aiLeadForm label:focus-within span{color:#007b52}@keyframes leadReveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* Compact registration, scoped against page-wide form/heading styles. */
.aiChatPanel.aiLeadMode{height:min(560px,calc(100dvh - 96px))}
.aiChatPanel.aiLeadMode .aiChatTools{justify-content:flex-end;padding:7px 14px}
.aiChatPanel .aiLeadForm{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:start;gap:10px 12px;box-sizing:border-box;width:100%;padding:16px;flex:1;min-height:0;overflow:auto;background:#f9fffb;text-align:start}
.aiChatPanel .aiLeadForm h2{grid-column:1/-1;font-size:21px!important;line-height:1.2!important;letter-spacing:-.4px;margin:0!important;padding:0}
.aiChatPanel .aiLeadForm>p{grid-column:1/-1;font-size:12px!important;line-height:1.45!important;margin:0!important;padding:0;color:#567462}
.aiChatPanel .aiLeadForm>label{margin:0!important;min-width:0;font-size:12px;line-height:1.3}
.aiChatPanel .aiLeadForm>label:nth-of-type(n+3){grid-column:1/-1}
.aiChatPanel .aiLeadForm label>span{font-size:12px;line-height:1.4;margin:0 0 4px}
.aiChatPanel .aiLeadForm input:not([type=checkbox]){height:42px;min-height:42px;max-width:100%;margin:0;padding:9px 10px;font-size:16px;line-height:22px;border-radius:9px}
.aiChatPanel .aiLeadForm .aiLeadConsent{grid-column:1/-1;gap:8px;align-items:flex-start;margin:2px 0!important}
.aiChatPanel .aiLeadForm .aiLeadConsent span{font-size:11px;line-height:1.45;margin:0}
.aiChatPanel .aiLeadForm .aiLeadConsent input{padding:0;margin:2px 0 0;min-height:17px;width:17px;height:17px}
.aiChatPanel .aiLeadForm .aiLeadError:empty{display:none}
.aiChatPanel .aiLeadForm>button{grid-column:1/-1;min-height:44px;height:44px;margin:0;padding:10px;font-size:14px;line-height:22px}
@media(max-height:650px){.aiChatPanel.aiLeadMode{bottom:12px;height:calc(100dvh - 24px)}.aiChatPanel.aiLeadMode .aiChatTop{padding:9px 12px}.aiChatPanel .aiLeadForm{padding:12px;gap:8px 10px}}
