.landing-motion{--landing-ease:cubic-bezier(.22, 1, .36, 1);overflow:clip}.landing-hero{isolation:isolate;position:relative}.landing-hero:before{content:"";z-index:-1;pointer-events:none;aspect-ratio:1;background:radial-gradient(circle, color-mix(in srgb, var(--primary) 12%, transparent), transparent 68%);width:min(80vw,48rem);position:absolute;top:-22%;right:-12%}.landing-motion [data-slot=button]{transition:transform .22s var(--landing-ease), box-shadow .22s ease, background-color .22s ease}.landing-motion [data-slot=button]:active:active{transform:scale(.97)}.landing-feature{transition:border-color .25s ease, box-shadow .25s ease, translate .3s var(--landing-ease)}.landing-feature [data-slot=card-header]>span{transition:rotate .3s var(--landing-ease), scale .3s var(--landing-ease)}@media (hover:hover) and (pointer:fine){.landing-motion [data-slot=button]:hover:hover{transform:translateY(-2px)}.landing-feature:hover{border-color:color-mix(in srgb, var(--primary) 40%, transparent);box-shadow:0 16px 35px -24px color-mix(in srgb, var(--primary) 45%, transparent);translate:0 -5px}.landing-feature:hover [data-slot=card-header]>span{rotate:-6deg;scale:1.08}}@media (prefers-reduced-motion:no-preference){.landing-intro>*{animation:landing-enter .75s var(--landing-ease) both}.landing-intro>:nth-child(2){animation-delay:80ms}.landing-intro>:nth-child(3){animation-delay:.16s}.landing-intro>:nth-child(4){animation-delay:.24s}.landing-intro>:nth-child(5){animation-delay:.32s}.landing-logo{animation:landing-enter 1s .18s var(--landing-ease) both}.landing-motion[data-motion=ready] [data-reveal]{opacity:0;transition:opacity .65s var(--landing-ease), transform .65s var(--landing-ease), border-color .25s ease, box-shadow .25s ease, translate .3s var(--landing-ease);transition-delay:var(--reveal-delay,0s);transform:translateY(22px)}.landing-motion[data-motion=ready] [data-reveal][data-visible=true]{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.landing-motion *,.landing-motion :before,.landing-motion :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.landing-feature:hover [data-slot=card-header]>span{rotate:none;scale:none}.landing-feature:hover,.landing-motion [data-slot=button]:hover,.landing-motion [data-slot=button]:active{transform:translate(0,0)}}@keyframes landing-enter{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
