html{scroll-behavior:smooth}.bg-grid-pattern{background-image:linear-gradient(to right,hsl(var(--border))1px,transparent 1px),linear-gradient(to bottom,hsl(var(--border))1px,transparent 1px);background-size:40px 40px}@keyframes float{0%,to{opacity:.3;transform:translateY(0)translate(0)rotate(0)}25%{opacity:.5;transform:translateY(-20px)translate(10px)rotate(5deg)}50%{opacity:.4;transform:translateY(-40px)translate(-10px)rotate(-5deg)}75%{opacity:.5;transform:translateY(-20px)translate(5px)rotate(3deg)}}.animate-float{animation:20s ease-in-out infinite float}@keyframes gradient-float{0%,to{opacity:.6;transform:translate(0)scale(1)}33%{opacity:.8;transform:translate(30px,-30px)scale(1.1)}66%{opacity:.7;transform:translate(-20px,20px)scale(.9)}}@keyframes gradient-mesh{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.bg-gradient-mesh{background:linear-gradient(135deg,hsl(var(--primary)/.03)0%,hsl(var(--primary)/.01)50%,hsl(var(--primary)/.03)100%);background-size:200% 200%;animation:15s infinite gradient-mesh}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.animate-shimmer{background:linear-gradient(90deg,transparent 0%,hsl(var(--primary)/.1)50%,transparent 100%);background-size:1000px 100%;animation:3s infinite shimmer}@keyframes fadeInUpRefined{0%{opacity:0;transform:translateY(30px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fadeInRefined{0%{opacity:0}to{opacity:1}}@keyframes slideInSubtle{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:1.2s cubic-bezier(.25,.46,.45,.94) forwards fadeInRefined}.animate-on-scroll{opacity:0;will-change:opacity,transform;transition:opacity .5s,transform .6s cubic-bezier(.25,.46,.45,.94);transform:translateY(24px)}.animate-on-scroll-delay-1{opacity:0;will-change:opacity,transform;transition:opacity .5s 80ms,transform .6s cubic-bezier(.25,.46,.45,.94) 80ms;transform:translateY(24px)}.animate-on-scroll-delay-2{opacity:0;will-change:opacity,transform;transition:opacity .5s .16s,transform .6s cubic-bezier(.25,.46,.45,.94) .16s;transform:translateY(24px)}.animate-on-scroll-delay-3{opacity:0;will-change:opacity,transform;transition:opacity .5s .24s,transform .6s cubic-bezier(.25,.46,.45,.94) .24s;transform:translateY(24px)}.animate-on-scroll.visible,.animate-on-scroll-delay-1.visible,.animate-on-scroll-delay-2.visible,.animate-on-scroll-delay-3.visible{will-change:auto;transform:translateY(0);opacity:1!important}.card-pop-hover{transform-origin:50%;backface-visibility:hidden;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.card-pop-hover.group:hover{transform:scale(1.015)rotate(0)}.card-active.card-pop-active{transition:transform .3s cubic-bezier(.34,1.56,.64,1);transform:scale(1.02)rotate(0)}a,button{transition:all .2s ease-in-out}section[id]{scroll-margin-top:80px}.landing-section-title{letter-spacing:-.025em;font-size:1.875rem;font-weight:800;line-height:2.25rem}@media (min-width:640px){.landing-section-title{font-size:2.25rem;line-height:2.5rem}}@media (min-width:1024px){.landing-section-title{font-size:3rem;line-height:1}}.landing-section-title{letter-spacing:-.02em;transform:translateZ(0)}.landing-section-subtitle{color:hsl(var(--muted-foreground));font-size:1.125rem;font-weight:500;line-height:1.75rem}@media (min-width:640px){.landing-section-subtitle{font-size:1.25rem;line-height:1.75rem}}.landing-section-subtitle{line-height:1.7;transform:translateZ(0)}.landing-card{transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.3s}.landing-card:hover{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y));--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@keyframes button-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.accent-line{position:relative}.accent-line:after{content:"";--tw-translate-x:-50%;width:4rem;height:.375rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y));background:linear-gradient(to right,transparent,hsl(var(--primary)),transparent);border-radius:9999px;animation:2s ease-in-out infinite accent-pulse;position:absolute;bottom:-.5rem;left:50%}@keyframes accent-pulse{0%,to{opacity:.6;transform:translate(-50%)scaleX(1)}50%{opacity:1;transform:translate(-50%)scaleX(1.2)}}.green-glow{box-shadow:0 0 20px hsl(var(--primary)/.3)}.green-glow:hover{box-shadow:0 0 30px hsl(var(--primary)/.5)}.card-hover-green{border-color:hsl(var(--border));transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.3s}.card-hover-green:hover{border-color:hsl(var(--primary));--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transform:translateY(-4px)}.card-hover-green:hover:before{content:"";background:linear-gradient(135deg,hsl(var(--primary)/.05)0%,transparent 100%);pointer-events:none;border-radius:.75rem;position:absolute;inset:0}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.animate-marquee{animation:30s linear infinite marquee}@media (max-width:1024px){.animate-marquee{animation-duration:24s}}@media (max-width:640px){.animate-marquee{animation-duration:16s}}.animate-marquee:hover{animation-play-state:paused}
