/* Osmo Button 040  */

:root {
  --button-040-color: #131313;
  --button-040-color-background: var(--_primitives---colors--white);
  --button-040-color-arrow: #efeeec;
  --button-040-color-arrow-background: var(--color-scheme-1--pomegranate);
  --button-040-color-focus: #fff;
  --button-040-height: 2.5em;
  --button-040-padding-x: 1.5em;
  --button-040-border-radius: var(--_ui-styles---radius--small);
  --button-040-border-radius2: var(--_ui-styles---radius--large);
  --button-040-gap: .05em;
  --button-040-focus-inset: -0.125em;
  --button-040-ease-hover: cubic-bezier(0.625, 0.05, 0, 1);
  --button-040-ease-focus: cubic-bezier(0.32, 0.72, 0, 1);
}

[data-wf--button-040--variant="dark"]{
  --button-040-color: var(--_primitives---colors--white);
  --button-040-color-background: var(--_primitives---colors--neutral-darkest);
  --button-040-color-arrow: #efeeec;
  --button-040-color-arrow-background: #bb2202;
  --button-040-color-focus: #fff;

}

.button-040:active {
  scale: 0.975;


}

.button-040 {
  --button-040-translate-x: calc((var(--button-040-height) + var(--button-040-gap, 0em)) * -1);
  -webkit-tap-highlight-color: transparent;
}

.button-040:is(:focus-visible)::after {
  box-shadow: 0 0 0 0.125em var(--button-040-color-focus);
}

.button-040::after {
  content: '';
  display: block;
  position: absolute;
  inset: var(--button-040-focus-inset);
  border-radius: var(--button-040-border-radius);
  transition: box-shadow 0.3s var(--button-040-ease-focus);
  pointer-events: none;
  z-index: 1;
}

.button-040__text-wrap {
  translate: var(--button-040-translate-x) 0 0;
  transition: translate 0.6s var(--button-040-ease-hover);
}

.button-040__icon-wrap {
  will-change: transform;
  transform-origin: left center;
  scale: 0;
  transition: scale 0.6s var(--button-040-ease-hover);
}

.button-040__icon-wrap.is--duplicate {
  transform-origin: right center;
  scale: 1;
}

.button-040__icon {
  transition: rotate 0.6s var(--button-040-ease-hover);
  rotate: 45deg;
}

.button-040__icon-wrap.is--duplicate .button-040__icon {
  rotate: 0deg;
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .button-040:is(:hover, :focus-visible) .button-040__text-wrap,
  [data-hover]:is(:hover, :focus-visible) .button-040 .button-040__text-wrap {
    translate: 0 0 0;
    transition: translate 0.735s 0.05s var(--button-040-ease-hover);
  }

  .button-040:is(:hover, :focus-visible) .button-040__icon-wrap,
  [data-hover]:is(:hover, :focus-visible) .button-040 .button-040__icon-wrap {
    scale: 1;
    transition: scale 0.735s 0.05s var(--button-040-ease-hover);
  }

  .button-040:is(:hover, :focus-visible) .button-040__icon-wrap.is--duplicate,
  [data-hover]:is(:hover, :focus-visible) .button-040 .button-040__icon-wrap.is--duplicate {
    scale: 0;
    transition: scale 0.735s 0.05s var(--button-040-ease-hover);
  }

  .button-040:is(:hover, :focus-visible) .button-040__icon-wrap.is--duplicate .button-040__icon,
  [data-hover]:is(:hover, :focus-visible) .button-040 .button-040__icon-wrap.is--duplicate .button-040__icon {
    rotate: 45deg;
  }

  .button-040:is(:hover, :focus-visible) .button-040__icon,
  [data-hover]:is(:hover, :focus-visible) .button-040 .button-040__icon {
    rotate: 0deg;
    transition: rotate 0.735s 0.05s var(--button-040-ease-hover);
  }
}

/* Line Reveal Testimonials */

.text-line-mask{
  padding-bottom: 0.2em;
  margin-bottom: -0.2em;
}