/* Animações (respeitam prefers-reduced-motion) */
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .8s ease var(--d,0ms),transform .9s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}
.js .rv.in{opacity:1;transform:none}
.hero .w>div:first-child>*{animation:up .9s cubic-bezier(.2,.7,.2,1) both}
.hero .eb{animation-delay:.05s!important}.hero h1{animation-delay:.15s!important}.hero .lead{animation-delay:.3s!important}.hero .acts{animation-delay:.45s!important}
@keyframes up{from{opacity:0;transform:translateY(22px)}}
header{transition:box-shadow .3s}header.sc{box-shadow:0 8px 28px rgba(35,41,46,.08)}
nav a:not(.btn){position:relative}nav a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--ch);transform:scaleX(0);transform-origin:left;transition:transform .3s}nav a:not(.btn):hover::after{transform:none}
@media(max-width:860px){nav a:not(.btn)::after{display:none}}
.btn{position:relative}.btn:hover{transform:translateY(-1px)}.btn:active{transform:none}
.scene{width:100%;height:auto;max-width:540px;justify-self:end;overflow:visible;animation:sin 1.1s cubic-bezier(.2,.7,.2,1) .2s both}
@keyframes sin{from{opacity:0;transform:translateX(24px)}}
.scene *{transform-box:fill-box}
.fl{animation:fl 7s ease-in-out infinite}.fl2{animation:fl 6s ease-in-out -2s infinite}
@keyframes fl{50%{transform:translateY(-6px)}}
.bx{transform-origin:50% 100%;animation:grow 1s cubic-bezier(.2,.8,.2,1) calc(.7s + var(--i)*.1s) both}
@keyframes grow{from{transform:scaleY(0)}}
.kv{transform-origin:0 50%;animation:kv 1s ease-out calc(.5s + var(--i)*.15s) both}
@keyframes kv{from{transform:scaleX(0)}}
.ln{stroke-dasharray:300;animation:draw 1.8s ease-out 1.3s both}
@keyframes draw{from{stroke-dashoffset:300}to{stroke-dashoffset:0}}
.dn{stroke-dasharray:176;transform-box:view-box;transform-origin:0 0;animation:dn 1.6s ease-out 1s both}
@keyframes dn{from{stroke-dashoffset:176}}
.cur{animation:cur 9s ease-in-out 2.6s infinite both}
@keyframes cur{0%{transform:translate(160px,160px)}28%{transform:translate(270px,210px)}50%,68%{transform:translate(392px,264px)}100%{transform:translate(160px,160px)}}
.press{transform-origin:50% 50%;animation:press 9s ease-in-out 2.6s infinite}
@keyframes press{0%,52%,62%,100%{transform:scale(1)}56%{transform:scale(.93)}}
.rip{transform-origin:50% 50%;opacity:0;animation:rip 9s ease-out 2.6s infinite}
@keyframes rip{0%,54%{opacity:0;transform:scale(.4)}56%{opacity:.6}70%,100%{opacity:0;transform:scale(5)}}
.toast{opacity:0;animation:toast 9s ease-in-out 2.6s infinite}
@keyframes toast{0%,57%{opacity:0;transform:translateY(10px)}63%,88%{opacity:1;transform:none}95%,100%{opacity:0;transform:translateY(-6px)}}
@media(prefers-reduced-motion:reduce){.js .rv,.vals div::before{opacity:1;transform:none;transition:none}.hero .w>div:first-child>*,.scene,.fl,.fl2,.bx,.kv,.ln,.dn,.cur,.press,.rip,.toast{animation:none!important}.toast{opacity:1}.cur{transform:translate(392px,264px)}}

.hero{padding:0}
.d1{--d:80ms}.d2{--d:160ms}
.i0{--i:0}.i1{--i:1}.i2{--i:2}.i3{--i:3}.i4{--i:4}.i5{--i:5}.i6{--i:6}
