/* One-shot motion. No perpetual animation, scroll hijacking, or delayed page access. */
@media (prefers-reduced-motion:no-preference) {
  .motion-ready .reveal {
    opacity:0;
    transform:translateY(14px);
    transition:opacity .56s var(--ease),transform .56s var(--ease);
  }
  .motion-ready .reveal[data-reveal="fade"] {
    transform:none;
  }
  .motion-ready .reveal-image {
    transition-duration:.7s;
  }
  .motion-ready .reveal.is-visible {
    opacity:1;
    transform:none;
  }
  .motion-ready .line-reveal::after {
    transform:scaleX(0);
    transition:transform .8s var(--ease);
  }
  .motion-ready .line-reveal.is-visible::after {
    transform:scaleX(1);
  }
  .motion-ready .motion-step {
    opacity:0;
    translate:0 10px;
    transition:opacity .55s var(--ease) var(--motion-delay,0ms),translate .55s var(--ease) var(--motion-delay,0ms),transform .25s var(--ease),border-color .25s,background .25s,box-shadow .25s;
  }
  .motion-step[data-motion-order="2"] {
    --motion-delay:50ms;
  }
  .motion-step[data-motion-order="3"] {
    --motion-delay:100ms;
  }
  .motion-ready .motion-step.is-visible {
    opacity:1;
    translate:none;
  }
  .motion-ready .reveal:focus-within,.motion-ready .motion-step:focus-within {
    opacity:1;
    transform:none;
    translate:none;
    transition-duration:0s;
    transition-delay:0s;
  }
  /* The headline and plate remain visible; only supporting details arrive. */
  .hero-copy>p {
    animation:copy-in .5s var(--ease) backwards;
  }
  .hero-copy>.actions {
    animation:copy-in .5s var(--ease) .08s backwards;
  }
  .hero-copy>.actions:focus-within {
    animation:none;
  }
  @keyframes copy-in {
    from {
      opacity:.65;
      transform:translateY(5px);
    }
    to {
      opacity:1;
      transform:none;
    }
  }
  @keyframes logo-in {
    from {
      opacity:.4;
      transform:translateY(7px);
    }
    to {
      opacity:1;
      transform:none;
    }
  }
  .services-menu:not([hidden]),.mobile-nav:not([hidden]) {
    animation:menu-in .2s ease-out;
  }
  .hero-visual::before,.hero-visual::after {
    animation:frame-in .65s ease-out both;
  }
  .featured-service>.icon {
    transition:transform .25s var(--ease);
  }
  @media (hover:hover) and (pointer:fine) {
    .featured-service:hover>.icon {
      transform:translateY(-2px);
    }
  }
  .faq-grid details[open]>p {
    animation:answer-in .4s var(--ease);
  }
  @keyframes answer-in {
    from {
      opacity:.65;
      transform:translateY(-3px);
    }
    to {
      opacity:1;
      transform:none;
    }
  }
  @keyframes menu-in {
    from {
      opacity:0;
      transform:translateY(-5px);
    }
    to {
      opacity:1;
      transform:none;
    }
  }
  @keyframes frame-in {
    from {
      opacity:0;
    }
    to {
      opacity:1;
    }
  }
}
@media (max-width:767px) and (prefers-reduced-motion:no-preference) {
  .motion-ready .reveal {
    transform:translateY(8px);
    transition-duration:.45s;
  }
  .motion-ready .motion-step {
    translate:0 6px;
    transition-duration:.4s;
    --motion-delay:0ms;
  }
  .motion-ready .motion-step.is-visible {
    translate:none;
  }
  .motion-ready .reveal[data-reveal="fade"],.motion-ready .reveal.is-visible {
    transform:none;
  }
}
@media (prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
  .reveal,.motion-step {
    translate:none!important;
    opacity:1!important;
    transform:none!important;
  }
  .line-reveal::after {
    transform:none!important;
  }
  .reading-progress {
    display:none;
  }
  .btn:hover,.btn:active,.btn:hover .arrow,.text-link:hover .arrow,.service-row:hover h3,.service-row:hover .arrow,.value:hover>.icon,.matrix-item:hover>.icon,.capability-card:hover,.process-step:hover>.process-icon,.featured-service:hover>.icon,.article-card:hover img,.directory-item:hover>.icon,.technology-item:hover .technology-logo {
    transform:none!important;
  }
}

/* Progressive enhancement only: native transitions never intercept or delay a link. */
@media (prefers-reduced-motion:no-preference) {
  @view-transition {navigation:auto;}
  ::view-transition-old(root),::view-transition-new(root) {animation-duration:180ms;animation-timing-function:ease-out;}
  .process-step.is-current .process-icon {transform:translateY(-2px);}
}
@media (prefers-reduced-motion:reduce) {
  @view-transition {navigation:none;}
  .process-grid {--journey-progress:1!important;}
  .process-grid::after {transform:none!important;}
  .device-frame,.process-step.is-current .process-icon {translate:none!important;transform:none!important;}
}
@media (prefers-reduced-motion:reduce) {
  .service-row.is-selected .service-glyph,.service-row.is-selected .arrow {transform:none!important;}
}
