/* Keep the ticker visible in the initial desktop viewport. */
@media(min-width:1101px){
  .hero-v2-restored{min-height:0}
  .hero-v2-restored .hero-grid{min-height:calc(100svh - 196px)}
  .hero-v2-restored .hero-stage{
    height:min(700px,calc(100svh - 196px));
    min-height:520px;
  }
  .hero-v2-restored .hero-product-wrap[data-product="stradeiro"]{
    width:min(830px,108%);
    height:610px;
    margin-left:-3%;
  }
}
@media(min-width:1101px) and (max-height:720px){
  .hero-v2-restored .hero-stage{min-height:430px}
}

/* Two identical groups make the movement continuous, with no empty ending. */
.proof-v5{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  margin:0;
  color:#eafaff;
  background:linear-gradient(100deg,#03101a 0%,#082b3e 42%,#06415a 58%,#03101a 100%);
  border:0;
  border-top:1px solid rgba(98,222,255,.2);
  border-bottom:1px solid rgba(98,222,255,.18);
  box-shadow:inset 0 1px rgba(255,255,255,.025),inset 0 -12px 30px rgba(0,0,0,.12);
  transform:translateZ(0);
}
.proof-v5::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:
    linear-gradient(90deg,transparent 0%,rgba(89,221,255,.1) 48%,transparent 72%),
    repeating-linear-gradient(115deg,transparent 0 72px,rgba(255,255,255,.018) 72px 73px);
  pointer-events:none;
}
.proof-v5::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:2px;
  background:linear-gradient(90deg,transparent,#5de0ff 24%,#24bde9 70%,transparent);
  opacity:.75;
  pointer-events:none;
}
.proof-track-v5{
  display:flex;
  width:max-content;
  padding:0;
  animation:proofInfiniteLoop var(--proof-duration,26s) linear infinite;
  will-change:transform;
}
.proof-track-v5 .proof-set{
  display:flex;
  flex:none;
  align-items:center;
  padding:17px 0 16px;
}
.proof-track-v5 .proof-set span{
  margin-right:44px;
  gap:18px;
  color:#dff8ff;
  font-family:"Space Grotesk",sans-serif;
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.2em;
  text-shadow:0 0 18px rgba(96,222,255,.12);
}
.proof-track-v5 .proof-set span:nth-child(even){color:#72ddfa}
.proof-track-v5 .proof-set span::after{
  width:6px;
  height:6px;
  flex:0 0 auto;
  border-radius:1px;
  background:#42d5f7;
  opacity:.8;
  transform:rotate(45deg);
  box-shadow:0 0 14px rgba(66,213,247,.6);
}
@keyframes proofInfiniteLoop{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(var(--proof-shift,-50%),0,0)}
}
@media(max-width:620px){
  .proof-track-v5 .proof-set{padding:13px 0 12px}
  .proof-track-v5 .proof-set span{margin-right:30px;font-size:.64rem;letter-spacing:.16em}
}

/* Two-second cinematic brand introduction. */
body.brand-intro-active{overflow:hidden}
.brand-intro{
  position:fixed;
  z-index:10000;
  inset:0;
  display:grid;
  place-items:center;
  overflow:hidden;
  color:#fff;
  background:#07131f;
  opacity:1;
  transition:opacity .65s ease,visibility .65s ease;
}
.brand-intro::before{display:none}
.brand-intro::after{display:none}
.brand-intro-glow{display:none}
.brand-intro-content{
  position:relative;
  z-index:2;
  width:min(92vw,1040px);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  margin-top:-8vh;
}
.brand-intro-content img{
  display:block;
  width:clamp(540px,68vw,1040px);
  height:auto;
  max-height:74vh;
  aspect-ratio:1/1;
  object-fit:contain;
  opacity:0;
  transform:scale(.84);
}
.brand-intro.is-visible .brand-intro-content img{
  animation:brandIntroLogo .7s cubic-bezier(.16,.85,.2,1) forwards;
}
.brand-intro-kicker,
.brand-intro-content small{
  opacity:0;
  color:#9db0bd;
  font-size:.63rem;
  font-weight:900;
  letter-spacing:.32em;
}
.brand-intro-kicker{margin-bottom:22px}
.brand-intro-content small{margin-top:34px;color:#9db0bd;font-size:clamp(3.2rem,8.5vw,6.4rem);letter-spacing:.08em;text-transform:uppercase}
.brand-intro.is-visible .brand-intro-kicker{animation:brandIntroText .65s ease .2s forwards}
.brand-intro.is-visible .brand-intro-content small{animation:brandIntroText .5s ease .16s forwards}
.brand-intro-line{
  width:min(280px,48vw);
  height:2px;
  margin-top:22px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  opacity:0;
}
.brand-intro-line i{
  display:block;
  width:100%;
  height:100%;
  background:#fff;
  transform:translateX(-100%);
}
.brand-intro.is-visible .brand-intro-line{animation:brandIntroText .35s ease .58s forwards}
.brand-intro.is-visible .brand-intro-line i{animation:brandIntroLine 1.15s cubic-bezier(.2,.75,.22,1) .62s forwards}
.brand-intro.is-leaving{opacity:0;visibility:hidden}
.brand-intro.is-leaving .brand-intro-content{transform:scale(1.035);transition:transform .65s ease}
@keyframes brandIntroLogo{
  0%{opacity:0;transform:scale(.84)}
  62%{opacity:1;transform:scale(1.025)}
  100%{opacity:1;transform:scale(1)}
}
@keyframes brandIntroText{to{opacity:1;transform:none}}
@keyframes brandIntroLine{to{transform:translateX(100%)}}
@media(max-width:620px){
  .brand-intro-content{margin-top:-6vh}
  .brand-intro-content img{width:min(98vw,760px);max-height:76vh}
  .brand-intro-kicker{margin-bottom:18px;font-size:.52rem;letter-spacing:.25em}
  .brand-intro-content small{margin-top:20px;font-size:clamp(2rem,11vw,3.2rem);letter-spacing:.05em}
}
@media(prefers-reduced-motion:reduce){
  .brand-intro-content img,.brand-intro-kicker,.brand-intro-content small,.brand-intro-line,.brand-intro-line i{
    animation:none!important;
    transition:none!important;
    transform:none!important;
    filter:none!important;
    opacity:1!important;
  }
}
