/* One component family; all visual rules are scoped to the assistant. */
[data-energy-brand="bio"]{--ea-accent:#d6bf86;--ea-glow:rgba(214,191,134,.28);--ea-panel:#08251c;--ea-field:#061a14;--ea-line:rgba(214,191,134,.26);--ea-text:#edf2e7;--ea-muted:#b5c6b5;--ea-soft:#143b2b;--ea-ring:#e2ce98}
[data-energy-brand="dhg"]{--ea-accent:#54cce9;--ea-glow:rgba(84,204,233,.26);--ea-panel:#091d2d;--ea-field:#061522;--ea-line:rgba(84,204,233,.25);--ea-text:#eaf2f8;--ea-muted:#a3bdce;--ea-soft:#102d44;--ea-ring:#8ce6ff}
#openAssistant{position:fixed;right:22px;bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:85;width:52px;height:52px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;background:transparent;box-shadow:none;cursor:pointer;color:var(--ea-accent);transition:filter .3s ease,transform .3s ease}
#openAssistant:hover{background:transparent;transform:translateY(-2px);filter:brightness(1.15)}
#openAssistant:focus-visible{outline:2px solid var(--ea-accent);outline-offset:7px}
#openAssistant .energyOrb{width:48px;height:48px}
.energyOrb{position:relative;display:inline-grid;place-items:center;width:40px;height:40px;flex:none;border:1px solid var(--ea-ring);border-radius:50%;background:radial-gradient(circle at 32% 23%,#ffffff30 0,transparent 31%),radial-gradient(circle at 50% 55%,var(--ea-soft),var(--ea-field) 70%);box-shadow:inset 0 0 7px var(--ea-glow),0 0 9px var(--ea-glow);color:var(--ea-accent);isolation:isolate;overflow:visible}
.energyOrb:before,.energyOrb:after{content:"";position:absolute;inset:-3px;border-radius:50%;pointer-events:none;border:1px solid transparent;border-top-color:var(--ea-ring);border-bottom-color:var(--ea-accent);opacity:.55}
.energyOrb:after{inset:3px;border-top-color:transparent;border-bottom-color:transparent;border-left-color:var(--ea-ring);transform:rotate(-32deg);opacity:.25}
.energyOrb svg{width:22px;height:27px;fill:currentColor;filter:drop-shadow(0 0 3px var(--ea-glow))}.energyOrb .orbMonogram{font-family:Arial,system-ui,sans-serif;font-size:10px;font-weight:800;letter-spacing:-.07em;color:#edf8ff}
#assistantDialog{position:fixed;inset:auto 20px calc(89px + env(safe-area-inset-bottom,0px)) auto;width:min(408px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 115px);margin:0;padding:0;background:var(--ea-panel);color:var(--ea-text);border:1px solid var(--ea-line);border-radius:20px;box-shadow:0 20px 70px #0007;overflow:auto;font-family:Inter,Arial,system-ui,sans-serif;text-align:left;line-height:1.5;letter-spacing:normal;z-index:100;overscroll-behavior:contain;opacity:0;transform:translateY(12px) scale(.985);transform-origin:bottom right;transition:opacity .22s ease,transform .22s cubic-bezier(.2,.8,.2,1)}
#assistantDialog[open].is-open{opacity:1;transform:translateY(0) scale(1)}#assistantDialog[open].is-closing{opacity:0;transform:translateY(9px) scale(.99)}
#assistantDialog::backdrop{background:transparent;backdrop-filter:none}
#assistantDialog *,#openAssistant *{box-sizing:border-box}
#assistantDialog [hidden]{display:none!important}
#assistantDialog .assistantHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 21px 17px;background:transparent;border-bottom:1px solid var(--ea-line);position:relative}
#assistantDialog .energyIdentity{display:flex;align-items:center;gap:12px}
#assistantDialog .assistantHeader h2{font-size:21px;font-weight:500;line-height:1.2;letter-spacing:-.035em;color:var(--ea-text);margin:0 0 4px;padding:0;text-transform:none}
#assistantDialog .assistantHeader p{font-size:10px;line-height:1.5;letter-spacing:.04em;margin:0;color:var(--ea-accent)}
#assistantDialog #closeAssistant{border:0;background:transparent;box-shadow:none;color:var(--ea-muted);border-radius:50%;width:32px;height:32px;flex:none;padding:0;font:25px/1 Arial,sans-serif;cursor:pointer;align-self:center}
#assistantDialog #closeAssistant:hover{background:var(--ea-soft);color:var(--ea-text)}
#assistantDialog #assistantIntake{padding:20px 22px 18px}
#assistantDialog .energyGreeting{color:var(--ea-text);font:400 14px/1.65 Inter,Arial,system-ui,sans-serif;margin:0 0 23px;letter-spacing:0}
#assistantDialog #assistantLeadForm{margin:0;padding:0}
#assistantDialog #assistantLeadForm>label:first-child{display:block;font-size:12px;line-height:1.5;font-weight:500;letter-spacing:0;color:var(--ea-muted);margin:0 0 8px;text-transform:none}
#assistantDialog .assistantEmailRow{display:flex;gap:9px;align-items:stretch}
#assistantDialog #assistantEmail{flex:1;min-width:0;width:100%;height:46px;margin:0;padding:11px 13px;background:var(--ea-field);color:var(--ea-text);border:1px solid var(--ea-line);border-radius:10px;font:16px/1.4 Inter,Arial,system-ui,sans-serif;box-shadow:none}
#assistantDialog #startAssistant,#assistantDialog #assistantSend{display:grid;place-items:center;flex:none;width:44px;height:44px;margin:1px 0;padding:0;border:0;border-radius:50%;background:var(--ea-accent);color:var(--ea-field);font:25px/1 Arial,sans-serif;box-shadow:none;cursor:pointer;transform:none}
#assistantDialog #assistantEmail::placeholder,#assistantDialog #assistantInput::placeholder{color:var(--ea-muted);opacity:.7}
#assistantDialog #assistantSecurity{min-height:0;margin:0}#assistantDialog #assistantSecurity.needsInteraction{margin-top:12px}
#assistantDialog .assistantPrivacy{font:10px/1.6 Inter,Arial,system-ui,sans-serif;color:var(--ea-muted);margin:12px 0 0;letter-spacing:0}
#assistantDialog #assistantLeadStatus,#assistantDialog #assistantChatStatus{font:11px/1.6 Inter,Arial,system-ui,sans-serif;letter-spacing:0;color:var(--ea-accent);margin:10px 0 0}#assistantDialog #assistantLeadStatus:empty{margin:0}
#assistantDialog .recordingBanner{display:block;background:transparent;border-bottom:1px solid var(--ea-line);font:9px/1.5 Inter,Arial,system-ui,sans-serif;color:var(--ea-muted);margin:0;padding:10px 21px;letter-spacing:.01em}#assistantDialog .recordingBanner span{color:var(--ea-accent);margin-right:6px}
#assistantDialog #assistantMessages{display:flex;flex-direction:column;gap:0;padding:7px 22px 4px;min-height:70px;max-height:260px;overflow:auto;overscroll-behavior:contain}
#assistantDialog .assistantBubble{max-width:100%;align-self:stretch;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--ea-text);white-space:pre-wrap;overflow-wrap:anywhere;font:400 13px/1.65 Inter,Arial,system-ui,sans-serif;margin:0;padding:15px 0;letter-spacing:0}
#assistantDialog .assistantBubble+.assistantBubble{border-top:1px solid var(--ea-line)}#assistantDialog .assistantBubble.visitor{color:var(--ea-muted);padding-left:12px;border-left:1px solid var(--ea-line)}
#assistantDialog .assistantSuggestions{display:flex;flex-wrap:wrap;gap:7px;padding:7px 22px 8px;margin:0}
#assistantDialog .assistantSuggestions button{flex:1 1 auto;border:1px solid var(--ea-line);border-radius:20px;padding:8px 11px;background:transparent;color:var(--ea-muted);font:11px/1.4 Inter,Arial,system-ui,sans-serif;letter-spacing:0;box-shadow:none;cursor:pointer;transition:background .2s ease,color .2s ease}
#assistantDialog .assistantSuggestions button:hover{background:var(--ea-soft);color:var(--ea-text)}
#assistantDialog #assistantChatStatus{padding:0 22px;margin:0;min-height:0}#assistantDialog #assistantChatStatus:not(:empty){padding-top:7px}
#assistantDialog #assistantMessageForm{display:flex;align-items:flex-end;gap:9px;padding:0;margin:13px 20px 10px}
#assistantDialog #assistantInput{display:block;flex:1;min-width:0;min-height:46px;max-height:120px;padding:12px 13px;margin:0;resize:vertical;box-shadow:none;background:var(--ea-field);border:1px solid var(--ea-line);border-radius:12px;color:var(--ea-text);font:16px/1.4 Inter,Arial,system-ui,sans-serif}
#assistantDialog input:focus-visible,#assistantDialog textarea:focus-visible,#assistantDialog button:focus-visible,#assistantDialog a:focus-visible{outline:2px solid var(--ea-accent);outline-offset:3px}
#assistantDialog .assistantFootnote{font:9px/1.5 Inter,Arial,system-ui,sans-serif;color:var(--ea-muted);margin:0 22px 15px;letter-spacing:0}
#assistantDialog .assistantContactFallback{display:block;border-top:1px solid var(--ea-line);color:var(--ea-muted);background:transparent;padding:13px 22px;font:10px/1.5 Inter,Arial,system-ui,sans-serif;text-transform:none;letter-spacing:0;text-decoration:none}
#assistantDialog .assistantContactFallback:hover{color:var(--ea-accent)}#assistantDialog button:disabled{opacity:.5;cursor:wait}
#assistantDialog .visuallyHidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){#openAssistant{right:17px;bottom:calc(17px + env(safe-area-inset-bottom,0px));width:48px;height:48px}#openAssistant .energyOrb{width:44px;height:44px}#assistantDialog{right:12px;left:auto;bottom:calc(80px + env(safe-area-inset-bottom,0px));width:calc(100vw - 24px);max-height:calc(100dvh - 98px);border-radius:18px}#assistantDialog .assistantHeader{padding:17px 18px}#assistantDialog #assistantIntake{padding:18px}#assistantDialog #assistantMessages{max-height:27dvh;padding-left:18px;padding-right:18px}}
@media(prefers-reduced-motion:no-preference){#openAssistant .energyOrb{animation:energyBreathe 6s ease-in-out infinite}.energyOrb:before{animation:energyOrbit 18s linear infinite}.is-processing .energyOrb:before{animation-duration:1.8s}.is-processing .energyOrb:after{animation:energyOrbit 3.5s linear infinite reverse}.is-responding .energyOrb{animation:energyRespond 1.2s ease-out}@keyframes energyBreathe{0%,100%{box-shadow:inset 0 0 7px var(--ea-glow),0 0 8px var(--ea-glow)}50%{box-shadow:inset 0 0 10px var(--ea-glow),0 0 17px var(--ea-glow)}}@keyframes energyOrbit{to{transform:rotate(360deg)}}@keyframes energyRespond{0%{filter:brightness(1)}40%{filter:brightness(1.4)}100%{filter:brightness(1)}}}
@media(prefers-reduced-motion:reduce){#assistantDialog,#openAssistant{transition:none}.energyOrb,.energyOrb:before,.energyOrb:after{animation:none!important}}
@media print{#openAssistant,#assistantDialog{display:none!important}}
