/* Andova Space — cinematic page transition layer. Idle state is fully inert. */
.page-transition {
  position: fixed;
  inset: 0;
  z-index: 130;
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
  background:
    radial-gradient(circle at var(--transition-light-x, 52%) 42%, color-mix(in srgb, var(--garden-gold, #efc985) 12%, transparent), transparent 34%),
    radial-gradient(circle at 12% 84%, color-mix(in srgb, var(--garden-leaf, #b1d28c) 11%, transparent), transparent 42%),
    linear-gradient(115deg, color-mix(in srgb, var(--bg-deep, #07080d) 82%, transparent), color-mix(in srgb, var(--garden-petal-deep, #965a78) 11%, transparent));
  filter: saturate(.86);
  transition: opacity .22s ease;
  will-change: opacity;
}
.page-transition::before,
.page-transition::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  opacity: .34;
  filter: blur(28px);
  will-change: transform, opacity;
}
.page-transition::before { width: 44vw; height: 28vw; left: -8vw; top: 22%; background: color-mix(in srgb, var(--garden-leaf, #b1d28c) 15%, transparent); }
.page-transition::after { width: 38vw; height: 32vw; right: -10vw; bottom: 12%; background: color-mix(in srgb, var(--garden-petal, #e6a6b6) 14%, transparent); }
.page-transition-petal {
  position: absolute;
  width: 15px;
  height: 25px;
  border: 1px solid color-mix(in srgb, var(--garden-petal, #e6a6b6) 48%, transparent);
  border-radius: 100% 0 100% 0;
  background: linear-gradient(145deg, color-mix(in srgb, var(--garden-petal, #e6a6b6) 64%, transparent), color-mix(in srgb, var(--garden-petal-deep, #965a78) 28%, transparent));
  opacity: 0;
  transform: rotate(24deg);
  will-change: transform, opacity;
}
.page-transition-petal:nth-child(1) { left: 14%; top: 70%; width: 11px; height: 19px; }
.page-transition-petal:nth-child(2) { left: 37%; top: 18%; width: 14px; height: 23px; transform: rotate(78deg); }
.page-transition-petal:nth-child(3) { left: 61%; top: 58%; width: 18px; height: 29px; transform: rotate(142deg); }
.page-transition-petal:nth-child(4) { left: 82%; top: 26%; width: 12px; height: 20px; transform: rotate(208deg); }
.page-transition-petal:nth-child(5) { left: 73%; top: 78%; width: 9px; height: 16px; transform: rotate(288deg); }
body.is-exiting > *:not(.page-transition):not(script) { transition: opacity .24s ease, transform .24s ease, filter .24s ease; opacity: .88; transform: translate3d(0,-7px,0); filter: saturate(.88); }
body.is-entering > *:not(.page-transition):not(script) { opacity: .94; transform: translate3d(0,7px,0); }
html.page-transition-active { overflow-x: hidden; }
@media (max-width: 600px) {
  .page-transition::before, .page-transition::after { filter: blur(20px); opacity: .24; }
  .page-transition-petal:nth-child(n+4) { display: none; }
  body.is-exiting > *:not(.page-transition):not(script) { transform: translate3d(0,-3px,0); }
  body.is-entering > *:not(.page-transition):not(script) { transform: translate3d(0,3px,0); }
}
@media (prefers-reduced-motion: reduce) {
  .page-transition { background: color-mix(in srgb, var(--bg, #0b0c12) 92%, transparent); filter: none; }
  .page-transition::before, .page-transition::after, .page-transition-petal { display: none; }
  body.is-exiting > *:not(.page-transition):not(script), body.is-entering > *:not(.page-transition):not(script) { transition: opacity .1s ease; transform: none; filter: none; }
}
