/* One quiet walk and occasional tail wags; the complete static greeting is the default. */
.fm-about .meguru-invitation {
  --meguru-travel: 42px;
  --meguru-walk-duration: 3.6s;
  flex: 0 0 330px;
  min-width: 0;
  margin-left: auto;
  padding: 8px 0 8px 20px;
  border-left: 1px solid var(--fm-line);
}
.meguru-invitation__link { display:flex; align-items:center; gap:14px; color:var(--fm-ink); text-decoration:none; width:100%; }
.meguru-invitation__link:focus-visible { outline:2px solid var(--fm-red); outline-offset:6px; }
.meguru-invitation__stage { position:relative; display:block; flex:0 0 134px; width:134px; height:112px; }
.meguru-invitation__traveler { position:absolute; right:0; bottom:8px; width:92px; height:92px; }
.meguru-invitation__ground { position:absolute; right:9px; bottom:5px; width:72px; height:6px; border-radius:50%; background:#172b2810; }
.meguru-invitation__stage img { position:absolute; inset:0; display:block; width:100%; height:100%; max-width:none; object-fit:contain; pointer-events:none; }
.meguru-invitation__walk { opacity:0; transform-origin:50% 92%; }
.meguru-invitation__welcome { position:absolute; inset:0; display:block; }
.meguru-invitation__definitions { position:absolute; width:0; height:0; overflow:hidden; }
.meguru-invitation__tail { opacity:0; transform-origin:30% 69%; }
.meguru-invitation.is-tail-ready .meguru-invitation__tail { opacity:1; }
.meguru-invitation.is-tail-ready .meguru-invitation__body { clip-path:url(#fm-meguru-body-clip); }
.meguru-invitation__copy { min-width:0; }
.meguru-invitation__greeting { display:block; margin-bottom:8px; font-size:11px; color:var(--fm-muted); line-height:1.8; }
.meguru-invitation__cta { display:block; font-family:var(--fm-serif); font-size:16px; font-weight:500; line-height:1.7; }
.meguru-invitation__cta>span { display:inline-block; margin-left:7px; font-family:var(--fm-sans); }
@media(hover:hover) { .meguru-invitation__link:hover .meguru-invitation__cta { color:var(--fm-red); } }
.meguru-invitation.is-walking .meguru-invitation__traveler,
.meguru-invitation.is-walking .meguru-invitation__ground { animation:meguru-invitation-travel var(--meguru-walk-duration) linear both; }
.meguru-invitation.is-walking .meguru-invitation__walk { opacity:1; animation:meguru-invitation-step calc(var(--meguru-walk-duration) / 10) ease-in-out 10; }
.meguru-invitation.is-walking .meguru-invitation__welcome { opacity:0; }
.meguru-invitation.is-arriving .meguru-invitation__welcome { animation:meguru-invitation-hello .3s ease-out both; }
.meguru-invitation.is-wagging .meguru-invitation__tail { animation:meguru-invitation-wag 1.2s ease-in-out both; }
.meguru-invitation.is-paused .meguru-invitation__traveler,
.meguru-invitation.is-paused .meguru-invitation__ground,
.meguru-invitation.is-paused .meguru-invitation__walk,
.meguru-invitation.is-paused .meguru-invitation__welcome,
.meguru-invitation.is-paused .meguru-invitation__tail { animation-play-state:paused; }
@keyframes meguru-invitation-travel { from { transform:translateX(calc(-1 * var(--meguru-travel))); } to { transform:translateX(0); } }
@keyframes meguru-invitation-step { 0%,100% { transform:translateY(0) rotate(-1deg); } 50% { transform:translateY(-2px) rotate(1deg); } }
@keyframes meguru-invitation-hello { from { opacity:.3; transform:translateY(2px); } to { opacity:1; transform:translateY(0); } }
@keyframes meguru-invitation-wag {
  0%,100% { transform:rotate(0); }
  18%,54% { transform:rotate(10deg); }
  36%,72% { transform:rotate(-9deg); }
  88% { transform:rotate(4deg); }
}
@media(max-width:1000px) {
  .fm-about .meguru-invitation { flex-basis:100%; margin:10px 0 0; padding:24px 0 0; border-left:0; border-top:1px solid var(--fm-line); }
  .meguru-invitation__link { justify-content:center; gap:24px; }
}
@media(max-width:720px) {
  .fm-about .meguru-invitation { --meguru-travel:32px; padding-top:20px; }
  .meguru-invitation__link { gap:18px; }
  .meguru-invitation__stage { flex-basis:118px; width:118px; height:102px; }
  .meguru-invitation__traveler { width:86px; height:86px; }
  .meguru-invitation__ground { width:66px; }
  .meguru-invitation__cta { font-size:16px; }
}
@media(max-width:359px) {
  .fm-about .meguru-invitation { --meguru-travel:22px; }
  .meguru-invitation__link { gap:12px; }
  .meguru-invitation__stage { flex-basis:100px; width:100px; }
  .meguru-invitation__traveler { width:78px; height:78px; }
  .meguru-invitation__greeting { font-size:10px; }
  .meguru-invitation__cta { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) {
  .meguru-invitation .meguru-invitation__walk { display:none; }
  .meguru-invitation .meguru-invitation__welcome { opacity:1; animation:none!important; }
  .meguru-invitation .meguru-invitation__tail { animation:none!important; transform:none!important; }
  .meguru-invitation .meguru-invitation__traveler,
  .meguru-invitation .meguru-invitation__ground { animation:none!important; transform:none!important; }
}
@media print { .fm-about .meguru-invitation { display:none; } }
