.header {
  display: flex;
  flex-direction: column;
  align-items: center;

  gap: 3rem;

  padding-top: 5.75rem;
  padding-bottom: 4rem;

  text-align: center;
}

@media (min-width: 960px) {
  .header {
    flex-direction: row;

    gap: 0;

    text-align: left;
  }
}

.headerText {
  max-width: 37rem;

  order: 2;
}

@media (min-width: 960px) {
  .headerText {
    order: 1;
  }
}

.title {
  font-size: 2rem;
  line-height: 2.5rem;
  font-weight: 700;
  letter-spacing: -0.025rem;
  word-spacing: -0.375rem;

  color: transparent;
  background: linear-gradient(-120deg, #fb43fe 30%, #00dbe5);
  background-clip: text;

  margin: 0;
}

@media (min-width: 640px) {
  .title {
    font-size: 3rem;
    line-height: 3.5rem;
    word-spacing: -0.625rem;
  }
}

@media (min-width: 960px) {
  .title {
    font-size: 3.5rem;
    line-height: 4rem;
  }
}

.tagline {
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 400;
  color: #5c5c5c;

  margin: 0.75rem 0 0 0;
}

[data-theme='dark'] .tagline {
  color: #9b9b9b;
}
@media (min-width: 640px) {
  .tagline {
    font-size: 1.25rem;
    line-height: 2rem;
  }
}

@media (min-width: 960px) {
  .tagline {
    font-size: 1.5rem;
    line-height: 2.25rem;
  }
}

.logoContainer {
  order: 1;

  position: relative;

  display: flex;
  align-items: center;
  justify-content: center;

  height: 9.375rem;

  flex-grow: 1;
}

@media (min-width: 960px) {
  .logoContainer {
    order: 2;

    height: auto;
  }
}

.logoBackground {
  position: absolute;
  z-index: -1;

  width: 15rem;
  height: 15rem;

  background: linear-gradient(
    170deg,
    #fb43fe 0%,
    #cf91f6 48.44%,
    #73c9ea 81.25%,
    #00dbe5 100%
  );
  filter: blur(4.25rem);
  will-change: filter;
}

@media (min-width: 960px) {
  .logoBackground {
    width: 20rem;
    height: 20rem;
  }
}

.logo {
  position: absolute;

  display: block;

  width: 12.5rem;
  height: 12.5rem;
}

@media (min-width: 960px) {
  .logo {
    width: 15rem;
    height: 15rem;
  }
}

.actionButtonSection {
  margin-top: 2.25rem;
}

.actionButton {
  display: inline-flex;

  background-color: #83f5ff;
  background-color: oklch(90.61% 0.105 202.91);
  color: #000;
  border-radius: 1.25rem;
  padding: 0 1.25rem;

  font-size: 0.875rem;
  line-height: 2.375rem;
  font-weight: 700;
  text-decoration: none;
}

.actionButton:hover {
  background-color: #71e4ee;
  background-color: oklch(85.61% 0.105 202.91);
  color: #000;
  text-decoration: none;
}

.actionButton:active {
  background-color: #60d4de;
  background-color: oklch(80.61% 0.105 202.91);
  color: #000;
}
