html,body,#root{height:100%}body{margin:0;overflow-x:hidden}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.7}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in-up{animation:.6s cubic-bezier(.4,0,.2,1) both fadeInUp}.animate-fade-in{animation:.4s both fadeIn}.animate-scale-in{animation:.4s cubic-bezier(.4,0,.2,1) both scaleIn}.shimmer{background:linear-gradient(90deg,#f0efec 25%,#fafaf8 50%,#f0efec 75%) 0 0/200% 100%;animation:1.5s linear infinite shimmer}.hero-swiper{border-radius:inherit;width:100%;height:100%}.hero-swiper .swiper-slide{width:100%!important;height:100%!important}.hero-swiper .swiper-slide img{object-fit:cover;width:100%;height:100%;display:block}.hero-swiper .swiper-pagination-bullet{opacity:1;background:#ffffff80;width:8px;height:8px;transition:all .3s}.hero-swiper .swiper-pagination-bullet-active{background:#fff;border-radius:4px;width:24px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#1a1d2326;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#1a1d2340}.safe-bottom{padding-bottom:env(safe-area-inset-bottom,0)}.app-loader-orb{filter:blur(60px);pointer-events:none;border-radius:50%;position:absolute}.app-loader-orb--orange{background:#ff6b352e;width:280px;height:280px;animation:6s ease-in-out infinite loaderFloat;top:-80px;right:-60px}.app-loader-orb--green{background:#4ade801f;width:220px;height:220px;animation:7s ease-in-out 1s infinite reverse loaderFloat;bottom:-60px;left:-40px}.app-loader-ring{background:conic-gradient(#0000 0deg,#ff6b35 90deg,#ffb347 180deg,#ff8f5c 270deg,#0000 360deg);border-radius:50%;width:72px;height:72px;padding:3px;animation:1.1s linear infinite loaderSpin;position:relative}.app-loader-ring__inner{background:#fafaf8;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex;box-shadow:inset 0 0 0 1px #fffc}@keyframes loaderSpin{to{transform:rotate(360deg)}}@keyframes loaderFloat{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-12px)scale(1.04)}}
