/* ----------------- PREMIUM REVEAL ----------------- */

.reveal {

  opacity: 0;

  transform:
    translateY(45px)
    scale(0.99);

  filter: blur(2px);

  transition:

    opacity 700ms ease,
    transform 700ms cubic-bezier(.16,1,.3,1),
    filter 500ms ease;

  will-change:
    transform,
    opacity,
    filter;

}

.reveal.active {

  opacity: 1;

  transform:
    translateY(0)
    scale(1);

  filter: blur(0);

}


/* ----------------- INSTANT REVEAL ----------------- */

.reveal-instant {

  opacity: 1;

  transform: none;

  filter: none;

}


/* ----------------- TEXT ALIGN ----------------- */

.text-center {

  text-align: center;

}

/* ----------------- DISPLAY ----------------- */

.hidden {

  display: none !important;

}

/* ----------------- OVERFLOW ----------------- */

.overflow-hidden {

  overflow: hidden;

}

/* ----------------- OPACITY ----------------- */

.opacity-soft {

  opacity: 0.7;

}

/* ----------------- GOLD TEXT ----------------- */

.gold-text {

  color: var(--color-gold);

}

/* ----------------- GLASS EFFECT ----------------- */

.glass {

  background:
    rgba(255,255,255,0.04);

  backdrop-filter: blur(18px);

  border:
    1px solid rgba(255,255,255,0.06);

}

/* ----------------- NOISE TEXTURE ----------------- */

.noise {

  position: relative;

}

.noise::before {

  content: '';

  position: absolute;

  inset: 0;

  background-image:
    url("https://www.transparenttextures.com/patterns/asfalt-light.png");

  opacity: 0.03;

  pointer-events: none;

}


/* ----------------- STAGGER DELAYS ----------------- */

.delay-1 {

  transition-delay: 120ms;

}

.delay-2 {

  transition-delay: 240ms;

}

.delay-3 {

  transition-delay: 360ms;

}

.delay-4 {

  transition-delay: 480ms;

}

.delay-5 {

  transition-delay: 600ms;

}

.delay-6 {

  transition-delay: 720ms;

}

.delay-7 {

  transition-delay: 840ms;

}

.delay-8 {

  transition-delay: 960ms;

}