.hero {
  position: relative;
  padding-bottom: calc(var(--hero-aspect-h) / var(--hero-aspect-w) * 100%);
}
.hero > * {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.hero--container {
  display: flex;
  background-color: var(--color-blue-bg);
  overflow: hidden;
  justify-content: space-between;
}

.logo {
  display: block;
  height: 100%;
}
.logo--red {
  fill: var(--color-neongruen);
  stroke-width: 0px;
}
.logo--b {
  transform: scaleX(calc(var(--hero-scale-factor-b) * var(--heroX)));
  transform-origin: left;
}
.logo--b2 {
  position: absolute;
  transform: translateX(calc(var(--hero-scale-factor-b) * var(--heroX) * 83px));
  width: 8.5%;
}
.logo--and {
  position: absolute;
  transform: translateX(calc(var(--heroX) * 71.5vw));
  width: 31%; /* 25%*/
}
.logo--m {
  transform: scaleX(calc(2.8 * (1 - var(--heroX))));
  transform-origin: right;
}
/*  transform: scaleX(calc(3.325 * (1 - var(--heroX)))); */
/*  transform: scaleX(calc(2.125 * (1 - var(--heroX)))); */
  /* TODO: Different size based on viewport width */
