p {
  width: 500px;
}

body {
  position: relative;
  overflow-x: hidden;
}

.container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

img {
  height: 80px;
}

.header,
.container,
.footer {
  position: relative;
  z-index: 1;
}

.blob-layer {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.blob {
  position: absolute;
  background: #c0c0c0;
  border-radius: 60% 40% 55% 45% / 65% 35% 55% 45%;
}

.blob--left {
  width: 360px;
  height: 520px;
  left: -6vw;
  top: 18vh;
  animation: floatLeft 10s ease-in-out infinite alternate;
}

.blob--center {
  width: 480px;
  height: 380px;
  left: 24vw;
  top: 48vh;
  border-radius: 55% 45% 50% 50% / 60% 40% 45% 55%;
  animation: floatCenter 8s ease-in-out infinite alternate;
}

.blob--right {
  width: 420px;
  height: 360px;
  right: -10vw;
  top: 30vh;
  border-radius: 70% 30% 55% 45% / 55% 45% 65% 35%;
  animation: floatRight 12s ease-in-out infinite alternate;
}

@keyframes floatLeft {
  0%   { transform: translate(0, 0) scale(1); }
  50%  { transform: translate(30px, 50px) scale(1.06); }
  100% { transform: translate(-25px, -40px) scale(1.02); }
}

@keyframes floatCenter {
  0%   { transform: translate(0, 0) scale(1); }
  50%  { transform: translate(-40px, 60px) scale(1.08); }
  100% { transform: translate(30px, -50px) scale(1.03); }
}

@keyframes floatRight {
  0%   { transform: translate(0, 0) scale(1); }
  50%  { transform: translate(-50px, 40px) scale(1.07); }
  100% { transform: translate(35px, -45px) scale(1.02); }
}

@media (max-width: 820px) {
 p {
  width: 400px;
}
}