/* Reading and product transitions. Hardware never floats or follows the pointer. */
.stage-portal,.stage-course,.macbook-orbit{animation:none;translate:none;scale:none;filter:none}
.motion-active{will-change:transform,opacity}
.site-header::after{content:none}
body.motion-enabled .site-header::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#000;transform:scaleX(var(--reading-progress,0));transform-origin:0 50%;pointer-events:none}

/* The neutral connector remains readable before JavaScript or on reduced motion. */
body.motion-enabled .intention-flow li:not(:last-child)::before{content:'';position:absolute;left:5px;top:18px;bottom:5px;width:1px;background:#000;transform:scaleY(var(--step-progress,0));transform-origin:50% 0;z-index:1}
body.motion-enabled .process-point{background:#fff;border-color:#000;transition:background-color 180ms ease}
body.motion-enabled .process-reached .process-point{background:#000}

@media(prefers-reduced-motion:no-preference){
 .button>.icon,.text-link>.icon,.player-access a>.icon{transition:translate 180ms cubic-bezier(.16,1,.3,1)}
 .button:hover>.icon,.button:focus-visible>.icon,.text-link:hover>.icon,.text-link:focus-visible>.icon,.player-access a:hover>.icon,.player-access a:focus-visible>.icon{translate:3px 0}
 .audience-switch button,.organization-options button,.portal-option,.player-options button{transition:background-color 160ms ease,color 160ms ease}
}
@media(prefers-reduced-motion:reduce){
 .stage-portal,.stage-course,.macbook-orbit{animation:none!important;transform:none!important;translate:none!important;transition:none!important}
 body.motion-enabled .site-header::after,body.motion-enabled .intention-flow li::before{display:none}
}
