.preloader-overlay{z-index:99999;opacity:1;visibility:visible;background-color:#fff;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .6s cubic-bezier(.4,0,.2,1),visibility .6s;display:flex;position:fixed;top:0;left:0}html.preloader-done .preloader-overlay,html.preloader-done #preloader,.preloader-overlay.fade-out{opacity:0!important;visibility:hidden!important;pointer-events:none!important;display:none!important}.preloader-content{align-items:center;gap:var(--space-xl);flex-direction:column;display:flex}.preloader-logo-wrapper{justify-content:center;align-items:center;width:280px;height:140px;display:flex;position:relative}.preloader-logo{object-fit:contain;z-index:10;max-width:200px;height:auto;animation:2.5s ease-in-out infinite logoPulse}.preloader-ring{border:2px solid #0000;border-color:#2a2378 #0000 #d81820;border-radius:50%;width:240px;height:240px;animation:1.5s linear infinite preloaderSpin;position:absolute}.preloader-text-wrapper{color:#2a2378;font-family:var(--font-sans);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.15em;margin-top:var(--space-lg);justify-content:center;align-items:baseline;gap:2px;font-weight:600;display:flex}.preloader-dots span{animation:1.4s infinite both dotsFade}.preloader-dots span:nth-child(2){animation-delay:.2s}.preloader-dots span:nth-child(3){animation-delay:.4s}.preloader-progress-container{border-radius:var(--radius-full);background-color:#f5f7fa;width:180px;height:3px;position:relative;overflow:hidden}.preloader-progress-bar{border-radius:var(--radius-full);background:linear-gradient(90deg,#2a2378,#d81820);width:0%;height:100%;animation:1.5s cubic-bezier(.1,.8,.2,1) forwards preloaderProgress}@keyframes preloaderSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes logoPulse{0%,to{filter:drop-shadow(0 0 #2a237800);transform:scale(1)}50%{filter:drop-shadow(0 0 15px #2a237826);transform:scale(1.03)}}@keyframes dotsFade{0%{opacity:.2}20%{opacity:1}to{opacity:.2}}@keyframes preloaderProgress{0%{width:0%}30%{width:45%}60%{width:75%}90%{width:95%}to{width:100%}}@media (prefers-reduced-motion:reduce){.preloader-logo{animation:none}.preloader-ring{animation:5s linear infinite preloaderSpin}.preloader-dots span{animation:none}}
