#story {
  --companyLogoSize: 130px;
  --portraitsSize: 170px;

  --companyLogoSizeMin: 120px;
}

#story.backgroundAnimation {
  background: rgb(0, 0, 0);
  background: linear-gradient(
    var(--angle),
    rgba(0, 0, 0, 0) 25%,
    rgb(204, 250, 232) 100%
  );
  animation: backgroundColor 1s linear forwards;
}

#story .header {
  grid-template-columns: var(--portraitsSize) auto;
  column-gap: 80px;
  column-gap: clamp(20px, 4dvw, 80px);
}

#story .header .portraits {
  width: var(--portraitsSize);
  height: var(--portraitsSize);
}

.company-container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

#story .companies {
  display: flex;
  flex-wrap: wrap;
}

#story .companies img {
  width: var(--companyLogoSize);
  width: clamp(var(--companyLogoSizeMin), 12dvw, var(--companyLogoSize));
  height: 80px;
  height: clamp(40px, 5.6vw, 80px);
}

#story .content {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
#story .content > div {
  display: grid;
  grid-template-columns: 50% 5% 45%;
}

#luis-quote-container {
  display: flex;
  flex-direction: column;
  gap: 10px;
  opacity: 0;
}

#story-listing {
  grid-column: 3;
  display: flex;
  gap: 10px;
  opacity: 0;
}

#story-listing > div {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 30px;
}

#story-listing ul {
  list-style-type: none;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

@media screen and (max-width: 960px) {
  #story .header {
    flex-direction: row;
  }

  #story .content > div {
    display: flex;
    flex-direction: column;
    gap: 40px;
  }
}

@media screen and (max-width: 520px) {
  #story {
    --companyLogoSizeMin: 93px;
  }
}

@media screen and (max-width: 450px) {
  #story {
    --companyLogoSizeMin: 80px;
    --portraitsSize: 140px;
  }
  #story .header {
    column-gap: 20px;
  }

  #story .content {
    align-items: flex-start;
  }

  #story .companies img {
    height: 40px;
  }

  #story-listing,
  #story-listing ul {
    gap: 10px;
  }

  #story-listing > div {
    gap: 20px;
  }
}

@media screen and (max-height: 667px) {
  #story-listing,
  #story-listing ul {
    gap: 7px;
  }

  #story-listing > div {
    gap: 15px;
  }

  #story .content > div {
    gap: 15px;
  }
}
