body.future-docs-body {
  background-size: 148% 148%, 148% 148%, 128% 128%, auto;
  animation: futureBodyDriftV2 20s ease-in-out infinite alternate;
}

body.future-docs-body::before {
  opacity: 0.97;
  filter: blur(60px);
  animation: futureLavaShiftV2 12s ease-in-out infinite alternate;
}

body.future-docs-body::after {
  opacity: 0.26;
}

@keyframes futureBodyDriftV2 {
  0% {
    background-position: 0% 0%, 100% 100%, 50% 50%, 0 0;
  }
  35% {
    background-position: 6% 3%, 96% 95%, 46% 55%, 0 0;
  }
  70% {
    background-position: 3% 8%, 90% 88%, 55% 44%, 0 0;
  }
  100% {
    background-position: 8% 10%, 86% 92%, 52% 40%, 0 0;
  }
}

@keyframes futureLavaShiftV2 {
  0% {
    transform: translate3d(-4%, -3%, 0) scale(1.03);
  }
  32% {
    transform: translate3d(3%, 1%, 0) scale(1.09);
  }
  68% {
    transform: translate3d(-2%, 4%, 0) scale(1.06);
  }
  100% {
    transform: translate3d(3%, -2%, 0) scale(1.1);
  }
}

.future-hero-card-v2 {
  padding: 1.4rem;
}

.future-hero-grid-v2 {
  display: block;
}

.future-hero-search-inline {
  margin-top: 1.7rem;
  max-width: 38rem;
}

.future-search-wrap-inline .future-search-input {
  background: rgba(2, 6, 23, 0.62);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.future-glitch,
.future-mini-glitch-behind {
  isolation: isolate;
  z-index: 0;
}

.future-glitch::before,
.future-glitch::after,
.future-mini-glitch-behind::before,
.future-mini-glitch-behind::after {
  z-index: -1;
}

.future-glitch::before {
  color: var(--future-cyan);
  transform: translate(4px, -2px);
  clip-path: inset(0 0 0 0);
  mix-blend-mode: screen;
  animation: futureGlitchBackA 2.5s steps(2, end) infinite;
}

.future-glitch::after {
  color: var(--future-violet);
  transform: translate(-4px, 2px);
  clip-path: inset(0 0 0 0);
  mix-blend-mode: screen;
  animation: futureGlitchBackB 2.1s steps(2, end) infinite;
}

.future-mini-glitch-behind {
  position: relative;
  display: inline-block;
  color: #ffffff;
}

.future-mini-glitch-behind::before,
.future-mini-glitch-behind::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  width: 100%;
  white-space: nowrap;
  pointer-events: none;
}

.future-mini-glitch-behind::before {
  color: var(--future-cyan);
  opacity: 0.86;
  transform: translate(2px, -1px);
  mix-blend-mode: screen;
  animation: futureMiniBackA 2.2s steps(2, end) infinite;
}

.future-mini-glitch-behind::after {
  color: var(--future-violet);
  opacity: 0.82;
  transform: translate(-2px, 1px);
  mix-blend-mode: screen;
  animation: futureMiniBackB 1.9s steps(2, end) infinite;
}

@keyframes futureGlitchBackA {
  0%,
  100% {
    clip-path: inset(0 0 0 0);
    transform: translate(4px, -2px);
  }
  12% {
    clip-path: inset(0 0 62% 0);
    transform: translate(6px, -3px);
  }
  20% {
    clip-path: inset(34% 0 28% 0);
    transform: translate(-4px, 1px);
  }
  60% {
    clip-path: inset(48% 0 16% 0);
    transform: translate(-5px, 1px);
  }
}

@keyframes futureGlitchBackB {
  0%,
  100% {
    clip-path: inset(0 0 0 0);
    transform: translate(-4px, 2px);
  }
  10% {
    clip-path: inset(58% 0 0 0);
    transform: translate(-6px, 3px);
  }
  18% {
    clip-path: inset(24% 0 38% 0);
    transform: translate(4px, -2px);
  }
  62% {
    clip-path: inset(46% 0 18% 0);
    transform: translate(5px, -1px);
  }
}

@keyframes futureMiniBackA {
  0%,
  100% {
    clip-path: inset(0 0 0 0);
    transform: translate(2px, -1px);
  }
  24% {
    clip-path: inset(38% 0 24% 0);
    transform: translate(-3px, 1px);
  }
  56% {
    clip-path: inset(14% 0 46% 0);
    transform: translate(5px, -1px);
  }
}

@keyframes futureMiniBackB {
  0%,
  100% {
    clip-path: inset(0 0 0 0);
    transform: translate(-2px, 1px);
  }
  22% {
    clip-path: inset(24% 0 36% 0);
    transform: translate(3px, -1px);
  }
  60% {
    clip-path: inset(46% 0 18% 0);
    transform: translate(3px, 0);
  }
}

.docs-cat-photo-wrap .docs-cat-sleep {
  top: -1.45rem;
  left: 0.95rem;
  font-size: 1.1rem;
}

.docs-cat-photo-wrap .docs-cat-sleep span {
  animation: docsCatSleepLineV2 5.4s ease-in-out infinite;
}

.docs-cat-photo-wrap .docs-cat-sleep span:nth-child(2) {
  margin-left: -0.18rem;
  animation-delay: 1.35s;
}

.docs-cat-photo-wrap .docs-cat-sleep span:nth-child(3) {
  margin-left: -0.18rem;
  animation-delay: 2.7s;
}

@keyframes docsCatSleepLineV2 {
  0% {
    opacity: 0;
    transform: translateY(0.5rem) scale(0.82);
  }
  16% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  52% {
    opacity: 0.92;
    transform: translate(-0.2rem, -1.25rem) scale(1.18);
  }
  100% {
    opacity: 0;
    transform: translate(-0.4rem, -2.65rem) scale(1.34);
  }
}

@media (max-width: 640px) {
  .future-hero-card-v2 {
    padding: 1.2rem;
  }

  .future-hero-search-inline {
    margin-top: 1.3rem;
  }

  .docs-cat-photo-wrap .docs-cat-sleep {
    top: -1.2rem;
    left: 0.72rem;
    font-size: 1rem;
  }

  .docs-cat-photo-wrap .docs-cat-sleep span {
    animation-duration: 5.8s;
  }
}
