/* SINVEC V6.217 — one-off loader for refresh/deep link to a non-hero route.
   No backdrop-filter or full-screen animated video: keep it cheap on Android. */
.sinvec-route-loader { display:none; position:fixed; inset:0; z-index:2147483000;
  background:#090909; color:#f7f7f7; padding:24px; box-sizing:border-box;
  align-items:center; justify-content:center; isolation:isolate;
  -webkit-tap-highlight-color:transparent; }
html.sinvec-route-loading .sinvec-route-loader,
html.sinvec-route-loader-exit .sinvec-route-loader { display:flex; }
.sinvec-route-loader__inner { width:min(260px,78vw); display:flex;
  flex-direction:column; align-items:center; gap:22px; }
.sinvec-route-loader__logo { display:block; width:clamp(116px,35vw,163px);
  height:auto; max-height:76px; object-fit:contain; }
.sinvec-route-loader__track { position:relative; height:2px; width:100%; overflow:hidden;
  border-radius:2px; background:rgba(255,255,255,.17); }
.sinvec-route-loader__track span { position:absolute; top:0; bottom:0; left:0;
  width:38%; background:rgba(255,255,255,.95); border-radius:2px;
  animation:sinvec-route-progress 1.2s cubic-bezier(.45,0,.55,1) infinite; }
.sinvec-route-loader__label {margin:0; color:rgba(255,255,255,.59);
  font:500 10px/1.5 Arial,Helvetica,sans-serif; letter-spacing:.19em;
  text-align:center; white-space:normal; }
html.sinvec-route-loader-exit .sinvec-route-loader {
  opacity:0; pointer-events:none; transition:opacity .28s ease-out; }
@keyframes sinvec-route-progress { 0% {transform:translateX(-110%)}
  100% {transform:translateX(280%)} }
@media (prefers-reduced-motion:reduce) {
 .sinvec-route-loader__track span {animation:none;width:100%;opacity:.7}
 html.sinvec-route-loader-exit .sinvec-route-loader {transition:none}
}
