@keyframes ruleDrawX{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes ruleDrawY{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes clipReveal{0%{clip-path:inset(8% 4%);opacity:0;transform:scale(1.02)}to{clip-path:inset(0);opacity:1;transform:scale(1)}}@keyframes iconIn{0%{opacity:0;transform:rotate(45deg)scale(.6)}to{opacity:1;transform:rotate(0)scale(1)}}.anim-rule-draw{transform-origin:50%;animation:ruleDrawX var(--dur-slower) var(--ease-out-soft) forwards}.mockup-img.is-revealed,.img-media.is-revealed{animation:clipReveal 1.1s var(--ease-out-soft) backwards}.hero .line{margin-bottom:-.2em;padding-bottom:.2em;display:block;overflow:hidden}.hero .line-inner{display:inline-block}@keyframes maskUp{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}.anim-mask-up{animation:maskUp .9s var(--ease-out-soft) both}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:.01ms!important}}