/* Navigation continuity and one-time rules; never a continuous background effect. */
@media(prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
  ::view-transition-group(*){animation-duration:var(--motion-shared);animation-timing-function:var(--ease-out)}
  ::view-transition-old(root),::view-transition-new(root){animation:none}
}
.site-header nav{position:relative}
.site-header nav .nav-marker{position:absolute;left:0;top:0;width:100px;height:2px;margin:0;background:var(--blue);pointer-events:none;transform-origin:left;opacity:0;transition:transform var(--motion-component) var(--ease-out),opacity var(--motion-micro) var(--ease-out)}
.site-header nav .nav-marker.is-visible{opacity:1}
.rule-reveal{position:relative;border-bottom:0}
.rule-reveal::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--ink);transform-origin:left}
.motion-ready .rule-reveal::after{transform:scaleX(0);transition:transform var(--motion-reveal) var(--ease-out)}
.motion-ready .rule-reveal.is-entered::after{transform:scaleX(1)}
[data-project="helicopter"] [data-project-title]{view-transition-name:helicopter-title}
[data-project="helicopter"] .project-visual-link,[data-project="helicopter"] .case-photo{view-transition-name:helicopter-image}
[data-project="roto"] [data-project-title]{view-transition-name:roto-title}
[data-project="roto"] .project-visual-link,[data-project="roto"] .case-photo{view-transition-name:roto-image}
[data-project="ev-2026"] [data-project-title]{view-transition-name:ev2026-title}
[data-project="ev-2026"] .project-visual-link,[data-project="ev-2026"] .case-photo{view-transition-name:ev2026-image}
[data-project="ev-2025"] [data-project-title]{view-transition-name:ev2025-title}
[data-project="ev-2025"] .project-visual-link,[data-project="ev-2025"] .case-photo{view-transition-name:ev2025-image}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
  .motion-ready .rule-reveal::after{transform:none}
}
