/* MEV 2.0 — PAGE→PAGE production transition — A1 FINAL LIVE — 2026-09-08. */
:root{
  --mev-page-transition-grey:#EFF0E9;
  --mev-page-transition-beige:#F9F9EF;
  --mev-page-transition-exit:480ms;
  --mev-page-transition-entry:480ms;
  --mev-page-transition-ease:cubic-bezier(.22,.61,.36,1);
}
.mev-page-transition-stage{
  position:fixed;
  inset:0;
  z-index:2147482600;
  overflow:hidden;
  visibility:hidden;
  pointer-events:none;
}
.mev-page-transition-stage.is-active,
html.mev-page-transition-arrival-pending .mev-page-transition-stage{visibility:visible}
.mev-page-transition-sheet{
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  width:100vw;
  display:block;
  box-sizing:border-box;
  pointer-events:none;
  will-change:transform,opacity;
  opacity:1;
}
.mev-page-transition-sheet--grey{
  background:var(--mev-page-transition-grey);
  transform:translate3d(100vw,0,0);
  transition:transform var(--mev-page-transition-exit) var(--mev-page-transition-ease);
}
.mev-page-transition-sheet--beige{
  background:var(--mev-page-transition-beige);
  transform:translate3d(200vw,0,0);
  transition:transform var(--mev-page-transition-exit) var(--mev-page-transition-ease),opacity var(--mev-page-transition-entry) var(--mev-page-transition-ease);
}
/* Human-validated exit: P1 | GREY | BEIGE → BEIGE full screen. */
.mev-page-transition-stage.is-closing .mev-page-transition-sheet--grey{transform:translate3d(-100vw,0,0)}
.mev-page-transition-stage.is-closing .mev-page-transition-sheet--beige{transform:translate3d(0,0,0)}
/* Arrival preflight reconstructs only the final beige field. */
html.mev-page-transition-arrival-pending .mev-page-transition-sheet--grey{display:none}
html.mev-page-transition-arrival-pending .mev-page-transition-sheet--beige{
  display:block;
  opacity:1;
  transform:translate3d(0,0,0);
  transition:none;
}
/* Breath arrival: no incoming wipe; beige simply breathes away to P2. */
html.mev-page-transition-arrival-pending .mev-page-transition-stage.is-opening .mev-page-transition-sheet--beige{
  opacity:0;
  transition:opacity var(--mev-page-transition-entry) var(--mev-page-transition-ease);
}
/* DRAFT WITNESS — MOBILE PHONE FADE-ONLY / NO HOLD — 2026-09-08.
   <=767px: no horizontal grey→beige wipe. The transition layer fades only through MEV beige; navigation hold = 0ms.
   >767px: A1 production law above remains byte-for-byte authoritative. */
@media(max-width:767px){
  .mev-page-transition-sheet--grey{display:none!important}
  .mev-page-transition-sheet--beige{
    display:block;
    transform:none;
    opacity:0;
    transition:opacity var(--mev-page-transition-exit) var(--mev-page-transition-ease)
  }
  .mev-page-transition-stage.is-closing .mev-page-transition-sheet--beige{
    transform:none;
    opacity:1
  }
  html.mev-page-transition-arrival-pending .mev-page-transition-sheet--beige{
    display:block;
    transform:none;
    opacity:1;
    transition:none
  }
  html.mev-page-transition-arrival-pending .mev-page-transition-stage.is-opening .mev-page-transition-sheet--beige{
    transform:none;
    opacity:0;
    transition:opacity var(--mev-page-transition-entry) var(--mev-page-transition-ease)
  }
}
@media(prefers-reduced-motion:reduce){.mev-page-transition-stage{display:none!important}}
