/* "Zoom into the screen" page transition (js/zoom-transition.js). Transforms + opacity only. */
.pz-overlay { position: fixed; inset: 0; z-index: 2147483000; overflow: hidden; pointer-events: auto; touch-action: none; contain: strict; cursor: progress; }
.pz-overlay > * { position: absolute; pointer-events: none; }
.pz-wash, .pz-cover { inset: 0; opacity: 0; will-change: opacity; }
.pz-wash { background: radial-gradient(120% 90% at 50% 45%, rgba(255,247,238,.94), rgba(255,240,224,.97)); }
.pz-cam { left: 0; top: 0; transform-origin: 0 0; will-change: transform, opacity; opacity: 0; }
.pz-cam svg { display: block; width: 100%; height: 100%; max-width: none; overflow: visible; }
.pz-glow { position: absolute; inset: -18% -14% -10%; border-radius: 50%; background: radial-gradient(closest-side, rgba(251,139,35,.42), rgba(251,139,35,.14) 55%, rgba(251,139,35,0)); will-change: opacity; }
.pz-form { position: absolute; opacity: 0; will-change: opacity; }
.pz-fade { inset: 0; opacity: 0; }
/* hand-off layer: a skeleton of the destination page (panel + card) measured from the real layout */
.pz-dest { inset: 0; }
.pz-panel { position: absolute; overflow: hidden; background: #FB8B23; will-change: transform; }
.pz-img { position: absolute; max-width: none; object-fit: contain; }
.pz-card { position: absolute; transform-origin: 0 0; will-change: transform, opacity; opacity: 0; background: #fff; border: 3px solid #0E0B0F; border-radius: 30px; box-shadow: 0 10px 0 #0E0B0F; }
.pz-inner { position: absolute; will-change: opacity; }
.pz-inner svg { display: block; width: 100%; height: 100%; max-width: none; }
