/* 🔴 position:relative makes the wordmark the offsetParent of its own letters,
   so each letter's offsetLeft/offsetTop is measured from the mark itself.
   That is what lets rkft-vapor.js slice the gradient without ever calling
   getBoundingClientRect(), which would report transformed geometry mid-animation. */
.rkft-name,.pzft-rk{position:relative}
/* House footer vaporizer — the letters. The gradient stays on the wordmark;
   each letter inherits it and rkft-vapor.js gives it its own SLICE.
   🔴 Never give a letter its own gradient. See rkft-vapor.js. */
.rkft-name .rkv,
.pzft-rk .rkv{
  display:inline-block;
  background:inherit;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:inherit;
  will-change:transform,filter,opacity;
  transition:transform .42s cubic-bezier(.16,.84,.24,1),
             filter .42s cubic-bezier(.16,.84,.24,1),
             opacity .42s cubic-bezier(.16,.84,.24,1);
}
@media (prefers-reduced-motion:reduce){
  .rkft-name .rkv,.pzft-rk .rkv{transition:none}
}
