/* VYVE shared motion and polish layer. Loaded by every public page. */

/* Header refines once the visitor scrolls */
#navbar{transition:box-shadow .35s ease,background-color .35s ease}
html.vm-scrolled #navbar{background:rgba(13,43,43,.92);-webkit-backdrop-filter:saturate(140%) blur(12px);backdrop-filter:saturate(140%) blur(12px);box-shadow:0 10px 30px rgba(5,20,20,.28)}
@media (min-width:900px){
  #navbar .nav-inner{transition:height .35s ease}
  html.vm-scrolled #navbar .nav-inner{height:68px}
}

/* Gentle lift on cards (classes added by vyve-motion.js) */
.vm-lift-t{transition:translate .3s ease,box-shadow .3s ease}
@media (hover:hover){
  .vm-lift:hover{translate:0 -4px}
  .vm-lift.vm-shadow:hover{box-shadow:0 18px 40px rgba(13,43,43,.12)}
}

/* Buttons respond to a press */
.btn:active,.btn-primary:active,a[class*="btn"]:active,button[type="submit"]:active{scale:.98}

/* Images with reserved space keep their proportions */
:where(img[data-vm-dims]){height:auto}

/* Count-up numbers stay steady while they change */
.vm-count{font-variant-numeric:tabular-nums}

/* Keyboard focus that matches the brand */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #4DAAAA;outline-offset:3px}

/* Respect people who ask their device for less motion */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
  .fade-in,.fade-in.animated{opacity:1!important;transform:none!important}
}
