Having Trouble animating camera at start of game

I am trying to have it so that when the game starts my camera starts facing the player character then animates to the top down perspective. This is a top down endless runner type game. At the start the player is already moving on the z axis. So the camera is transitioning while following the player. Here is how I “think” it should look. But I need help finishing it.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FollowCam : MonoBehaviour
{
	private Transform lookAt;
	private Vector3 startOffset;
	private Transform camerasubject;
	private float animationTransition = 0.0f;
	private float animationDuration = 4.0f;

	// Use this for initialization

	void Start ()
	{
		CameraAnimation ();
		lookAt = GameObject.FindGameObjectWithTag ("Player").transform;
		startOffset = transform.position - lookAt.position;
	}
	
	// Update is called once per frame
	void LateUpdate () 
	{
		transform.position = lookAt.position + startOffset ;
	}

	void CameraAnimation()
	{
		camerasubject= GameObject.FindGameObjectWithTag ("Player").transform;
		// Get player position then move camera around it.
	}

}

Remove the CameraAnimation () function. it is redundant.

Add the following variables and replace the code in LateUpdate with the following (will explain why after):

// Speed variable
float transitionTime = 10f;
float transitionSpeed = 0.001f;

void LateUpdate () {
        // Move the camera
        transform.position = Vector3.Lerp (transform.position, lookAt.position + startOffset, transitionTime);

        // Reduce the transition time to avoid lag later
        if (transitionTime > 1f)
               transitionTime -= transitionSpeed ;

     // Ensure subject is kept
     transform.lookAt (lookAt);
}

The above script will ensure that the transition time is slow at first then gets faster so that there is no lag between the camera following and the player movement like there will be in the start.