/* Shared identity across native same-origin pages; navigation never depends on it. */
.hero-name,.resume-name { view-transition-name: profile-name; }
.portrait-panel,.resume-portrait { view-transition-name: profile-portrait; }
@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }
  ::view-transition-group(profile-name),::view-transition-group(profile-portrait) {
    animation-duration: .65s;
    animation-timing-function: cubic-bezier(.22,1,.36,1);
  }
  ::view-transition-old(root) { animation: page-out .22s ease both; }
  ::view-transition-new(root) { animation: page-in .5s cubic-bezier(.22,1,.36,1) both; }
}
@keyframes page-out { to { opacity: 0; } }
@keyframes page-in { from { opacity: 0; transform: translateY(24px); } }
html[data-motion="off"]::view-transition-group(*),html[data-motion="off"]::view-transition-old(*),html[data-motion="off"]::view-transition-new(*) { animation: none !important; }
@media (prefers-reduced-motion: reduce) {
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*) { animation: none !important; }
}
@media print { .hero-name,.resume-name,.portrait-panel,.resume-portrait { view-transition-name: none; } }
