/* CBS Page Loading Animation */
:root{ --loader-navy:#1f2f6e; }
body.is-loading{ overflow:hidden; }
.loader{
  position:fixed; inset:0; z-index:9999; height:100vh;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:#ffffff; transition:opacity 0.5s ease, visibility 0.5s ease;
}
.loader img{ width:110px; }
.loader .track{
  width:clamp(130px, 40vw, 220px); height:6px; background:#eef0f8;
  border-radius:6px; overflow:hidden; margin-top:22px;
}
.loader .bar{
  height:100%; width:0%; border-radius:6px;
  background:var(--loader-navy);
  animation: barFill 2.2s ease-in-out infinite;
}
@keyframes barFill{ 0%{ width:0%; } 90%{ width:100%; } 100%{ width:100%; } }
.loader.loader-hidden{ opacity:0; visibility:hidden; pointer-events:none; }
