/* Motion study v1 — gentle, legible, with no layout changes. */
@media (prefers-reduced-motion: no-preference) {
  /* The heading's two real lines enter individually after CMS has rendered it. */
  .hero-title.motion-headline .motion-line {
    display: inline-block;
    opacity: 0;
    transform: translate3d(0, 25px, 0);
    filter: blur(3px);
    animation: headline-arrive .82s cubic-bezier(.16,1,.3,1) forwards;
  }
  .hero-title.motion-headline .motion-line:nth-of-type(2) {
    animation-delay: .19s;
    animation-duration: .96s;
  }
  @keyframes headline-arrive {
    to { opacity:1; transform:translate3d(0,0,0); filter:blur(0); }
  }

  /* Progressive gallery reveal, including projects added by filter changes. */
  .project-card.motion-queued {
    opacity:0;
    transform:translate3d(0, 23px, 0);
    transition:opacity .78s cubic-bezier(.2,.75,.25,1),transform .78s cubic-bezier(.2,.75,.25,1);
    transition-delay:var(--motion-delay,0ms);
  }
  .project-card.motion-queued.motion-visible { opacity:1;transform:translate3d(0,0,0); }

  /* The original image scale is retained, with a bit more tactility. */
  @media (hover:hover) and (pointer:fine) {
    .project-button .project-visual img {
      transition:transform .65s cubic-bezier(.16,1,.3,1),filter .55s ease;
    }
    .project-button:hover .project-visual img,
    .project-button:focus-visible .project-visual img {
      transform:scale(1.065);
      filter:saturate(1.07);
    }

    /* Each tilted hero art print lifts separately without flattening its angle. */
    .hero-showcase .showcase-card {
      transition:transform .62s cubic-bezier(.16,1,.3,1),box-shadow .62s ease,filter .62s ease;
      transform-origin:center center;
      will-change:transform;
      cursor:default;
    }
    .hero-showcase .showcase-card img {
      transition:transform .72s cubic-bezier(.16,1,.3,1),filter .6s ease;
    }
    .hero-showcase .showcase-card-front:hover {
      transform:rotate(-5deg) translate3d(-4px,-13px,0) scale(1.055);
      box-shadow:0 30px 48px #1b1b1930,0 0 0 7px #f2f0e8;
      z-index:5;
    }
    .hero-showcase .showcase-card-back:hover {
      transform:rotate(14deg) translate3d(6px,-13px,0) scale(1.07);
      box-shadow:0 30px 48px #1b1b1930,0 0 0 7px #f2f0e8;
      z-index:6;
    }
    .hero-showcase .showcase-card:hover img {
      transform:scale(1.025);
      filter:saturate(1.09);
    }
  }
}
/* Accessible fallback: no hidden text, cards or accidental hover transitions. */
@media (prefers-reduced-motion: reduce) {
  .hero-title .motion-line,
  .project-card.motion-queued {
    opacity:1 !important;filter:none !important;transform:none !important;
    animation:none !important;transition:none !important;
  }
  .hero-showcase .showcase-card,
  .hero-showcase .showcase-card img {transition:none !important;}
}
