@view-transition { navigation: auto; }
::view-transition-old(root) { animation: page-out 180ms ease-out both; }
::view-transition-new(root) { animation: page-in 340ms ease-out both; }
@keyframes page-out { to { opacity: 0; } }
@keyframes page-in { from { opacity: 0; } to { opacity: 1; } }
.reveal { opacity: 0; transform: translateY(14px); transition: opacity 650ms ease, transform 650ms cubic-bezier(.2,.65,.3,1); }
.reveal.is-visible { opacity: 1; transform: none; }
nav a, .back, footer a, .copy a { transition: color 220ms ease, opacity 220ms ease; }
nav a:hover, .back:hover, footer a:hover { opacity: .65; }
.card-label b { display: inline-block; transition: transform 300ms ease; }
.project-card:hover .card-label b { transform: translate(2px,-2px); }
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
  .reveal { opacity: 1; transform: none; transition: none; }
  nav a, .back, footer a, .copy a, .card-label b { transition: none; }
  .project-card:hover .card-label b { transform: none; }
}
