.logo-loader-container{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:9999;overflow:hidden;transition:opacity 1.2s cubic-bezier(.22,1,.36,1);pointer-events:none;background:linear-gradient(145deg,var(--primary-color-dark) 0,var(--primary-color) 50%,var(--secondary-color) 100%)}.logo-loader-container.fade-out{opacity:0;background:rgba(0,0,0,0)!important}.logo-loader-gradient{position:absolute;inset:0;background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);animation:gradientAnimate 15s ease infinite;background-size:400% 400%;z-index:0}.logo-loader-overlay{position:absolute;inset:0;background:radial-gradient(circle at center,transparent 0,rgba(0,0,0,.1) 100%);z-index:1}.logo-loader-content{flex-direction:column;z-index:2;transform:scale(.8);opacity:0;animation:contentFadeIn .5s cubic-bezier(.22,1,.36,1) forwards}.logo-loader-content,.logo-loader-wrapper{display:flex;align-items:center;justify-content:center;position:relative}.logo-loader-wrapper{width:180px;height:180px;margin-bottom:1.5rem}.logo-loader-image{max-width:75%;max-height:75%;object-fit:contain;filter:drop-shadow(0 10px 25px rgba(0,0,0,.2));border-radius:20px;animation:logoFloat 2.5s ease-in-out infinite;z-index:3;position:relative}.logo-loader-text{font-size:1.6rem;font-weight:600;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.15);margin-top:.5rem;letter-spacing:-.01em;opacity:0;animation:textFadeIn .5s cubic-bezier(.22,1,.36,1) .3s forwards}.logo-loader-spinner{position:absolute;width:100%;height:100%;border-radius:50%;border-color:#fff hsla(0,0%,100%,.1) hsla(0,0%,100%,.1) #fff;border-style:solid;border-width:3px;animation:spinnerRotate 1.5s linear infinite}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spinnerRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes contentFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes textFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes gradientAnimate{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@media(max-width:768px){.logo-loader-wrapper{width:150px;height:150px;margin-bottom:1rem}.logo-loader-text{font-size:1.3rem}}