
    /* --- Custom Animations --- */
    @keyframes fade-in-down {
      from { opacity: 0; transform: translateY(-20px); }
      to { opacity: 1; transform: translateY(0); }
    }
    .animate-fade-in-down {
      animation: fade-in-down 0.6s ease-out forwards;
    }

    @keyframes fade-in-up {
      from { opacity: 0; transform: translateY(20px); }
      to { opacity: 1; transform: translateY(0); }
    }
    .animate-fade-in-up {
      animation: fade-in-up 0.8s ease-out forwards;
    }

    @keyframes scale-in {
      from { opacity: 0; transform: scale(0.9); }
      to { opacity: 1; transform: scale(1); }
    }
    .animate-scale-in {
      animation: scale-in 0.8s ease-out forwards;
    }

    @keyframes glow-pulse {
      0% { box-shadow: 0 0 20px rgba(38, 92, 255, 0.5); }
      50% { box-shadow: 0 0 40px rgba(38, 92, 255, 0.8); }
      100% { box-shadow: 0 0 20px rgba(38, 92, 255, 0.5); }
    }
    .animate-glow {
      animation: glow-pulse 2s infinite;
    }

    @keyframes glow-pulse-alt {
      0% { box-shadow: 0 0 30px rgba(193, 39, 45, 0.6); }
      50% { box-shadow: 0 0 60px rgba(212, 160, 55, 0.8); }
      100% { box-shadow: 0 0 30px rgba(193, 39, 45, 0.6); }
    }
    .animate-glow-alt {
      animation: glow-pulse-alt 2s infinite;
    }

    @keyframes scroll-dot {
      0%,100% { transform: translateY(0); }
      50% { transform: translateY(6px); }
    }
    .animate-scroll-dot {
      animation: scroll-dot 1.5s infinite;
    }

    @keyframes float-y {
      0%,100% { transform: translateY(0); }
      50% { transform: translateY(10px); }
    }
    .animate-float-y {
      animation: float-y 1.5s infinite;
    }
    html {
      scroll-behavior: smooth;
    }
