.page-reveal { position:fixed; z-index:var(--z-reveal); inset:0; pointer-events:none; animation:reveal-finish 0s linear 1.15s forwards; }
.page-reveal::before,.page-reveal::after { position:absolute; inset:0; background:var(--navy); content:""; will-change:transform; }
.page-reveal::before { clip-path:polygon(0 0,100% 0,0 100%); animation:reveal-left 900ms cubic-bezier(.76,0,.24,1) 180ms forwards; }
.page-reveal::after { background:var(--navy-dark); clip-path:polygon(100% 0,100% 100%,0 100%); animation:reveal-right 900ms cubic-bezier(.76,0,.24,1) 180ms forwards; }
@keyframes reveal-left { to { transform:translateX(-100%); } }
@keyframes reveal-right { to { transform:translateX(100%); } }
@keyframes reveal-finish { to { visibility:hidden; } }
@media(prefers-reduced-motion:reduce) { .page-reveal { display:none; } }
