/* Restrained first-view, scroll reveal, and interactive motion. */
@media (prefers-reduced-motion: no-preference) {
  @keyframes nd-enter {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
  }

  @keyframes nd-hero-zoom {
    from { transform: scale(1); }
    to { transform: scale(1.045); }
  }
  @keyframes nd-clip-left {
    from { clip-path: inset(0 100% 0 0); }
    to { clip-path: inset(0 0 0 0); }
  }
  .hp-hero-art,
  .hp-hero-mobile-photo {
    animation: nd-hero-zoom 5.5s ease-out both;
    transform-origin: center center;
    will-change: transform;
  }
  @media (max-width: 700px) {
    .hp-hero-mobile-photo { animation-duration: 6.5s; }
  }

  :is(.hp-hero-intro .hp-kicker,.es-hero-copy,.course-hero-grid>div:first-child) {
    animation: nd-enter 620ms cubic-bezier(.22,1,.36,1) both;
  }
  .hp-hero-intro h1 {
    animation: nd-clip-left 1100ms cubic-bezier(.22,1,.36,1) 70ms both;
  }
  :is(.hp-hero-visual-copy,.es-hero-photo,.sc-hero-image,.course-hero-image) {
    animation: nd-enter 720ms cubic-bezier(.22,1,.36,1) 90ms both;
  }
  .hp-hero-details { animation: nd-enter 660ms cubic-bezier(.22,1,.36,1) 170ms both; }

  .nd-reveal-ready {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 650ms cubic-bezier(.22,1,.36,1), transform 650ms cubic-bezier(.22,1,.36,1);
  }
  .nd-reveal-ready.nd-reveal-visible {
    opacity: 1;
    transform: translateY(0);
  }
  .nd-reveal-media { transition-delay: 110ms; }

  .hp-service-card {
    transition: transform 220ms ease, box-shadow 220ms ease;
  }
  @media (hover: hover) {
    .hp-service-card:hover {
      transform: translateY(-3px);
      box-shadow: 0 15px 30px rgba(20,72,105,.12);
    }
    :is(.hp-button,.es-button,.inner-button,.brain-button) span[aria-hidden="true"] {
      transition: transform 220ms ease;
    }
    :is(.hp-button,.es-button,.inner-button,.brain-button):hover span[aria-hidden="true"] {
      transform: translateX(3px);
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
