/* VisaGo — adaptív motion layer
   GSAP desktopon, könnyű IntersectionObserver reveal mobilon. */

.page-hero::after {
  transform: translateY(var(--hero-ring-shift, 0));
  will-change: transform;
}

.motion-pointer-glow {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: clamp(260px, 28vw, 520px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(240, 162, 60, .2), rgba(240, 162, 60, .07) 38%, transparent 70%);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -50%);
  filter: blur(4px);
}

.home-hero__grid,
.page-hero .container {
  position: relative;
  z-index: 1;
}

.motion-orbit {
  position: absolute;
  width: min(74%, 270px);
  aspect-ratio: 1;
  border: 1px solid rgba(240, 162, 60, .34);
  border-radius: 50%;
  pointer-events: none;
}

.legal-feature__seal,
.about-legal__visual {
  position: relative;
  overflow: hidden;
}

.motion-orbit::before,
.motion-orbit::after {
  position: absolute;
  inset: 15%;
  border: 1px solid rgba(240, 162, 60, .18);
  border-radius: 50%;
  content: "";
}

.motion-orbit::after {
  inset: 31%;
}

.motion-orbit i {
  position: absolute;
  width: 9px;
  height: 9px;
  border: 2px solid rgba(255,255,255,.78);
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 6px rgba(240,162,60,.1);
}

.motion-orbit i:nth-child(1) { top: -5px; left: 50%; }
.motion-orbit i:nth-child(2) { right: 7%; bottom: 18%; }
.motion-orbit i:nth-child(3) { bottom: 12%; left: 10%; }

.motion-enhanced .motion-tilt-card {
  transform-style: preserve-3d;
  transform-perspective: 900px;
  will-change: transform;
}

.motion-enhanced .motion-tilt-card .card__icon,
.motion-enhanced .motion-tilt-card .position-card__icon {
  transform: translateZ(18px);
}

.motion-enhanced .route-visual,
.motion-enhanced .flow-card,
.motion-enhanced .cta-band {
  will-change: transform;
}

@media (min-width: 1024px) and (pointer: fine) {
  .motion-enhanced .route-visual {
    transform-style: preserve-3d;
    transform-perspective: 1100px;
  }

  .motion-enhanced .route-visual__hub {
    transform: translateZ(22px);
  }

  .motion-enhanced .route-pill,
  .motion-enhanced .destination-card {
    will-change: transform;
  }

  .motion-enhanced .btn {
    will-change: transform;
  }
}

/* Mobilon nincs GSAP/CDN-kérés; csak egyszeri, rövid reveal fut. */
.motion-lite .motion-lite-target {
  opacity: 0;
  transform: translateY(14px);
  transition:
    opacity .42s ease,
    transform .42s cubic-bezier(.22, 1, .36, 1);
}

.motion-lite .motion-lite-target.is-visible {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .motion-pointer-glow,
  .motion-orbit {
    display: none !important;
  }

  .motion-lite .motion-lite-target {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
