@williamatics I followed this tutorial for a base (despite being Eevee focused it still works in Cycles) and then tweaked the density to my liking, also adding a gradient texture with a Mix node to make the transition from dense to sparse more seamless.