/* Portfolio UX pass: tactile hierarchy, restrained motion, accessible defaults. */
.hero-showcase .showcase-card-back { z-index:1; }
.hero-showcase .showcase-card-front { z-index:3; }
.hero-showcase .floating-stamp { z-index:12; pointer-events:none; }
@media(prefers-reduced-motion:no-preference) {
  /* Every title uses actual CMS-emitted text and Instrument Serif accents. */
  .ux-type-ready .ux-type-part {
    display:inline-block; opacity:0; transform:translate3d(0,18px,0);
    transition:transform .85s cubic-bezier(.16,1,.3,1),opacity .78s ease;
    transition-delay:var(--ux-word-delay,0ms);
  }
  .section-intro.is-visible .ux-type-part,
  .about-content.is-visible .ux-type-part,
  .contact-title.is-visible .ux-type-part {opacity:1;transform:translate3d(0,0,0);}
  /* Seamless swap on tabs. Existing keyboard + filtering behaviour remains. */
  #project-grid { transition:opacity .18s ease,transform .18s ease; }
  #project-grid.ux-filter-out {opacity:.18;transform:translate3d(0,9px,0);}
  /* Independent, shallow printed-card parallax. Each hover keeps the authored tilt. */
  @media(hover:hover) and (pointer:fine) {
    .hero-showcase .showcase-card-back {
      transform:translate3d(var(--ux-back-x,0px),var(--ux-back-y,0px),0) rotate(11deg);
    }
    .hero-showcase .showcase-card-front {
      transform:translate3d(var(--ux-front-x,0px),var(--ux-front-y,0px),0) rotate(-8deg);
    }
    .hero-showcase .showcase-card-front:hover {
      transform:translate3d(calc(var(--ux-front-x,0px) - 4px),calc(var(--ux-front-y,0px) - 13px),0) rotate(-5deg) scale(1.055);
      z-index:5;
    }
    .hero-showcase .showcase-card-back:hover {
      transform:translate3d(calc(var(--ux-back-x,0px) + 6px),calc(var(--ux-back-y,0px) - 13px),0) rotate(14deg) scale(1.07);
      z-index:6;
    }
    .hero-showcase .floating-stamp {
      transform:translate3d(var(--ux-badge-x,0px),var(--ux-badge-y,0px),0) rotate(12deg);
      transition:transform .55s cubic-bezier(.16,1,.3,1),filter .5s ease;
    }
    .hero-showcase.ux-front-hover .floating-stamp {
      transform:translate3d(calc(var(--ux-badge-x,0px) + 5px),calc(var(--ux-badge-y,0px) - 9px),0) rotate(6deg) scale(1.045);
    }
    .hero-showcase.ux-back-hover .floating-stamp {
      transform:translate3d(calc(var(--ux-badge-x,0px) - 3px),calc(var(--ux-badge-y,0px) - 4px),0) rotate(17deg);
    }
  }
}
@media(prefers-reduced-motion:reduce) {
  .ux-type-part {opacity:1!important;transform:none!important;transition:none!important;}
  #project-grid {transition:none!important;}
  .hero-showcase .floating-stamp {transition:none!important;}
}
