/* The prototype's visual vocabulary with visible, lifecycle-aware choreography. */
html[data-motion] .isa-motion-scene *,html[data-motion] .isa-motion-scene *::before,html[data-motion] .isa-motion-scene *::after { animation-play-state:paused; }
html[data-motion="full"] .isa-motion-scene.isa-motion-active *,
html[data-motion="full"] .isa-motion-scene.isa-motion-active *::before,
html[data-motion="full"] .isa-motion-scene.isa-motion-active *::after { animation-play-state:running; }
.isa-motion-scene .eg-in,.isa-motion-scene .eg-core-disc,.isa-motion-scene .eg-core-orbit,
.isa-motion-scene .isa-wire,.isa-motion-scene .isa-months span,.isa-motion-scene .ip-flow,
.isa-motion-scene .isa-const-emb,.isa-motion-scene .isa-home-ai span,.isa-motion-scene .isa-home-team>svg { animation-play-state:paused; }
html[data-motion="full"] .isa-motion-scene.isa-motion-active .eg-in,
html[data-motion="full"] .isa-motion-scene.isa-motion-active .eg-core-disc,
html[data-motion="full"] .isa-motion-scene.isa-motion-active .eg-core-orbit,
html[data-motion="full"] .isa-motion-scene.isa-motion-active .isa-wire,
html[data-motion="full"] .isa-motion-scene.isa-motion-active .isa-months span,
html[data-motion="full"] .isa-motion-scene.isa-motion-active .ip-flow,
html[data-motion="full"] .isa-motion-scene.isa-motion-active .isa-const-emb,
html[data-motion="full"] .isa-motion-scene.isa-motion-active .isa-home-ai span,
html[data-motion="full"] .isa-motion-scene.isa-motion-active .isa-home-team>svg { animation-play-state:running; }
.isa-home .isa-const-emb { animation:isa-pro-breathe 5s ease-in-out infinite paused; }
.isa-home .isa-const-emb:nth-child(2) { animation-delay:-.7s; }
.isa-home .isa-const-emb:nth-child(3) { animation-delay:-1.4s; }
.isa-home .isa-const-emb:nth-child(4) { animation-delay:-2.1s; }
.isa-home .isa-home-ai span { animation:isa-pro-spark 4.4s ease-in-out infinite paused; }
.isa-home .isa-home-team>svg { animation:isa-pro-breathe 5.5s ease-in-out infinite paused; }
@keyframes isa-pro-breathe { 0%,100%{translate:0 0} 50%{translate:0 -5px} }
@keyframes isa-pro-spark { 0%,100%{scale:1;opacity:.76} 50%{scale:1.1;opacity:1} }
/* Independent transform properties preserve the entrance transforms and button hit areas. */
.isa-motion-surface { --isa-pointer-x:50%;--isa-pointer-y:50%;--isa-tilt-x:0deg;--isa-tilt-y:0deg; }
.isa-motion-surface::before { content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1;opacity:0;background:radial-gradient(370px circle at var(--isa-pointer-x) var(--isa-pointer-y),rgba(103,232,249,.13),transparent 66%);transition:opacity .35s ease; }
.isa-motion-surface.isa-pointer-active::before { opacity:1; }
.ip .ip-resource-card.isa-motion-surface::before,.ip .ip-service-item.isa-motion-surface::before { background:radial-gradient(320px circle at var(--isa-pointer-x) var(--isa-pointer-y),rgba(37,99,235,.09),transparent 68%); }
.ip .ip-resource-card.isa-motion-surface { position:relative; }
.isa-motion-magnetic>svg { translate:var(--isa-mag-x,0px) var(--isa-mag-y,0px);transition:translate .18s ease; }
.isa .isa-btn.isa-motion-magnetic:hover,.ip .ip-btn.isa-motion-magnetic:hover { transform:none; }
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  html[data-motion="full"] .isa-motion-surface { rotate:x var(--isa-tilt-x); }
  html[data-motion="full"] .isa-tile.isa-motion-surface .isa-viz,
  html[data-motion="full"] .isa-tile.isa-motion-surface .isa-bp { transform:perspective(800px) rotateY(var(--isa-tilt-y));transition:transform .24s cubic-bezier(.16,1,.3,1); }
  .isa-home .isa-gc>a:hover .isa-gc-emb { translate:0 -4px;transition:translate .3s ease; }
}
/* A single top progress bar leaves every carousel control unobstructed. */
.isa-home .isa-ip-vis { transform-origin:50% 50%; }
.isa-home .isa-tile { transition:border-color .3s ease,box-shadow .3s ease; }
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .isa-home .isa-tile.isa-pointer-active { border-color:#67e8f946;box-shadow:0 20px 45px -36px #22d3ee8c; }
  .isa-home .isa-gc img { transition:scale .65s cubic-bezier(.2,.8,.2,1); }
  .isa-home .isa-gc>a:hover img { scale:1.045; }
}
.isa-home .isa-gal-track,.isa-home .isa-iso-track { overscroll-behavior-x:contain; }
.isa-home .isa-gal-track.is-drag,.isa-home .isa-iso-track.is-drag { scroll-snap-type:none;scroll-behavior:auto;user-select:none;cursor:grabbing; }
.isa-home .isa-gal-track.is-drag a,.isa-home .isa-iso-track.is-drag a { pointer-events:none; }
.isa-home .isa-gc img { -webkit-user-drag:none;user-select:none; }
.isa-home .isa-pact-big b { font-variant-numeric:tabular-nums;min-width:1.13em; }
.isa-home .isa-doc-bars i { transform-origin:bottom center; }
.isa-home .isa-hero-bg img,.isa-home .isa-intl-bg,
.ip .ip-hero-photo img,.ip .ip-close-photo img,.ip .ip-scope-photo img { backface-visibility:hidden; }
@media(prefers-reduced-motion:reduce) {
  .isa-motion-scene *,.isa-motion-scene *::before,.isa-motion-scene *::after { animation:none!important; }
  .isa-motion-surface,.isa-motion-surface .isa-viz,.isa-motion-surface .isa-bp { rotate:none!important;transform:none!important; }
  .isa-motion-surface::before { opacity:0!important;transition:none!important; }
  .isa-home .isa-ip,.isa-home .isa-tile,.isa-home .isa-gc img,.isa-home .isa-iso-stepper button,.isa-home .isa-ist-node { transition:none!important; }
  .isa-motion-magnetic>svg,.isa-home .isa-const-emb { translate:none!important;transition:none!important; }
  .isa [data-motion-entered],.ip [data-motion-entered] { opacity:1!important; }
}
