/* sherpad credit - firma "developer sherpad" riusabile (drop-in).
   Centrato, peso 500, neutro: eredita currentColor dal footer ospite.
   Animazione "Ascent" (il logo cresce dalla base) + "developer" che si digita.
   Nessuna dipendenza. Scala tutto da --scr-size (font-size dell'elemento). */
.sherpad-credit {
  --scr-size: 38px;
  display: inline-flex; flex-direction: column; align-items: center; gap: 5px;
  font-family: 'DM Sans', system-ui, sans-serif; font-size: var(--scr-size);
  line-height: 1; color: currentColor; text-decoration: none; text-transform: none; font-style: normal;
  cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.sherpad-credit .scr-role {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  font-size: .62em; font-weight: 500; text-transform: uppercase;
  color: color-mix(in srgb, currentColor 56%, transparent);
}
.sherpad-credit .scr-letters { display: inline-flex; letter-spacing: .22em; margin-right: -.22em; } /* compensa il tracking di coda → vera centratura */
.sherpad-credit .scr-letters span { opacity: 0; }
.sherpad-credit .scr-caret {
  position: absolute; left: 100%; top: 50%; transform: translateY(-50%);
  width: .09em; height: 1.05em; background: currentColor; margin-left: .1em; opacity: 0;
}
.sherpad-credit.scr-typing .scr-caret { animation: scr-blink .55s steps(1) infinite; }
@keyframes scr-blink { 0%,50% { opacity: .85; } 50.01%,100% { opacity: 0; } }

.sherpad-credit .scr-lockup { display: inline-flex; align-items: center; gap: .34em; }
.sherpad-credit .scr-mk { height: 1.32em; width: auto; display: block; overflow: visible; color: inherit; flex: none; }
/* base = stato collassato; l'animazione (non transition) parte con .scr-run e RIPARTE
   in modo affidabile al toggle di classe sull'hover (le transition no, vedi run()). */
.sherpad-credit .scr-peak { transform: scaleY(0); transform-box: fill-box; transform-origin: center bottom; }
.sherpad-credit .scr-back  { fill: currentColor; opacity: .42; }
.sherpad-credit .scr-front { fill: currentColor; }
.sherpad-credit .scr-wm { font-size: 1em; font-weight: 500; letter-spacing: -.025em; white-space: nowrap;
  opacity: 0; transform: translateX(-.5em); }

/* stato animato (aggiunto da JS quando entra in vista / hover) */
.sherpad-credit.scr-run .scr-back  { animation: scr-grow .58s cubic-bezier(.34,1.56,.64,1) both; }
.sherpad-credit.scr-run .scr-front { animation: scr-grow .58s cubic-bezier(.34,1.56,.64,1) .14s both; }
.sherpad-credit.scr-run .scr-wm    { animation: scr-wm .5s cubic-bezier(.2,.8,.2,1) .18s both; }
@keyframes scr-grow { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes scr-wm { from { opacity: 0; transform: translateX(-.5em); } to { opacity: 1; transform: translateX(0); } }

@media (prefers-reduced-motion: reduce) {
  .sherpad-credit .scr-peak, .sherpad-credit .scr-wm { animation: none; transform: none; opacity: 1; }
  .sherpad-credit .scr-letters span { opacity: 1; }
  .sherpad-credit .scr-caret { display: none; }
}
