/* Cinematic, sequential page reveal */
@media (prefers-reduced-motion:no-preference){
  .motion-item{opacity:0;transform:translate3d(0,32px,0);filter:blur(7px);transition:opacity .72s cubic-bezier(.22,1,.36,1),transform .82s cubic-bezier(.22,1,.36,1),filter .72s ease;transition-delay:var(--motion-delay,0ms)}
  .motion-item.motion-from-left{transform:translate3d(-30px,0,0)}
  .motion-item.motion-from-right{transform:translate3d(30px,0,0)}
  .motion-item.motion-scale{transform:scale(.94) translate3d(0,18px,0)}
  .motion-item.is-visible{opacity:1;transform:none;filter:none}
  .motion-line{position:relative;overflow:hidden}
  .motion-line::after{content:"";position:absolute;inset:0;background:var(--orange);transform-origin:right;transform:scaleX(1);transition:transform .85s cubic-bezier(.76,0,.24,1);transition-delay:calc(var(--motion-delay,0ms) + 40ms);pointer-events:none}
  .motion-line.is-visible::after{transform:scaleX(0)}
  .site-header::after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:linear-gradient(90deg,var(--orange),rgba(255,255,255,.5),transparent);transform:scaleX(0);transform-origin:left;transition:transform 1.15s cubic-bezier(.65,0,.35,1) .15s}
  .motion-started .site-header::after{transform:scaleX(1)}
  .hero::before{opacity:0;transition:opacity 1.4s ease .2s}
  .motion-started .hero::before{opacity:1}
  .hero::after{opacity:0;transform:scale(.78);transition:opacity 1.1s ease .35s,transform 1.6s cubic-bezier(.22,1,.36,1) .35s}
  .motion-started .hero::after{opacity:1;transform:scale(1)}
  .hero-grain{opacity:0;transition:opacity 1.8s ease .45s}
  .motion-started .hero-grain{opacity:.16}
  .service-ribbon article.motion-item.is-visible,.cap-card.motion-item.is-visible{transition-duration:.75s}
  .cap-card.motion-item{transform:translate3d(0,48px,0) scale(.975)}
  .process-list li.motion-item{transform:translate3d(42px,0,0)}
  .industry-list>div.motion-item{transform:translate3d(46px,0,0)}
  .contact-card.motion-item{transform:translate3d(36px,0,0) rotate(1deg)}
  .cap-card.motion-item.is-visible,.process-list li.motion-item.is-visible,.industry-list>div.motion-item.is-visible,.contact-card.motion-item.is-visible{transform:none}
}
@media (prefers-reduced-motion:reduce){.motion-item{opacity:1!important;transform:none!important;filter:none!important}.motion-line::after{display:none!important}}
