/* Background video stack */
#bgvid
{
    position: fixed;
    inset: 0;
    z-index: -1;
    overflow: hidden;
    background: var(--bg, #000); /* black fallback if video can’t load */
}
#bgvid .bgv
{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit:contain;      /* same as background-size: contain */
    object-position: center top; /* same as 'center top' */
    background-color: var(--bg); /* fallback color behind transparent areas */
    opacity: 0;
}
body.bg-intro #introVideo{opacity:1}  /* no fade per your preference */
body.bg-loop  #loopVideo {opacity:1}

#bgvid .bgv-overlay
{
    position:absolute;
  inset:0;
  pointer-events:none;

  /* one centered orb that fades out toward the edges */
  background:
    radial-gradient(
      circle at 50% 50%,
      rgba(0, 200, 255, 0.20) 0%,
      rgba(0, 160, 255, 0.10) 40%,
      rgba(0, 120, 255, 0.06) 60%,
      transparent 78%
    );
  background-repeat:no-repeat;
  background-position:center;
  background-size:cover;    /* fills the viewport cleanly */
  mix-blend-mode:normal;    /* ensure it doesn't amplify unexpectedly */
}
@keyframes bgOrbPulse { 0%,100%{filter:brightness(1)} 50%{filter:brightness(1.18)} }
#bgvid .bgv-overlay{ animation: bgOrbPulse 8s ease-in-out infinite; }
