:root {
  --tm-motion-distance: 28px;
  --tm-motion-duration: 820ms;
  --tm-motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

html {
  scroll-behavior: smooth;
}

body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

[id] {
  scroll-margin-top: 118px;
}

.tm-motion-ready .tm-reveal {
  opacity: 0;
  transform: translate3d(0, var(--tm-motion-distance), 0);
  transition:
    opacity var(--tm-motion-duration) var(--tm-motion-ease),
    transform var(--tm-motion-duration) var(--tm-motion-ease);
  will-change: opacity, transform;
}

.tm-motion-ready .tm-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.tm-motion-ready .tm-reveal[data-tm-motion="fade"] {
  transform: none;
}

.tm-motion-ready .tm-reveal[data-tm-motion="left"] {
  transform: translate3d(-24px, 0, 0);
}

.tm-motion-ready .tm-reveal[data-tm-motion="right"] {
  transform: translate3d(24px, 0, 0);
}

.tm-motion-ready .tm-reveal[data-tm-motion="scale"] {
  transform: scale(0.985);
}

.tm-motion-ready .tm-reveal.is-visible[data-tm-motion="left"],
.tm-motion-ready .tm-reveal.is-visible[data-tm-motion="right"],
.tm-motion-ready .tm-reveal.is-visible[data-tm-motion="scale"] {
  transform: translate3d(0, 0, 0) scale(1);
}

.tm-motion-ready .tm-reveal[data-tm-delay="1"] {
  transition-delay: 80ms;
}

.tm-motion-ready .tm-reveal[data-tm-delay="2"] {
  transition-delay: 160ms;
}

.tm-motion-ready .tm-reveal[data-tm-delay="3"] {
  transition-delay: 240ms;
}

.tm-motion-ready .tm-reveal[data-tm-delay="4"] {
  transition-delay: 320ms;
}

.tm-motion-ready .tm-hover-lift {
  transition:
    transform 0.28s var(--tm-motion-ease),
    box-shadow 0.28s ease,
    border-color 0.28s ease,
    filter 0.28s ease;
}

.tm-motion-ready .tm-hover-lift:hover,
.tm-motion-ready .tm-hover-lift:focus-within {
  transform: translate3d(0, -3px, 0);
}

.tm-motion-ready .tm-image-depth img,
.tm-motion-ready .tm-image-depth .tm-image-target {
  transition:
    transform 0.55s var(--tm-motion-ease),
    filter 0.38s ease,
    opacity 0.38s ease;
  will-change: transform;
}

.tm-motion-ready .tm-image-depth:hover img,
.tm-motion-ready .tm-image-depth:focus-within img,
.tm-motion-ready .tm-image-depth:hover .tm-image-target,
.tm-motion-ready .tm-image-depth:focus-within .tm-image-target {
  transform: scale(1.024);
  filter: saturate(1.035) contrast(1.02);
}

.tm-motion-ready .tm-link-inline,
.tm-motion-ready .tm-footer__link,
.tm-motion-ready .tm-header__nav a,
.tm-motion-ready .tm-mobile-menu__nav a {
  transition:
    color 0.25s ease,
    transform 0.25s ease,
    opacity 0.25s ease,
    border-color 0.25s ease,
    background-color 0.25s ease;
}

.tm-motion-ready .tm-link-inline:hover,
.tm-motion-ready .tm-footer__link:hover {
  transform: translateX(2px);
}

.tm-motion-ready .tm-magnetic {
  transform: translate3d(0, 0, 0);
  transition: transform 0.24s var(--tm-motion-ease);
  will-change: transform;
}

.tm-focus-ring :focus-visible {
  outline: 2px solid rgba(79, 115, 145, 0.32);
  outline-offset: 5px;
}

@media (hover: none) {
  .tm-motion-ready .tm-hover-lift:hover,
  .tm-motion-ready .tm-image-depth:hover img,
  .tm-motion-ready .tm-link-inline:hover,
  .tm-motion-ready .tm-footer__link:hover,
  .tm-motion-ready .tm-magnetic {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .tm-motion-ready .tm-reveal,
  .tm-motion-ready .tm-hover-lift,
  .tm-motion-ready .tm-image-depth img,
  .tm-motion-ready .tm-image-depth .tm-image-target,
  .tm-motion-ready .tm-link-inline,
  .tm-motion-ready .tm-footer__link,
  .tm-motion-ready .tm-header__nav a,
  .tm-motion-ready .tm-mobile-menu__nav a,
  .tm-motion-ready .tm-magnetic {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
    will-change: auto !important;
  }
}