/* KAPA visible motion v2 — continuous, intentional activity from hero to footer.
 * CSS animates independently of JS; JS enhances scroll and progress only.
 * No canvas, WebGL, remote dependencies, videos or huge frame-loop costs.
 */

/* 1. HERO — unmistakably moving rings, satellites and light field */
.aos-hero.aos-motion-v2 { isolation:isolate; overflow:hidden; }
.aos-hero-orbit {
  position:absolute; z-index:-1; pointer-events:none; width:620px; height:620px;
  top:34px; right:-235px; border-radius:50%; opacity:.76;
  transform:translate3d(0,0,0);
}
.aos-hero-orbit-ring {
  position:absolute; display:block; border-radius:50%; border:1px solid rgba(136,94,216,.25);
  box-shadow:0 0 35px rgba(186,116,221,.055),inset 0 0 20px rgba(248,89,138,.035);
}
.aos-ring-a { inset:15px; border-style:dashed; border-width:2px; animation:kapa-orbit-spin 14s linear infinite; }
.aos-ring-b { inset:110px; border-color:rgba(223,58,116,.23); border-width:2px; border-style:dotted; animation:kapa-orbit-spin 11s linear infinite reverse; }
.aos-hero-satellite { position:absolute; display:grid; place-items:center; border-radius:50%; background:#fff; box-shadow:0 10px 30px rgba(75,42,123,.12); color:#a153d3; }
.aos-satellite-one { top:46px; left:108px; width:53px; height:53px; font-size:35px; animation:kapa-satellite-a 7s ease-in-out infinite; }
.aos-satellite-two { right:72px; bottom:140px; width:46px; height:46px; color:#e12862; font-size:28px; animation:kapa-satellite-b 6s ease-in-out infinite; }
.aos-satellite-three { left:88px; bottom:100px; width:32px; height:32px; color:#7e63d9; font-size:21px; animation:kapa-satellite-c 5s ease-in-out infinite; }
.aos-hero-intro h1 span {
  background-size:240% 100%;
  animation:kapa-vivid-gradient 5.5s ease-in-out infinite alternate !important;
}
.aos-hero.aos-motion-v2 .aos-glow-left { animation:kapa-aurora-left 9s ease-in-out infinite alternate; }
.aos-hero.aos-motion-v2 .aos-glow-right { animation:kapa-aurora-right 11s ease-in-out infinite alternate; }
.aos-pill-dot { animation:kapa-ping 2s ease-out infinite; }

/* Top edge scroll indicator: visible as visitors move down the page. */
.aos-scroll-progress { position:fixed; z-index:1050; inset:0 0 auto; pointer-events:none; height:4px; background:transparent; }
.aos-scroll-progress > span {
  display:block; height:100%; width:100%; transform-origin:left center;
  transform:scaleX(0); background:linear-gradient(90deg,#ec1844,#da3881,#895df6);
  box-shadow:0 0 13px rgba(224,45,107,.36);
  transition:transform 90ms linear;
}

/* 2. Dashboard: ongoing heartbeat and moving columns. */
.aos-preview-shell { isolation:isolate; }
.aos-preview-signal {
  position:absolute; right:-17px; top:77px; z-index:6; display:flex; align-items:center; gap:7px;
  padding:10px 15px; border:1px solid #d7c8f8; border-radius:35px; background:#fff;
  box-shadow:0 14px 35px rgba(104,70,165,.17); color:#7352cb;
  font:800 10px Inter,sans-serif; letter-spacing:.1em;
  animation:kapa-signal-float 3.2s ease-in-out infinite;
}
.aos-preview-signal > span:first-child { font-size:23px; color:#b65cd5; line-height:1; animation:kapa-signal-spin 8s linear infinite; }
.aos-preview-shell .aos-preview-topbrand .aos-status-pulse { animation:kapa-ping 2.2s ease-out infinite; }
.aos-preview-shell .aos-trend { animation:kapa-trend-glow 2.8s ease-in-out infinite; }
.aos-preview-shell .aos-activity-item:nth-of-type(2) .aos-activity-icon {
  animation:kapa-activity-pulse 2.4s ease-out infinite;
}
.aos-preview-shell .aos-performance-chart { position:relative; isolation:isolate; overflow:hidden; }
.aos-preview-shell .aos-performance-chart::after {
  content:""; position:absolute; z-index:-1; inset:0; pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(227,82,126,.12),transparent);
  background-size:40% 100%; background-repeat:no-repeat;
  animation:kapa-chart-sweep 4.5s ease-in-out infinite;
}
.aos-preview-shell .aos-performance-chart i {
  animation:kapa-bars-live 2.9s ease-in-out infinite alternate !important;
  animation-delay:calc(var(--bar-index,0) * -.48s) !important;
  will-change:transform;
  transform-origin:bottom center;
}
.aos-performance-chart i:nth-child(1) { --bar-index:1; }
.aos-performance-chart i:nth-child(2) { --bar-index:2; }
.aos-performance-chart i:nth-child(3) { --bar-index:3; }
.aos-performance-chart i:nth-child(4) { --bar-index:4; }
.aos-performance-chart i:nth-child(5) { --bar-index:5; }
.aos-performance-chart i:nth-child(6) { --bar-index:6; }
.aos-performance-chart i:nth-child(7) { --bar-index:7; }
.aos-workspace-ai .aos-ai-spark { animation:kapa-spark-breathe 3.4s ease-in-out infinite; }
.aos-preview-shell .aos-workspace-ai { position:relative; isolation:isolate; }
.aos-preview-shell .aos-workspace-ai::after {
  content:""; position:absolute; z-index:-1; inset:0; opacity:.65; pointer-events:none;
  background:radial-gradient(circle at 80% 28%,rgba(176,123,254,.11),transparent 60%);
  animation:kapa-ai-glow 7s ease-in-out infinite alternate;
}

.aos-activity-item { border-radius:8px; transition:background-color .45s ease,box-shadow .45s ease; }
.aos-activity-item.aos-live-highlight { background:#f7f4ff; box-shadow:inset 3px 0 0 #a37aec; }
@media (prefers-reduced-motion:reduce) {
  .aos-activity-item { transition:none !important; background:transparent !important; box-shadow:none !important; }
}

/* 3. Customer logos: continuous horizontal movement, not a static strip. */
.aos-customer-bar-inner { min-width:0; }
.aos-customer-marquee { overflow:hidden; min-width:0; mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%); }
.aos-customer-track { display:flex; align-items:center; gap:50px; width:max-content; animation:kapa-marquee 24s linear infinite; }
.aos-customer-names { display:flex !important; align-items:center; justify-content:flex-start !important; flex-wrap:nowrap !important; gap:50px !important; width:max-content; }
.aos-customer-names > span { flex:none; white-space:nowrap; }
.aos-customer-names img { min-width:54px; }
.aos-customer-marquee:hover .aos-customer-track { animation-play-state:paused; }

/* 4. Product connection: actual flowing signal line between departments. */
.aos-workflow-stream {
  display:grid; gap:15px; margin-top:40px; padding:22px 27px 23px;
  border:1px solid #e5e4ef; border-radius:17px;
  background:linear-gradient(120deg,#fff9fb,#f9f8ff);
}
.aos-stream-title { color:#a22f5b; font:800 10px Inter,sans-serif; letter-spacing:.17em; }
.aos-stream-track {
  position:relative; height:5px; overflow:hidden; border-radius:10px;
  background:linear-gradient(90deg,#f7b1c7,#ba9cfc,#a8d6ed,#bce6d5);
}
.aos-stream-track::before { content:""; position:absolute; inset:0; opacity:.45; background:repeating-linear-gradient(90deg,transparent 0,transparent 35px,rgba(255,255,255,.88) 35px,rgba(255,255,255,.88) 38px); }
.aos-stream-signal {
  position:absolute; z-index:2; display:block; top:-3px; left:-10%; width:110px; height:11px; border-radius:20px;
  background:linear-gradient(90deg,transparent,#fff 45%,#ff3e75 65%,transparent);
  filter:drop-shadow(0 0 8px rgba(238,44,108,.75));
  animation:kapa-data-flow 4.2s linear infinite;
}
.aos-stream-nodes { display:flex; justify-content:space-between; gap:10px; color:#a3a6b6; font-size:10px; font-weight:700; letter-spacing:.07em; }
.aos-stream-nodes b { color:#394154; font-size:12px; letter-spacing:0; margin-left:6px; }

/* 5. AI console: glowing active core, typing indicator, continuous border light. */
.aos-ai-console { overflow:visible; }
.aos-ai-console::before {
  background:conic-gradient(from var(--kapa-ai-angle,0deg),rgba(203,100,237,.14),rgba(226,57,124,.78),rgba(98,65,224,.33),rgba(136,112,255,.15),rgba(203,100,237,.14));
  opacity:.72; filter:blur(10px);
  animation:kapa-console-pulse 4s ease-in-out infinite !important;
}
.aos-console-avatar { animation:kapa-spark-breathe 3s ease-in-out infinite !important; }
.aos-console-processing {
  display:flex; align-items:center; flex-wrap:wrap; gap:10px;
  margin:1px 7px 12px; color:#c8c3e2; font-size:10px;
}
.aos-processing-dots { display:flex; align-items:center; gap:4px; }
.aos-processing-dots i { width:5px; height:5px; border-radius:50%; background:#d4a8ff; animation:kapa-typing 1.05s ease-in-out infinite; }
.aos-processing-dots i:nth-child(2) { animation-delay:.15s; }
.aos-processing-dots i:nth-child(3) { animation-delay:.3s; }
.aos-processing-live { margin-left:auto; color:#a5b1c7; font-size:9px; letter-spacing:.06em; }
.aos-console-suggestions button { transition:transform .2s,background .2s,border-color .2s; }
.aos-console-suggestions button:hover { transform:translateY(-3px); background:#303955; }

/* 6. How it works: cards reveal via observer then show sequential active pulse. */
.aos-steps .aos-step::before {
  content:""; position:absolute; top:0; left:24px; width:48px; height:3px; border-radius:0 0 4px 4px;
  background:linear-gradient(90deg,#e92462,#9558dd);
  animation:kapa-step-beam 3.6s ease-in-out infinite;
}
.aos-steps .aos-step:nth-child(2)::before { animation-delay:1.2s; }
.aos-steps .aos-step:nth-child(3)::before { animation-delay:2.4s; }
.aos-steps .aos-step:hover { transform:translateY(-7px); box-shadow:0 23px 45px rgba(28,28,76,.095); }

/* 7. Industries: each icon subtly bobs; stagger across cards */
.aos-industry-card .aos-industry-symbol {
  animation:kapa-industry-bob 4s ease-in-out infinite;
  animation-delay:calc(var(--card-i,0) * -.58s);
}
.aos-industry-card:nth-child(2) { --card-i:1; }
.aos-industry-card:nth-child(3) { --card-i:2; }
.aos-industry-card:nth-child(4) { --card-i:3; }
.aos-industry-card:nth-child(5) { --card-i:4; }
.aos-industry-card:nth-child(6) { --card-i:5; }
.aos-industry-card:hover .aos-industry-symbol { animation-play-state:paused; }

/* 8. AI recommender & pricing: moving highlight that doesn't interfere with text. */
.aos-find-inner { position:relative; isolation:isolate; }
.aos-find-inner::before {
  content:""; pointer-events:none; position:absolute; z-index:-1; inset:0; border-radius:inherit;
  background:radial-gradient(ellipse 40% 90% at 65% 45%,rgba(203,139,253,.20),transparent 84%);
  animation:kapa-ai-glow 8s ease-in-out infinite alternate;
}
.aos-find-form { border-color:#dcd0ed; animation:kapa-form-highlight 5.4s ease-in-out infinite; }
.aos-pricing-tile { animation:kapa-tile-highlight 5.2s ease-in-out infinite; }
.aos-final-cta { isolation:isolate; }
.aos-finale-lines { position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:-1; }
.aos-finale-lines span {
  position:absolute; display:block; width:1px; height:180%; top:-40%;
  background:linear-gradient(to bottom,transparent,rgba(246,157,232,.42),transparent);
  transform:rotate(27deg) translateY(-100%);
  animation:kapa-finale-streak 8s linear infinite;
}
.aos-finale-lines span:nth-child(1) { left:10%; animation-delay:0s; }
.aos-finale-lines span:nth-child(2) { left:38%; animation-delay:-2s; }
.aos-finale-lines span:nth-child(3) { left:67%; animation-delay:-4s; }
.aos-finale-lines span:nth-child(4) { left:90%; animation-delay:-6s; }

/* Scroll content: clear but quick reveal, no waiting and no disappearance if JS fails. */
.aos-v2-reveal.aos-v2-ready { opacity:0; transform:translate3d(0,46px,0); }
.aos-v2-reveal.aos-v2-visible {
  opacity:1; transform:translate3d(0,0,0);
  transition:opacity .7s ease-out,transform .85s cubic-bezier(.18,1,.25,1);
  transition-delay:var(--aos-v2-delay,0ms);
}

/* Animation library — explicit motion of real visible elements */
@keyframes kapa-orbit-spin { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }
@keyframes kapa-satellite-a { 0%,100% { transform:translate3d(0,0,0) rotate(0); } 50% { transform:translate3d(25px,35px,0) rotate(30deg); } }
@keyframes kapa-satellite-b { 0%,100% { transform:translate3d(0,0,0) rotate(0); } 50% { transform:translate3d(-26px,-23px,0) rotate(-38deg); } }
@keyframes kapa-satellite-c { 0%,100% { transform:translate3d(0,0,0); } 50% { transform:translate3d(20px,-30px,0); } }
@keyframes kapa-vivid-gradient { 0% { background-position:0% 50%; } 100% { background-position:100% 50%; } }
@keyframes kapa-aurora-left { from { transform:translate(0,0) scale(.95); opacity:.48; } to { transform:translate(100px,70px) scale(1.35); opacity:.87; } }
@keyframes kapa-aurora-right { from { transform:translate(0,0) scale(1); opacity:.48; } to { transform:translate(-105px,-62px) scale(1.25); opacity:.9; } }
@keyframes kapa-ping { 0%,65%,100% { box-shadow:0 0 0 0 rgba(237,32,85,.35); } 38% { box-shadow:0 0 0 9px rgba(237,32,85,0); } }
@keyframes kapa-signal-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-15px); } }
@keyframes kapa-signal-spin { to { transform:rotate(360deg); } }
@keyframes kapa-trend-glow { 0%,100% { box-shadow:0 0 0 rgba(18,188,126,0); } 50% { box-shadow:0 0 19px rgba(18,188,126,.27); } }
@keyframes kapa-activity-pulse { 0%,100% { transform:scale(1); } 50% { transform:scale(1.15); } }
@keyframes kapa-bars-live { 0% { transform:scaleY(.69); } 100% { transform:scaleY(1); } }
@keyframes kapa-chart-sweep { 0% { background-position:-65% 0; opacity:0; } 20% { opacity:.8; } 80%,100% { background-position:215% 0; opacity:0; } }
@keyframes kapa-spark-breathe { 0%,100% { transform:scale(.95); filter:brightness(1); box-shadow:0 0 0 0 rgba(165,109,242,.1); } 50% { transform:scale(1.10); filter:brightness(1.16); box-shadow:0 0 0 10px rgba(165,109,242,0); } }
@keyframes kapa-ai-glow { 0% { opacity:.4; transform:translate(-3%,0) scale(.95); } 100% { opacity:1; transform:translate(5%,0) scale(1.1); } }
@keyframes kapa-marquee { from { transform:translate3d(0,0,0); } to { transform:translate3d(calc(-50% - 25px),0,0); } }
@keyframes kapa-data-flow { from { left:-110px; } to { left:calc(100% + 110px); } }
@keyframes kapa-console-pulse { 0%,100% { opacity:.34; filter:blur(9px); } 50% { opacity:.85; filter:blur(13px); } }
@keyframes kapa-typing { 0%,60%,100% { transform:translateY(0); opacity:.45; } 30% { transform:translateY(-5px); opacity:1; } }
@keyframes kapa-step-beam { 0%,100% { opacity:.25; width:25px; } 50% { opacity:1; width:85px; } }
@keyframes kapa-industry-bob { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-9px); } }
@keyframes kapa-form-highlight { 0%,100% { box-shadow:0 18px 55px rgba(78,54,134,.07); } 50% { box-shadow:0 22px 58px rgba(143,84,205,.18); } }
@keyframes kapa-tile-highlight { 0%,100% { box-shadow:0 14px 44px rgba(60,32,85,.04); } 50% { box-shadow:0 18px 57px rgba(226,55,117,.15); } }
@keyframes kapa-finale-streak { 0% { transform:rotate(27deg) translateY(-110%); opacity:0; } 20%,75% { opacity:.75; } 100% { transform:rotate(27deg) translateY(110%); opacity:0; } }

/* Mobile: clear effects without clutter or accidental horizontal scrolling. */
@media (max-width:991.98px) {
  .aos-hero-orbit { width:420px; height:420px; top:100px; right:-250px; opacity:.45; }
  .aos-ring-b { inset:76px; }
  .aos-preview-signal { top:45px; right:2px; transform:scale(.85); font-size:8px; }
  .aos-workflow-stream { padding:19px; }
}
@media (max-width:575.98px) {
  .aos-hero-orbit { top:70px; right:-285px; opacity:.31; }
  .aos-satellite-two,.aos-satellite-three { display:none; }
  .aos-preview-signal { right:8px; top:42px; padding:6px 8px; font-size:7px; animation:kapa-signal-float 3.2s ease-in-out infinite; }
  .aos-preview-signal > span:first-child { font-size:15px; }
  .aos-customer-track { animation-duration:18s; }
  .aos-customer-names { gap:34px !important; }
  .aos-workflow-stream { margin-top:25px; }
  .aos-stream-nodes { font-size:8px; gap:6px; }
  .aos-stream-nodes b { display:block; margin-left:0; font-size:9px; margin-top:4px; }
  .aos-console-processing { font-size:9px; }
}
@media (prefers-reduced-motion: reduce) {
  .aos-motion-v2 *, .aos-motion-v2 *::before, .aos-motion-v2 *::after,
  .aos-customer-track,.aos-stream-signal,.aos-console-processing *,
  .aos-steps .aos-step::before,.aos-industry-card .aos-industry-symbol,
  .aos-find-inner::before,.aos-find-form,.aos-pricing-tile,
  .aos-finale-lines span,.aos-v2-reveal {
    animation:none !important;
    transition:none !important;
    transform:none !important;
    opacity:1 !important;
  }
  .aos-hero-orbit { opacity:.13; }
}
@media print {
  .aos-scroll-progress,.aos-hero-orbit,.aos-preview-signal,.aos-finale-lines { display:none !important; }
  .aos-customer-track,.aos-v2-reveal { animation:none !important; transform:none !important; opacity:1 !important; }
}
