﻿@keyframes btnShimmer {
  0% { transform: translateX(-140%) skewX(-18deg); }
  100% { transform: translateX(360%) skewX(-18deg); }
}

#qsRoot {
  --al-btn-shimmer-duration: 1.35s;
  --mg-btn-swap-duration: 0.7s;
}

/* Evita "flash" inicial no Chrome antes do JS aplicar al-reveal */
.qs-anim--final.qs-preload .hero-quem-somos__title,
.qs-anim--final.qs-preload .hero-quem-somos__text,
.qs-anim--final.qs-preload .hero-quem-somos__actions,
.qs-anim--final.qs-preload .hero-quem-somos__video,
.qs-anim--final.qs-preload .hub-quem-somos__title,
.qs-anim--final.qs-preload .hub-quem-somos__text,
.qs-anim--final.qs-preload .historia-lean__heading,
.qs-anim--final.qs-preload .historia-lean__text,
.qs-anim--final.qs-preload .historia-lean__actions,
.qs-anim--final.qs-preload .historia-lean-card,
.qs-anim--final.qs-preload .qs-principios__header,
.qs-anim--final.qs-preload .qs-principios__card,
.qs-anim--final.qs-preload .qs-principios__image-wrap,
.qs-anim--final.qs-preload .nossos-servicos__header,
.qs-anim--final.qs-preload .nossos-servicos__card,
.qs-anim--final.qs-preload .transformacao-lean__content,
.qs-anim--final.qs-preload .transformacao-lean__diagram,
.qs-anim--final.qs-preload .journey-cta__btn {
  opacity: 0 !important;
  visibility: hidden;
}

.qs-anim--final .mg-btn { position: relative; }
.qs-anim--final .mg-btn__inner { display: inline-flex; align-items: center; gap: 10px; }
.qs-anim--final .mg-btn__swap { position: relative; display: inline-grid; overflow: hidden; }
.qs-anim--final .mg-btn__swap-text {
  grid-area: 1 / 1;
  transition: transform var(--mg-btn-swap-duration,.42s) cubic-bezier(.2,.7,.2,1);
}
.qs-anim--final .mg-btn__swap-text.is-absolute {
  position: absolute;
  inset: 0;
  transform: translate3d(0,130%,0);
}
.qs-anim--final .mg-btn:hover .mg-btn__swap-text.is-absolute,
.qs-anim--final .mg-btn:focus-visible .mg-btn__swap-text.is-absolute { transform: translate3d(0,0,0); }
.qs-anim--final .mg-btn:hover .mg-btn__swap-text.is-relative,
.qs-anim--final .mg-btn:focus-visible .mg-btn__swap-text.is-relative { transform: translate3d(0,-130%,0); }
.qs-anim--final .mg-btn__icon {
  grid-area: 1 / 1;
  display: grid;
  place-items: center;
  transition: transform var(--mg-btn-swap-duration,.42s) cubic-bezier(.2,.7,.2,1);
}
.qs-anim--final .mg-btn__icon.is-absolute {
  position: absolute;
  inset: 0;
  transform: translate3d(0,130%,0);
}
.qs-anim--final .mg-btn:hover .mg-btn__icon.is-absolute,
.qs-anim--final .mg-btn:focus-visible .mg-btn__icon.is-absolute { transform: translate3d(0,0,0); }
.qs-anim--final .mg-btn:hover .mg-btn__icon.is-relative,
.qs-anim--final .mg-btn:focus-visible .mg-btn__icon.is-relative { transform: translate3d(0,-130%,0); }
.qs-anim--final .mg-btn__icon-wrap { width: var(--mg-icon-size,16px); height: var(--mg-icon-size,16px); }
.qs-anim--final .mg-btn__icon svg { width: 100%; height: 100%; display: block; }

