  /* Fullscreen overlay */
    #preloader {
      position: fixed;
      inset: 0;
      width: 100%;
      height: 100%;
      background: #020617;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      z-index: 99999;
      transition: opacity 0.6s ease, visibility 0.6s ease;
    }

    #preloader.hide {
      opacity: 0;
      visibility: hidden;
    }

    /* Loader wrapper */
    .preloader-inner {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 14px;
    }

    /* Spinning ring */
    .preloader-ring {
      width: 70px;
      height: 70px;
      border-radius: 999px;
      border: 3px solid rgba(255, 255, 255, 0.08);
      border-top-color: #d4af37;
      border-right-color: #f6e39c;
      animation: preloader-spin 1.1s linear infinite;
      position: relative;
      box-shadow: 0 0 18px rgba(212, 175, 55, 0.4);
    }

    .preloader-logo-circle {
      position: absolute;
      inset: 10px;
      border-radius: 999px;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
    }

    .preloader-logo-circle img {
      width: 70%;
      height: 70%;
      object-fit: contain;
      animation: preloader-logo-pulse 1.6s ease-in-out infinite;
    }

    /* Text */
    .preloader-text {
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      font-size: 12px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: #e5e7eb;
      opacity: 0.8;
    }

    .preloader-subtext {
      margin-top: 2px;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      font-size: 11px;
      color: #9ca3af;
      opacity: 0.8;
    }

    /* Animations */
    @keyframes preloader-spin {
      from {
        transform: rotate(0deg);
      }
      to {
        transform: rotate(360deg);
      }
    }

    @keyframes preloader-logo-pulse {
      0% {
        transform: scale(1);
        opacity: 1;
      }
      50% {
        transform: scale(1.06);
        opacity: 0.95;
      }
      100% {
        transform: scale(1);
        opacity: 1;
      }
    }

    /* Small screens tweak */
    @media (max-width: 480px) {
      .preloader-ring {
        width: 56px;
        height: 56px;
      }
      .preloader-text {
        font-size: 11px;
      }
      .preloader-subtext {
        font-size: 10px;
      }
    }