:root {
  --rd-motion-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --rd-motion-ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
}

html.rd-motion-ready {
  scroll-behavior: smooth;
}

.rd-motion-section,
.rd-motion-hero-item,
.rd-motion-item {
  opacity: 0;
  transform: translate3d(0, 0.75rem, 0);
  will-change: opacity, transform;
}

.rd-motion-section {
  transition:
    opacity 520ms var(--rd-motion-ease-out) var(--rd-motion-delay, 0ms),
    transform 520ms var(--rd-motion-ease-out) var(--rd-motion-delay, 0ms);
}

.rd-motion-hero-item {
  transform: translate3d(0, 0.5rem, 0);
  transition:
    opacity 440ms var(--rd-motion-ease-out) var(--rd-motion-delay, 0ms),
    transform 440ms var(--rd-motion-ease-out) var(--rd-motion-delay, 0ms);
}

.rd-motion-item {
  transform: translate3d(0, 0.5rem, 0);
  transition:
    opacity 420ms var(--rd-motion-ease-out) var(--rd-motion-delay, 0ms),
    transform 420ms var(--rd-motion-ease-out) var(--rd-motion-delay, 0ms),
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.rd-motion-section.is-visible,
.rd-motion-hero-item.is-visible,
.rd-motion-item.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: auto;
}

:is(
  .elementor-button,
  button,
  input[type="button"],
  input[type="submit"],
  .button,
  .wp-element-button,
  .rd-case-more a
):not(:disabled) {
  transition:
    transform 140ms var(--rd-motion-ease-out),
    background-color 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    box-shadow 180ms ease;
}

:is(
  .elementor-button,
  button,
  input[type="button"],
  input[type="submit"],
  .button,
  .wp-element-button,
  .rd-case-more a
):not(:disabled):active {
  transform: scale(0.98);
}

:is(a, button, input, select, textarea, summary):focus-visible {
  outline: 0.125rem solid var(--e-global-color-accent, #f37020);
  outline-offset: 0.1875rem;
}

.elementor-button .elementor-button-icon,
.rd-motion-card img {
  transition: transform 220ms var(--rd-motion-ease-out);
}

@media (hover: hover) and (pointer: fine) {
  .rd-motion-card:hover {
    transform: translate3d(0, -0.25rem, 0);
    box-shadow: 0 0.875rem 2rem rgb(80 54 37 / 0.1);
  }

  .rd-motion-card:hover img {
    transform: scale(1.025);
  }

  .elementor-button:hover .elementor-button-icon {
    transform: translate3d(0.1875rem, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  html.rd-motion-ready {
    scroll-behavior: auto;
  }

  .rd-motion-section,
  .rd-motion-hero-item,
  .rd-motion-item,
  .rd-motion-section.is-visible,
  .rd-motion-hero-item.is-visible,
  .rd-motion-item.is-visible {
    opacity: 1;
    transform: none;
    transition: opacity 160ms ease;
  }

  :is(
    .elementor-button,
    button,
    input[type="button"],
    input[type="submit"],
    .button,
    .wp-element-button,
    .rd-case-more a
  ):not(:disabled):active,
  .rd-motion-card:hover,
  .rd-motion-card:hover img,
  .elementor-button:hover .elementor-button-icon {
    transform: none;
  }
}
