/* SLV motion 2.0. Content is visible by default, including without JavaScript. */
#content.slv-motion { --slv-motion-ease: cubic-bezier(.2,.6,.22,1); }
#content.slv-motion .slv-motion-target { --slv-motion-x: 0px; --slv-motion-y: 24px; }
#content.slv-motion .slv-motion-left { --slv-motion-x: -42px; --slv-motion-y: 0px; }
#content.slv-motion .slv-motion-right { --slv-motion-x: 42px; --slv-motion-y: 0px; }
#content.slv-motion .slv-motion-fade { --slv-motion-x: 0px; --slv-motion-y: 0px; }
@media (prefers-reduced-motion: no-preference) {
  #content.slv-motion .slv-motion-enter { animation: slv-motion-reveal 1100ms var(--slv-motion-ease) backwards; }
  #content.slv-motion .slv-motion-initial { animation: slv-motion-initial 1050ms var(--slv-motion-ease) backwards; }
  #content.slv-motion .slv-motion-delay-1 { animation-delay: 140ms; }
  #content.slv-motion .slv-motion-delay-2 { animation-delay: 280ms; }
  #content.slv-motion .slv-motion-fade.slv-motion-enter { animation-duration: 1000ms; }
  #content.slv-motion .slv-motion-target:focus-within { animation: none; }
  #content.slv-motion .slv-home-service-img { transition: transform 650ms var(--slv-motion-ease); }
  #content.slv-motion .slv-home-service,
  #content.slv-motion .slv-home-service-link { transition: border-color 280ms ease, color 280ms ease; }
  #content.slv-motion .slv-home-button { transition: background-color 280ms ease, border-color 280ms ease, color 280ms ease; }
  #content.slv-motion .slv-home-button > .slv-home-arrow,
  #content.slv-motion .slv-home-service-link > span,
  #content.slv-motion .slv-home-text-link > span,
  #content.slv-motion .slv-home-inline-link > span { transition: transform 300ms var(--slv-motion-ease); }
  #content.slv-motion a:focus-visible > .slv-home-arrow,
  #content.slv-motion a.slv-home-service-link:focus-visible > span,
  #content.slv-motion a.slv-home-text-link:focus-visible > span,
  #content.slv-motion a.slv-home-inline-link:focus-visible > span { transform: translate(3px,-3px); }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  #content.slv-motion .slv-home-service:is(:hover,:focus-within) .slv-home-service-img { transform: scale(1.025); }
  #content.slv-motion .slv-home-secondary-grid .slv-home-service:is(:hover,:focus-within) .slv-home-service-img { transform: scale(1.02); }
  #content.slv-motion .slv-home-secondary-grid .slv-home-service:is(:hover,:focus-within),
  #content.slv-motion .slv-home-service:is(:hover,:focus-within) .slv-home-service-link { border-color: var(--slv-home-green); }
  #content.slv-motion a:hover > .slv-home-arrow,
  #content.slv-motion a.slv-home-service-link:hover > span,
  #content.slv-motion a.slv-home-text-link:hover > span,
  #content.slv-motion a.slv-home-inline-link:hover > span { transform: translate(3px,-3px); }
}
@keyframes slv-motion-reveal {
  from { opacity: 0; transform: translate3d(var(--slv-motion-x),var(--slv-motion-y),0); }
  to { opacity: 1; transform: none; }
}
/* Hero text stays readable throughout; hero photographs are never delayed. */
@keyframes slv-motion-initial {
  from { transform: translate3d(calc(var(--slv-motion-x) * .45),calc(var(--slv-motion-y) * .5),0); }
  to { transform: none; }
}
@media (max-width: 767px) {
  #content.slv-motion .slv-motion-target { --slv-motion-x: 0px; --slv-motion-y: 16px; }
  #content.slv-motion .slv-motion-fade { --slv-motion-y: 0px; }
  #content.slv-motion .slv-motion-enter { animation-duration: 950ms; animation-delay: 0ms; }
  #content.slv-motion .slv-motion-initial { animation-duration: 950ms; animation-delay: 0ms; }
}
@media (prefers-reduced-motion: reduce) {
  #content.slv-motion .slv-motion-target { animation: none !important; opacity: 1 !important; transform: none !important; }
  #content.slv-motion .slv-home-service-img,
  #content.slv-motion .slv-home-button,
  #content.slv-motion .slv-home-service,
  #content.slv-motion .slv-home-service-link,
  #content.slv-motion a > .slv-home-arrow,
  #content.slv-motion a.slv-home-service-link > span,
  #content.slv-motion a.slv-home-text-link > span,
  #content.slv-motion a.slv-home-inline-link > span { transform: none !important; transition: none !important; }
}