.qs-anim--final .al-btn-shimmer { position: relative; overflow: hidden; }
.qs-anim--final .al-btn-shimmer::after {
  content: "";
  position: absolute;
  top: -60%;
  left: -60%;
  width: 45%;
  height: 220%;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,.35), transparent);
  transform: translateX(-140%) skewX(-18deg);
  pointer-events: none;
}
.qs-anim--final.is-loaded .al-btn-shimmer::after { animation: btnShimmer var(--al-btn-shimmer-duration,1.05s) ease .25s 1; }
.qs-anim--final .al-btn-shimmer:hover::after,
.qs-anim--final .al-btn-shimmer:focus-visible::after { animation: btnShimmer var(--al-btn-shimmer-duration,1.05s) ease 0s 1; }

@keyframes btnPulseGlow {
  0% { box-shadow: 0 10px 15px -3px rgba(0,0,0,.15); }
  50% { box-shadow: 0 18px 30px -6px rgba(255,128,0,.45); }
  100% { box-shadow: 0 10px 15px -3px rgba(0,0,0,.15); }
}

.qs-anim--final .al-pulse-on-load { animation: btnPulseGlow 1.6s ease-in-out 2; }

.qs-anim--final .hero-quem-somos__btn:not(.mg-btn) svg,
.qs-anim--final .historia-lean__btn:not(.mg-btn) svg,
.qs-anim--final .historia-lean-card__link svg,
.qs-anim--final .nossos-servicos__card-link svg,
.qs-anim--final .transformacao-lean__link svg { transition: transform .2s ease; }
.qs-anim--final .hero-quem-somos__btn:not(.mg-btn):hover svg,
.qs-anim--final .hero-quem-somos__btn:not(.mg-btn):focus-visible svg,
.qs-anim--final .historia-lean__btn:not(.mg-btn):hover svg,
.qs-anim--final .historia-lean__btn:not(.mg-btn):focus-visible svg,
.qs-anim--final .historia-lean-card__link:hover svg,
.qs-anim--final .historia-lean-card__link:focus-visible svg,
.qs-anim--final .nossos-servicos__card-link:hover svg,
.qs-anim--final .nossos-servicos__card-link:focus-visible svg,
.qs-anim--final .transformacao-lean__link:hover svg,
.qs-anim--final .transformacao-lean__link:focus-visible svg { transform: translateX(3px); }

.qs-anim--final .al-reveal {
  opacity: 0;
  filter: blur(var(--reveal-blur, 0px));
  transform: translate3d(var(--reveal-x, 0px), var(--reveal-y, 18px), 0) scale(var(--reveal-scale, 1));
  transition: opacity .5s ease, transform .5s cubic-bezier(.2,.7,.2,1), filter .5s ease;
  transition-delay: var(--reveal-delay, 0ms);
  will-change: transform, opacity, filter;
}
.qs-anim--final .al-reveal.is-visible { opacity: 1; transform: none; filter: blur(0); }
.qs-anim--final .al-reveal--up { --reveal-y: 18px; }
.qs-anim--final .al-reveal--left { --reveal-x: -14px; --reveal-y: 0px; }
.qs-anim--final .al-reveal--right { --reveal-x: 14px; --reveal-y: 0px; }
@media (max-width: 767.98px) {
  /* Celular: sem deslocamento lateral antes de aparecer (evita rolagem horizontal). */
  .qs-anim--final .al-reveal--left,
  .qs-anim--final .al-reveal--right { --reveal-x: 0px; --reveal-y: 18px; }
}
.qs-anim--final .al-reveal--scale { --reveal-scale: .96; --reveal-y: 10px; }
.qs-anim--final .al-reveal--blur { --reveal-blur: 10px; --reveal-y: 10px; }

@media (prefers-reduced-motion: reduce) {
  .qs-anim--final .al-btn-shimmer::after { display: none; }
  .qs-anim--final .mg-btn__swap-text,
  .qs-anim--final .mg-btn__icon,
  .qs-anim--final .hero-quem-somos__btn svg,
  .qs-anim--final .historia-lean__btn svg,
  .qs-anim--final .historia-lean-card__link svg,
  .qs-anim--final .nossos-servicos__card-link svg,
  .qs-anim--final .transformacao-lean__link svg,
  .qs-anim--final .al-reveal {
    transition: none;
    animation: none;
    transform: none;
    opacity: 1;
    filter: none;
  }
}
