#hero-area {
  background: linear-gradient(to bottom right, var(--primary-color), var(--primary-color-light));
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  color: white;
  min-height: 540px;
  height: calc(100vh - 80px);
  padding-top: min(128px, 10vh);
  padding-bottom: 48px;
  box-sizing: border-box;
}

#hero-area h1 {
  max-width: 862px;
  font-weight: bold;
}

#hero-area p {
  margin-top: 16px;
  width: 520px;
  font-size: 21px;
}

#hero-area a {
  color: white;
  font-size: 21px;
  font-weight: bold;
  text-decoration: none;

  display: flex;
  gap: 8px;
  align-items: center;
}

#hero-area > :last-child {
  margin-top: auto;
} 

@media (max-width: 1024px) {
  #hero-area {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;

    padding-top: min(128px, 10vh);
    min-height: 440px;
  }

  #hero-area h1 {
    font-size: 48px;
    line-height: 53px;
  }

  #hero-area p {
    margin-top: 4px;
  }
}

@media (max-width: 768px) {
  #hero-area {
    min-height: 300px;
    height: 300px;
    padding-top: 32px;
    padding-left: 32px;
    padding-right: 32px;
  }

  #hero-area h1 {
    font-size: 28px;
    line-height: 31px;
    max-width: 250px;
  }

  #hero-area p {
    font-size: 12px;
    line-height: 16px;
    max-width: 320px;
  }

  #hero-area a {
    display: none;
  }
}
