/* ============================================================
       INTRO REVEAL FUTURISTIK (dari script TEMANWD kedua)
       ============================================================ */
    .reveal {
      position: fixed;
      inset: 0;
      z-index: 60;
      pointer-events: none;
      background: #050000;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      animation: revealFade 3.2s ease forwards;
    }

    @keyframes revealFade {
      0%, 80% { opacity: 1; }
      100% { opacity: 0; visibility: hidden; }
    }

    .rv-quantum {
      position: absolute;
      width: 160px;
      height: 160px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(255, 50, 50, 0.9), rgba(150, 0, 0, 0.2) 50%, transparent 70%);
      animation: quantumExpand 1.8s cubic-bezier(0.16, 0.8, 0.3, 1) forwards;
    }

    @keyframes quantumExpand {
      0% { transform: scale(0.1) rotate(0deg); opacity: 0.8; }
      40% { opacity: 0.4; }
      100% { transform: scale(15) rotate(180deg); opacity: 0; }
    }

    .rv-bloom-future {
      position: absolute;
      width: 400px;
      height: 400px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(255, 30, 30, 0.6), rgba(200, 0, 0, 0.1) 40%, transparent 65%);
      animation: bloomFuture 1.6s ease-out forwards;
    }

    @keyframes bloomFuture {
      0% { transform: scale(0.3); opacity: 0; }
      20% { opacity: 0.8; }
      100% { transform: scale(10); opacity: 0; }
    }

    .rv-wave-future {
      position: absolute;
      left: 50%;
      top: 50%;
      width: 50px;
      height: 50px;
      margin: -25px 0 0 -25px;
      border-radius: 50%;
      border: 2px solid rgba(255, 50, 50, 0.8);
      box-shadow: 0 0 40px rgba(255, 0, 0, 0.5), inset 0 0 30px rgba(255, 50, 50, 0.3);
      animation: waveFuture 1.4s cubic-bezier(0.12, 0.6, 0.24, 1) forwards;
    }

    .rv-wave-future.w2 { animation-delay: 0.15s; border-color: rgba(255, 80, 80, 0.6); }
    .rv-wave-future.w3 { animation-delay: 0.30s; border-color: rgba(255, 50, 50, 0.5); }
    .rv-wave-future.w4 { animation-delay: 0.45s; border-color: rgba(255, 80, 80, 0.4); }
    .rv-wave-future.w5 { animation-delay: 0.60s; border-color: rgba(255, 30, 30, 0.3); }

    @keyframes waveFuture {
      0% { transform: scale(0.2); opacity: 0; }
      15% { opacity: 1; }
      50% { opacity: 0.5; }
      100% { transform: scale(60); opacity: 0; }
    }

    .rv-core-future {
      position: absolute;
      width: 24px;
      height: 24px;
      border-radius: 50%;
      background: radial-gradient(circle, #ffffff, #ff3333 40%, #aa0000);
      box-shadow: 0 0 30px #ff3333, 0 0 60px #cc0000, 0 0 90px rgba(255, 0, 0, 0.3);
      animation: coreFuture 1.6s ease forwards;
    }

    @keyframes coreFuture {
      0% { transform: scale(0.1); opacity: 0; }
      10% { opacity: 1; }
      25% { transform: scale(1.4); }
      40% { transform: scale(0.8); }
      55% { transform: scale(1.2); }
      70% { transform: scale(0.95); }
      85% { transform: scale(1.05); opacity: 1; }
      100% { transform: scale(0.1); opacity: 0; }
    }

    .rv-sweep-future {
      position: absolute;
      inset: 0;
      overflow: hidden;
    }

    .rv-sweep-future::before {
      content: '';
      position: absolute;
      top: -30%;
      left: -80%;
      width: 50%;
      height: 160%;
      transform: skewX(-25deg);
      background: linear-gradient(90deg, transparent, rgba(255, 50, 50, 0.6), rgba(255, 80, 80, 0.3), transparent);
      animation: sweepFuture 1.2s ease-in-out 0.2s forwards;
    }

    .rv-sweep-future::after {
      content: '';
      position: absolute;
      bottom: -30%;
      right: -80%;
      width: 40%;
      height: 160%;
      transform: skewX(-25deg);
      background: linear-gradient(270deg, transparent, rgba(255, 30, 30, 0.4), transparent);
      animation: sweepFuture2 1.2s ease-in-out 0.5s forwards;
    }

    @keyframes sweepFuture {
      0% { left: -80%; }
      100% { left: 180%; }
    }

    @keyframes sweepFuture2 {
      0% { right: -80%; }
      100% { right: 180%; }
    }

    .rv-particles-future span {
      position: absolute;
      left: 50%;
      top: 50%;
      width: 6px;
      height: 6px;
      margin: -3px 0 0 -3px;
      border-radius: 50%;
      background: rgba(255, 80, 80, 0.9);
      box-shadow: 0 0 20px #ff3333, 0 0 40px #cc0000;
      opacity: 0;
      animation: burstFuture 1.6s cubic-bezier(0.16, 1, 0.3, 1) 0.35s forwards;
    }

    .rv-particles-future span:nth-child(1) { --tx: -220px; --ty: -160px; }
    .rv-particles-future span:nth-child(2) { --tx: -140px; --ty: -250px; }
    .rv-particles-future span:nth-child(3) { --tx: 30px; --ty: -310px; }
    .rv-particles-future span:nth-child(4) { --tx: 160px; --ty: -230px; }
    .rv-particles-future span:nth-child(5) { --tx: 250px; --ty: -140px; }
    .rv-particles-future span:nth-child(6) { --tx: 310px; --ty: 0px; }
    .rv-particles-future span:nth-child(7) { --tx: -270px; --ty: 70px; }
    .rv-particles-future span:nth-child(8) { --tx: -30px; --ty: 290px; }
    .rv-particles-future span:nth-child(9) { --tx: 180px; --ty: 230px; }
    .rv-particles-future span:nth-child(10) { --tx: -180px; --ty: 200px; }
    .rv-particles-future span:nth-child(11) { --tx: 270px; --ty: 120px; }
    .rv-particles-future span:nth-child(12) { --tx: -310px; --ty: -30px; }
    .rv-particles-future span:nth-child(13) { --tx: -120px; --ty: -180px; width: 4px; height: 4px; animation-delay: 0.4s; }
    .rv-particles-future span:nth-child(14) { --tx: 90px; --ty: -170px; width: 5px; height: 5px; animation-delay: 0.45s; }
    .rv-particles-future span:nth-child(15) { --tx: 200px; --ty: -50px; width: 4px; height: 4px; animation-delay: 0.42s; }
    .rv-particles-future span:nth-child(16) { --tx: 150px; --ty: 100px; width: 5px; height: 5px; animation-delay: 0.4s; }
    .rv-particles-future span:nth-child(17) { --tx: 50px; --ty: 180px; width: 6px; height: 6px; animation-delay: 0.41s; }
    .rv-particles-future span:nth-child(18) { --tx: -100px; --ty: 170px; width: 4px; height: 4px; animation-delay: 0.44s; }
    .rv-particles-future span:nth-child(19) { --tx: -190px; --ty: 80px; width: 5px; height: 5px; animation-delay: 0.4s; }
    .rv-particles-future span:nth-child(20) { --tx: -160px; --ty: -60px; width: 6px; height: 6px; animation-delay: 0.38s; }
    .rv-particles-future span:nth-child(21) { --tx: 0px; --ty: -200px; width: 8px; height: 8px; animation-delay: 0.4s; }
    .rv-particles-future span:nth-child(22) { --tx: 290px; --ty: -250px; width: 5px; height: 5px; animation-delay: 0.43s; }
    .rv-particles-future span:nth-child(23) { --tx: -290px; --ty: -250px; width: 6px; height: 6px; animation-delay: 0.41s; }
    .rv-particles-future span:nth-child(24) { --tx: 0px; --ty: 330px; width: 7px; height: 7px; animation-delay: 0.44s; }

    @keyframes burstFuture {
      0% { transform: translate(0,0) scale(2.5); opacity: 0; }
      12% { opacity: 1; }
      100% { transform: translate(calc(var(--tx) * 1.8), calc(var(--ty) * 1.8)) scale(0); opacity: 0; }
    }

    .rv-brand-future {
      position: absolute;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      width: 100%;
      gap: 18px;
      text-align: center;
    }

    .rv-logo-future {
      animation: logoFuture 1.2s cubic-bezier(0.16, 1, 0.3, 1) 1.2s both;
      filter: drop-shadow(0 0 30px rgba(255, 0, 0, 0.3));
      width: 300px;
      height: 90px;
      object-fit: contain;
    }

    @keyframes logoFuture {
      0% { opacity: 0; transform: scale(0.6) translateY(20px) rotateX(20deg); filter: blur(20px); }
      100% { opacity: 1; transform: scale(1) translateY(0) rotateX(0); filter: blur(0); }
    }

    .rv-line-future {
      width: 0;
      height: 2px;
      border-radius: 2px;
      background: linear-gradient(90deg, transparent, #ff3333, #ff6666, #ff3333, transparent);
      background-size: 200% 100%;
      box-shadow: 0 0 20px rgba(255, 0, 0, 0.6);
      animation: lineFuture 1s cubic-bezier(0.16, 1, 0.3, 1) 1.4s both;
    }

    @keyframes lineFuture {
      0% { width: 0; opacity: 0; }
      100% { width: 200px; opacity: 1; }
    }

    .rv-tag-future {
      display: flex;
      justify-content: center;
      align-items: center;
      flex-wrap: wrap;
      width: 100%;
      perspective: 800px;
      font-family: 'Segoe UI', 'Poppins', Arial, sans-serif;
      font-size: 11px;
      font-weight: 800;
      letter-spacing: 5px;
      padding-left: 5px;
    }

    .rv-tag-future span {
      display: inline-block;
      opacity: 0;
      background: linear-gradient(100deg, #ffffff, #ff6666, #ff3333, #cc0000, #ff6666, #ffffff);
      background-size: 300% auto;
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      color: transparent;
      animation: letterFuture 0.8s cubic-bezier(0.16, 1, 0.3, 1) var(--ld, 1.4s) both, shimmerFuture 4s linear infinite;
    }

    .rv-tag-future .sp {
      width: 10px;
      flex: 0 0 10px;
      letter-spacing: 0;
    }

    @keyframes letterFuture {
      0% { opacity: 0; transform: translateY(30px) rotateX(50deg) scale(0.8); filter: blur(12px); }
      100% { opacity: 1; transform: translateY(0) rotateX(0) scale(1); filter: blur(0); }
    }

    @keyframes shimmerFuture {
      from { background-position: 0% center; }
      to { background-position: 300% center; }
    }

    .rv-tag-future span:nth-child(1) { --ld: 1.3s; }
    .rv-tag-future span:nth-child(2) { --ld: 1.335s; }
    .rv-tag-future span:nth-child(3) { --ld: 1.37s; }
    .rv-tag-future span:nth-child(4) { --ld: 1.405s; }
    .rv-tag-future span:nth-child(5) { --ld: 1.44s; }
    .rv-tag-future span:nth-child(6) { --ld: 1.475s; }
    .rv-tag-future span:nth-child(7) { --ld: 1.51s; }
    .rv-tag-future span:nth-child(8) { --ld: 1.545s; }
    .rv-tag-future span:nth-child(9) { --ld: 1.58s; }
    .rv-tag-future span:nth-child(10) { --ld: 1.615s; }
    .rv-tag-future span:nth-child(11) { --ld: 1.65s; }
    .rv-tag-future span:nth-child(12) { --ld: 1.685s; }
    .rv-tag-future span:nth-child(13) { --ld: 1.72s; }
    .rv-tag-future span:nth-child(14) { --ld: 1.755s; }
    .rv-tag-future span:nth-child(15) { --ld: 1.79s; }
    .rv-tag-future span:nth-child(16) { --ld: 1.825s; }
    .rv-tag-future span:nth-child(17) { --ld: 1.86s; }

    