/* "Join the beta" button. Idle: a light traces the edge every 9s; a β draws itself once.
   Hover/tap: β undraws, a phone handset draws in, label rolls to "Book a call", arrow port turns white.
   Press: one ring from the dial. */
.bb.bb{--h:48px;--a:30px;position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:11px;height:var(--h);min-height:0;padding:0 7px 0 calc((var(--h) - var(--a))/2);border:0;border-radius:999px;cursor:pointer;color:#fff;font-family:var(--body,Montserrat),sans-serif;font-size:15px;font-weight:600;letter-spacing:-.005em;line-height:1;white-space:nowrap;text-decoration:none;background:none;box-shadow:0 16px 36px -18px rgba(91,79,207,1),0 0 0 1px rgba(160,152,240,.32);overflow:visible;transition:box-shadow .3s ease;-webkit-tap-highlight-color:transparent}
.bb.bb::before,.bb.bb::after{content:none}
.bb:focus-visible{outline:2px solid var(--purple-lt,#7F77DD);outline-offset:4px}
.bb-bg{position:absolute;inset:0;z-index:-1;border-radius:inherit;overflow:hidden;background:linear-gradient(180deg,#6f63e6,#4a3dbf)}
.bb-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(110px 70px at var(--px,30%) var(--py,0%),rgba(255,255,255,.18),transparent 70%),linear-gradient(180deg,rgba(255,255,255,.2),transparent 45%);opacity:.6;transition:opacity .3s ease}
.bb-trace{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);overflow:visible;pointer-events:none;z-index:2}
.bb-trace rect{fill:none;stroke:url(#bbGrad);stroke-width:1.2;stroke-linecap:round;stroke-dasharray:10 90;stroke-dashoffset:0;opacity:0;animation:bbTrace 9s cubic-bezier(.45,0,.25,1) infinite}
@keyframes bbTrace{0%{stroke-dashoffset:0;opacity:0}4%{opacity:.85}30%{opacity:.85}34%{stroke-dashoffset:-100;opacity:0}100%{stroke-dashoffset:-100;opacity:0}}
.bb-atom{position:relative;flex:none;display:grid;place-items:center;width:var(--a);height:var(--a);border-radius:50%;background:rgba(10,8,40,.28);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);transition:background .3s ease}
.bb-beta{width:62%;height:62%;color:#fff;overflow:visible}
.bb-beta path{stroke-dasharray:1 1;stroke-dashoffset:0;animation:bbDraw 1.4s cubic-bezier(.45,0,.25,1) .6s backwards;transition:stroke-dashoffset .4s cubic-bezier(.45,0,.25,1) .3s,opacity .3s ease .3s}
.bb-beta .bb-ph{stroke-dashoffset:1;opacity:0;animation:none;transition:stroke-dashoffset .35s cubic-bezier(.45,0,.25,1),opacity .2s ease .15s}
.bb:hover .bb-beta path:not(.bb-ph),.bb.on .bb-beta path:not(.bb-ph){stroke-dashoffset:-1;opacity:0;transition:stroke-dashoffset .35s cubic-bezier(.45,0,.25,1),opacity .2s ease .15s}
.bb:hover .bb-beta .bb-ph,.bb.on .bb-beta .bb-ph{stroke-dashoffset:0;opacity:1;transition:stroke-dashoffset .5s cubic-bezier(.45,0,.25,1) .28s,opacity .15s ease .28s}
@keyframes bbDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.bb-txt{position:relative;display:block;overflow:hidden;height:1.25em;line-height:1.25em;padding:0 1px}
.bb-txt>span{display:flex;white-space:pre}
.bb-txt .bb-2{position:absolute;left:1px;top:0}
.bb-txt i{display:inline-block;font-style:normal;transition:transform .42s cubic-bezier(.45,0,.25,1) calc(var(--i)*12ms),opacity .3s ease calc(var(--i)*12ms)}
.bb-txt .bb-2 i{transform:translateY(110%);opacity:0}
.bb-go{position:relative;flex:none;display:grid;place-items:center;width:calc(var(--h) - 12px);height:calc(var(--h) - 12px);margin-left:2px;border-radius:50%;overflow:hidden;background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);transition:background .3s ease,color .3s ease}
.bb-go svg{width:15px;height:15px;transition:transform .3s cubic-bezier(.25,.8,.25,1)}
/* engaged: hover on mouse, .on briefly after a tap */
.bb:hover,.bb.on{box-shadow:0 18px 38px -18px rgba(91,79,207,1),0 0 0 1px rgba(200,195,250,.5)}
.bb:hover .bb-bg::after,.bb.on .bb-bg::after{opacity:1}
.bb:hover .bb-atom,.bb.on .bb-atom{background:rgba(10,8,40,.4)}
.bb:hover .bb-1 i,.bb.on .bb-1 i{transform:translateY(-110%);opacity:0}
.bb:hover .bb-2 i,.bb.on .bb-2 i{transform:none;opacity:1}
.bb:hover .bb-go,.bb.on .bb-go{background:#fff;color:#4a3dbf}
.bb:hover .bb-go svg,.bb.on .bb-go svg{transform:translateX(2px)}
.bb:active{transform:scale(.985);transition:transform .12s ease}
/* press ring */
.bb-burst{position:fixed;width:0;height:0;pointer-events:none;z-index:9999}
.bb-burst u{position:absolute;left:-14px;top:-14px;width:28px;height:28px;border-radius:50%;border:1px solid rgba(200,195,250,.8);animation:bbRing .6s cubic-bezier(.15,.7,.3,1) forwards}
@keyframes bbRing{from{transform:scale(.6);opacity:.8}to{transform:scale(2.2);opacity:0}}
/* sizes */
.nv-cta.bb{--h:46px;--a:30px;font-size:15px}
.pz-cta.bb{--h:50px;--a:32px}
.tm-foot .pz-cta.bb,.lw-foot .pz-cta.bb{justify-content:flex-start}
.tm-foot .pz-cta.bb .bb-go,.lw-foot .pz-cta.bb .bb-go,.rc .pz-cta.bb .bb-go{margin-left:auto}
#p4 .rc .pz-cta.bb{--h:48px}
.mb-cta.bb{--h:44px;--a:26px;gap:8px;padding-right:14px;font-size:13.5px}
.mb-cta.bb .bb-go{display:none}
.bt-p.bb{--h:48px;--a:30px;font-size:15px}
.bt-p.bb.wide{width:100%}.bt-p.bb.wide .bb-go{margin-left:auto}
@media(max-width:480px){.nv-cta.bb{--h:42px;--a:26px;font-size:14px;gap:8px}}
@media(prefers-reduced-motion:reduce){.bb *{animation:none!important;transition:none!important}.bb-txt i{transition:none}.bb{transition:none}.bb-trace{display:none}}
