/* Onyx motion — shared. Theme-agnostic (opacity/transform only). Selectors for
   both product sites; a selector that matches nothing is harmless. Content is
   never hidden without JS (the hidden state is gated on `.has-motion`). */

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1 !important; transform: none !important; }
  * { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

.has-motion .reveal {
  opacity: 0;
  transform: translateY(32px);
  transition:
    opacity .85s cubic-bezier(.22, .61, .36, 1),
    transform .85s cubic-bezier(.22, .61, .36, 1);
  will-change: opacity, transform;
}
.reveal.is-in { opacity: 1; transform: none; }

/* Header shadow once the page leaves the top (styling only; positioning untouched). */
.topbar,
.lending-site-topbar {
  transition: box-shadow .35s ease, backdrop-filter .35s ease;
}
.is-scrolled .topbar,
.is-scrolled .lending-site-topbar {
  box-shadow: 0 14px 34px rgba(0, 0, 0, .3);
  backdrop-filter: saturate(1.3) blur(10px);
}

/* Hero entrance */
@keyframes onyx-rise {
  from { opacity: 0; transform: translateY(34px); }
  to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: no-preference) {
  .has-motion .hero h1,
  .has-motion .lst-hero h1 { animation: onyx-rise .9s cubic-bezier(.22, .61, .36, 1) both; }
  .has-motion .hero .lead,
  .has-motion .lst-hero .lst-hero-lead { animation: onyx-rise .9s cubic-bezier(.22, .61, .36, 1) .16s both; }
  .has-motion .hero .hero-actions,
  .has-motion .lst-hero .lst-cta-row { animation: onyx-rise .9s cubic-bezier(.22, .61, .36, 1) .3s both; }
  .has-motion .hero .signal-strip,
  .has-motion .lst-hero .lst-tagline { animation: onyx-rise .9s cubic-bezier(.22, .61, .36, 1) .44s both; }
}

/* Hover micro-interactions */
.cta-link, .ghost-link,
.lst-btn-primary, .lst-btn-secondary, .lst-btn-cta, .lst-btn-outline, .lst-btn-ghost {
  transition: transform .3s cubic-bezier(.22, .61, .36, 1), box-shadow .3s ease, background-color .3s ease, color .3s ease;
}
.cta-link:hover, .ghost-link:hover,
.lst-btn-primary:hover, .lst-btn-secondary:hover, .lst-btn-cta:hover, .lst-btn-outline:hover {
  transform: translateY(-3px);
}
.showcase-card, .product-card, .info-card {
  transition: transform .45s cubic-bezier(.22, .61, .36, 1), box-shadow .45s ease;
}
.showcase-card:hover, .product-card:hover, .info-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 50px rgba(0, 0, 0, .22);
}
.showcase-image, .card-visual-image, .hero-photo {
  transition: transform .8s cubic-bezier(.22, .61, .36, 1);
}
.showcase-card:hover .showcase-image,
.product-card:hover .card-visual-image { transform: scale(1.05); }
