/*
  Homepage Motion Layer
  Reversible: remove this file reference from index.html to disable all homepage-only motion.
*/

.home-motion-enabled .hero-polished {
  overflow: hidden;
}

.home-motion-enabled .hero-polished::before {
  background:
    radial-gradient(42rem 30rem at 18% 8%, rgba(77,212,184,.24), transparent 62%),
    radial-gradient(36rem 26rem at 78% 4%, rgba(143,209,122,.16), transparent 62%),
    radial-gradient(28rem 20rem at 50% 95%, rgba(77,212,184,.12), transparent 62%);
  animation: nexusAura 12s ease-in-out infinite alternate;
}

.home-motion-enabled .hero-polished::after {
  content: "";
  position: absolute;
  inset: 0 50%;
  width: 100vw;
  transform: translateX(-50%);
  z-index: -1;
  opacity: .32;
  background-image:
    linear-gradient(rgba(77,212,184,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(77,212,184,.08) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: radial-gradient(circle at 50% 20%, #000 0%, transparent 68%);
  animation: gridDrift 18s linear infinite;
}

.home-motion-enabled .hero-polished .eyebrow,
.home-motion-enabled .hero-polished h1,
.home-motion-enabled .hero-polished .hero-subtitle,
.home-motion-enabled .hero-polished .actions,
.home-motion-enabled .hero-polished .trust-badges,
.home-motion-enabled .nexus-marquee {
  opacity: 0;
  transform: translateY(18px);
  animation: revealUp .8s cubic-bezier(.2,.8,.2,1) forwards;
}

.home-motion-enabled .hero-polished h1 { animation-delay: .08s; }
.home-motion-enabled .hero-polished .hero-subtitle { animation-delay: .16s; }
.home-motion-enabled .hero-polished .actions { animation-delay: .24s; }
.home-motion-enabled .hero-polished .trust-badges { animation-delay: .32s; }
.home-motion-enabled .nexus-marquee { animation-delay: .4s; }

.home-motion-enabled .btn-glow {
  position: relative;
  overflow: hidden;
  animation: softPulse 3.8s ease-in-out infinite;
}

.home-motion-enabled .btn-glow::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-120%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.32), transparent);
  animation: buttonSheen 4.8s ease-in-out infinite;
}

.nexus-marquee {
  margin: 1.6rem auto 0;
  max-width: 860px;
  overflow: hidden;
  border: 1px solid #1b2230;
  border-radius: 999px;
  background: rgba(15,20,27,.62);
  backdrop-filter: blur(10px);
}

.nexus-marquee__track {
  display: flex;
  width: max-content;
  gap: 1.4rem;
  padding: .65rem 1rem;
  color: #c9d1d9;
  font-weight: 800;
  white-space: nowrap;
  animation: marqueeSlide 28s linear infinite;
}

.nexus-marquee__track span {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
}

.nexus-marquee__track span::before {
  content: "";
  width: .45rem;
  height: .45rem;
  border-radius: 999px;
  background: var(--brand);
  box-shadow: 0 0 16px rgba(77,212,184,.7);
}

.home-motion-enabled .platform-preview {
  animation: floatPanel 6s ease-in-out infinite;
  transform-origin: center;
}

.home-motion-enabled .preview-main,
.home-motion-enabled .mini-card,
.home-motion-enabled .highlights article,
.home-motion-enabled .showcase-card,
.home-motion-enabled .cta-block {
  will-change: transform, border-color, opacity;
}

.home-motion-enabled .preview-main:hover,
.home-motion-enabled .mini-card:hover,
.home-motion-enabled .highlights article:hover,
.home-motion-enabled .showcase-card:hover {
  transform: translateY(-6px) scale(1.01);
  box-shadow: 0 22px 60px rgba(0,0,0,.24), 0 0 0 1px rgba(77,212,184,.08);
}

.home-motion-enabled .scroll-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .75s ease, transform .75s cubic-bezier(.2,.8,.2,1);
}

.home-motion-enabled .scroll-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.home-motion-enabled .metric-grid strong {
  font-variant-numeric: tabular-nums;
}

@keyframes nexusAura {
  0% { transform: translateX(-50%) scale(1); filter: saturate(1); }
  100% { transform: translateX(-50%) scale(1.08); filter: saturate(1.25); }
}

@keyframes gridDrift {
  from { background-position: 0 0, 0 0; }
  to { background-position: 54px 54px, 54px 54px; }
}

@keyframes revealUp {
  to { opacity: 1; transform: translateY(0); }
}

@keyframes softPulse {
  0%, 100% { box-shadow: 0 0 0 1px rgba(77,212,184,.28), 0 0 28px rgba(77,212,184,.18); }
  50% { box-shadow: 0 0 0 1px rgba(77,212,184,.55), 0 0 44px rgba(77,212,184,.32); }
}

@keyframes buttonSheen {
  0%, 65% { transform: translateX(-120%); }
  100% { transform: translateX(120%); }
}

@keyframes marqueeSlide {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@keyframes floatPanel {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

@media (max-width: 720px) {
  .nexus-marquee { border-radius: 1rem; }
  .nexus-marquee__track { animation-duration: 22s; }
  .home-motion-enabled .platform-preview { animation: none; }
}

@media (prefers-reduced-motion: reduce) {
  .home-motion-enabled *,
  .home-motion-enabled *::before,
  .home-motion-enabled *::after {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}
