/* ASR public experience motion. Progressive enhancement; no content hidden without JS.
   Scoped to the public site and stand-alone public pages only. */
html.asr-motion-public .asr-reading-progress {
  position: fixed; top: 0; left: 0; width: 100%; height: 3px; z-index: 999;
  pointer-events: none; transform: scaleX(0); transform-origin: left center;
  background: linear-gradient(90deg, #65238c 0%, #a462ca 62%, #d4a9e9 100%);
  box-shadow: 0 0 10px rgba(114, 41, 173, .18);
}
html.asr-motion-public .asr-reading-progress[hidden] { display: none !important; }
@media (prefers-reduced-motion: no-preference) {
  html.asr-motion-public [data-asr-motion="pending"] {
    opacity: .80; transform: translate3d(0, 17px, 0);
  }
  html.asr-motion-public [data-asr-motion="visible"] {
    opacity: 1; transform: translate3d(0, 0, 0);
  }
  html.asr-motion-public [data-asr-motion] {
    transition: opacity .68s cubic-bezier(.22, 1, .36, 1),
                transform .68s cubic-bezier(.22, 1, .36, 1);
  }
  /* Keep the first impression lively without forcing additional layout shifts. */
  html.asr-motion-public .public-site[data-page="home"] .hp-hero-copy > .hp-live-kicker {
    animation: asr-motion-enter .68s cubic-bezier(.22, 1, .36, 1) both;
  }
  html.asr-motion-public .public-site[data-page="home"] .hp-hero-copy > h1 {
    animation: asr-motion-enter .85s .07s cubic-bezier(.22, 1, .36, 1) both;
  }
  html.asr-motion-public .public-site[data-page="home"] .hp-hero-copy > p {
    animation: asr-motion-enter .85s .14s cubic-bezier(.22, 1, .36, 1) both;
  }
  html.asr-motion-public .public-site[data-page="home"] .hp-hero-copy > .hp-actions {
    animation: asr-motion-enter .85s .20s cubic-bezier(.22, 1, .36, 1) both;
  }
  @keyframes asr-motion-enter {
    from { opacity: .55; transform: translate3d(0, 14px, 0); }
    to   { opacity: 1; transform: translate3d(0, 0, 0); }
  }
}
/* Only public cards, preserving the existing surfaces, contrast and borders. */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  html.asr-motion-public .public-site main :is(
    .asr-service-lines > article,
    .asr-home-stack-grid > article,
    .hp-product-duo > article,
    .support-cards > article,
    .program-grid > article,
    .research-card
  ) {
    transition: transform .25s cubic-bezier(.2,.8,.2,1),
      box-shadow .25s ease, border-color .25s ease;
    will-change: auto;
  }
  html.asr-motion-public .public-site main :is(
    .asr-service-lines > article,
    .asr-home-stack-grid > article,
    .hp-product-duo > article,
    .support-cards > article,
    .program-grid > article,
    .research-card
  ):hover {
    transform: translate3d(0, -5px, 0);
    box-shadow: 0 17px 43px rgba(61, 30, 86, .105);
    border-color: #c5a2d8;
  }
  html.asr-motion-public .public-site main :is(
    .hp-actions button, .hp-actions a,
    .asr-home-explore-actions a, .asr-home-service-cta
  ) svg { transition: transform .24s cubic-bezier(.2,.8,.2,1); }
  html.asr-motion-public .public-site main :is(
    .hp-actions button, .hp-actions a,
    .asr-home-explore-actions a, .asr-home-service-cta
  ):hover svg { transform: translate(3px, -1px); }
}
/* Services and FIIDQ are stand-alone public pages rather than the React shell. */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  html.asr-motion-public body :is(.asr-svc-offer, .fiidq-module, .fiidq-feature, .fiidq-time-card) {
    transition: transform .27s cubic-bezier(.2,.8,.2,1), box-shadow .27s ease, border-color .27s ease;
  }
  html.asr-motion-public body :is(.asr-svc-offer, .fiidq-module, .fiidq-feature, .fiidq-time-card):hover {
    transform: translate3d(0, -4px, 0);
    box-shadow: 0 16px 35px rgba(61, 30, 86, .10);
  }
}
html.asr-motion-public body :is(.asr-svc-offer, .fiidq-module, .fiidq-feature, .fiidq-time-card):focus-within {
  outline: 2px solid #9b66bc; outline-offset: 2px;
}
/* Give keyboard users the same clear affordance as mouse users. */
html.asr-motion-public .public-site main :is(
  .asr-service-lines > article, .asr-home-stack-grid > article,
  .support-cards > article, .research-card
):focus-within { border-color: #a36cc2; }
/* Soft scroll shadow reinforces navigation, without replacing the white header. */
html.asr-motion-public[data-asr-scrolled] .public-site .site-header {
  box-shadow: 0 6px 22px rgba(39, 20, 52, .07);
}
@media (prefers-reduced-motion: reduce) {
  html.asr-motion-public [data-asr-motion],
  html.asr-motion-public .public-site main :is(article,section,a,button,svg) {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  html.asr-motion-public [data-asr-motion] { opacity: 1 !important; transform: none !important; }
}
