/* Bot launcher + "Book a demonstration" popup — brand tokens with fallbacks */
.sw-dock{position:fixed;right:22px;bottom:22px;z-index:900;display:none;align-items:center;gap:12px;flex-direction:row-reverse}
.sw-dock.show{display:flex;animation:swIn .5s cubic-bezier(.2,.9,.3,1.2) both}
@keyframes swIn{from{opacity:0;transform:translateY(18px) scale(.9)}}
.sw-bot{position:relative;width:62px;height:62px;border:0;border-radius:50%;cursor:pointer;color:#fff;display:grid;place-items:center;
  background:var(--grad,linear-gradient(135deg,#29A8F5,#5A55EE,#7B31E8));box-shadow:0 18px 36px -12px rgba(90,85,238,.75);
  transition:transform .25s cubic-bezier(.3,1.5,.5,1)}
.sw-bot:hover{transform:scale(1.08) rotate(-5deg)}
.sw-bot svg{width:32px;height:32px}
.sw-bot::after{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;opacity:.5;z-index:-1;animation:swRing 2.4s ease-out infinite}
@keyframes swRing{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.75);opacity:0}}
.sw-bot .eye{animation:swBlink 4s infinite;transform-origin:center;transform-box:fill-box}
@keyframes swBlink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
.sw-bot .ant{animation:swAnt 1.8s ease-in-out infinite}
@keyframes swAnt{50%{opacity:.35}}
.sw-on{position:absolute;top:1px;right:1px;width:14px;height:14px;border-radius:50%;background:#16B97F;border:2px solid #fff}
.sw-tip{position:absolute;right:76px;bottom:10px;max-width:220px;padding:10px 14px;border-radius:14px 14px 4px 14px;font:500 .84rem/1.4 Inter,system-ui,sans-serif;
  color:var(--ink,#10162B);background:var(--card,#fff);border:1px solid var(--line,#E4E8F2);box-shadow:0 18px 36px -18px rgba(40,44,110,.5);
  opacity:0;transform:translateX(10px);pointer-events:none;transition:all .35s}
.sw-tip.show{opacity:1;transform:none;pointer-events:auto}
.sw-tip button{all:unset;position:absolute;top:-8px;left:-8px;width:20px;height:20px;border-radius:50%;cursor:pointer;text-align:center;line-height:20px;font-size:.8rem;
  color:#fff;background:#10162B;opacity:.85}
@media (max-width:560px){.sw-dock{right:14px;bottom:14px}.sw-tip{display:none}}
@media (prefers-reduced-motion:reduce){.sw-bot::after,.sw-bot .eye,.sw-bot .ant,.sw-dock.show{animation:none}}
