/* Global fade-in for body */
body {
  opacity: 0;
  transition: opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}
body.feel-alive-loaded {
  opacity: 1;
}

/* Button and link hover/active effects */
button, .btn, input[type="submit"], a {
  transition: transform 0.1s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s;
}
button:hover, .btn:hover, input[type="submit"]:hover, a:hover {
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 4px 16px rgba(0,0,0,0.07);
}
button:active, .btn:active, input[type="submit"]:active, a:active {
  transform: scale(0.97);
}

/* Input focus animation */
input, textarea, select {
  transition: box-shadow 0.2s, border-color 0.2s;
}
input:focus, textarea:focus, select:focus {
  box-shadow: 0 0 0 2px #007aff33;
  border-color: #007aff;
}

/* Scroll-in animation */
.feel-alive-scroll-in {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1), transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}
.feel-alive-scroll-in.visible {
  opacity: 1;
  transform: none;
} 