.portfolio-transition[hidden] { display:none; }
.portfolio-transition {
  position:fixed; inset:0; z-index:1100; display:grid; place-items:center;
  overflow:hidden; background:#000; color:#f4eee3; color-scheme:dark;
  font-family:Arial,Helvetica,sans-serif;
}
.portfolio-tiger-stage {
  position:relative; width:clamp(300px,46vw,580px); max-width:94vw;
  aspect-ratio:420/310; transform:translateY(-1vh);
}
.tiger-pounce-canvas,.tiger-pounce-fallback {
  position:absolute; inset:0; display:block; width:100%; height:100%;
  pointer-events:none;
}
.tiger-pounce-fallback { overflow:visible; }
.tiger-pounce-canvas { z-index:1; }
.tiger-pounce-canvas[hidden] { display:none; }
.is-simple-fallback .tiger-pounce-fallback {
  transform-origin:50% 55%;
  animation:tiger-pounce-fallback 1080ms cubic-bezier(.45,0,.55,1) infinite;
}
@keyframes tiger-pounce-fallback {
  0%,100% { transform:translate(-1%,0) rotate(0); }
  18% { transform:translate(-2%,2%) rotate(2deg); }
  45% { transform:translate(5%,-7%) rotate(-6deg); }
  65% { transform:translate(6%,-3%) rotate(-3deg); }
  82% { transform:translate(2%,2%) rotate(1deg); }
}
.portfolio-transition-message { position:absolute; top:calc(50% + min(21vw,225px)); left:20px; right:20px; text-align:center; }
.portfolio-transition-caption { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.portfolio-transition.failed .portfolio-transition-caption { position:static; width:auto; height:auto; margin:0; clip-path:none; white-space:normal; color:#ddd2c0; font-size:13px; line-height:1.6; }
.portfolio-return { min-height:44px; margin-top:18px; padding:10px 4px; border:0; border-bottom:1px solid currentColor; background:none; color:inherit; font:14px/1.4 Arial,Helvetica,sans-serif; cursor:pointer; }
.portfolio-return[hidden] { display:none; }
.portfolio-return:focus-visible { outline:2px solid #e0b96f; outline-offset:5px; }
.portfolio-transition.failed .is-simple-fallback .tiger-pounce-fallback,
.portfolio-transition.is-paused .is-simple-fallback .tiger-pounce-fallback { animation-play-state:paused; }
.portfolio-transition.is-instant .tiger-pounce-fallback { animation:none; }
@media (prefers-reduced-motion:reduce) { .tiger-pounce-fallback { animation:none!important; } }
