* {
  margin: 0;
  padding: 0;
}

html {
  font-family: "DM Sans";
  font-size: calc((100vw + 100vh) / 2 / 75);
  letter-spacing: 0.01em;
  color: #282828;
  min-height: 3000px;
}

h1, h2, h3, h4, h5, h6 {
  letter-spacing: -0.02em;
}

header {
  position: relative;
  display: flex;
  align-items: center;
  height: 100vh;
}

.nic-container {
  margin: 0 auto;
  width: 90%;
  max-width: 85rem;
}

header > .nic-container {
  display: flex;
  align-items: center;
}

.nic-header-column {
  margin-top: -2rem;
  flex: 0 0 50%;
}

.nic-header-column:first-of-type {
  margin-top: -4rem;
}

header nav {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

header nav .nic-container {
  display: flex;
  align-items: center;
}

header nav a {
  padding: 3rem 1.2rem;
  text-decoration: none;
  color: #282828 !important;
  font-size: 1.1rem;
}

header nav a:first-of-type {
  margin-left: -1.2rem;
}

header nav .nic-nav-button {
  background: #004784;
  border: 4px solid transparent;
  color: white !important;
  padding: 1rem 2rem;
  border-radius: 100rem;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

header nav .nic-nav-button:hover {
  background-color: transparent;
  color: #004784 !important;
  border-color: #004784 !important;
}

header nav .nic-nav-spacer {
  flex: 1 0 1px;
}

header .nic-header-logo {
  margin-bottom: 1.33rem;
  width: 8rem;
  height: auto;
}

header h1 {
  max-width: 36rem;
  font-size: 3.4rem;
  line-height: 1;
  letter-spacing: -0.03em;
}

header .nic-subtitle {
  margin-top: 1.3rem;
  font-size: 1.8rem;
  line-height: 1.2;
  font-weight: 300;
  max-width: 24rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.nic-waves-svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 200%;
  z-index: -1;
  overflow: hidden;
}

.nic-waves-svg svg {
  position: absolute;
  top: -126.92vw;
  right: -126.36vw;
  width: 215.57vw;
  height: 194.64vw;
}

.nic-waves-svg .cls-1x {
  transform-box: fill-box;
  transform-origin: center;
  animation: rotate-nic-waves-1 240s infinite linear;
}
@keyframes rotate-nic-waves-1 {
  0% {
    transform: translate(1196.07px, 970.77px);
  }
  100% {
    transform: translate(1196.07px, 970.77px) rotate(360deg);
  }
}

.nic-waves-svg .cls-2x {
  transform-box: fill-box;
  transform-origin: center;
  animation: rotate-nic-waves-2 120s infinite linear reverse;
}
@keyframes rotate-nic-waves-2 {
  0% {
    transform: translate(1156.4px, 947.66px) rotate(-16.46deg);
  }
  100% {
    transform: translate(1156.4px, 947.66px) rotate(343.54deg);
  }
}

.nic-waves-svg .cls-3x {
  transform-box: fill-box;
  transform-origin: center;
  animation: rotate-nic-waves-3 720s infinite linear reverse;
}
@keyframes rotate-nic-waves-3 {
  0% {
    transform: translate(1152.34px, 1003.06px) rotate(-5.76deg);
  }
  100% {
    transform: translate(1152.34px, 1003.06px) rotate(354.24deg);
  }
}

section:nth-of-type(1) {
  position: relative;
  margin-top: 3rem;
  margin-bottom: 17rem;
  padding: 10rem 0 0 0;
  text-align: center;
}
section:nth-of-type(1) div.nic-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: center -1px/101% auto no-repeat url("wave-mask-white.svg"), linear-gradient(to right, #edf2f6, #bacdde);
  z-index: -2;
}
section:nth-of-type(1) h2 {
  font-size: 2.8rem;
  margin-bottom: 1rem;
  letter-spacing: -0.03em;
}
section:nth-of-type(1) p.lead {
  margin: 0 auto;
  margin-bottom: 1rem;
  max-width: 37rem;
  font-size: 1.36rem;
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
section:nth-of-type(1) .nic-rocketship {
  margin: 0 auto;
  position: relative;
  margin-top: -12rem;
  max-width: 50rem;
}
section:nth-of-type(1) .nic-rocketship svg {
  width: 100%;
  height: auto;
  margin-bottom: -3em;
}
section:nth-of-type(1) #Rocketship {
  will-change: transform;
}