* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body{
  font-family:system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  overscroll-behavior: contain;
}


/* hover effect */
.link--underline {
  text-decoration: none;
}
/* remove # for effect */
#a {
  padding: 2px;
  background-image: linear-gradient(90deg, black, gray);
  background-size: 0% 2px;
  background-repeat: no-repeat;
  background-position: left bottom;
  transition: background-size 800ms ease;
  text-decoration: none;
}

#a:hover {
  background-image: linear-gradient(90deg, black, gray);
  background-size: 100% 2px;
  background-repeat: no-repeat;
  background-position: left bottom;
  transition: background-size 800ms ease;
}

/* mouse dot */
.mouse-dot {
  z-index: 9999;
  position: fixed;
  width: 20px;
  height: 20px;
  background-color: #22c55e;
  border-radius: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%);
  transition: transform 0.1s ease-out;
  filter: blur(1px);
  box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.3);
}

/* Initial state for animation (hidden off-screen) */
.hidden1 {
	opacity: 0;
	transform: translateY(100px);
	transition: opacity 1s ease, transform 1s ease;
}

/* Animation when element is in view */
.visible1 {
	opacity: 1;
	transform: translateY(0);
}

#navbar{
  transition: top 0.5s ease-in-out;
}

/* .animated-gradient {
  background: linear-gradient(45deg, #4ade80, #0ea5e9, #4ade80);
  background-size: 200% 200%;
  animation: gradient 5s ease infinite;
  background-clip: text;
}

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