/* A gentle dimensional response after the star-led landing has finished. */
#plate { --agent-x:0; --agent-y:0; }
#hero #plate.is-here .plate-rest {
  transform:perspective(900px) rotateY(calc(var(--agent-x)*4deg)) rotateX(calc(var(--agent-y)*-3deg)) translate3d(calc(var(--agent-x)*7px),calc(var(--agent-y)*4px),0);
  transition:transform 850ms cubic-bezier(.16,1,.3,1);
  animation:agent-breathe 6s ease-in-out infinite;
}
@keyframes agent-breathe { 0%,100% { scale:1; translate:0 0; } 50% { scale:1.009 1.014; translate:0 -3px; } }
#plate.is-here .plate-ground { animation:agent-ground 6s ease-in-out infinite; }
@keyframes agent-ground { 0%,100% { opacity:.8; } 50% { opacity:.55; } }
.agent-orbit { position:absolute; inset:14% 8% 5%; pointer-events:none; opacity:0; transition:opacity 1.8s; }
.is-here .agent-orbit { opacity:1; }
.agent-orbit i { position:absolute; left:50%; top:52%; width:4px; height:4px; border-radius:50%; background:#f2d69a; box-shadow:0 0 12px 2px #e9bd7770; animation:agent-satellite 14s linear infinite; }
.agent-orbit i:nth-child(2) { animation-delay:-4.7s; width:2px; height:2px; opacity:.55; }
.agent-orbit i:nth-child(3) { animation-delay:-9.3s; width:3px; height:3px; opacity:.7; }
@keyframes agent-satellite { from { transform:rotate(-24deg) translateX(130px) rotate(24deg) scale(.7); } 50% { transform:rotate(156deg) translateX(130px) rotate(-156deg) scale(1.1); } to { transform:rotate(336deg) translateX(130px) rotate(-336deg) scale(.7); } }
#plate.agent-offscreen *, #plate.agent-paused * { animation-play-state:paused!important; }
.motion-phrase { display:inline-block; max-width:100%; }
.motion-heading:not(.motion-visible) .motion-phrase { opacity:.72; transform:translateY(10px); }
.motion-visible .motion-phrase { animation:phrase-arrive 760ms cubic-bezier(.16,1,.3,1) var(--phrase-delay,0ms) both; }
@keyframes phrase-arrive { from { opacity:.55; transform:translateY(12px); } to { opacity:1; transform:none; } }
#hero .hero-h em { position:relative; padding-bottom:.055em; }
#hero .hero-h em::after { content:""; position:absolute; height:1px; bottom:0; left:0; right:0; background:linear-gradient(90deg,transparent,#e7c578,transparent); transform-origin:left; transform:scaleX(0); }
#hero:has(#plate.is-here) .hero-h em::after { animation:story-underline 1.1s cubic-bezier(.16,1,.3,1) both; }
@keyframes story-underline { from { transform:scaleX(0); opacity:0; } to { transform:scaleX(1); opacity:.65; } }
@media(max-width:600px) { .agent-orbit { scale:.8; } }
@media(prefers-reduced-motion:reduce) {
 #hero #plate.is-here .plate-rest { transform:none!important; animation:none!important; scale:1; translate:none; }
 .agent-orbit { display:none; }
 #plate.is-here .plate-ground { animation:none; }
 .motion-heading .motion-phrase { animation:none!important; opacity:1!important; transform:none!important; filter:none!important; }
 #hero .hero-h em::after { animation:none; }
}
