/* A shared optical rhythm. Scroll remains native; only image planes and
   background edges respond. The accepted hero type and layout stay anchored. */
.alb-journey-ready .alb-hero-stage .alb-hero-media{
  transform:translate3d(0,calc(var(--alb-journey-exit,0) * 40px),0);
}
.alb-journey-ready .alb-audience .alb-path-photo{position:relative;isolation:isolate}
.alb-journey-ready .alb-audience .alb-path-photo img{
  transform:translate3d(0,var(--alb-journey-pan,0px),0) scale(1.12);
  transition:transform .3s ease-out;
}
.alb-journey-ready .alb-audience .wp-block-column:is(:hover,:focus-within) .alb-path-photo img{
  transform:translate3d(0,var(--alb-journey-pan,0px),0) scale(1.16);
}
.alb-journey-ready :is(.alb-path-photo,.alb-about-photo):after{
  content:'';position:absolute;z-index:1;inset:-10% -55%;pointer-events:none;
  background:linear-gradient(112deg,transparent 38%,rgb(255 255 255 / 70%) 50%,transparent 62%);
  opacity:var(--alb-journey-sheen,0);
  transform:translate3d(calc((var(--alb-journey-phase,.5) - .5) * 125%),0,0);
}
.alb-journey-ready .alb-about-photo{position:relative;isolation:isolate}
.alb-journey-ready.alb-motion-ready .alb-subscription,
.alb-journey-ready .alb-contact-section{position:relative;isolation:isolate;background:transparent}
.alb-journey-ready .alb-subscription:after,
.alb-journey-ready .alb-contact-section:after{
  content:'';position:absolute;z-index:-2;inset:0;pointer-events:none;
  clip-path:inset(0 var(--alb-journey-inset,0px));
}
.alb-journey-ready .alb-subscription:after{background:#18349b}
.alb-journey-ready .alb-contact-section:after{background:var(--alb-mist)}
/* The active folio remains exact; its photos already carry their own light. */
@media(prefers-reduced-motion:reduce){
  .alb-journey-ready .alb-hero-stage .alb-hero-media,
  .alb-journey-ready .alb-audience .alb-path-photo img{transform:none;transition:none}
  .alb-journey-ready :is(.alb-path-photo,.alb-about-photo):after{display:none}
  .alb-journey-ready .alb-subscription:after,
  .alb-journey-ready .alb-contact-section:after{clip-path:none}
}
