/*
 * Shared motion layer.
 * Text timing follows Amia Work's word entrance. Image deformation lives in
 * image-deform.js; progressive enhancement keeps the DOM images visible when
 * WebGL, JavaScript, or motion are unavailable.
 */
[data-pb-type] .pb-type-word{
  display:inline-block;
  white-space:normal;
  vertical-align:baseline;
}

.pb-type-pending .pb-type-word,
.pb-item-pending{
  opacity:.001;
  filter:blur(5px);
  transform:translateY(10px);
}

.pb-card-pending{
  opacity:.78;
  transform:translateY(7px);
}

.grade>.card .moldura img.pb-depth-image{
  transform:translate3d(0,var(--pb-depth-y,0px),0) scale(1.035)!important;
  transform-origin:center;
  transition:transform .32s cubic-bezier(.22,1,.36,1);
  will-change:transform;
}

.grade>.card:hover .moldura img.pb-depth-image{
  transform:translate3d(0,var(--pb-depth-y,0px),0) scale(1.045)!important;
}

/*
 * Thumb -> article cover.
 * The temporary image is deliberately outside every card/hero mask. It first
 * becomes a full-width editorial band, survives the navigation, then settles
 * into the article cover. Native MPA view transitions remain the no-JS safety
 * net; site-motion.js skips them while this more expressive flight is active.
 */
.pb-thumb-flight{
  position:fixed;
  z-index:2147483000;
  display:block;
  max-width:none!important;
  margin:0!important;
  pointer-events:none;
  object-fit:cover;
  object-position:center;
  transform-origin:0 0;
  will-change:transform,border-radius;
  box-shadow:0 18px 60px rgba(0,0,0,.08);
  transition:
    transform 560ms cubic-bezier(.22,1,.36,1),
    border-radius 560ms cubic-bezier(.22,1,.36,1),
    box-shadow 560ms ease;
}

html.pb-transition-departing{
  cursor:progress;
}

html.pb-transition-departing body>*:not(.pb-thumb-flight){
  opacity:.12!important;
  transform:translateY(-12px) scale(.992);
  transition:
    opacity 240ms ease,
    transform 560ms cubic-bezier(.22,1,.36,1)!important;
}

/* Set synchronously in <head>, before the destination's first paint. */
html.pb-transition-arrival body>*{
  opacity:0!important;
}

html.pb-transition-arrival body>.pb-thumb-flight{
  opacity:1!important;
}

html.pb-transition-arrival>.pb-thumb-flight{
  opacity:1!important;
}

html.pb-transition-arrival.pb-transition-mounted body>*:not(.pb-thumb-flight){
  opacity:1!important;
  transition:opacity 420ms ease 100ms!important;
}

html.pb-transition-arrival .pb-thumb-flight{
  transition-duration:680ms;
}

@media (prefers-reduced-motion:reduce){
  [data-pb-type] .pb-type-word,
  .pb-item-pending,
  .pb-card-pending{
    opacity:1!important;
    filter:none!important;
    transform:none!important;
  }

  .pb-thumb-flight{display:none!important}
  html.pb-transition-arrival body>*{opacity:1!important}
}

@media print{
  [data-pb-type] .pb-type-word,
  .pb-item-pending,
  .pb-card-pending{
    opacity:1!important;
    filter:none!important;
    transform:none!important;
  }
}
