@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes gentleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes subtleGlow{0%,to{box-shadow:0 0 20px rgba(var(--primary-rgb),.1)}50%{box-shadow:0 0 30px rgba(var(--primary-rgb),.2)}}@keyframes breathe{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.05);opacity:.5}}.float-gentle,.float-gentle-delayed{animation:gentleFloat 8s ease-in-out infinite}.float-gentle-delayed{animation-delay:2s}.breathe-bg{animation:breathe 8s ease-in-out infinite}details summary~*{max-height:0;opacity:0;overflow:hidden;transform:translateY(-10px);transition:max-height .4s cubic-bezier(.25,1,.5,1),opacity .2s ease-out .1s,transform .4s cubic-bezier(.25,1,.5,1)}details[open] summary~*{max-height:20rem;opacity:1;transform:translateY(0)}.gradient-animate{background-size:200% 200%;animation:gradientShift 15s ease infinite}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes ctaPulse{0%,to{box-shadow:0 0 0 0 hsl(var(--primary)/.4)}50%{box-shadow:0 0 0 8px hsl(var(--primary)/0)}}.cta-pulse{animation:ctaPulse 2.5s ease-in-out infinite}@keyframes starFill{0%{opacity:0;transform:scale(.5) rotate(-30deg)}50%{transform:scale(1.1) rotate(0deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}.star-animate{animation:starFill .4s ease-out forwards;opacity:0}.star-animate:first-child{animation-delay:.1s}.star-animate:nth-child(2){animation-delay:.2s}.star-animate:nth-child(3){animation-delay:.3s}.star-animate:nth-child(4){animation-delay:.4s}.star-animate:nth-child(5){animation-delay:.5s}@keyframes compassFindNorth{0%{opacity:0;transform:scale(.8) rotate(180deg)}to{opacity:1;transform:scale(1) rotate(1turn)}}.logo-pop-in{animation:compassFindNorth 1.2s cubic-bezier(.25,.46,.45,.94) forwards}.animate-fadeInUp{animation:fadeInUp .8s ease-out both}.animate-fadeInRight{animation:fadeInRight 1s ease-out .2s both}.animate-fadeInUp-delayed{animation:fadeInUp .8s ease-out .4s both}.animate-fadeInUp-delayed-more{animation:fadeInUp .8s ease-out .6s both}