.hiro {
  background-color: black;
  padding: 72px 24px;
  color: white;
  display: flex;
  align-items: center;
  flex-direction: column;
  overflow: hidden;
  width: 100%;
  box-sizing: border-box;
}

.hiro .inner {
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 600px;
  height: 100vh;
  position: relative;
  z-index: 2;
}

.hiro h1 {
  font-family: "Rubik";
  font-weight: normal;
  font-size: 190px;
  text-align: center;
  margin: 0;
  display: inline-block;
  user-select: none;
  position: absolute;
  margin-top: 0.4em;
  left: 50%;
  transform: translate(-50%,-50%);
}
.hiro h1 span {
  font-family: "Rubik";
}

.hiro h1 img {
  position: absolute;
  right: 0;
  top: -32px;
}

.hiro .arrow-down {
  position: absolute;
  left: 50%;
  top: calc(100vh - 140px);
  transform: translateX(-50%) scale(1.5);
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 10px;
  text-align: center;
  white-space: nowrap;
  gap: 6px;
}

.cards-intro {
  position: absolute;
  top: 0px;
  left: 50%;
  height: 100%;
  width: 1000px;
  transform: translateX(-50%);
}

.cards-intro.cards .card {
  position: absolute;
  top: 0;
  left: 0;
  visibility: hidden;
}


.cards-container {
  position: absolute;
  left: 50%;
  width: 100%;
  top: 0;
  transform: translateX(-50%);
}



@media screen and (max-width: 1460px) {
  .cards-intro {
    top: -100px;
  }
}

@media screen and (max-width: 1300px) {
  .hiro h1 {
    font-size: 160px;
  }

  .cards-intro {
    top: -100px;
  }
}

@media screen and (max-width: 1160px) {
  .hiro h1 {
    font-size: 130px;
  }

  .cards-intro {
    top: -100px;
  }
}



@media screen and (max-width: 820px) {
  .cards-container {
    transform: translateX(-50%) scale(0.8);
    top: 50px;
  }

  .hiro h1 img {
    height: 16px;
  }

  .hiro h1 {
    font-size: 54px;
  }

  .hiro.home {
    height: 800px;
    margin-bottom: -10px;
  }
  .hiro .arrow-down {
    top: calc(100vh - 46px);
    font-size: 8px;
  }
}


@media screen and (max-width: 520px) {

  .hiro h1 {
    font-size: 42px;
  }

  .hiro .inner {
    top: -80px;
  }
}


@media screen and (max-width: 320px) {

  .hiro h1 {
    font-size: 34px;
  }

  .hiro .inner {
    top: -80px;
  }
}


.home-cards-mosaic {
  background-color: black;
  padding: 160px 0;
}

.home-cards-mosaic .inner {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr;
  height: 100vh;
  padding: 32px 22px 32px;
  box-sizing: border-box;
  gap: 24px;
}


.home-cards-cta {
  background-color: black;
  overflow: hidden;
  position: relative;
  min-height: 100vh;
  box-sizing: border-box;
  margin-top: -10px;
}

.home-cards-cta .inner {
  display: inline-block;
  clear: none;
  gap: 12px;
  width: 100vw;
  white-space: nowrap;
  position: relative;
  color: white;
}
.home-cards-mosaic .inner .card {
  margin-right: 24px;
  height: 100%;
  flex: 1;
  width: 100%;
  height: 100%;
  aspect-ratio: auto !important;
}
.home-cards-mosaic .inner .card:last-child {
  margin-right: 0px;
}
.home-cards-mosaic .card h2 {
  font-size: 52px;
  transform: none !important;

}
.home-cards-mosaic .logo {
  transform: scale(0.8);
  left: 0px !important;
  bottom: 12px !important;
}

.home-cards-mosaic h3 a {
  color: white;
  text-decoration: none;
  text-align: center;
  display: block;
  font-weight: 300;
  margin: 32px 0;
}


@media screen and (max-width: 900px) {
  .home-cards-mosaic .inner {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 24px 12px;
    height: auto;
  }
  .home-cards-mosaic .inner .card {
    height: auto !important;
    min-height: none;
    max-height: none;
    aspect-ratio: 5 / 2 !important;
    width: 100%;

    --fade-in-delay: 150ms !important;
  }
  .home-cards-mosaic .inner .card h2 {
    font-size: 32px;
  
  }
  .home-cards-mosaic .inner .card .logo {
    transform-origin: left bottom;
    transform: scale(0.4);
    left: 22px !important;
    bottom: 22px !important;
  }
  
}

.ball {
  position: fixed;
  top:0;
  left: 0;
  width:120px;
  height: 120px;
  background-color: red;
  border-radius: 100%;
  z-index: 10;
}



.stats {
  margin-bottom: 120px;
  overflow: hidden;
}

.stats > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 32px;
}

.stats .bar {
  color: #808080;
  background-color: #D9D9D9;
  padding: 16px 32px;
  --delay: 0s;
  transition: width 3s ease var(--delay);
  width: 100px;
  white-space: nowrap;
}

.stats .bar.fade-in-appear {
  width: var(--width);
}

.stats .bar h1 {
  font-size: 128px;
  line-height: 120px;
  margin: 0;
  font-weight: normal;
}

.stats .bar p {
  margin: 0;
}

.stats .bar.blue {
  background-color: var(--blue);
  color: white;
}

.knowmore {
  margin-bottom: 196px;
}

.knowmore h2 {
  display: flex;
  align-items: center;
  gap: 24px;
}

.knowmore h2 .arrow {
  border: solid 1px black;
  border-radius: 100%;
  display: inline-block;
  width: 80px;
  height: 60px;
  display: flex;
  align-items: center;
  gap: 24px;
  justify-content: center;
}

.knowmore > a {
  display: block;
  border-top: solid 1px black;
  color: black;
  text-decoration: none;
  overflow: hidden;
  transition: color 150ms, background-color 150ms;
}

.knowmore h3 {
  font-weight: 200;
}

.knowmore > a:hover {
  text-decoration: underline;
  background-color: black;
  color: white;
}

.knowmore > a:last-of-type {
  border-bottom: solid 1px black;
}

@media screen and (max-width: 1000px) {
  .knowmore h2 {
    font-size: 30px;
    justify-content: space-between; 
  }
  .knowmore h2 .arrow {
    width: 65px;
    height: 50px;
  }
  .knowmore > a h3 {
    font-size: 18px;
  }
  .knowmore {
    margin-bottom: 96px;
  }
}



.home-cards-mosaic [fade-in].card.fade-in-appear {
  --fade-in-time: 800ms;
  animation: fadeincard var(--fade-in-time) ease var(--fade-in-delay) forwards;
}

@keyframes fadeincard {
  0% {
    opacity: 0;
    transform: translateY(6px);
  }
  100% {
    opacity: 1;
    filter: none;
    transform: translateY(0px);
  }
}

.prizes {
  display: flex;
  flex-wrap: wrap;
  gap: 38px;
  margin-bottom:120px;
}
.prizes > div {
  max-width: 320px;
}
.prizes img {
  margin-left: -18px;
}
.prizes h2 {
  font-size: 28px;
  margin-top: 0;
}
.prizes p {
  font-size: 16px;
  margin: 0;
} 
@media screen and (max-width: 1000px) {

  .prizes > div {
    max-width: 100%;
  }
}