.fade-in{opacity:0;animation:fadeIn 1s ease forwards}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.hover-glow{transition:all 0.3s ease}.hover-glow:hover{box-shadow:0 0 20px rgb(200 164 86 / .3)}.btn-shine{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#fff0 0%,rgb(255 255 255 / .4) 50%,#fff0 100%);transform:translateX(-100%);animation:shine 3s infinite;pointer-events:none}@keyframes shine{0%{transform:translateX(-100%) rotate(30deg)}20%{transform:translateX(100%) rotate(30deg)}100%{transform:translateX(100%) rotate(30deg)}}.animated-underline{position:relative;display:inline-block}.animated-underline::after{content:'';position:absolute;width:0;height:2px;bottom:-4px;left:0;background-color:var(--secondary-color);transition:width 0.3s ease}.animated-underline:hover::after{width:100%}.pulse{animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 0 0 rgb(200 164 86 / .4)}70%{transform:scale(1.05);box-shadow:0 0 0 10px #fff0}100%{transform:scale(1);box-shadow:0 0 0 0 #fff0}}.float{animation:float 3s ease-in-out infinite}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}100%{transform:translateY(0)}}.reveal{position:relative;overflow:hidden}.reveal::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--secondary-color);transform:translateX(-100%);animation:reveal 1.5s ease forwards}@keyframes reveal{0%{transform:translateX(-100%)}50%{transform:translateX(0)}100%{transform:translateX(100%)}}.scale-in{transform:scale(.8);opacity:0;animation:scaleIn 0.5s ease forwards}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}100%{transform:scale(1);opacity:1}}.rotate-in{transform:rotate(-10deg) scale(.8);opacity:0;animation:rotateIn 0.5s ease forwards}@keyframes rotateIn{0%{transform:rotate(-10deg) scale(.8);opacity:0}100%{transform:rotate(0) scale(1);opacity:1}}.text-fade{background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:#fff0;background-size:200% 100%;animation:textFade 2s infinite alternate}@keyframes textFade{0%{background-position:0% 50%}100%{background-position:100% 50%}}