/* ===== Page transition: blur shift ===== */
body.page-exit-blur {
  overflow: hidden;
  animation: pageExitBlur 0.78s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes pageExitBlur {
  to {
    transform: scale(0.97);
    filter: blur(12px);
    opacity: 0.35;
  }
}

body.page-enter-lock {
  overflow: hidden;
}

/* Page shell */
.corporate-page.page-enter-pending .announcement-bar,
.corporate-page.page-enter-pending .header,
.corporate-page.page-enter-pending .corporate-page-surface {
  opacity: 0;
  filter: blur(14px);
}

.corporate-page.page-enter-pending .announcement-bar,
.corporate-page.page-enter-pending .header {
  transform: translateY(-10px);
}

.corporate-page.page-enter-pending .corporate-page-surface {
  transform: translateY(22px) scale(0.985);
}

.corporate-page.page-enter-active .announcement-bar,
.corporate-page.page-enter-active .header,
.corporate-page.page-enter-active .corporate-page-surface {
  opacity: 1;
  filter: blur(0);
  transform: none;
  transition:
    opacity 0.85s ease,
    transform 0.9s cubic-bezier(0.16, 1, 0.3, 1),
    filter 0.9s ease;
}

.corporate-page.page-enter-active .header {
  transition-delay: 0.06s;
}

.corporate-page.page-enter-active .corporate-page-surface {
  transition-delay: 0.1s;
}

/* Staggered element entrance */
.page-enter-item {
  opacity: 0;
  transform: translateY(28px);
  filter: blur(8px);
}

.page-enter-active .page-enter-item {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
  transition:
    opacity 0.75s ease,
    transform 0.8s cubic-bezier(0.16, 1, 0.3, 1),
    filter 0.75s ease;
  transition-delay: calc(0.18s + (var(--enter-i, 0) * 0.07s));
}

@media (max-width: 768px) {
  body.page-exit-blur {
    animation-duration: 0.55s;
  }

  .corporate-page.page-enter-pending .announcement-bar,
  .corporate-page.page-enter-pending .header,
  .corporate-page.page-enter-pending .corporate-page-surface {
    filter: blur(8px);
    transform: none;
  }

  .page-enter-item {
    filter: blur(6px);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-exit-blur {
    animation: none;
  }

  .corporate-page.page-enter-pending .announcement-bar,
  .corporate-page.page-enter-pending .header,
  .corporate-page.page-enter-pending .corporate-page-surface,
  .page-enter-item {
    opacity: 1;
    transform: none;
    filter: none;
    transition: none;
  }
}
