/* ── Scroll Reveal ─────────────────────────────────────── */
.bh-reveal {
  opacity: 0;
  transform: translateY(36px);
  transition: opacity 0.75s cubic-bezier(.22,.61,.36,1),
              transform 0.75s cubic-bezier(.22,.61,.36,1);
}
.bh-reveal.bh-visible {
  opacity: 1;
  transform: translateY(0);
}
.bh-reveal:nth-child(2) { transition-delay: .12s; }
.bh-reveal:nth-child(3) { transition-delay: .24s; }
.bh-reveal:nth-child(4) { transition-delay: .36s; }

.bh-reveal-fade {
  opacity: 0;
  transition: opacity 0.9s ease;
}
.bh-reveal-fade.bh-visible { opacity: 1; }

/* ── Card image zoom on hover ──────────────────────────── */
.bh-card { overflow: hidden; }
.bh-card-img {
  transition: transform .55s cubic-bezier(.25,.46,.45,.94) !important;
  transform-origin: center center;
}
.bh-card:hover .bh-card-img {
  transform: scale(1.06) !important;
}

/* ── Spotlight image zoom on hover ────────────────────── */
.bh-spotlight-img {
  transition: transform .7s cubic-bezier(.25,.46,.45,.94) !important;
}
.row:hover .bh-spotlight-img {
  transform: scale(1.04) !important;
}

/* ── Button lift on hover ──────────────────────────────── */
.button:not(.stroke):not(.outline) {
  transition: background .25s, transform .2s, box-shadow .25s !important;
}
.button:not(.stroke):not(.outline):hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(218,41,28,.35) !important;
}

/* ── Section title red line grow animation ─────────────── */
.bh-section-title::after {
  transition: width .6s cubic-bezier(.22,.61,.36,1) .3s;
  width: 0 !important;
}
.bh-section-title.bh-title-visible::after {
  width: 50px !important;
}
