html:has(.landing-page){scroll-behavior:smooth}@keyframes landing-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.landing-page .landing-rise{opacity:0;animation:landing-rise .7s cubic-bezier(.22,1,.36,1) forwards}.landing-page .landing-rise-1{animation-delay:.05s}.landing-page .landing-rise-2{animation-delay:.15s}.landing-page .landing-rise-3{animation-delay:.25s}.landing-page .landing-rise-4{animation-delay:.35s}.landing-page .landing-rise-5{animation-delay:.5s}.landing-page .hero-frame{--hero-p:0}.landing-page .hero-card{background:oklch(.975 .012 264)}@media (min-width:40rem){.landing-page .hero-card{--hero-inset:calc(var(--hero-p) * 1.25rem);--hero-round:calc(var(--hero-p) * 2rem);clip-path:inset(0 var(--hero-inset) round var(--hero-round))}.landing-page .hero-content{scale:var(--hero-s,1);transform-origin:top center}.landing-page .hero-card:after{content:"";position:absolute;inset:0 var(--hero-inset);border-radius:var(--hero-round);box-shadow:inset 0 0 0 calc(var(--hero-p) * 1px) oklch(.3 .05 280/.08);pointer-events:none}}.landing-page .hero-dots{background-image:radial-gradient(oklch(.35 .05 270/.13) 1px,transparent 1.2px);background-size:22px 22px;mask-image:radial-gradient(ellipse 70% 60% at 50% 35%,black 30%,transparent 85%)}.landing-page .hero-blob{position:absolute;border-radius:9999px;filter:blur(70px);opacity:.55;will-change:transform}.landing-page .hero-blob-1{width:34rem;height:26rem;left:-6rem;top:10rem;background:oklch(.86 .09 60);animation:hero-drift-1 19s ease-in-out infinite alternate}.landing-page .hero-blob-2{width:36rem;height:30rem;right:-8rem;top:4rem;background:oklch(.82 .1 285);animation:hero-drift-2 23s ease-in-out infinite alternate}.landing-page .hero-blob-3{width:30rem;height:22rem;left:35%;top:30rem;background:oklch(.85 .08 230);animation:hero-drift-3 17s ease-in-out infinite alternate}.landing-page .hero-frame[data-offscreen] .hero-blob{animation-play-state:paused}@keyframes hero-drift-1{to{transform:translate(14rem,6rem) scale(1.15)}}@keyframes hero-drift-2{to{transform:translate(-12rem,8rem) scale(.9)}}@keyframes hero-drift-3{to{transform:translate(-8rem,-10rem) scale(1.2)}}.landing-page .hero-caret{display:inline-block;width:2px;height:.78em;margin-left:.04em;vertical-align:-.06em;background:currentColor;animation:hero-caret 1s steps(1) infinite}@keyframes hero-caret{50%{opacity:0}}@media (scripting:enabled){.landing-page .reveal{opacity:0;translate:0 2.5rem;transition:opacity .7s cubic-bezier(.22,1,.36,1),translate .7s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0s)}.landing-page .reveal[data-shown=true]{opacity:1;translate:0 0}}.landing-page .bento-scene{transition:translate .5s cubic-bezier(.22,1,.36,1)}.landing-page .bento-card:hover .bento-scene{translate:0 -.5rem}.landing-page .bento-arrow{transition:transform .3s cubic-bezier(.22,1,.36,1)}.landing-page .bento-card:hover .bento-arrow{transform:translateX(3px)}.landing-page dialog.feature-dialog{opacity:0;translate:0 1.5rem;transition:opacity .3s ease,translate .4s cubic-bezier(.22,1,.36,1),display allow-discrete .4s,overlay allow-discrete .4s}.landing-page dialog.feature-dialog[open]{opacity:1;translate:0 0}@starting-style{.landing-page dialog.feature-dialog[open]{opacity:0;translate:0 1.5rem}}.landing-page dialog.feature-dialog::backdrop{background:oklch(.2 .03 280/.45);backdrop-filter:blur(4px)}.landing-page .more-step{transition:opacity .4s ease}.landing-page .more-scene{animation:more-scene-in .5s cubic-bezier(.22,1,.36,1)}@keyframes more-scene-in{0%{opacity:0;translate:0 1rem;scale:.985}to{opacity:1;translate:0 0;scale:1}}@media (prefers-reduced-motion:reduce){html:has(.landing-page){scroll-behavior:auto}.landing-page .landing-rise{animation:none;opacity:1}.landing-page .hero-blob,.landing-page .hero-caret,.landing-page .more-scene{animation:none}.landing-page .net-moving{display:none}.landing-page .net-lit{stroke:oklch(.15 .01 280/.14)!important}.landing-page .reveal{opacity:1;translate:0 0;transition:none}.landing-page .bento-arrow,.landing-page .bento-scene,.landing-page dialog.feature-dialog{transition:none}}