/* iTAP FX v2.0 — hero-only 3D + animation */

/* 3D hero canvas */
.itap-fx-hero { position: relative; overflow: hidden; }
.itap-fx-canvas {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  z-index: 0; pointer-events: none;
}
.itap-fx-hero > .e-con-inner,
.itap-fx-hero > *:not(.itap-fx-canvas) { position: relative; z-index: 1; }

/* Gradient shimmer on hero accent text */
.itap-fx-shimmer {
  background: linear-gradient(100deg, #4da3ff 20%, #9dd0ff 40%, #4da3ff 60%);
  background-size: 200% auto;
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: itapShimmer 5s linear infinite;
}
@keyframes itapShimmer { to { background-position: -200% center; } }

/* Hero typography spacing fix — H1 was overlapping the subtitle by ~17px.
   Scoped to Elementor heroes (.e-con) so the custom /ai/ hero (.iap-hero) is untouched. */
.e-con.itap-fx-hero h1 { margin-bottom: 40px; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .itap-fx-canvas { display: none !important; }
  .itap-fx-shimmer { animation: none; }
}
