@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes skeleton-loading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%)0}}@keyframes glow{0%,to{box-shadow:0 0 5px rgba(168,230,207,.5)}50%{box-shadow:0 0 20px rgba(168,230,207,.8)}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes gradient{0%,to{background-position:0 50%}50%{background-position:100% 50%}}[data-aos=fade-in]{opacity:0;transition:opacity .8s ease}[data-aos=fade-in].aos-animate{opacity:1}[data-aos=fade-down],[data-aos=fade-up]{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}[data-aos=fade-down].aos-animate,[data-aos=fade-up].aos-animate{opacity:1;transform:translateY(0)}[data-aos=fade-down]{transform:translateY(-30px)}[data-aos=fade-left],[data-aos=fade-right]{opacity:0;transform:translateX(30px);transition:opacity .8s ease,transform .8s ease}[data-aos=fade-left].aos-animate,[data-aos=fade-right].aos-animate{opacity:1;transform:translateX(0)}[data-aos=fade-right]{transform:translateX(-30px)}[data-aos=zoom-in]{transform:scale(.9)}[data-aos=zoom-in].aos-animate,[data-aos=zoom-out].aos-animate{opacity:1;transform:scale(1)}[data-aos=flip-up],[data-aos=zoom-in],[data-aos=zoom-out]{opacity:0;transition:opacity .8s ease,transform .8s ease}[data-aos=zoom-out]{transform:scale(1.1)}[data-aos=flip-up]{transform:perspective(1000px) rotateX(-45deg)}[data-aos=flip-up].aos-animate{opacity:1;transform:perspective(1000px) rotateX(0)}[data-aos=slide-up]{opacity:0;transform:translateY(50px);transition:opacity .6s ease,transform .6s ease}[data-aos=slide-up].aos-animate{opacity:1;transform:translateY(0)}.btn,.button,a.btn,button{position:relative;overflow:hidden}.button,a.btn{transition:all .3s cubic-bezier(.4,0,.2,1)}.btn::before,.button::before,button::before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.3);transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:active::before,.button:active::before,button:active::before{width:300px;height:300px}.destination-card,.package-card,.tour-card{transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.card:hover,.destination-card:hover,.package-card:hover,.tour-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px rgba(0,0,0,.15)}.image-zoom{overflow:hidden}.image-zoom img{transition:transform .5s cubic-bezier(.4,0,.2,1)}.image-zoom:hover img{transform:scale(1.1)}a.link-animated{position:relative;text-decoration:none}a.link-animated::after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:currentColor;transition:width .3s cubic-bezier(.4,0,.2,1)}a.link-animated:hover::after{width:100%}.btn-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.badge-bounce{animation:bounce 2s ease-in-out infinite}.icon-rotate{transition:transform .3s cubic-bezier(.4,0,.2,1)}.icon-rotate:hover{transform:rotate(15deg)}.spinner{width:40px;height:40px;border:4px solid rgba(0,0,0,.1);border-left-color:#1a4d2e;border-radius:50%;animation:spin 1s linear infinite}.skeleton{background:linear-gradient(90deg,#f0f0f0 0,#e0e0e0 40px,#f0f0f0 80px);background-size:200px 100%;animation:skeleton-loading 1.5s ease-in-out infinite}html{scroll-behavior:smooth}:focus-visible{outline:3px solid #a8e6cf;outline-offset:3px;border-radius:4px}input,select,textarea{transition:border-color .3s ease,box-shadow .3s ease}input:focus,select:focus,textarea:focus{border-color:#1a4d2e;box-shadow:0 0 0 3px rgba(26,77,46,.1)}.badge-glow{animation:glow 2s ease-in-out infinite}.shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97)}.float{animation:float 3s ease-in-out infinite}.gradient-animate{background-size:200% 200%;animation:gradient 5s ease infinite}.btn,.card,a,button,input,select,textarea{transition:all .3s cubic-bezier(.4,0,.2,1)}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.card:hover,.image-zoom:hover img,[data-aos]{will-change:transform,opacity}[data-aos].aos-animate{will-change:auto}