html, body {
  height: 100%;
}
html {
  font-size: 16px;
  font-size: 62.5%;
}
body {
  font-family: sans-serif;
  font-size: max(1.8rem, 1.1vw);
  line-height: 1.15;
  color: #FFF;
  background: #000 url(/assets/img/pulse_bg.webp) no-repeat center / auto 112%;
  margin: 0;
  overscroll-behavior: none;
}
@media (orientation: landscape) {
  body {
    background-position: left 62%;
    background-size: 120% auto;
  }
}
@media (min-width: 1400px) {
  body {
    background-position: left 62%;
    background-size: 112% auto;
  }
}
img {
  display: block;
  max-width: 100%;
  height: auto;
}
a, a:hover {
  color: #FFF;
  outline: none;
}
h1 {
  margin: 0 0 3.5vh;
}
main {
  height: 82vh;
}
footer {
  width: 100%;
  background: rgb(0,0,0,0.7);
}
@media (min-height: 300px) {
  footer {
    position: absolute;
    bottom: 0;
  }
}
.container {
  display: grid;
  justify-items: center;
  max-width: 1340px;
  height: 100%;
  margin: 0 auto;
  padding: 0 3rem;
  text-align: center;
}
section {
  max-width: 600px;
  padding: 8vh 0;
  font-size: clamp(1.8rem, 4.8vw, 3.4rem);
  text-shadow: 4px 0 4px #000;
}
#logo {
  max-height: 12vh;
  margin: 0 auto;
}
.connect {
  display: grid;
  gap: .6rem;
  align-items: center;
  justify-items: center;
  height: 8vh;
  min-height: 90px;
  padding: 2vh 0 3vh;
  line-height: 1.3;
}
.connect ul {
  display: grid;
  grid-auto-flow: column;
  gap: max(1.2rem, 1vw);
  list-style: none;
  margin: 0;
  padding: 0;
}
.connect li {
  min-width: 32px;
  width: 1.85vw;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  background: #FFF;
  border-radius: 50%;
}
.connect li img {
  width: 60%;
}
@media (orientation: landscape) {
  .container {
    justify-items: start;
    align-items: center;
    text-align: left;
  }
  section {
    width: 50%;
    max-width: 660px;
    font-size: clamp(1.8rem, 2.6vw, 3.6rem);
  }
  #logo {
    max-height: 16vh;
    margin: 0;
  }
  .connect {
    height: 12vh;
    justify-items: start;
  }
}
@media (min-width: 1400px) {
  .container {
    max-width: 80vw;
  }
  section {
    max-width: 48%;
    font-size: 2.1vw;
  }
}

@keyframes fadeFromBottom {
  0% {
    opacity: 0;
    transform: translateY(2vh);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeFromLeft {
  0% {
    opacity: 0;
    transform: translateX(-4vh);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeFromRight {
  0% {
    opacity: 0;
    transform: translateX(4vh);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.animate,
.animateFromBottom {
  --animation-duration: 220ms;
  opacity: 0;
  animation: fadeFromBottom calc(var(--animation-duration) * 2.8) cubic-bezier(0,0,0.4,1) var(--animation-duration) forwards;
}
.animate:nth-child(2) {
  animation-delay: calc(var(--animation-duration) * 1.8);
}
.animateFromBottom {
  animation-delay: calc(var(--animation-duration) * 2.8);
}
@media (orientation: landscape) {
  .animate {
    --animation-duration: 500ms;
    animation-name: fadeFromRight;
  }
  .animate:nth-child(2) {
    animation-name: fadeFromLeft;
    animation-delay: var(--animation-duration);
  }
  .animateFromBottom {
    --animation-duration: 400ms;
    animation-delay: calc(var(--animation-duration) * 2.2);
  }
}
