body {
  background: var(--dark-background-gradient);
}

.hero-graphic {
  height: fit-content;
  display: flex; /* Center content */
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 3rem;
}

h1 {
  color: white;
  font-weight: bold;
  font-size: 10rem;
  margin: 0;
  letter-spacing: 2rem;
}

.features h2 {
  color: white;
  font-weight: bold;
  font-size: 5rem;
  margin-top: 2rem;
  letter-spacing: 0.5rem;
}

.accent {
  color: var(--GPAL-blue);
  font-family: var(--accent-font);
  font-weight: bold;
  font-size: 3rem;
  margin-top: 1rem;
}

p {
  color: var(--grey-text);
}

.hero-graphic-text {
  font-size: 1.5rem;
  width: 60%;
}

.main-text {
  width: 60%;
  font-size: 1.25rem;
}

.label-1 {
  border-radius: 40px;
  border: 1px solid var(--GPAL-blue);
  color: var(--GPAL-blue);
  background: var(--GPAL-blue-transparent);
  padding: 0.5rem 1rem;
  margin: 1rem 1rem;
  font-size: 0.9rem;
}

.label-2 {
  border-radius: 40px;
  border: 1px solid var(--GPAL-blue);
  color: var(--GPAL-blue);
  background: var(--GPAL-blue-transparent);
  padding: 0.5rem 1rem;
  margin: 1rem 1rem;
  font-size: 0.9rem;
}

.action-buttons {
  margin-top: 2rem;
}

.action-buttons a {
  font-size: 1.25rem;
  padding: 1rem;
  margin: 1rem;
  border-radius: 10px;
  font-weight: bold;
  text-decoration: none;
}

.action-buttons .button-effect-1 {
  background: var(--blue-gradient);
  box-shadow: var(--GPAL-blue) 0px 0px 20px -10px;
  color: black;
}

.action-buttons .button-effect-1:hover {
  transform: translateY(-3px);
  background: var(--blue-gradient-2);
  box-shadow: var(--GPAL-blue) 0px 0px 40px -5px;
}

.action-buttons .button-effect-2 {
  background: var(--grey-background);
  color: white;
  border: solid 1px var(--GPAL-blue);
}

.action-buttons .button-effect-2:hover {
  background: var(--GPAL-blue-transparent);
}

.features {
  text-align: center;
}

.card {
  border-radius: 20px;
  margin-bottom: 1rem;
  border: 1px solid rgb(60, 60, 60);
  background: var(--grey-background);
  height: 300px;
  text-align: left;
}

.card-text {
  color: rgb(160, 160, 160);
}

.card-title {
  color: white;
  font-weight: bold;
  font-size: 2rem;
}

.icon-base {
  margin-bottom: 1rem;
  padding: 0.5rem;
  background: var(--blue-gradient);
  width: fit-content;
  border-radius: 10px;
}

.card:hover {
  border-color: var(--GPAL-blue);
  box-shadow: 0px 20px 40px var(--GPAL-blue-transparent);
}

@keyframes gradientShift {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

p.animated-gradient {
  background: var(--blue-gradient);
  background-size: 200% 200%;
  animation: gradientShift 8s ease infinite;
}

p.GPAL-gradient-bg {
  color: transparent;
  -webkit-background-clip: text; /* Required for Chrome, Safari, Edge */
  background-clip: text; /* Standard syntax */
}

.roadmap {
  text-align: center;
}

.roadmap h2 {
  color: white;
  font-weight: bold;
  font-size: 5rem;
  margin-top: 2rem;
  letter-spacing: 0.5rem;
}

.roadmap h2 span {
  background: var(--blue-gradient);
  background-size: 200% 200%;
  animation: gradientShift 8s ease infinite;
  color: transparent;
  -webkit-background-clip: text; /* Required for Chrome, Safari, Edge */
  background-clip: text;
}

.card-subtitle {
  background: var(--blue-gradient);
  background-size: 200% 200%;
  animation: gradientShift 8s ease infinite;
  color: transparent;
  -webkit-background-clip: text; /* Required for Chrome, Safari, Edge */
  background-clip: text; /* Standard syntax */
  font-family: var(--accent-font);
  font-weight: bold;
  font-size: 1.25rem;
  margin: 0.5rem 0rem;
}
