.gradientText {
  --gradient-angle: 90deg;
  --gradient-size: 300% 100%;
  background-image: linear-gradient(
    var(--gradient-angle),
    #f7fbfb,
    #a8bdc1,
    #5debe5,
    #8fb7ff,
    #f7fbfb
  );
  background-size: var(--gradient-size);
  background-position: 0 50%;
  background-repeat: repeat;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  animation: portfolioGradientText 7s ease-in-out infinite alternate;
}

.gradientTextVertical {
  --gradient-angle: 180deg;
  --gradient-size: 100% 300%;
  display: inline-block;
  writing-mode: inherit;
  line-height: 1;
  padding-block: 0.035em;
  overflow: visible;
  background-position: 50% 0;
  animation-name: portfolioGradientTextVertical;
}

.workCategoriesHead .sectionKicker:has(.gradientTextVertical) {
  color: transparent;
  -webkit-text-stroke: 0;
  text-shadow: none;
}

@keyframes portfolioGradientText {
  from { background-position: 0 50%; }
  to { background-position: 100% 50%; }
}

@keyframes portfolioGradientTextVertical {
  from { background-position: 50% 0; }
  to { background-position: 50% 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .gradientText {
    animation: none;
    background-position: 50% 50%;
  }
}
