body {
  font-family: "Outfit", sans-serif;
}

html {
  scroll-behavior: smooth;
}

input:focus,
textarea:focus,
select:focus,
button:focus {
  outline: none;
}

.bg-grid {
  background-image: linear-gradient(to right, #e2e8f0 1px, transparent 1px),
                    linear-gradient(to bottom, #e2e8f0 1px, transparent 1px);
  background-size: 40px 40px;
}

.hover-lift {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.hover-lift:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 30px -10px rgba(0, 0, 0, 0.1);
}

.loading-animation {
  display: flex;
  gap: 6px;
}

.loading-animation span {
  opacity: 0.2;
  animation: bounce 1.2s infinite ease-in-out;
}

.loading-animation span:nth-child(1) { animation-delay: 0s; }
.loading-animation span:nth-child(2) { animation-delay: 0.15s; }
.loading-animation span:nth-child(3) { animation-delay: 0.3s; }
.loading-animation span:nth-child(4) { animation-delay: 0.45s; }
.loading-animation span:nth-child(5) { animation-delay: 0.6s; }

@keyframes bounce {
  0%, 80%, 100% {
    transform: translateY(0);
    opacity: 0.2;
  }
  40% {
    transform: translateY(-12px);
    opacity: 1;
  }
}
