.font-display{font-family:var(--font-display),sans-serif}.text-gradient{-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(to right,var(--primary),var(--secondary))}.noise-texture:before{content:"";z-index:1;opacity:.03;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:128px 128px;position:absolute;inset:0}.dot-grid{background-image:radial-gradient(circle,#ffffff14 1px,#0000 1px);background-image:radial-gradient(circle,lab(100% 0 0/.08) 1px,#0000 1px);background-size:24px 24px}.shadow-elevated{box-shadow:0 1px 2px #0000000a,0 4px 12px #0000000f}.shadow-elevated-hover{box-shadow:0 1px 2px #0000000a,0 4px 12px #0000000f,0 12px 32px #00000014}@keyframes hero-fade-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-mockup-rise{0%{opacity:0;transform:translateY(40px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.hero-badge{opacity:0;animation:.5s ease-out .2s forwards hero-fade-down}.hero-h1{opacity:0;animation:.6s ease-out .4s forwards hero-fade-up}.hero-subtitle{opacity:0;animation:.5s ease-out .6s forwards hero-fade-up}.hero-cta{opacity:0;animation:.5s ease-out .8s forwards hero-fade-up}.hero-mockup{opacity:0;animation:.7s ease-out 1s forwards hero-mockup-rise}@keyframes reveal-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.scroll-reveal{opacity:0;transform:translateY(30px)}.scroll-reveal.revealed{animation:.5s ease-out forwards reveal-up}.scroll-reveal-child{opacity:0;transform:translateY(30px)}.revealed .scroll-reveal-child{animation:.5s ease-out forwards reveal-up}@keyframes bubble-appear{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.chat-bubble{opacity:0;transform:scale(.9)}.chat-bubbles-active .chat-bubble:first-child{animation:.35s ease-out forwards bubble-appear}.chat-bubbles-active .chat-bubble:nth-child(2){animation:.35s ease-out .3s forwards bubble-appear}.chat-bubbles-active .chat-bubble:nth-child(3){animation:.35s ease-out .6s forwards bubble-appear}.chat-bubbles-active .chat-bubble:nth-child(4){animation:.35s ease-out .9s forwards bubble-appear}.chat-bubbles-active .chat-bubble:nth-child(5){animation:.35s ease-out 1.2s forwards bubble-appear}.chat-bubbles-active .chat-bubble:nth-child(6){animation:.35s ease-out 1.5s forwards bubble-appear}.chat-bubbles-active .chat-bubble:nth-child(7){animation:.35s ease-out 1.8s forwards bubble-appear}@keyframes blob{0%{transform:translate(0)scale(1)}33%{transform:translate(30px,-50px)scale(1.1)}66%{transform:translate(-20px,20px)scale(.9)}to{transform:translate(0)scale(1)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-blob{animation:7s infinite blob}.animate-fade-in-up{animation:.6s ease-out fade-in-up}.shadow-card{box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}@media (prefers-reduced-motion:reduce){.animate-blob,.animate-fade-in-up,.hero-badge,.hero-h1,.hero-subtitle,.hero-cta,.hero-mockup,.scroll-reveal,.scroll-reveal-child,.chat-bubble{opacity:1!important;animation:none!important;transform:none!important}}
