/* Glass effect for light theme */
.glass {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.glass-soft {
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* Gradient text */
.text-gradient {
  background: linear-gradient(135deg, #264e86 0%, #1e3f6d 50%, #0f1f33 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.text-gradient-accent {
  background: linear-gradient(135deg, #f4b41a 0%, #d97706 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Glowing border effect */
.border-glow {
  position: relative;
}

.border-glow::before {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  background: linear-gradient(135deg, #264e86, #f4b41a, #264e86);
  z-index: -1;
  opacity: 0.3;
  transition: opacity 0.3s ease;
}

.border-glow:hover::before {
  opacity: 0.6;
}

/* 3D Card effect */
.card-3d {
  transform-style: preserve-3d;
  transition: transform 0.3s ease;
}

.card-3d:hover {
  transform: perspective(1000px) rotateY(-3deg) rotateX(3deg) translateZ(10px);
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #f1f5f9;
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #264e86, #1e3f6d);
  border-radius: 4px;
}

/* Fade up animation classes */
.fade-up-1 {
  animation-delay: 0.1s;
  opacity: 0;
}

.fade-up-2 {
  animation-delay: 0.2s;
  opacity: 0;
}

.fade-up-3 {
  animation-delay: 0.3s;
  opacity: 0;
}