/* Editorial motion is progressive: HTML stays visible before JavaScript runs. */
main .hero-text.reveal{animation:none}
[data-editorial-direction="left"]{--editorial-enter-x:-28px}
[data-editorial-direction="right"]{--editorial-enter-x:28px}
[data-editorial-reveal="pending"]{opacity:1;transform:none}
[data-editorial-reveal="active"]{animation:editorial-enter 550ms cubic-bezier(.22,.61,.36,1) both}
@keyframes editorial-enter{
  from{opacity:.25;transform:translate3d(var(--editorial-enter-x),0,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}

/* The soft light sits behind the portrait. The image itself is never filtered. */
.editorial-portrait-glow{isolation:isolate}
.editorial-portrait-glow::before{
  content:"";
  position:absolute;
  inset:5% -14px -2%;
  z-index:-1;
  border-radius:45%;
  background:radial-gradient(ellipse at 55% 40%,rgba(203,179,144,.48) 0%,rgba(203,179,144,.2) 38%,rgba(203,179,144,0) 72%);
  filter:blur(26px);
  opacity:var(--editorial-glow-opacity,.62);
  transform:translate3d(var(--editorial-glow-x,0px),var(--editorial-glow-y,0px),0) scale(var(--editorial-glow-scale,1));
  pointer-events:none;
}
.hero-portrait.editorial-portrait-glow::before{
  inset:2% -11% -3%;
  background:radial-gradient(ellipse at 50% 45%,rgba(222,197,158,.52) 0%,rgba(203,179,144,.23) 42%,rgba(203,179,144,0) 74%);
}
@media(max-width:760px){
  [data-editorial-direction="left"]{--editorial-enter-x:-18px}
  [data-editorial-direction="right"]{--editorial-enter-x:18px}
  [data-editorial-reveal="active"]{animation-duration:500ms}
  .editorial-portrait-glow::before{filter:blur(20px);inset:5% -8px -1%}
  .hero-portrait.editorial-portrait-glow::before{inset:2% -12px -3%}
}
@media(prefers-reduced-motion:reduce){
  [data-editorial-reveal="pending"],[data-editorial-reveal="active"]{opacity:1;transform:none;animation:none}
  .editorial-portrait-glow::before{display:none}
}
