/* The canvas survives the content swap; no painted wipe or frozen screenshot. */
html{background:#030605}
.page-particle-transfer{position:fixed;inset:0;width:100%;height:100%;z-index:10000;pointer-events:none}
@media(prefers-reduced-motion:no-preference){
  .particle-page-leaving body>main,.particle-page-leaving body>header,.particle-page-leaving body>footer{
    opacity:0;transition:opacity .18s ease;pointer-events:none}
  .particle-page-arriving body>main,.particle-page-arriving body>header,.particle-page-arriving body>footer{opacity:0}
  .particle-page-arriving.particle-page-reveal body>main,
  .particle-page-arriving.particle-page-reveal body>header,
  .particle-page-arriving.particle-page-reveal body>footer{opacity:1;animation:particle-content-in .38s ease both}
  :is(.particle-page-leaving,.particle-page-arriving) :is(.particle-world,.hero-system-particles,.capability-flow,.method-particles,.sw-flow){visibility:hidden}
  .particle-page-leaving .reticle{opacity:0}
}
@keyframes particle-content-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.page-particle-transfer{display:none}}
