/* Original, static brand portraits. Only the scripted messages animate. */
.hero-neo{--primary:162 56% 28%;--hero-portrait-size:36px;--hero-chat-shadow:0 3px 9px #142b231a;position:relative;width:100%;max-width:410px;margin:0 0 40px;isolation:isolate}
.hero-neo-stage{display:flex;flex-direction:column;justify-content:flex-start;gap:8px}
.visitor-flow .hero-copy{align-self:start}
.visitor-flow .hero-neo + h1{margin-top:0}
/* Reserve the tallest pair outside the bubbles so the headline never jumps. */
.hero-neo[data-sized] .hero-neo-stage{height:var(--chat-height)}
.hero-neo-row{display:flex;align-items:flex-start;gap:8px;min-width:0;transition:opacity .2s ease,transform .2s ease}
.hero-neo-row--brand{flex-direction:row-reverse}
.hero-neo[data-typing-speaker="blackestate"] .hero-neo-row--answer{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(3px)}
.hero-neo.is-changing .hero-neo-row{opacity:0;transform:translateY(-3px)}
.hero-neo-avatar,.hero-neo-trigger{position:relative;flex:none;box-sizing:border-box;width:44px;height:44px;padding:4px;border:0;border-radius:50%;background:transparent;display:grid;place-items:center;line-height:0}
.hero-neo-brand-avatar{display:block;object-fit:contain;border-radius:50%;background:#fff;outline:1px solid #183b2524;outline-offset:-1px}
.hero-neo .hero-neo-brand-avatar,.hero-neo .hero-neo-trigger .neo-hologram{width:var(--hero-portrait-size);height:var(--hero-portrait-size);box-sizing:border-box;aspect-ratio:1}
.hero-neo-check{position:absolute;right:0;bottom:2px;width:14px;height:14px;filter:drop-shadow(0 0 1px #fff)}
.hero-neo .hero-neo-brand-avatar,.hero-neo .neo-hologram-launcher .neo-hologram{box-shadow:0 0 0 1px #183b2514,var(--hero-chat-shadow)}
.hero-neo .neo-hologram-launcher:after{display:none}
.hero-neo .neo-hologram-launcher .neo-hologram,.hero-neo .neo-hologram__surface>span,.hero-neo .neo-hologram__mercury{animation:none;transform:none}
.hero-neo-trigger{cursor:pointer}
.hero-neo-trigger:focus-visible{outline:2px solid #267356;outline-offset:2px}
.hero-neo-bubble{position:relative;box-sizing:border-box;min-width:0;max-width:calc(100% - 64px);padding:10px 13px;border-radius:5px 15px 15px;background:#f3f4f3;border:0;box-shadow:var(--hero-chat-shadow);transition:opacity .2s ease,transform .2s ease}
.hero-neo-row--brand .hero-neo-bubble{margin-top:0;background:#e4f1e9;border-radius:15px 5px 15px 15px}
.hero-neo-bubble:before{content:"";position:absolute;left:-4px;top:12px;width:6px;height:6px;transform:rotate(45deg);background:#f3f4f3;border:0;border-radius:0 0 0 1px}
.hero-neo-row--brand .hero-neo-bubble:before{left:auto;right:-4px;background:#e4f1e9;border:0}
.hero-neo-speaker{display:block;margin-bottom:4px;color:#426451;font-size:10px;font-weight:550;line-height:1.2}
.hero-neo-row--brand .hero-neo-speaker{color:#585e5b}
.hero-neo-message{display:none;margin:0;color:#25382d;font-size:13px;line-height:1.45;letter-spacing:-.015em;text-wrap:pretty}
.hero-neo-message.is-active{display:block}
.hero-neo-letter{opacity:1;transition:opacity .1s ease}
.hero-neo-letter.is-pending{opacity:0}
.hero-neo-info{position:absolute;z-index:5;left:0;top:var(--info-top,100px);width:285px;max-width:100%;box-sizing:border-box;padding:17px 20px;border:1px solid #ffffffc9;border-radius:6px 21px 21px;background:linear-gradient(125deg,#fffffff0,#eef8f0ce);-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);box-shadow:inset 0 1px 0 #fff,0 10px 32px #132c231f;animation:hero-neo-reveal .24s ease-out}
.hero-neo-info[hidden]{display:none}
.hero-neo-info:before{content:"";position:absolute;top:-5px;left:17px;width:9px;height:9px;transform:rotate(45deg);background:#fffffff0;border-top:1px solid #fff;border-left:1px solid #fff}
.hero-neo-info p{margin:0;font-size:14px;line-height:1.6;font-weight:550;color:#214a37}
.hero-neo-info p span{font-size:12px;font-weight:400;color:#4c6155}
@keyframes hero-neo-reveal{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
@media(max-width:820px){.hero-neo{max-width:390px;margin-bottom:36px}.hero-neo-bubble{padding:9px 12px}}
@media(prefers-reduced-motion:reduce){.hero-neo-row,.hero-neo-bubble,.hero-neo-letter{transition:none}.hero-neo-info{animation:none}}
@media(forced-colors:active){.hero-neo-bubble,.hero-neo-info{background:Canvas;color:CanvasText;border:1px solid CanvasText}.hero-neo-bubble:before,.hero-neo-info:before{display:none}.hero-neo-message,.hero-neo-speaker{color:CanvasText}}
