.site-preloader{position:fixed;z-index:99999;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#fff 0,#f2f8ff 38%,#dcecf7 75%,#c8e7f0 100%);opacity:1;visibility:visible;transition:opacity .65s cubic-bezier(.22,1,.36,1),visibility .65s}.site-preloader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.preloader-inner{width:min(280px,calc(100% - 48px));display:grid;justify-items:center;color:var(--ink,#17223a);text-align:center}.preloader-brand{width:154px;height:39px;background:url('/assets/logo-sai-text.png') center/contain no-repeat;font-size:0;letter-spacing:0;opacity:0;animation:preloader-rise .7s .1s cubic-bezier(.22,1,.36,1) forwards}.preloader-brand>*{display:none}.preloader-orbit{position:relative;width:132px;height:132px;margin:36px 0 30px;display:grid;place-items:center;opacity:0;animation:preloader-rise .85s .18s cubic-bezier(.22,1,.36,1) forwards}.preloader-orbit:before,.preloader-orbit:after{content:'';position:absolute;border:1px solid rgba(8,124,255,.28);border-radius:50%;transform:rotate(36deg);animation:preloader-spin 4.5s linear infinite}.preloader-orbit:before{width:160px;height:66px}.preloader-orbit:after{width:82px;height:154px;transform:rotate(-46deg);animation-direction:reverse}.preloader-core{width:78px;height:78px;border-radius:0;background:url('/assets/logo-sai-symbol.png') center/contain no-repeat;color:transparent;box-shadow:none;animation:preloader-breathe 2s ease-in-out infinite}.preloader-satellite{position:absolute;width:8px;height:8px;border-radius:50%;background:#16c9f5;top:3px;left:22px;box-shadow:102px 103px #7b93ad;animation:preloader-blink 1.4s ease-in-out infinite}.preloader-caption{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:#58728d;opacity:0;animation:preloader-rise .7s .32s cubic-bezier(.22,1,.36,1) forwards}.preloader-progress{width:160px;height:3px;background:rgba(8,124,255,.14);border-radius:10px;overflow:hidden;margin-top:16px;opacity:0;animation:preloader-rise .7s .38s cubic-bezier(.22,1,.36,1) forwards}.preloader-progress span{display:block;width:35%;height:100%;border-radius:10px;background:#087cff;animation:preloader-progress 1.2s .35s cubic-bezier(.65,0,.35,1) forwards}.preloader-meta{width:100%;display:flex;justify-content:space-between;margin-top:16px;color:#7f98af;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;opacity:0;animation:preloader-rise .7s .44s cubic-bezier(.22,1,.36,1) forwards}@keyframes preloader-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes preloader-pulse{0%,100%{transform:scale(.75);opacity:.5}50%{transform:scale(1.1);opacity:1}}@keyframes preloader-spin{to{transform:rotate(396deg)}}@keyframes preloader-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes preloader-blink{0%,100%{opacity:.35}50%{opacity:1}}@keyframes preloader-progress{from{width:0}to{width:100%}}@media(prefers-reduced-motion:reduce){.site-preloader,.preloader-brand,.preloader-orbit,.preloader-caption,.preloader-progress,.preloader-meta{animation:none;transition:none;opacity:1}.preloader-progress span{animation:none;width:100%}.preloader-orbit:before,.preloader-orbit:after,.preloader-core,.preloader-satellite{animation:none}}

/* Safety net fallback */
.site-preloader { animation: preloader-safety-hide 1ms linear 4s forwards; }
.site-preloader.is-hidden { animation: none; }
@keyframes preloader-safety-hide { to { visibility: hidden; opacity: 0; pointer-events: none; } }
