@keyframes hero-fade-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-fade-up{opacity:0;animation:.6s ease-out forwards hero-fade-up}@keyframes hero-image-in{0%{transform:scale(.95)}to{transform:scale(1)}}.hero-image-in{animation:.6s ease-out .4s forwards hero-image-in}.reveal{opacity:0;transition:opacity .55s cubic-bezier(.4,0,.2,1),transform .55s cubic-bezier(.4,0,.2,1);transform:translateY(16px)scale(.99)}.reveal-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.landing-page [style*=animation]{animation:none!important}.hero-fade-up,.hero-image-in,.hero-enter,.hero-enter-rise{opacity:1!important;animation:none!important;transform:none!important}.hero-aurora,.hero-aurora-alt,.animate-float,.animate-float-slow,.animate-ken-burns{animation:none!important}.reveal{opacity:1;transition:none;transform:none}}.landing-page{background:var(--cream)}.section-green{background:linear-gradient(165deg,#e7f0e4 0%,#f3f3ec 58%,#dbe8d3 100%)}.landing-page h1,.landing-page h2,.landing-page h3{font-family:var(--font-heading),var(--font-sans);letter-spacing:-.015em}.landing-page :where(p,li){font-size:1.125rem;line-height:1.6}.landing-page :where(.txt-meta){font-size:.875rem;line-height:1.45}.cta-lift{transition:transform .2s,background-color .2s,box-shadow .2s}@media (hover:hover){.cta-lift:hover{transform:translateY(-2px);box-shadow:0 10px 24px -8px #11611d59}}@media (prefers-reduced-motion:reduce){.cta-lift{transition:none}.cta-lift:hover{transform:none}}@keyframes hero-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.hero-enter{opacity:0;animation:.8s cubic-bezier(.4,0,.2,1) both hero-enter}@keyframes hero-enter-rise{0%{transform:translateY(18px)}to{transform:none}}.hero-enter-rise{animation:.8s cubic-bezier(.4,0,.2,1) both hero-enter-rise}@keyframes hero-aurora{0%{transform:translate(0,0)scale(1)}50%{transform:translate(4%,-3%)scale(1.18)}to{transform:translate(0,0)scale(1)}}.hero-aurora{will-change:transform;animation:16s ease-in-out infinite hero-aurora}.hero-aurora-alt{will-change:transform;animation:23s ease-in-out infinite reverse hero-aurora}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.animate-float{will-change:transform;animation:6s ease-in-out infinite float}.animate-float-slow{will-change:transform;animation:9s ease-in-out infinite float}@keyframes ken-burns{0%{transform:scale(1)}to{transform:scale(1.08)}}.animate-ken-burns{will-change:transform;animation:14s ease-in-out infinite alternate ken-burns}.pattern-dots{background-image:radial-gradient(circle,#11611d1c 1px,#0000 1px);background-size:30px 30px;-webkit-mask-image:radial-gradient(70% 60%,#000 30%,#0000 100%);mask-image:radial-gradient(70% 60%,#000 30%,#0000 100%)}.card-lift{transition:transform .35s cubic-bezier(.4,0,.2,1),box-shadow .35s cubic-bezier(.4,0,.2,1),border-color .35s}@media (hover:hover){.card-lift:hover{transform:translateY(-4px)}}.tilt-left{transform:rotate(-1.5deg)}.tilt-right{transform:rotate(1.5deg)}@media (hover:hover){.card-lift.tilt-left:hover,.card-lift.tilt-right:hover{transform:rotate(0)translateY(-4px)}}@keyframes cta-pulse{0%{opacity:.45;transform:scale(1)}70%,to{opacity:0;transform:scale(1.45)}}.cta-pulse{animation:2.6s ease-out 3 both cta-pulse}.faq-bar{transform-origin:top;transition:transform .4s cubic-bezier(.4,0,.2,1);transform:scaleY(0)}[data-state=open] .faq-bar{transform:scaleY(1)}@media (prefers-reduced-motion:reduce){.card-lift,.card-lift:hover,.tilt-left,.tilt-right{transition:none;transform:none}.cta-pulse{animation:none!important}.faq-bar{transition:none;transform:scaleY(1)}}.process-grid{background-image:radial-gradient(circle,#ffffff14 1px,#0000 1px);background-size:34px 34px;-webkit-mask-image:radial-gradient(75% 65% at 50% 45%,#000 35%,#0000 100%);mask-image:radial-gradient(75% 65% at 50% 45%,#000 35%,#0000 100%)}@keyframes process-drift{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(6%,-4%)scale(1.15)}}.process-glow{will-change:transform;animation:24s ease-in-out infinite process-drift}.process-glow-alt{will-change:transform;animation:31s ease-in-out infinite reverse process-drift}@keyframes node-ripple{0%{opacity:.5;transform:scale(1)}70%,to{opacity:0;transform:scale(2.1)}}.node-ripple{will-change:transform,opacity;animation:3.6s ease-out infinite node-ripple}@media (prefers-reduced-motion:reduce){.process-glow,.process-glow-alt,.node-ripple{animation:none!important}}
