.aurora{inset:-10%;background:radial-gradient(40% 60% at 20% 10%,rgba(16,185,129,.15),transparent 60%),radial-gradient(40% 60% at 80% 20%,rgba(217,70,239,.15),transparent 60%),radial-gradient(40% 60% at 40% 80%,rgba(251,191,36,.15),transparent 60%);filter:blur(40px);animation:drift 24s ease-in-out infinite alternate}.aurora,.orbs{position:absolute}.orbs{inset:0;overflow:hidden;pointer-events:none}.orb{position:absolute;border-radius:9999px;filter:blur(40px);opacity:.6;mix-blend-mode:screen;animation:float 18s ease-in-out infinite}.orb-emerald{width:22rem;height:22rem;left:-6rem;top:20vh;background:radial-gradient(circle at 30% 30%,#34d399,transparent 60%);animation-delay:0s}.orb-fuchsia{width:26rem;height:26rem;right:-8rem;top:10vh;background:radial-gradient(circle at 70% 30%,#e879f9,transparent 60%);animation-delay:3s}.orb-amber{width:18rem;height:18rem;right:25%;bottom:-6rem;background:radial-gradient(circle at 50% 50%,#fbbf24,transparent 60%);animation-delay:6s}.grain{position:absolute;inset:0;background-image:url(/placeholder.svg?height=2&width=2);opacity:.06;mix-blend-mode:overlay}.gradient-text{background:linear-gradient(120deg,#34d399,#e879f9,#fbbf24,#34d399);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:300% 300%;animation:gradientShift 10s ease infinite}.gradient-ring{background:linear-gradient(120deg,rgba(52,211,153,.8),rgba(232,121,249,.8),rgba(251,191,36,.8),rgba(52,211,153,.8));background-size:300% 300%;animation:gradientShift 12s ease infinite}.shine{position:relative;overflow:hidden}.shine:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.25) 40%,transparent 60%);transform:translateX(-120%);animation:shimmer 3.2s ease-in-out infinite}.reveal{opacity:0;transform:translateY(16px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}.animate-gradient{background-size:300% 300%;animation:gradientShift 8s ease infinite}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes shimmer{0%{transform:translateX(-120%)}to{transform:translateX(120%)}}@keyframes float{0%{transform:translateY(0) translateX(0)}50%{transform:translateY(-24px) translateX(8px)}to{transform:translateY(0) translateX(0)}}@keyframes drift{0%{transform:translateY(0) rotate(0deg)}to{transform:translateY(-20px) rotate(3deg)}}