.landing{--lp-ease:var(--ease-expressive);--lp-reveal:var(--transition-duration-reveal)}.lp-display-hero{font-size:var(--text-display-landing-hero);line-height:var(--text-display-landing-hero--line-height);letter-spacing:var(--text-display-landing-hero--letter-spacing);text-wrap:balance}@media (width>=48rem) and (width<=79.99rem){.lp-display-hero{font-size:var(--text-landing-tablet-hero)}}.lp-display-section{font-size:var(--text-display-landing-section);line-height:var(--text-display-landing-section--line-height);letter-spacing:var(--text-display-landing-section--letter-spacing)}.lp-display-cta{font-size:var(--text-display-landing-cta);line-height:var(--text-display-landing-cta--line-height);letter-spacing:var(--text-display-landing-cta--letter-spacing)}.lp-step-number{font-size:var(--text-display-2xl);line-height:var(--leading-none)}.lp-natural{line-height:normal}.lp-stripe{background-image:repeating-linear-gradient(135deg, var(--color-stripe) 0 10px, transparent 10px 20px)}.lp-hero-lede{max-width:var(--measure-landing-hero)}@keyframes lp-rise{0%{opacity:0;transform:translateY(14px)}}@keyframes lp-settle{0%{opacity:.2;filter:blur(4px);transform:translateY(12px)}}@keyframes lp-word{0%{opacity:.12;filter:blur(12px);transform:translateY(.24em)}}@keyframes lp-showcase{0%{opacity:0;transform:perspective(1800px)translateY(56px)rotateX(14deg)scale(.96)}}@keyframes lp-underline{0%{transform:scaleX(0)}}@keyframes lp-pop{0%{opacity:0;transform:translateY(10px)scale(.97)}}@keyframes lp-fill{0%{transform:scaleX(0)}}.lp-rise{animation:lp-settle 1s var(--lp-ease) both;animation-delay:var(--lp-d,0s)}.lp-word{animation:lp-word 1.1s var(--lp-ease) both;animation-delay:calc(60ms + var(--lp-i) * 48ms);display:inline-block}.lp-showcase{transform-origin:50% 100%;animation:lp-showcase 1.5s var(--lp-ease) .24s both}.lp-demo-tab:after{transform-origin:0;animation:lp-underline .9s var(--lp-ease) 1s both}.lp-demo-post{animation:lp-rise .9s var(--lp-ease) both;animation-delay:calc(.82s + var(--lp-i) * .11s)}.lp-js [data-reveal]{opacity:0;transition:opacity var(--lp-reveal) var(--lp-ease), transform calc(var(--lp-reveal) * 1.4) var(--lp-ease);transition-delay:var(--rd,0s);transform:translateY(24px)}.lp-js [data-reveal].is-inview{opacity:1;transform:none}.lp-js [data-reveal]:not(.is-inview) .lp-seq{opacity:0}.lp-js [data-reveal].is-inview .lp-seq{animation:lp-pop .8s var(--lp-ease) both;animation-delay:calc(var(--rd,0s) + .32s + var(--lp-i,0) * .11s)}.lp-js [data-reveal].is-inview .lp-seq-fill{transform-origin:0;animation:lp-fill 1.1s var(--lp-ease) both;animation-delay:calc(var(--rd,0s) + .56s + var(--lp-i,0) * .13s)}[dir=rtl] .lp-seq-fill,[dir=rtl] .lp-demo-tab:after{transform-origin:100%}.lp-js .lp-rule:before{transform-origin:0;transition:transform 1.2s var(--lp-ease);transition-delay:calc(var(--rd,0s) + var(--lp-i,0) * .12s);transform:scaleX(0)}[dir=rtl] .lp-rule:before{transform-origin:100%}.lp-js .is-inview .lp-rule:before{transform:none}.lp-banner{position:relative;overflow:hidden}.lp-banner>.lp-stripe{position:absolute;inset:-1.5rem 0}.lp-card{isolation:isolate;transition:border-color var(--transition-duration-slow) var(--ease-standard);position:relative}.lp-rule{position:relative}.lp-rule:before{content:"";inset-inline:0;background-color:var(--color-hairline-strong);height:1px;position:absolute;top:0}.lp-spotlight{z-index:-1;pointer-events:none;background:radial-gradient(closest-side, color-mix(in oklab, var(--color-foreground) 12%, transparent), transparent);opacity:0;width:28rem;height:28rem;transition:opacity .5s var(--lp-ease);border-radius:9999px;margin:-14rem 0 0 -14rem;position:absolute;top:0;left:0}@media (hover:hover) and (pointer:fine){.lp-card:hover{border-color:var(--color-hairline-strong)}.lp-card:hover .lp-spotlight{opacity:1}.lp-card .lp-float{transition:transform .7s var(--lp-ease)}.lp-card:hover .lp-float{transform:translateY(-4px)}}:root[data-motion=reduce] .landing :is(.lp-rise,.lp-word,.lp-showcase,.lp-demo-post,.lp-seq,.lp-seq-fill),:root[data-motion=reduce] .landing .lp-demo-tab:after{animation:none!important}:root[data-motion=reduce] .landing .lp-scroll-fx{opacity:1!important;transform:none!important}:root[data-motion=reduce] .landing .lp-float{transform:none!important}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .landing :is(.lp-rise,.lp-word,.lp-showcase,.lp-demo-post,.lp-seq,.lp-seq-fill),:root:not([data-motion=full]) .landing .lp-demo-tab:after{animation:none!important}:root:not([data-motion=full]) .landing .lp-scroll-fx{opacity:1!important;transform:none!important}:root:not([data-motion=full]) .landing .lp-float{transform:none!important}}
