@keyframes float1{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-18px) rotate(2deg)}}@keyframes float2{0%,to{transform:translateY(0)}50%{transform:translateY(-12px) rotate(-3deg)}}@keyframes gradShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes pulse{0%,to{box-shadow:0 0 0 0 color-mix(in oklch,var(--primary) 40%,transparent)}50%{box-shadow:0 0 0 12px transparent}}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.grad-hero{background:linear-gradient(135deg,var(--kodal-violet-950),var(--primary),var(--kodal-violet-500));background-size:400% 400%;animation:gradShift 12s ease infinite}.float-1{animation:float1 6s ease-in-out infinite}.float-2{animation:float2 5s ease-in-out .5s infinite}.blink-cursor{animation:blink 1s step-end infinite}.pulse-ring{animation:pulse 2.5s ease infinite}.sticky-cta{animation:slideUp .4s cubic-bezier(.25,1,.5,1)}.faq-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.25,1,.5,1)}.faq-content.open{grid-template-rows:1fr}.faq-inner{overflow:hidden}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}