* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html,
body {
  height: 100%;
  font-family: 'Space Grotesk', sans-serif;
}

body {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(
	135deg,
	#0f2027,
	#203a43,
	#2c5364
  );
  color: #e6f1ff;
  overflow: auto;
  flex-wrap: wrap;
}

body {
  animation: fadeIn 1.2s ease-out forwards;
}

@keyframes fadeIn {
  from {
	opacity: 0;
	transform: scale(1.02);
  }
  to {
	opacity: 1;
	transform: scale(1);
  }
}


.logo {
  font-size: clamp(2.5rem, 6vw, 5rem);
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: lowercase;
  position: relative;
  animation: float 6s ease-in-out infinite;
}

.logo::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -12px;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, #64ffda, #5fa8ff);
  transform: translateX(-50%);
  animation: underline 3s ease-in-out infinite;
}

ul {
  display:block;
  margin-left:2rem;
}

ul li {
  display: block;
  margin-bottom: .5rem;
}

ul li a {
  display: block;
  text-align: center;
  font-size:1.3rem;
  padding:.1rem .3rem;
  text-align: center;
  background:#13282e;
  color:white;
  border-radius: 5px;
  text-decoration: none;
  width:200px;
}

.break {
  flex-basis: 100%;
  height: 0;
  margin:1.5rem 0;
}

/* Animations */

@keyframes float {
  0% {
	transform: translateY(0);
	opacity: 0.85;
  }
  50% {
	transform: translateY(-12px);
	opacity: 1;
  }
  100% {
	transform: translateY(0);
	opacity: 0.85;
  }
}

@keyframes underline {
  0% {
	width: 0;
	opacity: 0;
  }
  40% {
	width: 100%;
	opacity: 1;
  }
  100% {
	width: 0;
	opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .logo {
	animation: none;
  }

  .logo::after {
	animation: none;
  }

  body {
	animation: none;
  }
}


body::after {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
  mix-blend-mode: overlay;
}

.logo.glitch {
  text-shadow:
	2px 0 #64ffda,
	-2px 0 #5fa8ff;
}


/* =========================
   Mobile tweaks
   ========================= */

@media (max-width: 768px) {
  .logo {
	letter-spacing: 0.1em;
	animation-duration: 5s;
  }

  .logo::after {
	bottom: -10px;
  }
}

@media (max-width: 480px) {
  .logo {
	font-size: clamp(2rem, 8vw, 3.2rem);
	letter-spacing: 0.05em;
	animation-duration: 4.5s;
  }

  .logo::after {
	height: 1.5px;
  }
}
