/* ADA Micro Interaction Layer
   Influenced by Interface Craft, Motion Primitives, Motion.dev and Devouring Details.
   Original ADA implementation; lightweight, dependency-free and reduced-motion aware.
*/
:root{
  --ada-motion-ease:cubic-bezier(.22,1,.36,1);
  --ada-motion-spring:cubic-bezier(.2,.8,.2,1);
}
@view-transition{navigation:auto}

.ada-scroll-progress{
  position:fixed;z-index:9999;left:0;top:0;width:100%;height:2px;
  transform:scaleX(0);transform-origin:left center;
  background:currentColor;color:var(--ada,#0b67d1);
  pointer-events:none;will-change:transform
}

.ada-smart-link{position:relative}
.ada-smart-link:after{
  content:"";position:absolute;left:0;right:100%;bottom:-.2em;height:1px;
  background:currentColor;opacity:.45;
  transition:right .32s var(--ada-motion-ease)
}
.ada-smart-link:hover:after,.ada-smart-link:focus-visible:after{right:0}

.ada-magnetic{
  transition:translate .24s var(--ada-motion-spring),scale .18s ease,box-shadow .25s ease;
  will-change:translate
}
.ada-magnetic:active{scale:.985}

.ada-interactive-card{position:relative;isolation:isolate}
.ada-pointer-glow{
  position:absolute;z-index:4;inset:0;border-radius:inherit;pointer-events:none;
  opacity:0;
  background:radial-gradient(260px circle at var(--ada-x,50%) var(--ada-y,50%),rgba(255,255,255,.16),transparent 46%);
  transition:opacity .28s ease
}
.ada-interactive-card:hover>.ada-pointer-glow{opacity:1}
.ada-interactive-card img{
  transition:transform .8s var(--ada-motion-ease),filter .5s ease;
  will-change:transform
}
.ada-interactive-card:hover img{transform:scale(1.018)}

html.ada-motion-ready .ada-stagger-item{
  opacity:0;transform:translateY(16px) scale(.994);
  transition:
    opacity .62s var(--ada-motion-ease) var(--ada-delay,0ms),
    transform .62s var(--ada-motion-ease) var(--ada-delay,0ms)
}
html.ada-motion-ready .ada-stagger-item.ada-in{opacity:1;transform:none}

.ada-lift{
  transition:transform .28s var(--ada-motion-ease),box-shadow .28s ease,border-color .28s ease
}
.ada-lift:hover{transform:translateY(-3px)}

.ada-arrow{
  transition:transform .28s var(--ada-motion-ease);
  transform-origin:center
}
a:hover .ada-arrow,button:hover .ada-arrow{transform:translate(2px,-1px)}

.ada-image-reveal{overflow:hidden}
html.ada-motion-ready .ada-image-reveal img{
  opacity:.001;transform:scale(1.035);
  transition:opacity .8s var(--ada-motion-ease),transform 1s var(--ada-motion-ease)
}
html.ada-motion-ready .ada-image-reveal.ada-in img{opacity:1;transform:scale(1)}

.ada-focus-ring:focus-visible{
  outline:3px solid color-mix(in srgb,var(--ada,#0b67d1) 28%,transparent);
  outline-offset:4px
}

@media(prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
  .ada-scroll-progress{display:none}
  .ada-magnetic,.ada-smart-link:after,.ada-lift,.ada-arrow,
  .ada-interactive-card img,.ada-stagger-item,.ada-image-reveal img{
    transition-duration:.001ms!important;animation-duration:.001ms!important
  }
  html.ada-motion-ready .ada-stagger-item,
  html.ada-motion-ready .ada-image-reveal img{opacity:1;transform:none}
}