:root {
  --finops-motion-fast: 360ms;
  --finops-motion-normal: 1050ms;
  --finops-motion-slow: 1250ms;
  --finops-motion-distance: 24px;
  --finops-ease: cubic-bezier(.22, 1, .36, 1);
  --finops-card-lift: -5px;
  --finops-card-shadow: 0 18px 46px rgba(18, 44, 66, .09);
}

/* Fail-safe: content is visible until JS explicitly enables motion. */
.finops-motion-ready .finops-reveal,
.finops-motion-ready .finops-reveal-left,
.finops-motion-ready .finops-reveal-right {
  opacity: 0;
  will-change: opacity, transform;
  transition:
    opacity var(--finops-motion-normal) var(--finops-ease),
    transform var(--finops-motion-normal) var(--finops-ease);
}

.finops-motion-ready .finops-reveal {
  transform: translate3d(0, var(--finops-motion-distance), 0);
}

.finops-motion-ready .finops-reveal-left {
  transform: translate3d(calc(var(--finops-motion-distance) * -1), 0, 0);
}

.finops-motion-ready .finops-reveal-right {
  transform: translate3d(var(--finops-motion-distance), 0, 0);
}

.finops-motion-ready .finops-reveal.is-visible,
.finops-motion-ready .finops-reveal-left.is-visible,
.finops-motion-ready .finops-reveal-right.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.finops-delay-1 { transition-delay: 150ms !important; }
.finops-delay-2 { transition-delay: 300ms !important; }
.finops-delay-3 { transition-delay: 450ms !important; }
.finops-delay-4 { transition-delay: 600ms !important; }
.finops-delay-5 { transition-delay: 750ms !important; }

/* Stagger groups: JS assigns --finops-stagger-delay to direct child cards. */
.finops-motion-ready .finops-stagger > .finops-reveal {
  transition-delay: var(--finops-stagger-delay, 0ms) !important;
}

/* Cards: restrained lift, border emphasis, no layout shift. */
.finops-card {
  transition:
    transform var(--finops-motion-fast) var(--finops-ease),
    box-shadow var(--finops-motion-fast) var(--finops-ease),
    border-color var(--finops-motion-fast) ease;
}

@media (hover: hover) and (pointer: fine) {
  .finops-card:hover {
    transform: translate3d(0, var(--finops-card-lift), 0);
    box-shadow: var(--finops-card-shadow);
    border-color: rgba(23, 78, 209, .28) !important;
  }

  .fa a.fa-link span[aria-hidden="true"] {
    display: inline-block;
    transition: transform var(--finops-motion-fast) var(--finops-ease);
  }

  .fa a.fa-link:hover span[aria-hidden="true"] {
    transform: translate3d(3px, -3px, 0);
  }

  .finops-button .elementor-button {
    transition:
      transform var(--finops-motion-fast) var(--finops-ease),
      box-shadow var(--finops-motion-fast) var(--finops-ease),
      background-color var(--finops-motion-fast) ease;
  }

  .finops-button .elementor-button:hover {
    transform: translate3d(0, -2px, 0);
    box-shadow: 0 10px 26px rgba(23, 78, 209, .18);
  }
}

/* The decision map receives one subtle entrance emphasis, not a looping animation. */
.finops-map-motion .fa-map {
  transition:
    box-shadow var(--finops-motion-normal) var(--finops-ease),
    border-color var(--finops-motion-normal) ease;
}

.finops-map-motion.is-visible .fa-map {
  box-shadow: 0 18px 54px rgba(18, 44, 66, .08);
  border-color: #bfd0dc;
}

/* CTA: preserve the site's restrained visual language. */
.finops-cta-section {
  position: relative;
  overflow: clip;
}

/* Accessibility and performance. */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
  }

  .finops-motion-ready .finops-reveal,
  .finops-motion-ready .finops-reveal-left,
  .finops-motion-ready .finops-reveal-right,
  .finops-card,
  .finops-button .elementor-button,
  .fa a.fa-link span[aria-hidden="true"] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
}

@media (max-width: 767px) {
  :root {
    --finops-motion-distance: 14px;
    --finops-motion-normal: 520ms;
  }

  .finops-card:hover {
    transform: none;
    box-shadow: none;
  }
}



/*Formulario****/
   .finops-contact-form .ff-el-form-control {
    border: 1px solid #D5E0E7;
    border-radius: 6px;
    font-family: Inter, sans-serif;
}

.finops-contact-form label {
    font-family: Inter, sans-serif;
    color: #122C42;
}

.finops-contact-form .ff-btn-submit {
    background: #174ED1;
    color: #fff;
    border-radius: 4px;
}