.post__cta {
  display: flex;
  background-color: var(--color-red);
  place-content: space-between;
  place-self: center;
  width: 100%;
  gap: 2.4rem;
}
@media screen and (max-width: 767px) {
  .post__cta {
    flex-direction: column;
    gap: 8rem;
  }
}
.post__cta .post__cta__content {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  max-width: 38rem;
}
.post__cta .post__cta__content .post__cta__content__body {
  font-size: var(--text-body-2);
  line-height: var(--lh-body-2);
  color: var(--color-beige);
}
.post__cta .post__cta__button {
  --height: 1px;
  --duration: 0.7s;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  display: inline-flex;
  flex-direction: column-reverse;
  position: relative;
  place-self: flex-end;
}
@media screen and (max-width: 767px) {
  .post__cta .post__cta__button {
    place-self: flex-start;
  }
}
.post__cta .post__cta__button a {
  display: inline-flex;
  place-items: center;
  gap: 1.2rem;
  margin-top: auto;
  place-content: flex-end;
}
.post__cta .post__cta__button a:hover span::before {
  transform: scaleX(0);
  transform-origin: right;
  background: currentColor;
}
.post__cta .post__cta__button a:hover span::after {
  transform: scaleX(1);
  transform-origin: left;
  background: currentColor;
}
.post__cta .post__cta__button a:hover .post__cta__button__icon {
  transform: scale(0.9);
}
.post__cta .post__cta__button a span {
  position: relative;
  color: var(--color-white);
  font-style: normal;
  font-weight: 400;
  white-space: nowrap;
}
.post__cta .post__cta__button a span::after, .post__cta .post__cta__button a span::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.4rem;
  height: var(--height);
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--duration) var(--ease);
}
.post__cta .post__cta__button a span::after {
  transform-origin: right;
  background: currentColor;
}
.post__cta .post__cta__button a .post__cta__button__icon {
  display: flex;
  place-content: center;
  place-items: center;
  width: 4.8rem;
  min-width: 4.8rem;
  height: 4.8rem;
  padding: 0.6rem;
  background-color: var(--color-white);
  border-radius: 50%;
  color: var(--color-black);
  transform-origin: center center;
  transition: transform 420ms ease-in-out;
}
