main {
  display: grid;
  grid-template-columns: 8rem minmax(0, 1fr);
  column-gap: .75rem;
}

.generic-data {
  font-size: .75rem;
  line-height: 1rem;

  & ul {
    margin: 0;
    padding-left: 0;
    list-style: none;

    & li {
      position: relative;
      padding-left: .75rem;
    }

    & li::before {
      content: "•";
      font-size: large;
      position: absolute;
      left: 0;
    }
  }
}

.stages {
  min-width: 0;

  > h2:first-of-type{
    margin-top: .0;
  }

  display: flex;
  flex-direction: column;

  .stage {
    margin-left: 11px;
    border-left: 4px solid var(--color-line);
    padding: 0 .25rem .5rem .25rem;
  
    &:last-child {
      flex-grow: 1;
    }
  
    display: grid;
    grid-template-columns: 7rem 1fr;
    grid-template-rows: min-content 1fr;
  
    .stage-from-to {
      grid-column-start: 1;
      grid-row-start: 1;
      grid-row-end: span 2;
      margin: 0 .5rem;
    }
  
    .stage-title {
      grid-column-start: 2;
      grid-row-start: 1;
    }
  
    .stage-description {
      grid-column-start: 2;
      grid-row-start: 2;
    }
  }
}
