:root {
  --bg-deep: rgb(87, 73, 100);
  --bg-mid: rgb(159, 131, 131);
  --bg-light: rgb(200, 170, 170);
  --accent: rgb(255, 218, 179);
  --bg-dark: rgb(45, 38, 52);
  --bg-darker: rgb(28, 24, 32);
}

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

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Space Grotesk', sans-serif;
  background: var(--bg-darker);
  color: var(--bg-light);
  overflow-x: hidden;
}

.font-display {
  font-family: 'Syne', sans-serif;
}

.status-dot {
  width: 8px;
  height: 8px;
  background: linear-gradient(90deg, var(--bg-deep), var(--bg-mid), var(--bg-light), var(--accent), var(--bg-dark), var(--bg-darker));
  background-size: 400% 100%;
  border-radius: 50%;
  animation: gradient 3s ease infinite, pulse 2s ease infinite;
}

@keyframes gradient {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}

.reveal {
  opacity: 0;
  transform: translateY(30px);
  animation: reveal 0.8s ease forwards;
}

.reveal-delay-1 {
  animation-delay: 0.1s;
}

.reveal-delay-2 {
  animation-delay: 0.2s;
}

@keyframes reveal {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.noise-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 100;
  opacity: 0.1;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
}