/* Terasai — cross-page View Transitions (progressive, 0 deps) */
@view-transition {
  navigation: auto;
}

::view-transition-old(root),
::view-transition-new(root) {
  animation-duration: 0.42s;
  animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}

::view-transition-old(root) {
  animation-name: terasai-vt-out;
}
::view-transition-new(root) {
  animation-name: terasai-vt-in;
}

@keyframes terasai-vt-out {
  to {
    opacity: 0;
    filter: blur(6px);
    transform: scale(0.985);
  }
}
@keyframes terasai-vt-in {
  from {
    opacity: 0;
    filter: blur(8px);
    transform: scale(1.015);
  }
  to {
    opacity: 1;
    filter: none;
    transform: none;
  }
}

/* Named morphs (opt-in on pages) */
.logo {
  view-transition-name: terasai-logo;
}
main,
.home,
.lead-hero {
  view-transition-name: terasai-main;
}

@media (prefers-reduced-motion: reduce) {
  @view-transition {
    navigation: none;
  }
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation: none !important;
  }
}
