/* KAPA Motion — restrained futuristic interactions. Transform + opacity first.
   All optional visual effects; never required to navigate the site. */

/* Ambient light in the hero, subtly responsive to pointer movement. */
.aos-hero { isolation: isolate; }
.aos-hero::after {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(circle 390px at var(--aos-pointer-x, 78%) var(--aos-pointer-y, 32%), rgba(144,111,238,.095), transparent 80%),
    linear-gradient(115deg, transparent 41%, rgba(235,205,240,.07) 50%, transparent 59%);
  opacity: .8;
}
.aos-hero .aos-glow-left { animation: aos-ambient-left 18s ease-in-out infinite alternate; }
.aos-hero .aos-glow-right { animation: aos-ambient-right 21s ease-in-out infinite alternate; }
.aos-hero-intro { animation: aos-hero-arrive .88s cubic-bezier(.19,1,.22,1) both; }
.aos-hero-intro h1 span {
  background-size: 210% 100%;
  animation: aos-title-shimmer 11s ease-in-out infinite alternate;
}
.aos-pill-dot, .aos-status-pulse, .aos-online-dot {
  animation: aos-live-pulse 4.2s ease-out infinite;
}
.aos-pill { transition: border-color .22s, box-shadow .22s, transform .22s; }
.aos-pill:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(70,34,85,.11); }

/* Product window gets a cinematic entrance, then stays completely readable. */
.aos-preview-shell {
  --aos-panel-x: 0px; --aos-panel-y: 0px;
  animation: aos-window-arrive 1.0s .15s cubic-bezier(.18,1,.24,1) both;
}
.aos-preview-shell::before {
  transform: translate3d(var(--aos-panel-x), var(--aos-panel-y), 0);
  transition: transform .28s ease-out;
  animation: aos-preview-aura 9s ease-in-out infinite alternate;
}
.aos-workspace { position: relative; }
.aos-workspace::after {
  content: ""; position: absolute; z-index: 4; top: 0; bottom: 0; left: -2px;
  width: 2px; pointer-events: none; opacity: .13;
  background: linear-gradient(180deg, transparent, #c7abfa 35%, #e23b78 70%, transparent);
  transform: translateX(0);
}
.aos-preview-shell.aos-preview-animate .aos-workspace::after {
  animation: aos-data-sweep 9s 1.8s ease-in-out infinite;
}
.aos-performance-chart i { transform-origin: bottom center; }
.aos-preview-shell.aos-preview-animate .aos-performance-chart i {
  animation: aos-chart-rise .84s cubic-bezier(.2,.7,.3,1) both;
}
.aos-preview-shell.aos-preview-animate .aos-performance-chart i:nth-child(2) { animation-delay: .09s; }
.aos-preview-shell.aos-preview-animate .aos-performance-chart i:nth-child(3) { animation-delay: .18s; }
.aos-preview-shell.aos-preview-animate .aos-performance-chart i:nth-child(4) { animation-delay: .27s; }
.aos-preview-shell.aos-preview-animate .aos-performance-chart i:nth-child(5) { animation-delay: .36s; }
.aos-preview-shell.aos-preview-animate .aos-performance-chart i:nth-child(6) { animation-delay: .45s; }
.aos-preview-shell.aos-preview-animate .aos-performance-chart i:nth-child(7) { animation-delay: .54s; }
.aos-workspace-ai .aos-ai-spark, .aos-console-avatar {
  box-shadow: 0 0 0 0 rgba(188,119,243,.2);
  animation: aos-ai-breathe 5.2s ease-in-out infinite;
}
.aos-ai-insight, .aos-console-response {
  transition: border-color .25s, transform .25s, box-shadow .25s;
}
.aos-ai-insight:hover, .aos-console-response:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 22px rgba(48,32,92,.09);
}
.aos-ai-preview-action span, .aos-ai-button span,
.aos-find-submit span, .aos-final-inner .btn span {
  display: inline-block; transition: transform .24s;
}
.aos-ai-preview-action:hover span, .aos-ai-button:hover span,
.aos-find-submit:hover span, .aos-final-inner .btn:hover span { transform: translate(3px,-2px); }

/* Discreet animated gradient edge on AI console. */
.aos-ai-console { position: relative; isolation: isolate; }
.aos-ai-console::before {
  content: ""; position: absolute; inset: -2px; z-index: -1;
  border-radius: 25px; pointer-events: none;
  background: conic-gradient(from 130deg, rgba(142,83,235,.08), rgba(226,57,124,.58), rgba(107,74,224,.18), rgba(226,57,124,.07), rgba(142,83,235,.08));
  opacity: .55; filter: blur(9px);
  animation: aos-ai-halo 11s ease-in-out infinite alternate;
}
.aos-ai-background { animation: aos-ai-background 17s ease-in-out infinite alternate; }

/* Scroll staging is opted into only after JS has successfully created its observer.
   Without JS everything remains visible, including in readers and print. */
.aos-motion-item.aos-motion-ready {
  opacity: 0;
  transform: translate3d(0,25px,0);
}
.aos-motion-item.aos-motion-revealed {
  opacity: 1;
  transform: translate3d(0,0,0);
  transition: opacity .75s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.18,1,.22,1);
  transition-delay: var(--aos-stagger, 0ms);
}

