JSFiddle - React, Tailwind, and code Playground

HTML

<figure></figure>

CSS

body {
  background-color: #FEF5F2;
  overflow: hidden;
  text-align: center;
}

figure {
  transform-origin: center center;
  transform-style: preserve-3d;
    transform: rotate3d(0, 0, 0, 0deg);
  animation-name: figure;
  animation-duration: 8s;
  animation-direction: normal;
  animation-iteration-count: infinite;
}

@keyframes figure {
  
  20% {
    transform: rotate3d(1, 0, 0, 20deg);
  }
  50% {
    transform: rotate3d(0, 0, 0, 0deg);
  }
}

h1:first-child {
  color: #E65370;
}

h1 {
  display: block;
  width: 100%;
  padding: 10px;
  line-height: 1.5;
  font: 900 160px 'Concert One', sans-serif;
  text-transform: uppercase;
  position: absolute;
  color: #883D4A;
}

JavaScript

var shadowLength = 40;
for (var i = 0; i < shadowLength; i++) {
  var layer = $("<h1>M</h1>").css("transform", "translateZ(-" + i + "px)");
  $("figure").append(layer);
}