    @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
      font-family: 'Poppins', sans-serif;
    }

    body {
      background-color: #000;
      color: #fff;
      overflow-x: hidden;
    }

    /* ===== Footer ===== */
    footer {
      position: relative;
      background: radial-gradient(circle at top center, #111 0%, #000 90%);
      padding: 80px 8% 50px;
      overflow: hidden;
      border-top: 1px solid rgba(212, 175, 55, 0.4);
    }

    /* moving glow animation behind footer */
    footer::before {
      content: "";
      position: absolute;
      top: -200px;
      left: 50%;
      width: 600px;
      height: 600px;
      background: radial-gradient(circle, rgba(212,175,55,0.25) 0%, transparent 70%);
      transform: translateX(-50%);
      animation: floatingGlow 8s ease-in-out infinite alternate;
      filter: blur(80px);
      z-index: 0;
    }

    @keyframes floatingGlow {
      0% { transform: translate(-50%, 0); opacity: 0.7; }
      100% { transform: translate(-50%, 60px); opacity: 0.4; }
    }

    .footer-container {
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 50px;
    }

    .footer-logo img {
      width: 140px;
      filter: drop-shadow(0 0 10px rgba(212,175,55,0.6));
      animation: logoPulse 3s infinite ease-in-out;
    }

    @keyframes logoPulse {
      0%, 100% { filter: drop-shadow(0 0 5px rgba(212,175,55,0.4)); transform: scale(1); }
      50% { filter: drop-shadow(0 0 15px rgba(212,175,55,0.9)); transform: scale(1.05); }
    }

    .footer-logo p {
      color: #ccc;
      line-height: 1.8;
      font-size: 0.95rem;
      margin-top: 15px;
      max-width: 300px;
    }

    .footer-links h3,
    .footer-contact h3,
    .footer-social h3 {
      color: #d4af37;
      font-size: 1.2rem;
      margin-bottom: 20px;
      position: relative;
    }

    .footer-links ul,
    .footer-social ul {
      list-style: none;
    }

    .footer-links li {
      margin: 10px 0;
    }

    .footer-links a {
      text-decoration: none;
      color: #aaa;
      font-size: 0.95rem;
      transition: 0.3s;
      position: relative;
    }

    .footer-links a::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: -2px;
      width: 0%;
      height: 1px;
      background: #d4af37;
      transition: width 0.3s;
    }

    .footer-links a:hover {
      color: #d4af37;
    }

    .footer-links a:hover::after {
      width: 100%;
    }

    .footer-contact p {
      margin: 10px 0;
      color: #aaa;
    }

    .footer-social ul {
      display: flex;
      gap: 15px;
    }

    .footer-social a {
      display: inline-block;
      width: 38px;
      height: 38px;
      background: rgba(212, 175, 55, 0.1);
      color: #d4af37;
      border-radius: 50%;
      text-align: center;
      line-height: 38px;
      font-size: 1.1rem;
      transition: all 0.3s ease;
      box-shadow: 0 0 6px rgba(212,175,55,0.3);
    }

    .footer-social a:hover {
      background: #d4af37;
      color: #000;
      transform: translateY(-5px) scale(1.1);
      box-shadow: 0 0 15px rgba(212,175,55,0.7);
    }

    .footer-bottom {
      text-align: center;
      border-top: 1px solid rgba(212, 175, 55, 0.3);
      margin-top: 50px;
      padding-top: 25px;
      color: #999;
      font-size: 0.9rem;
      z-index: 2;
      position: relative;
      letter-spacing: 1px;
    }

    .footer-bottom span {
      color: #d4af37;
      font-weight: 500;
    }

    /* subtle floating particles */
    .spark {
      position: absolute;
      background: radial-gradient(circle, #d4af37 0%, transparent 70%);
      width: 6px;
      height: 6px;
      border-radius: 50%;
      opacity: 0.7;
      animation: floatSpark 6s linear infinite;
    }

    @keyframes floatSpark {
      0% {
        transform: translateY(0) scale(1);
        opacity: 0.7;
      }
      100% {
        transform: translateY(-200px) scale(0.5);
        opacity: 0;
      }
    }
    /* fade in and slide up for footer elements */
.footer-container > div {
  opacity: 0;
  transform: translateY(30px);
  animation: fadeSlideUp 1s forwards;
}

.footer-container > div:nth-child(1) { animation-delay: 0.3s; }
.footer-container > div:nth-child(2) { animation-delay: 0.6s; }
.footer-container > div:nth-child(3) { animation-delay: 0.9s; }
.footer-container > div:nth-child(4) { animation-delay: 1.2s; }

@keyframes fadeSlideUp {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
