/* line 4, app/assets/stylesheets/landing_page.css.scss */
html.landing {
  position: relative;
  min-height: 100%;
  background-color: #0a1628;
  isolation: isolate;
}

/* line 11, app/assets/stylesheets/landing_page.css.scss */
html.landing body {
  position: relative;
  z-index: 1;
  background-color: transparent !important;
}

/* line 17, app/assets/stylesheets/landing_page.css.scss */
html.landing::before,
html.landing::after {
  content: "";
  position: fixed;
  inset: -30%;
  z-index: 0;
  pointer-events: none;
  filter: blur(110px);
  will-change: transform;
}

/* line 28, app/assets/stylesheets/landing_page.css.scss */
html.landing::before {
  opacity: 0.5;
  background: radial-gradient(circle at 28% 38%, rgba(34, 211, 238, 0.5) 0%, transparent 46%), radial-gradient(circle at 72% 62%, rgba(168, 85, 247, 0.38) 0%, transparent 44%);
  animation: landing-mesh-a 26s ease-in-out infinite alternate;
}

/* line 36, app/assets/stylesheets/landing_page.css.scss */
html.landing::after {
  opacity: 0.42;
  mix-blend-mode: screen;
  background: radial-gradient(circle at 68% 28%, rgba(20, 184, 166, 0.48) 0%, transparent 42%), radial-gradient(circle at 32% 78%, rgba(99, 102, 241, 0.32) 0%, transparent 50%), radial-gradient(circle at 50% 50%, rgba(236, 72, 153, 0.12) 0%, transparent 55%);
  animation: landing-mesh-b 32s ease-in-out infinite alternate;
}

/* Hero header enhancements */
/* line 47, app/assets/stylesheets/landing_page.css.scss */
.hero-header {
  position: relative;
  overflow: hidden;
}

/* line 51, app/assets/stylesheets/landing_page.css.scss */
.hero-header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.1), transparent);
  animation: hero-pulse 6s ease-in-out infinite;
}

@keyframes hero-pulse {
  0%, 100% {
    transform: scale(1);
    opacity: 0.2;
  }
  50% {
    transform: scale(1.1);
    opacity: 0.4;
  }
}

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

/* line 69, app/assets/stylesheets/landing_page.css.scss */
.animate-gradient {
  background-size: 200% 200%;
  animation: gradient-move 8s ease infinite;
}

/* Navbar link hover effect */
/* line 75, app/assets/stylesheets/landing_page.css.scss */
.navbar a {
  transition: color 0.3s, opacity 0.3s, transform 0.2s;
}

/* line 79, app/assets/stylesheets/landing_page.css.scss */
.navbar a:hover {
  opacity: 1;
  color: #06b6d4;
  /* Tailwind cyan-500 */
  background-color: rgba(30, 41, 59, 0.85);
  /* slate-800 with opacity */
  transform: none;
  border-radius: 0.25rem;
  /* rounded corners */
  transition: background-color 0.2s, transform 0.2s;
}

@media (min-width: 768px) {
  /* line 89, app/assets/stylesheets/landing_page.css.scss */
  .navbar a:hover {
    transform: scale(1.02);
  }
}

/* Ensure title link has no underline on hover */
/* line 95, app/assets/stylesheets/landing_page.css.scss */
.navbar-title:hover {
  text-decoration: none;
}

@keyframes landing-mesh-a {
  from {
    transform: translate(-5%, -4%) rotate(0deg) scale(1);
  }
  to {
    transform: translate(9%, 7%) rotate(14deg) scale(1.1);
  }
}

@keyframes landing-mesh-b {
  from {
    transform: translate(6%, 5%) rotate(0deg) scale(1.06);
  }
  to {
    transform: translate(-10%, -6%) rotate(-12deg) scale(0.94);
  }
}
