/* The plane and reveal travel together; the complete name reserves its space. */
.nav .brand-wordmark { display:inline-flex; position:relative; align-items:baseline; white-space:nowrap; }
.nav .brand-ending { position:relative; display:inline-block; }
.nav .brand-glide { display:block; }
.nav .brand-flight-track { position:absolute; inset:0; opacity:0; pointer-events:none; }
/* A compact silhouette sits on the word's line, with its tail at the g. */
.nav .brand-flight { position:absolute; width:1em; height:auto; max-width:none; left:0; top:50%; transform:translateY(-50%); transform-origin:20% 55%; }

@media (prefers-reduced-motion:no-preference) {
  .brand-motion-ready .nav .brand-motion:not(.is-static) .brand-glide { clip-path:inset(0 100% 0 0); }
  .nav .brand-motion.is-flying .brand-glide { animation:classglide-reveal 1800ms cubic-bezier(.32,.08,.3,1) both; }
  .nav .brand-motion.is-flying .brand-flight-track { opacity:1; animation:classglide-flight 1800ms cubic-bezier(.32,.08,.3,1) both; }
  .nav .brand-motion.is-flying .brand-flight { animation:classglide-bank 1800ms ease-in-out both; }
  .nav .brand-motion.is-static .brand-flight-track { opacity:0; }
}

@keyframes classglide-reveal {
  from { clip-path:inset(0 100% 0 0); }
  to { clip-path:inset(0 0 0 0); }
}

@keyframes classglide-flight {
  from { transform:translateX(0); }
  to { transform:translateX(100%); }
}

@keyframes classglide-bank {
  0% { opacity:0; transform:translateY(-50%) rotate(3deg) scale(.88); }
  12% { opacity:1; }
  55% { opacity:1; transform:translateY(-50%) rotate(-2deg) scale(1); }
  82% { opacity:1; }
  100% { opacity:0; transform:translateY(calc(-50% - 4px)) rotate(-12deg) scale(.9); }
}

@media (prefers-reduced-motion:reduce) {
  .nav .brand-motion .brand-glide { animation:none; clip-path:none; }
  .nav .brand-motion .brand-flight-track { display:none; animation:none; }
  .nav .brand-motion .brand-flight { animation:none; }
}
