.header {
  opacity: 0;
}
.hero {
  background-color: var(--dark-blue);
}
.hero > .hero__wrapper {
  background-color: transparent;
  padding-top: 9.1875rem;
  padding-bottom: 4.6875rem;
  position: relative;
}

.hero .hero__background {
  z-index: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;

  height: 100%;
  width: 100%;

  transform: scale(0);
  transform-origin: center;

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.hero .hero__content {
  position: relative;
  max-width: 100%;
  z-index: 1;
}
.hero .hero__content .hero__title {
  color: #fff;
  width: 100%;
  margin-bottom: 3.1875rem;
}
.hero .hero__content .hero__title > span > span {
  opacity: 0;
}
.hero .hero__content .hero__image {
  position: absolute;

  width: auto;
  height: 11.875rem;

  transform: rotate(0.83deg) scale(0);
  top: 12.75rem;
  left: 11.3125rem;
}
.hero .hero__text .hero__description {
  color: #fff;
  width: 100%;
  opacity: 0;
  margin-bottom: 1.6875rem;
}
.hero .hero__text .hero__btn {
  opacity: 0;
  transform-origin: center;
  transform: scale(1.15) translateY(50%);
}

@media screen and (max-width: 959px) {
  .hero .hero__content .hero__title > span:first-of-type {
    padding-left: 10.625rem;
  }
  .hero .hero__text .hero__description br {
    display: none;
  }
}

@media screen and (min-width: 960px) {
  .hero .wrapper {
    padding-top: 10.375rem;
    padding-bottom: 5.9375rem;
    min-height: calc(100vh + 5.9375rem);
  }
  .hero .hero__content {
    width: 100%;
    min-height: auto;
  }
  .hero .hero__content .hero__title {
    flex: 0 0 44rem;
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 0px;
  }
  .hero .hero__content .hero__title > span:last-of-type {
    display: flex;
    flex-direction: column;
  }
  .hero .hero__content .hero__title > span:first-of-type {
    max-width: 50rem;
  }
  .hero .hero__content .hero__title > span:last-of-type {
    max-width: 44.625rem;
    justify-content: end;
  }
  .hero .hero__title .hero__title-part--second > span {
    align-self: flex-end;
  }

  .hero .hero__text {
    position: absolute;
  }
  .hero .hero__content .hero__image {
    height: 41.875rem;
    transform: rotate(-16.89deg) scale(0);

    top: -0.5rem;
    left: 43.8125rem;
  }
  .hero .hero__text {
    width: 43.25rem;
    bottom: 1.0625rem;
    left: 0px;
  }
  .hero .hero__text .hero__description {
    align-self: flex-end;
    width: 14.1rem;
    line-height: 1.625em;
    margin-bottom: 3.4375rem;
  }

  .hero .hero__text .hero__btn {
    transform-origin: left top;
  }
}
