/* PR-VIBECURB-06 · Etapa 13 — Documento 09, Despacho final. */

#contato .vb-dispatch__header > div,
#contato .vb-dispatch__statement > *,
#contato .vb-dispatch__signature > *,
#contato .vb-dispatch__stamp,
#contato .vb-dispatch__stamp > *,
#contato .vb-dispatch__routes > article,
#contato .vb-dispatch__routes > article > *,
#contato .vb-dispatch__footer > * {
  will-change: opacity, translate, scale;
}

#contato .vb-dispatch__header {
  position: relative;
}

#contato .vb-dispatch__header::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: var(--vb-teal);
  transform-origin: left center;
  scale: 0 1;
  transition: scale 720ms var(--vb-ease-out) 180ms;
}

html.vb-js.vb-motion-ready #contato.is-dispatch-motion-entered .vb-dispatch__header::after {
  scale: 1 1;
}

#contato .vb-dispatch__statement h2.vb-motion-item,
#contato .vb-dispatch__signature > span.vb-motion-item,
#contato .vb-dispatch__stamp strong.vb-motion-item,
#contato .vb-dispatch__routes h3.vb-motion-item {
  clip-path: none;
  overflow: visible;
}

#contato .vb-dispatch__signature {
  position: relative;
  border-top-color: transparent;
}

#contato .vb-dispatch__signature::before {
  content: "";
  position: absolute;
  top: -2px;
  right: 0;
  left: 0;
  height: 2px;
  background: var(--vb-teal);
  transform-origin: left center;
  scale: 0 1;
  transition: scale 700ms var(--vb-ease-out) 120ms;
}

html.vb-js.vb-motion-ready #contato.is-dispatch-statement-entered .vb-dispatch__signature::before {
  scale: 1 1;
}

#contato .vb-dispatch__stamp.vb-motion-item {
  clip-path: none;
  transform-origin: center;
  transition-property: opacity, translate, scale, rotate, box-shadow, border-color;
  transition-duration:
    var(--vb-motion-duration),
    var(--vb-motion-duration),
    var(--vb-motion-duration),
    var(--vb-motion-duration),
    var(--vb-motion-control),
    var(--vb-motion-control);
  transition-delay:
    var(--vb-motion-delay),
    var(--vb-motion-delay),
    var(--vb-motion-delay),
    var(--vb-motion-delay),
    0ms,
    0ms;
  transition-timing-function:
    var(--vb-motion-easing),
    var(--vb-motion-easing),
    var(--vb-motion-easing),
    var(--vb-spring-smooth),
    var(--vb-ease-snap),
    var(--vb-ease-snap);
}

html.vb-js.vb-motion-ready #contato .vb-dispatch__stamp.vb-motion-item {
  rotate: -5deg;
}

html.vb-js.vb-motion-ready #contato .vb-dispatch__stamp.vb-motion-item.is-motion-entered {
  rotate: -2deg;
}

html.vb-js.vb-motion-ready #contato.is-dispatch-stamp-entered .vb-dispatch__stamp {
  border-color: rgba(12, 23, 21, .86);
  box-shadow: 14px 16px 0 rgba(34, 183, 173, .36), 0 24px 62px rgba(12, 23, 21, .14);
}

#contato .vb-dispatch__routes {
  position: relative;
}

#contato .vb-dispatch__routes::before {
  content: "";
  position: absolute;
  inset: -1px;
  pointer-events: none;
  border: 1px solid var(--vb-teal);
  opacity: 0;
  transition: opacity var(--vb-motion-control) var(--vb-ease-snap);
}

html.vb-js.vb-motion-ready #contato.is-dispatch-routes-entered .vb-dispatch__routes::before {
  opacity: .7;
}

#contato .vb-dispatch__routes > article {
  position: relative;
  overflow: hidden;
  transform-origin: center top;
  transition-property: opacity, translate, scale, background-color;
  transition-duration:
    var(--vb-motion-duration),
    var(--vb-motion-duration),
    var(--vb-motion-duration),
    var(--vb-motion-control);
  transition-delay:
    var(--vb-motion-delay),
    var(--vb-motion-delay),
    var(--vb-motion-delay),
    0ms;
  transition-timing-function:
    var(--vb-motion-easing),
    var(--vb-motion-easing),
    var(--vb-motion-easing),
    var(--vb-ease-snap);
}

#contato .vb-dispatch__routes > article::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--vb-teal), rgba(34, 183, 173, .08));
  transform-origin: left center;
  scale: 0 1;
  transition: scale var(--vb-rhythm-line, 500ms) var(--vb-ease-out) var(--vb-dispatch-route-line-delay, 170ms);
}

html.vb-js.vb-motion-ready #contato .vb-dispatch__routes > article.is-dispatch-route-entered {
  background: rgba(255, 255, 255, .34);
}

html.vb-js.vb-motion-ready #contato .vb-dispatch__routes > article.is-dispatch-route-entered::after {
  scale: 1 1;
}

#contato .vb-dispatch__routes a.vb-motion-item {
  transition-property: color, background-color, border-color, background-size, opacity, translate, scale, box-shadow;
  transition-duration:
    var(--vb-motion-fast),
    var(--vb-motion-fast),
    var(--vb-motion-fast),
    var(--vb-motion-control),
    var(--vb-motion-duration),
    var(--vb-motion-duration),
    var(--vb-motion-instant),
    var(--vb-motion-control);
}

#contato .vb-dispatch__footer {
  position: relative;
  border-top-color: transparent;
}

#contato .vb-dispatch__footer::before {
  content: "";
  position: absolute;
  top: -2px;
  right: 0;
  left: 0;
  height: 2px;
  background: var(--vb-ink);
  transform-origin: left center;
  scale: 0 1;
  transition: scale 760ms var(--vb-ease-out) 120ms;
}

html.vb-js.vb-motion-ready #contato.is-dispatch-footer-entered .vb-dispatch__footer::before {
  scale: 1 1;
}

#contato .vb-dispatch__footer > a.vb-motion-item {
  transition-property: color, background-size, opacity, translate;
  transition-duration:
    var(--vb-motion-fast),
    var(--vb-motion-control),
    var(--vb-motion-duration),
    var(--vb-motion-duration);
}

@media (max-width: 900px) {
  #contato .vb-dispatch__stamp.vb-motion-item {
    transform-origin: left top;
  }
}

@media (prefers-reduced-motion: reduce) {
  #contato .vb-dispatch__header::after,
  #contato .vb-dispatch__signature::before,
  #contato .vb-dispatch__stamp,
  #contato .vb-dispatch__routes::before,
  #contato .vb-dispatch__routes > article,
  #contato .vb-dispatch__routes > article::after,
  #contato .vb-dispatch__routes a,
  #contato .vb-dispatch__footer::before,
  #contato .vb-dispatch__footer > a {
    transition: none;
  }

  html.vb-js.vb-motion-ready #contato .vb-dispatch__header::after,
  html.vb-js.vb-motion-ready #contato .vb-dispatch__signature::before,
  html.vb-js.vb-motion-ready #contato .vb-dispatch__routes > article::after,
  html.vb-js.vb-motion-ready #contato .vb-dispatch__footer::before {
    scale: 1 1;
  }

  html.vb-js.vb-motion-ready #contato .vb-dispatch__stamp.vb-motion-item,
  html.vb-js.vb-motion-ready #contato .vb-dispatch__stamp.vb-motion-item.is-motion-entered {
    rotate: -2deg;
  }
}