/* Micro-interactions on SaaS cards. */
.aos-function-card, .aos-industry-card, .aos-step, .aos-pricing-tile {
  position: relative;
}
.aos-function-card::after, .aos-industry-card::after {
  content: ""; position: absolute; pointer-events: none;
  inset: 0; border-radius: inherit;
  background: radial-gradient(ellipse 110% 80% at 100% 0, rgba(255,255,255,.65), transparent 65%);
  opacity: 0; transition: opacity .25s ease;
}
.aos-function-card:hover::after, .aos-industry-card:hover::after { opacity: .55; }
.aos-function-icon, .aos-industry-symbol { transition: transform .3s cubic-bezier(.2,.75,.2,1), box-shadow .3s ease; }
.aos-function-card:hover .aos-function-icon, .aos-industry-card:hover .aos-industry-symbol {
  transform: translateY(-4px) rotate(-5deg);
  box-shadow: 0 10px 25px rgba(24,30,56,.075);
}
.aos-step { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.aos-step:hover {
  transform: translateY(-4px);
  border-color: #e1cbe5;
  box-shadow: 0 18px 48px rgba(28,28,76,.065);
}
.aos-final-cta::after {
  content: ""; position: absolute; pointer-events: none;
  width: 420px; height: 420px; border-radius: 50%;
  right: -230px; bottom: -320px; border: 1px solid rgba(235,195,255,.1);
  box-shadow: 0 0 0 80px rgba(201,115,236,.025), 0 0 0 160px rgba(201,115,236,.02);
  animation: aos-footer-orbit 20s ease-in-out infinite alternate;
}

/* Entry animation on new KAPA ONE page: UI is not artificially 3D. */
.aos-one-feature-screen { animation: aos-window-arrive .95s cubic-bezier(.18,1,.24,1) both; }
.aos-one-app-item .ico { transition: transform .23s; }
.aos-one-app-item:hover .ico { transform: scale(1.08); }

@keyframes aos-ambient-left {
  from { transform: translate3d(0,0,0) scale(.96); }
  to { transform: translate3d(64px,50px,0) scale(1.07); }
}
@keyframes aos-ambient-right {
  from { transform: translate3d(0,0,0) scale(1); }
  to { transform: translate3d(-45px,-32px,0) scale(1.08); }
}
@keyframes aos-title-shimmer {
  from { background-position: 0% 50%; }
  to { background-position: 100% 50%; }
}
@keyframes aos-hero-arrive {
  from { opacity: 0; transform: translate3d(0,26px,0); }
  to { opacity: 1; transform: translate3d(0,0,0); }
}
@keyframes aos-window-arrive {
  from { opacity: 0; transform: translate3d(0,34px,0) scale(.98); }
  to { opacity: 1; transform: translate3d(0,0,0) scale(1); }
}
@keyframes aos-preview-aura {
  from { opacity: .65; filter: blur(26px); }
  to { opacity: 1; filter: blur(32px); }
}
@keyframes aos-live-pulse {
  0%,70%,100% { box-shadow: 0 0 0 0 rgba(18,167,129,.16); }
  30% { box-shadow: 0 0 0 6px rgba(18,167,129,0); }
}
@keyframes aos-chart-rise {
  from { opacity: .24; transform: scaleY(.13); }
  to { opacity: 1; transform: scaleY(1); }
}
@keyframes aos-data-sweep {
  0%,12% { transform: translateX(0); opacity: 0; }
  25% { opacity: .13; }
  42% { transform: translateX(1150px); opacity: 0; }
  100% { transform: translateX(1150px); opacity: 0; }
}
@keyframes aos-ai-breathe {
  0%,100% { box-shadow: 0 0 0 0 rgba(188,119,243,.14); }
  50% { box-shadow: 0 0 0 8px rgba(188,119,243,0); }
}
@keyframes aos-ai-halo {
  from { opacity: .28; transform: scale(.98); }
  to { opacity: .63; transform: scale(1.015); }
}
@keyframes aos-ai-background {
  from { opacity: .8; transform: scale(1) translate3d(0,0,0); }
  to { opacity: 1; transform: scale(1.1) translate3d(-2%,1%,0); }
}
@keyframes aos-footer-orbit {
  from { transform: translate3d(0,0,0) rotate(-8deg); }
  to { transform: translate3d(-80px,-36px,0) rotate(9deg); }
}

@media (max-width: 767.98px) {
  .aos-hero .aos-glow-left, .aos-hero .aos-glow-right { animation-duration: 26s; }
  .aos-workspace::after, .aos-preview-shell::before { animation: none !important; }
  .aos-final-cta::after { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .aos-hero *, .aos-hero *::before, .aos-hero *::after,
  .aos-ai-section *, .aos-ai-section *::before, .aos-ai-section *::after,
  .aos-final-cta *, .aos-final-cta *::after,
  .aos-one-feature-screen, .aos-performance-chart i, .aos-motion-item {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}
@media print {
  .aos-hero *, .aos-ai-section *, .aos-motion-item {
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}
