/* A small shared bridge; only compositor-friendly opacity/transform layers animate. */
@view-transition{navigation:auto}
::view-transition-group(root){animation-duration:0s}
::view-transition-old(root){animation:portfolio-document-out .22s ease both}
::view-transition-new(root){animation:portfolio-document-in .22s ease both}
@keyframes portfolio-document-out{to{opacity:0}}
@keyframes portfolio-document-in{from{opacity:0}to{opacity:1}}
.portfolio-passage{position:fixed;inset:0;z-index:20010;pointer-events:all;contain:layout paint;isolation:isolate;background:transparent;overflow:hidden}
.portfolio-passage[data-mode="1"]{background:var(--passage-color,#14151f);opacity:0}
.portfolio-passage.is-filled[data-mode="1"]{opacity:1}
.passage-pane{position:absolute;display:none;background:var(--passage-color,#14151f);inset:0;transform:translateY(101%);transform-origin:50% 50%}
.portfolio-passage[data-mode="2"] .passage-pane:first-child{display:block;width:150vmax;height:150vmax;inset:calc(50% - 75vmax) auto auto calc(50% - 75vmax);border-radius:50%;transform:scale(0)}
.portfolio-passage[data-mode="3"] .passage-pane{display:block;width:25.1%;transform:translateY(-102%)}
.portfolio-passage[data-mode="3"] .passage-pane:nth-child(2){left:25%}
.portfolio-passage[data-mode="3"] .passage-pane:nth-child(3){left:50%}
.portfolio-passage[data-mode="3"] .passage-pane:nth-child(4){left:75%}
.portfolio-passage[data-mode="4"] .passage-pane:first-child{display:block;inset:-40vmax;transform:translateX(-125%) rotate(-12deg)}
.portfolio-passage[data-mode="5"] .passage-pane:first-child{display:block}
.portfolio-passage[data-mode="6"] .passage-pane:first-child{display:block;transform-origin:left center;transform:perspective(1200px) rotateY(-95deg);backface-visibility:hidden}
.portfolio-passage.is-filled .passage-pane{transform:none}
.portfolio-passage.is-filled[data-mode="4"] .passage-pane{transform:rotate(-12deg)}
.passage-preview{position:absolute;display:block;object-fit:contain;max-width:none;transform-origin:0 0;border:2px solid #515267;border-radius:14px;background:#1e202d;z-index:1}

