/* First portal trial: native scroll-driven animation, static fallback. */
.hero-portal-scene{display:none}
@supports(animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference){
  .phase1 .hero-shell{view-timeline-name:--hero-portal;view-timeline-axis:block}
  .phase1 .hero-shell>.hero-portal-scene{
   display:block;position:absolute;inset:0;z-index:-2;pointer-events:none;
   background:inherit;transform-origin:50% 44%;
   animation:portal-approach 1s linear both;
   animation-timeline:--hero-portal;animation-range:exit 0% exit 100%;
  }
  .phase1 .editorial-hero>:is(h1,.immersive-position,.immersive-description,.immersive-actions,.immersive-footnote){
   animation:portal-copy-exit 1s linear both;
   animation-timeline:--hero-portal;animation-range:exit 0% exit 75%;
  }
  .phase1 .hero-shell:focus-within .editorial-hero>:is(h1,.immersive-position,.immersive-description,.immersive-actions,.immersive-footnote){
   animation:none;opacity:1;translate:none;
  }
  @keyframes portal-approach{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(0,28%,0) scale(1.55)}}
  @keyframes portal-copy-exit{0%,12%{opacity:1;translate:0 0}100%{opacity:0;translate:0 -36px}}
  @media(max-width:760px){
   .phase1 .hero-shell>.hero-portal-scene{animation-name:portal-approach-mobile}
   @keyframes portal-approach-mobile{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(0,12%,0) scale(1.18)}}
  }
 }
}
