/* Small custom enhancements layered on top of Tailwind output. */

.cta-gradient {
  background: linear-gradient(
    110deg,
    var(--accent-3) 0%,
    var(--accent-2) 52%,
    var(--accent) 100%
  );
}

.cta-gradient::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.35;
  background:
    radial-gradient(700px circle at 15% 25%, rgba(255, 255, 255, 0.35), transparent 55%),
    radial-gradient(900px circle at 85% 70%, rgba(255, 255, 255, 0.22), transparent 60%);
}

.dark .cta-gradient {
  background: linear-gradient(110deg, #0b355f 0%, #3730a3 52%, #0f766e 100%);
}

.dark .cta-gradient::before {
  opacity: 0.18;
}

.cta-subtitle {
  color: rgba(255, 255, 255, 0.88);
}

.nav-link.is-active {
  background: linear-gradient(
    90deg,
    rgba(45, 212, 191, 0.22) 0%,
    rgba(99, 102, 241, 0.18) 55%,
    rgba(14, 165, 233, 0.16) 100%
  );
  border: 1px solid rgba(99, 102, 241, 0.18);
  box-shadow: 0 16px 40px -28px rgba(15, 23, 42, 0.7);
}

.dark .nav-link.is-active {
  background: linear-gradient(
    90deg,
    rgba(45, 212, 191, 0.16) 0%,
    rgba(99, 102, 241, 0.13) 55%,
    rgba(14, 165, 233, 0.12) 100%
  );
  border-color: rgba(99, 102, 241, 0.22);
  box-shadow: 0 16px 40px -28px rgba(0, 0, 0, 0.8);
}

.nav-link:not(.is-active):hover {
  background: linear-gradient(90deg, rgba(45, 212, 191, 0.12), rgba(99, 102, 241, 0.1));
}

.nav-link-mobile.is-active {
  border-left: 3px solid rgba(45, 212, 191, 0.7);
}

.dark .nav-link-mobile.is-active {
  border-left-color: rgba(45, 212, 191, 0.6);
}
