/* ── Scroll-reveal base ── */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity var(--dur-slow) var(--ease-expo),
              transform var(--dur-slow) var(--ease-expo);
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}
.reveal--left  { transform: translateX(-40px); }
.reveal--right { transform: translateX(40px); }
.reveal--left.visible,
.reveal--right.visible { transform: translateX(0); }

/* ── Delay helpers ── */
.delay-1 { transition-delay: 100ms; }
.delay-2 { transition-delay: 200ms; }
.delay-3 { transition-delay: 300ms; }
.delay-4 { transition-delay: 500ms; }

/* ── Hero text split ── */
.split-word {
  display: inline-block;
  overflow: hidden;
}
.split-word__inner {
  display: inline-block;
  transform: translateY(110%);
  animation: slideUp var(--dur-slow) var(--ease-expo) forwards;
}
@keyframes slideUp { to { transform: translateY(0); } }

/* ── Parallax image wrap ── */
.parallax-wrap {
  overflow: hidden;
  position: relative;
}
.parallax-img {
  will-change: transform;
  transform: scale(1.12);
  transition: transform 0s linear;
}

/* ── Hover shimmer ── */
.shimmer {
  position: relative;
  overflow: hidden;
}
.shimmer::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    105deg,
    transparent 40%,
    rgba(200, 169, 110, 0.08) 50%,
    transparent 60%
  );
  transform: translateX(-100%);
  transition: transform 0.6s var(--ease-expo);
}
.shimmer:hover::after { transform: translateX(100%); }

/* ── Image hover scale ── */
.img-hover img {
  transition: transform 0.8s var(--ease-expo);
}
.img-hover:hover img { transform: scale(1.04); }

/* ── Gold line draw ── */
.line-draw {
  width: 0;
  height: 1px;
  background: var(--color-primary);
  transition: width 1s var(--ease-expo);
}
.line-draw.visible { width: 100%; }

/* ── Counter number ── */
.count-up {
  display: inline-block;
  font-variant-numeric: tabular-nums;
}
