/* Via Traço · abertura de rebranding global · v36 */
html.vt-rebrand-locked,
html.vt-rebrand-locked body {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

.vt-rebrand-intro {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  padding: clamp(24px, 5vw, 72px);
  box-sizing: border-box;
  background: #fff;
  color: #1c1b18;
  cursor: pointer;
  isolation: isolate;
  transform: translate3d(0,0,0);
}

.vt-rebrand-intro__stage {
  width: min(1040px, 92vw);
  display: grid;
  grid-template-rows: auto auto auto;
  justify-items: center;
  align-content: center;
  gap: clamp(24px, 4.2vh, 48px);
}

.vt-rebrand-intro__frame {
  overflow: hidden;
  display: grid;
  place-items: center;
  width: 100%;
}

.vt-rebrand-intro__logo {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  opacity: 0;
  transform: translate3d(0,28px,0) scale(.985);
  animation: vtRebrandReveal .95s cubic-bezier(.22,.8,.25,1) forwards;
}

.vt-rebrand-intro__logo--old {
  width: min(430px, 54vw);
  animation-delay: .2s;
}

.vt-rebrand-intro__transition {
  width: min(680px, 78vw);
  display: grid;
  grid-template-columns: minmax(32px,1fr) auto minmax(32px,1fr);
  align-items: center;
  gap: clamp(16px, 2vw, 28px);
  opacity: 0;
  transform: translateY(12px);
  animation: vtRebrandRevealText .75s ease forwards 1.1s;
}

.vt-rebrand-intro__rule {
  height: 1px;
  background: rgba(28,27,24,.22);
  transform: scaleX(0);
  animation: vtRebrandRule .8s ease forwards 1.45s;
}
.vt-rebrand-intro__rule:first-child { transform-origin: right; }
.vt-rebrand-intro__rule:last-child { transform-origin: left; }

.vt-rebrand-intro__word {
  font-family: "Noto Sans", Arial, sans-serif;
  font-size: clamp(24px, 2.6vw, 40px);
  font-weight: 200;
  line-height: 1;
  letter-spacing: -.025em;
  white-space: nowrap;
}

.vt-rebrand-intro__logo--new {
  width: min(620px, 74vw);
  animation-delay: 1.9s;
}

.vt-rebrand-intro::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #fff;
  z-index: -1;
}

.vt-rebrand-intro.is-leaving {
  pointer-events: none;
  animation: vtRebrandCurtain .9s cubic-bezier(.72,0,.2,1) forwards;
}

@keyframes vtRebrandReveal {
  to { opacity: 1; transform: translate3d(0,0,0) scale(1); }
}
@keyframes vtRebrandRevealText {
  to { opacity: 1; transform: translateY(0); }
}
@keyframes vtRebrandRule {
  to { transform: scaleX(1); }
}
@keyframes vtRebrandCurtain {
  0% { transform: translate3d(0,0,0); }
  100% { transform: translate3d(0,-102%,0); }
}

@media (max-width: 600px) {
  .vt-rebrand-intro { padding: 24px 18px; }
  .vt-rebrand-intro__stage { width: 100%; gap: clamp(22px, 4vh, 38px); }
  .vt-rebrand-intro__logo--old { width: min(290px, 67vw); }
  .vt-rebrand-intro__logo--new { width: min(390px, 88vw); }
  .vt-rebrand-intro__transition { width: min(340px, 82vw); }
  .vt-rebrand-intro__word { font-size: clamp(22px, 7vw, 31px); }
}

@media (orientation: landscape) and (max-height: 600px) {
  .vt-rebrand-intro__stage {
    grid-template-columns: minmax(0,.8fr) auto minmax(0,1.25fr);
    grid-template-rows: auto;
    gap: clamp(18px, 3vw, 38px);
    width: min(1200px, 94vw);
  }
  .vt-rebrand-intro__transition {
    width: auto;
    grid-template-columns: 1px auto 1px;
    gap: 14px;
  }
  .vt-rebrand-intro__rule { width: 1px; height: 52px; transform: scaleY(0); }
  .vt-rebrand-intro__rule:first-child,
  .vt-rebrand-intro__rule:last-child { transform-origin: center; }
  .vt-rebrand-intro__logo--old { width: min(310px, 30vw); }
  .vt-rebrand-intro__logo--new { width: min(470px, 43vw); }
  @keyframes vtRebrandRule { to { transform: scaleY(1); } }
}

@media (prefers-reduced-motion: reduce) {
  .vt-rebrand-intro__logo,
  .vt-rebrand-intro__transition,
  .vt-rebrand-intro__rule {
    animation-duration: .01ms !important;
    animation-delay: 0ms !important;
  }
  .vt-rebrand-intro.is-leaving { animation-duration: .12s !important; }
}
