  .text-shadow-retro {
      text-shadow: 3px 3px 0px #000;
  }

  .text-outline {
      -webkit-text-stroke: 2px black;
  }

  .pattern-bg {
      background-color: #F3F0E2;
      background-image: radial-gradient(#F9C22E 15%, transparent 16%), radial-gradient(#F9C22E 15%, transparent 16%);
      background-size: 40px 40px;
      background-position: 0 0, 20px 20px;
  }

  .wave-separator {
      position: absolute;
      left: 0;
      width: 100%;
      overflow: hidden;
      line-height: 0;
  }

  .wave-separator svg {
      display: block;
      width: calc(150% + 1.3px);
      height: 60px;
  }

  .flip-card {
      perspective: 1000px;
  }

  .flip-card-inner {
      transition: transform 0.6s;
      transform-style: preserve-3d;
  }

  .flip-card:hover .flip-card-inner {
      transform: rotateY(180deg);
  }

  .anim-bounce-slow {
      animation: bounce 3s infinite;
  }


  @keyframes marquee {
      0% {
          transform: translateX(0);
      }

      100% {
          transform: translateX(-50%);
      }
  }

  .animate-marquee {
      animation: marquee 20s linear infinite;
  }

  @keyframes shimmer {
      0% {
          transform: translateX(-150%) skewX(-12deg);
      }

      50%,
      100% {
          transform: translateX(150%) skewX(-12deg);
      }
  }

  .animate-shimmer {
      animation: shimmer 3s infinite;
  }

  /* New Animations for Hero Characters */
  @keyframes float {

      0%,
      100% {
          transform: translateY(0);
      }

      50% {
          transform: translateY(-10px);
      }
  }

  .anim-float {
      animation: float 3s ease-in-out infinite;
  }

  @keyframes wiggle {

      0%,
      100% {
          transform: rotate(-3deg);
      }

      50% {
          transform: rotate(3deg);
      }
  }

  .anim-wiggle {
      animation: wiggle 2s ease-in-out infinite;
  }

  @keyframes pulse-scale {

      0%,
      100% {
          transform: scale(1);
      }

      50% {
          transform: scale(1.05);
      }
  }

  .anim-pulse-custom {
      animation: pulse-scale 2.5s ease-in-out infinite;
  }