/* Site-wide anchor scrolling; native links retain their usual focus behaviour. */
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}

/* Native same-origin page transitions preserve normal navigation and history.
 * Unsupported browsers simply navigate normally; no content is hidden by JS.
 */
@view-transition {
  navigation: auto;
}

@media (prefers-reduced-motion: no-preference) {
  ::view-transition-group(root) {
    animation-duration: 540ms;
  }

  ::view-transition-old(root),
  ::view-transition-new(root) {
    mix-blend-mode: normal;
  }

  ::view-transition-old(root) {
    /* Keep an opaque backdrop while the new snapshot fades over it. */
    animation: none;
    opacity: 1;
  }

  ::view-transition-new(root) {
    animation: gp-page-fade-in 540ms ease-in-out both;
  }
}

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

@keyframes gp-page-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
