[data-reveal]{opacity:0;transition:opacity .78s cubic-bezier(.2,.75,.2,1),transform .78s cubic-bezier(.2,.75,.2,1),filter .78s cubic-bezier(.2,.75,.2,1);will-change:transform,opacity}
[data-reveal="up"]{transform:translateY(34px);filter:blur(7px)}
[data-reveal="left"]{transform:translateX(-34px);filter:blur(5px)}
[data-reveal="right"]{transform:translateX(34px);filter:blur(5px)}
[data-reveal="scale"]{transform:scale(.94) translateY(18px);filter:blur(5px)}
[data-reveal].is-visible{opacity:1;transform:none;filter:none}
.hero .hero-copy{animation:heroCopyIn .85s .08s both cubic-bezier(.16,.78,.23,1)}
.hero .laptop-wrap{animation:laptopIn 1s .3s both cubic-bezier(.16,.78,.23,1)}
.hero .phone-wrap{animation:phoneIn .95s .58s both cubic-bezier(.16,.78,.23,1)}
.hero .float-card-top{animation:floatCardIn .75s .82s both ease}
.hero .float-card-bottom{animation:floatCardIn .75s .96s both ease}
.hero .stage-kicker{animation:fadeIn .65s 1.05s both ease}
.hero .stage-line{animation:lineIn .75s 1.05s both ease}
.hero .digital-word{animation:wordIn 1.1s .15s both cubic-bezier(.2,.8,.2,1)}
@keyframes heroCopyIn{from{opacity:0;transform:translateY(26px);filter:blur(7px)}to{opacity:1;transform:none;filter:none}}
@keyframes laptopIn{from{opacity:0;transform:translate3d(90px,45px,0) rotateY(-8deg) scale(.9);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
@keyframes phoneIn{from{opacity:0;transform:translate3d(45px,32px,0) scale(.88);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes floatCardIn{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes lineIn{from{opacity:0;scale:0 1}to{opacity:.5;scale:1 1}}
@keyframes wordIn{from{opacity:0;transform:translateY(-55%) scale(.98);filter:blur(14px)}to{opacity:.78;transform:translateY(-58%) scale(1);filter:none}}
@keyframes floatIdle{0%,100%{translate:0 0}50%{translate:0 -7px}}
.float-card-top{animation-name:floatCardIn,floatIdle!important;animation-duration:.75s,5.5s!important;animation-delay:.82s,1.7s!important;animation-fill-mode:both,both!important;animation-timing-function:ease,ease-in-out!important;animation-iteration-count:1,infinite!important}
.float-card-bottom{animation-name:floatCardIn,floatIdle!important;animation-duration:.75s,6.1s!important;animation-delay:.96s,1.9s!important;animation-fill-mode:both,both!important;animation-timing-function:ease,ease-in-out!important;animation-iteration-count:1,infinite!important}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  [data-reveal]{opacity:1!important;transform:none!important;filter:none!important}
}
