/* Vebixo Studio V70.3.2 — composited ambient motion correction.
   Appended AFTER v703-inner.css and v7031-clean.css; no metadata or markup dependency. */
@keyframes v7032-edge-orbit{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes v7032-soft-enter{from{opacity:.60;translate:0 11px}to{opacity:1;translate:0 0}}
body.v703 .v703-glow{
  position:relative!important;
  isolation:isolate;
  border-color:rgba(46,96,184,.24)!important;
  transition:border-color .45s ease,box-shadow .52s cubic-bezier(.2,.75,.25,1),transform .52s cubic-bezier(.2,.75,.25,1)!important;
}
/* The ring itself is stationary. ONLY its oversized gradient is rotated: the stroke
   follows all four edges continuously without rotating the actual card rectangle. */
body.v703 .v703-glow>.v703-ring{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  padding:2.5px!important;
  border-radius:inherit!important;
  background:none!important;
  opacity:.83!important;
  z-index:8!important;
  pointer-events:none!important;
  overflow:hidden!important;
  animation:none!important; /* do not use interpolated CSS angle custom properties */
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;
  -webkit-mask-composite:xor!important;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;
  mask-composite:exclude!important;
  transition:opacity .55s ease!important;
}
body.v703 .v703-glow>.v703-ring::before{
  content:"";
  display:block;
  position:absolute;
  inset:-110%;
  background:conic-gradient(from 0deg,
    rgba(8,102,245,.25) 0deg,
    #0866f5 25deg,
    #42c7ed 49deg,
    #ad83eb 74deg,
    transparent 113deg,
    rgba(8,102,245,.08) 145deg,
    #0866f5 190deg,
    #56d0ed 219deg,
    #ae74e4 239deg,
    transparent 280deg,
    rgba(8,102,245,.15) 325deg,
    rgba(8,102,245,.25) 360deg);
  transform:rotate(0deg);
  transform-origin:center;
  animation:v7032-edge-orbit 18s linear infinite;
  animation-play-state:running;
  backface-visibility:hidden;
  will-change:transform;
}
/* Out-of-viewport cards pause only when observer has explicitly marked them. */
body.v703 .v703-glow.v7032-offscreen>.v703-ring::before{animation-play-state:paused}
body.v703 .v703-glow:is(:hover,:focus-within)>.v703-ring{opacity:1!important}
body.v703 .v703-glow:is(:hover,:focus-within){
  border-color:rgba(8,102,245,.4)!important;
  box-shadow:0 16px 48px rgba(8,33,86,.14)!important;
}
body.v703 .v703-glow:is(.editorial-card,.service-hub-card,.v703-app-card,.intent-grid>article,.guide-topic-grid>a,.wix-intent-grid>a):is(:hover,:focus-within){transform:translateY(-3px)!important}
body.v703 .v703-glow :is(.editorial-thumb img,.project-photo,.v703-app-media img){
  transition:transform .8s cubic-bezier(.2,.75,.25,1),filter .8s ease!important;
  filter:none!important;
}
body.v703 .v703-glow:is(:hover,:focus-within) :is(.editorial-thumb img,.project-photo,.v703-app-media img){transform:scale(1.035)!important}
body.v703 .v703-glow :is(.editorial-card-arrow,.project-story-arrow,.v703-app-link,.card-link svg){transition:transform .5s cubic-bezier(.2,.75,.25,1)!important}
body.v703 .v703-glow:is(:hover,:focus-within) :is(.editorial-card-arrow,.project-story-arrow,.v703-app-link,.card-link svg){transform:translate(3px,-3px)}
/* The images must never take on the previous pink/purple overlay. */
body.v703 .v703-glow img{filter:none!important}
@media(hover:none),(pointer:coarse){
  body.v703 .v703-glow>.v703-ring::before{animation-duration:30s}
  body.v703 .v703-glow:is(:hover,:focus-within){transform:none!important}
}
@media(prefers-reduced-motion:reduce){
  body.v703 .v703-glow>.v703-ring::before{animation:none!important;transform:rotate(30deg)!important;will-change:auto!important}
  body.v703 .v703-glow,body.v703 .v703-glow *{transition:none!important}
  body.v703 .v703-glow:is(:hover,:focus-within){transform:none!important}
}
