/* === transizione "snap" tra le pagine (uscita: polvere; arrivo: la polvere si ricompone) === */
.snap-stage{position:fixed;inset:0;z-index:100;pointer-events:none;overflow:hidden}
.snap-stage canvas{position:absolute;left:0;top:0;width:100vw;height:100vh;will-change:transform,opacity;transition:transform 1.1s cubic-bezier(.4,0,.6,1),opacity 1.1s ease-in}
.snap-veil{position:fixed;inset:0;z-index:99;background:var(--bg)}
body.snap-fallback main,body.snap-fallback header,body.snap-fallback footer{transition:opacity .7s,filter .7s;opacity:0;filter:blur(10px)}
.arrive-dust{position:fixed;inset:0;z-index:100;pointer-events:none;width:100vw;height:100vh}
html.arriving header.top,html.arriving main,html.arriving footer{opacity:0;filter:blur(12px)}
html.arrived header.top,html.arrived main,html.arrived footer{transition:opacity 1.1s ease-out,filter 1.1s ease-out;opacity:1;filter:none}
/* === fine transizione === */
