.glass-card {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.8);
}

.text-gradient {
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  background-image: linear-gradient(to right, #1152d4, #10b981);
}

#mobile-menu {
  transition: transform 0.3s ease-in-out;
}

#mobile-menu.hidden-menu {
  transform: translateX(100%);
}

@keyframes slow-zoom {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}

.animate-slow-zoom {
  animation: slow-zoom 20s ease-in-out infinite alternate;
}

/* Animated Border Effects */
.animated-card-wrapper {
  position: relative;
  z-index: 1;
  padding: 3px;
}

.animated-border-box,
.animated-border-box-glow {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow: hidden;
  z-index: -1;
  border-radius: 42px;
}

.animated-border-box-glow {
  filter: blur(15px);
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.animated-card-wrapper:hover .animated-border-box-glow {
  opacity: 0.8;
}

.animated-border-box:before,
.animated-border-box-glow:before {
  content: "";
  z-index: -2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(0deg);
  position: absolute;
  width: 200%;
  height: 200%;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-image: conic-gradient(
    rgba(0, 0, 0, 0),
    #1152d4,
    rgba(0, 0, 0, 0) 25%,
    #1152d4 50%,
    rgba(0, 0, 0, 0) 75%
  );
  animation: rotate 4s linear infinite;
  animation-play-state: paused;
}

.animated-card-wrapper:hover .animated-border-box:before,
.animated-card-wrapper:hover .animated-border-box-glow:before {
  animation-play-state: running;
}

.animated-border-box:after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 3px;
  top: 3px;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  background: white;
  border-radius: 40px;
}

.dark .animated-border-box:after {
  background: #1e293b;
  /* slate-800 color to match dark mode cards */
}

@keyframes rotate {
  100% {
    transform: translate(-50%, -50%) rotate(1turn);
  }
}

/* Video Background */
.video-background-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
}

.video-background-container iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100vw;
    height: 56.25vw; /* 16:9 aspect ratio */
    min-height: 100%;
    min-width: 177.77vh; /* 16:9 aspect ratio */
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.video-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(13, 18, 27, 0.8), rgba(42, 68, 148, 0.7));
    z-index: 1;
}
