:root{--spring:cubic-bezier(0.34,1.4,0.64,1);--glide:cubic-bezier(0.22,1,0.36,1)}@keyframes blink{50%{opacity:0}}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes card-in{0%{opacity:0;transform:translateY(14px) rotate(-.6deg)}to{opacity:1;transform:none}}@keyframes sheet-in{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}.hero h1 .w{display:inline-block;white-space:pre;animation:word-in .75s var(--glide) both;animation-delay:calc(.06s + var(--i, 0) * 45ms)}@keyframes word-in{0%{opacity:0;transform:translateY(.38em);filter:blur(10px)}to{opacity:1;transform:none;filter:blur(0)}}.hero-cta,.hero-for,.hero-live,.hero-sub,.preview-pill{animation:rise .7s var(--glide) both}.preview-pill{animation-delay:0s}.hero-sub{animation-delay:.5s}.hero-for{animation-delay:.6s}.hero-cta{animation-delay:.7s}.hero-live{animation-delay:.85s}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.plate-build.go .plate>span{animation:tile-in .55s var(--spring) both;transform-origin:50% 100%}.plate-build.go .plate>span:nth-child(2){animation-delay:.09s}.plate-build.go .plate>span:nth-child(3){animation-delay:.18s}.plate-build.go .plate>span:nth-child(4){animation-delay:.27s}.plate-build.go .plate>span:nth-child(5){animation-delay:.36s}@keyframes tile-in{0%{opacity:0;transform:perspective(300px) rotateX(-75deg) translateY(6px)}to{opacity:1;transform:none}}.demo-out.on{animation:none}.demo:not(.still) .demo-out{animation:float 6s ease-in-out 5s infinite}@keyframes float{0%,to{translate:0 0}50%{translate:0 -6px}}.live-dot{position:relative;width:8px;height:8px;flex-shrink:0}.live-dot,.live-dot:after{border-radius:50%;background:var(--green)}.live-dot:after{content:"";position:absolute;inset:0;animation:pulse-ring 1.8s cubic-bezier(.2,.6,.4,1) infinite}@keyframes pulse-ring{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(3.2)}}.motion-ready [data-reveal]{opacity:0;transform:translateY(28px);filter:blur(6px);transition:opacity .7s var(--glide),transform .9s var(--spring),filter .7s var(--glide)}.motion-ready [data-reveal].is-in,.motion-ready [data-stagger]{opacity:1;transform:none;filter:none}.motion-ready [data-stagger]>*{opacity:0;transform:translateY(20px);transition:opacity .6s var(--glide),transform .8s var(--spring);transition-delay:calc(var(--i, 0) * 80ms)}.motion-ready [data-stagger].is-in>*{opacity:1;transform:none}.ask-list{position:relative}.ask-list>li:not(.ask-bar){position:relative;z-index:1}.ask-list>li.ask-bar{position:absolute;top:0;left:0;right:0;z-index:0;pointer-events:none;border-radius:10px;background:var(--surface);box-shadow:0 1px 0 rgba(17,20,18,.04),0 10px 24px -16px rgba(17,20,18,.35);transition:transform .6s var(--spring),height .4s var(--glide)}.ask-list>li.ask-bar:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:var(--yellow-deep)}.ask-progress{position:absolute;left:22px;right:18px;bottom:7px;height:2px;border-radius:2px;background:var(--ink);opacity:.25;transform-origin:0 50%;animation:ask-fill linear forwards}@keyframes ask-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.ask-float{animation:card-in .5s var(--ease) both,drift 7s ease-in-out .6s infinite;transform-origin:50% 40%}@keyframes drift{0%,to{translate:0 0;rotate:-.4deg}50%{translate:0 -10px;rotate:.4deg}}.anatomy-notes li:before{content:"";position:absolute;top:-1.5px;left:0;right:0;height:3px;background:var(--ink);transform:scaleX(0);transform-origin:0 50%}.motion-ready .anatomy{opacity:1;transform:none;filter:none}.motion-ready .anatomy .anatomy-plate{opacity:0;transform:translateY(20px);transition:opacity .6s var(--glide),transform .8s var(--spring)}.motion-ready .anatomy .anatomy-notes li{opacity:0;transform:translateY(12px);transition:opacity .5s var(--glide),transform .6s var(--spring);transition-delay:calc(.3s + var(--i) * .12s)}.motion-ready .anatomy.is-in .anatomy-notes li,.motion-ready .anatomy.is-in .anatomy-plate{opacity:1;transform:none}:is(html:not(.motion-ready) .anatomy,.anatomy.is-in) .anatomy-notes li:before{animation:seg-line 10s ease-in-out infinite;animation-delay:calc(1.2s + var(--i) * 2s)}:is(html:not(.motion-ready) .anatomy,.anatomy.is-in) .anatomy-notes li b{animation:seg-b 10s ease-in-out infinite;animation-delay:calc(1.2s + var(--i) * 2s)}:is(html:not(.motion-ready) .anatomy,.anatomy.is-in) .anatomy-plate .plate>span{animation:seg-tile 10s ease-in-out infinite}:is(html:not(.motion-ready) .anatomy,.anatomy.is-in) .anatomy-plate .plate>span:first-child{animation-delay:1.2s}:is(html:not(.motion-ready) .anatomy,.anatomy.is-in) .anatomy-plate .plate>span:nth-child(2){animation-delay:3.2s}:is(html:not(.motion-ready) .anatomy,.anatomy.is-in) .anatomy-plate .plate>span:nth-child(3){animation-delay:5.2s}:is(html:not(.motion-ready) .anatomy,.anatomy.is-in) .anatomy-plate .plate>span:nth-child(4){animation-delay:7.2s}:is(html:not(.motion-ready) .anatomy,.anatomy.is-in) .anatomy-plate .plate>span:nth-child(5){animation-delay:9.2s}@keyframes seg-line{0%,20%,to{transform:scaleX(0)}16%,4%{transform:scaleX(1)}}@keyframes seg-b{0%,20%,to{color:var(--ink)}16%,4%{color:var(--yellow-deep)}}@keyframes seg-tile{0%,20%,to{transform:none;box-shadow:none}16%,4%{transform:translateY(-6px);box-shadow:0 0 0 4px var(--ink)}}.rung:not(.on) .badge i{animation:blink 1.6s ease-in-out infinite}.motion-ready .steps.is-in .step-n{animation:pop .6s var(--spring) both;animation-delay:calc(var(--i, 0) * 80ms + .2s)}@keyframes pop{0%{transform:scale(.4) rotate(-12deg)}to{transform:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}.marquee{overflow-x:auto}}