  html.page-loading, html.page-loading body { overflow: hidden !important; }
  #pageLoader { position: fixed; inset: 0; z-index: 999999; display: flex; align-items: center; justify-content: center; background: #ffffff; opacity: 1; visibility: visible; transition: opacity .45s ease, visibility .45s ease; }
  #pageLoader.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
  .page-loader-inner { width: 180px; text-align: center; }
  .page-loader-spinner { width: 42px; height: 42px; margin: 0 auto 16px; border: 3px solid #e9edf3; border-top-color: #0b2347; border-radius: 50%; animation: pageLoaderSpin .8s linear infinite; }
  @keyframes pageLoaderSpin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
  #pageLoaderPercent { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 22px; font-weight: 700; line-height: 1; color: #0b2347; font-variant-numeric: tabular-nums; }
  .page-loader-text { margin-top: 8px; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 11px; font-weight: 500; color: #7b8491; letter-spacing: .2px; }
  .page-loader-progress { width: 150px; height: 3px; margin: 14px auto 0; overflow: hidden; background: #edf0f4; border-radius: 999px; }
  #pageLoaderProgressBar { width: 0%; height: 100%; background: #0b2347; border-radius: inherit; transition: width .18s ease; }
  @media (max-width: 576px) { .page-loader-inner { width: 150px; } .page-loader-spinner { width: 36px; height: 36px; } #pageLoaderPercent { font-size: 19px; } .page-loader-progress { width: 130px; } }