/* Shared by the public portfolio and its protected case-study document. */
@media(prefers-reduced-motion:no-preference){
  .site-header{view-transition-name:portfolio-header}
  ::view-transition-group(portfolio-header){animation-duration:280ms;animation-timing-function:cubic-bezier(.22,1,.36,1)}
  ::view-transition-old(portfolio-header),::view-transition-new(portfolio-header){animation:none;mix-blend-mode:normal}
  ::view-transition-old(root){animation:portfolio-document-out 160ms ease both}
  ::view-transition-new(root){animation:portfolio-document-in 280ms cubic-bezier(.22,1,.36,1) both}
  /* Starts once after authentication; visibility remains owned by the guard. */
  html[data-portfolio-entry=ready] .portfolio-case .reading-layout{
    animation:portfolio-document-in 280ms cubic-bezier(.22,1,.36,1) both;
  }
}
@media(prefers-reduced-motion:reduce){
  .site-header{view-transition-name:none}
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
  html[data-portfolio-entry=ready] .portfolio-case .reading-layout{animation:none}
}
@keyframes portfolio-document-out{to{opacity:0}}
@keyframes portfolio-document-in{from{opacity:0}to{opacity:1}}
