/* Hero word entrance and scroll-controlled Impact artwork. */
body.revolt-curated #inicio .hero-left h1>span,
body.revolt-curated #inicio.hero.is-home-dimensions-ready .hero-left h1>span{
  opacity:1!important;
  transform:none!important;
  animation:none!important;
  will-change:auto!important;
}

/* The editorial block no longer fades in before the word animation starts.
   Its existing scroll exit still belongs to .is-home-dimensions-ready. */
body.revolt-curated #inicio.hero .hero-left{
  opacity:1!important;
  transform:none!important;
  transition:none!important;
}
body.revolt-curated #inicio.hero.is-home-dimensions-ready .hero-left{
  opacity:calc(1 - var(--home-hero-exit,0))!important;
  transform:translate3d(0,var(--home-hero-exit-up,0),0)!important;
}
body.revolt-curated #inicio .hero-left h1 .hero-dimensions-word{
  position:relative!important;
  isolation:isolate!important;
  background:none!important;
  -webkit-background-clip:border-box!important;
  background-clip:border-box!important;
  -webkit-text-fill-color:#fff!important;
  color:#fff!important;
  animation:none!important;
  will-change:auto!important;
}
.hero-dimensions-word.has-shutter-letters .hero-shutter-source{
  display:inline-block;
  background:none;
  -webkit-text-fill-color:#fff;
  color:#fff;
  white-space:nowrap;
}
.hero-dimensions-word.has-shutter-letters.is-shutter-active .hero-shutter-source{
  opacity:0;
  animation:revolt-shutter-source-in .28s ease 1.16s forwards;
}
.hero-shutter-overlay{
  position:absolute;
  inset:0;
  display:block;
  pointer-events:none;
  opacity:0;
  overflow:visible;
}
.hero-dimensions-word.is-shutter-active .hero-shutter-overlay{
  opacity:1;
  animation:revolt-shutter-overlay-out .22s ease 1.19s forwards;
}
.hero-shutter-letter{
  position:absolute;
  top:0;
  height:100%;
  left:var(--shutter-x,0px);
  width:var(--shutter-width,0px);
  overflow:hidden;
}
.hero-shutter-layer{
  position:absolute;
  inset:0;
  display:block;
  overflow:hidden;
  opacity:0;
}
.hero-shutter-layer>span{
  position:absolute;
  top:0;
  left:calc(-1 * var(--shutter-x,0px));
  display:block;
  width:var(--shutter-word-width,100%);
  white-space:nowrap;
  background:none;
  -webkit-text-fill-color:#fff;
  color:#fff;
}
.hero-dimensions-word.is-shutter-active .hero-shutter-layer--main{
  animation:revolt-shutter-glyph .72s cubic-bezier(.2,.8,.2,1) calc(.13s + var(--shutter-index,0) * .045s) both;
}
.hero-shutter-layer--top{clip-path:inset(0 0 65% 0)}
.hero-shutter-layer--middle{clip-path:inset(35% 0 35% 0)}
.hero-shutter-layer--bottom{clip-path:inset(65% 0 0 0)}
.hero-dimensions-word.is-shutter-active .hero-shutter-layer--top{
  animation:revolt-shutter-slice-left .66s ease-in-out calc(var(--shutter-index,0) * .045s) both;
}
.hero-dimensions-word.is-shutter-active .hero-shutter-layer--middle{
  animation:revolt-shutter-slice-right .66s ease-in-out calc(.08s + var(--shutter-index,0) * .045s) both;
}
.hero-dimensions-word.is-shutter-active .hero-shutter-layer--bottom{
  animation:revolt-shutter-slice-left .66s ease-in-out calc(.16s + var(--shutter-index,0) * .045s) both;
}
@keyframes revolt-shutter-glyph{
  from{opacity:0;filter:blur(10px);transform:translateY(.09em) scaleY(.92)}
  to{opacity:1;filter:blur(0);transform:none}
}
@keyframes revolt-shutter-slice-left{
  0%{opacity:0;transform:translateX(-110%)}
  45%{opacity:1}
  100%{opacity:0;transform:translateX(110%)}
}
@keyframes revolt-shutter-slice-right{
  0%{opacity:0;transform:translateX(110%)}
  45%{opacity:.9}
  100%{opacity:0;transform:translateX(-110%)}
}
@keyframes revolt-shutter-source-in{to{opacity:1}}
@keyframes revolt-shutter-overlay-out{to{opacity:0}}

/* The mask is scrubbed by scroll rather than opening at an observer threshold.
   Keep the approved artwork, overlay, typography and vertical parallax intact. */
@media(prefers-reduced-motion:no-preference){
  body.revolt-curated #impacto.impact-section.has-impact-scroll-mask .impact-background,
  body.revolt-curated #impacto.impact-section.has-impact-scroll-mask.is-impact-active .impact-background{
    opacity:1!important;
    clip-path:inset(var(--impact-mask-v,50%) var(--impact-mask-h,32%) round var(--impact-mask-radius,28px))!important;
    filter:none!important;
    transition:none!important;
  }

  /* The message follows the image reveal instead of playing on page load. */
  body.revolt-curated #impacto.impact-section.has-impact-scroll-mask .impact-title-block,
  body.revolt-curated #impacto.impact-section.has-impact-scroll-mask .impact-statement,
  body.revolt-curated #impacto.impact-section.has-impact-scroll-mask .impact-label{
    animation:none!important;
  }
  body.revolt-curated #impacto.impact-section.has-impact-scroll-mask .impact-title-block,
  body.revolt-curated #impacto.impact-section.has-impact-scroll-mask .impact-statement{
    opacity:0!important;
    transform:translate3d(0,28px,0)!important;
    transition:opacity .62s ease,transform .72s cubic-bezier(.22,.8,.3,1)!important;
  }
  body.revolt-curated #impacto.impact-section.has-impact-scroll-mask .impact-title-block{
    transition-delay:.12s!important;
  }
  body.revolt-curated #impacto.impact-section.has-impact-scroll-mask.is-impact-copy-visible .impact-title-block,
  body.revolt-curated #impacto.impact-section.has-impact-scroll-mask.is-impact-copy-visible .impact-statement{
    opacity:1!important;
    transform:translate3d(0,0,0)!important;
  }
  body.revolt-curated #impacto.impact-section.has-impact-scroll-mask .impact-connect-cta{
    opacity:0!important;
    transform:translate3d(0,14px,0)!important;
    transition:opacity .55s ease,transform .6s ease!important;
  }
  body.revolt-curated #impacto.impact-section.has-impact-scroll-mask.is-impact-copy-visible .impact-connect-cta{
    opacity:1!important;
    transform:translate3d(0,0,0)!important;
    transition-delay:.3s!important;
  }
}
@media(prefers-reduced-motion:reduce){
  body.revolt-curated #inicio .hero-left h1 .hero-dimensions-word,
  body.revolt-curated #inicio .hero-left h1 .hero-dimensions-word *{
    animation:none!important;
    transition:none!important;
  }
}

/* Extra space between the Fundamentals headline and the floating diskette. */
@media(min-width:981px){
  body.revolt-curated #fundamentos .foundation-heading{
    padding-bottom:clamp(100px,11vh,144px)!important;
  }
}
@media(max-width:980px){
  body.revolt-curated #fundamentos .foundation-heading{
    padding-bottom:clamp(32px,5vh,58px)!important;
  }
}
