:host {
  --animation-duration: 20s;
}

.frame {
  width: 512px;
  @media screen and (max-width: 860px) {
    width: 90vw
  }
  position: relative;
}

.brand {
  position: absolute;
  left: 0;
  animation: var(--animation-duration) brand ease-in-out forwards;
  opacity: 0;
  @media screen and (max-width: 860px) {
    animation: var(--animation-duration) brand-mobile ease-in-out forwards;
  }
}

.text {
  position: absolute;
  left: 0;
  transform: translateX(50%);
  @media screen and (max-width: 860px) {
    transform: translateX(0) translateY(120%);
  }
  color: #fff;
  margin-top: 60px;

  .welcome {
    opacity: 0;
    font-size: 80px;
    @media screen and (max-width: 860px) {
      font-size: 40px;
    }
    animation: var(--animation-duration) welcome ease-in-out forwards;
  }

  .name {
    opacity: 0;
    font-size: 50px;
    @media screen and (max-width: 860px) {
      font-size: 30px;
    }
    animation: var(--animation-duration) name ease-in-out forwards;
  }

  .roles {
    opacity: 0;
    font-size: 20px;
    margin-top: 40px;
    animation: var(--animation-duration) roles ease-in-out forwards;
  }
}


@keyframes brand {
  10% {
    opacity: 0;
    transform: translateX(0) translateY(0%);
    filter: blur(30px);
  }
  15% {
    opacity: 1;
    transform: translateX(0) translateY(0%);
    filter: blur(0px);
  }
  20% {
    opacity: 1;
    transform: translateX(0) translateY(0%);
  }
  25% {
    opacity: 1;
    transform: translateX(-50%) translateY(0%);
  }

  100% {
    opacity: 1;
    transform: translateX(-50%) translateY(0%);
  }
}

@keyframes brand-mobile {
  10% {
    opacity: 0;
    transform: translateX(-25%) translateY(25%);
    filter: blur(30px);
  }
  15% {
    opacity: 1;
    transform: translateX(-25%) translateY(25%);
    filter: blur(0px);
  }
  20% {
    opacity: 1;
    transform: translateX(-25%) translateY(25%);
  }
  25% {
    opacity: 1;
    transform: translateX(-25%) translateY(0%);
  }

  100% {
    opacity: 1;
    transform: translateX(-25%) translateY(0%);
  }
}

@keyframes welcome {
  30% {
    opacity: 0;
    transform: scale(1.4);
    filter: blur(30px);
  }
  40% {
    opacity: 1;
    transform: translateX(0);
    filter: blur(0px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes name {
  50% {
    opacity: 0;
    transform: scale(1.4);
    filter: blur(30px);
  }
  60% {
    opacity: 1;
    transform: translateX(0);
    filter: blur(0px);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes roles {
  70% {
    opacity: 0;
    transform: scale(1.4);
    filter: blur(30px);
  }
  80% {
    opacity: 1;
    transform: translateX(0);
    filter: blur(0px);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}
