::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal;}
html[data-home-entry="landing"]::view-transition-group(root){animation-duration:700ms;}
html[data-home-entry="landing"]::view-transition-old(root){animation:none;z-index:1;}
html[data-home-entry="landing"]::view-transition-new(root){animation:portfolio-paper-return 700ms cubic-bezier(.5,.03,.3,1) both;z-index:2;box-shadow:0 -28px 45px #050b16aa;}
@keyframes portfolio-paper-return{from{transform:translateY(104%);}to{transform:translateY(0);}}
html[data-home-entry="landing"] .cabinet{visibility:hidden;}
/* The incoming sheet is tied to the outgoing station cable at its top edge.
   This is captured with the sheet and disappears once its lift is complete. */
html[data-home-lift="pulling"] body::before{
  content:"";position:fixed;left:var(--flight-return-tether-x,50%);top:0;
  width:32px;height:32px;transform:translateX(-50%);z-index:1001;pointer-events:none;
  background:url("/assets/ui/flight-page-ring.svg") center/contain no-repeat;
}
.flight-tether{position:fixed;inset:0;width:100%;height:100%;z-index:999;pointer-events:none;overflow:visible;}
.flight-cabinet { position:fixed;z-index:1000;pointer-events:none;transform-origin:50% 92%;will-change:transform; }
.flight-cabinet-image { position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;
  /* Transient flight mask removes only the source's paper surround and floor shadow. */
  clip-path:polygon(9.6% 7.5%,39.3% 5.4%,41.7% 3.4%,44.5% 1.6%,47.8% 1.6%,51.2% 3.8%,55.3% 4.9%,81.7% 3.5%,84% 3.8%,92% 7.5%,92% 90.1%,89% 92.1%,81% 94.6%,80.7% 95.3%,73% 95.3%,72.8% 93.6%,20.1% 92%,19.7% 92.7%,12.8% 92.7%,12.6% 91.1%,9.6% 90.7%);
}
.flight-cabinet .flight-rig { z-index:0; }
.flight-status { position:fixed;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
html.flight-running { overflow:hidden; }
html.flight-running .site-header,html.flight-running main,html.flight-running .site-footer { pointer-events:none; }
html.flight-running .menu-toggle { visibility:hidden; }
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important;}}
