.will-animate{ will-change: transform, opacity, filter, clip-path, letter-spacing; }
.mask-reveal{ display:inline-block; overflow:hidden; }
.gradient-text{
  background: linear-gradient(90deg, #9aa, #fff, #9aa);
  background-size: 200% 100%;
  -webkit-background-clip:text; background-clip:text; color: transparent;
}
/* Typewriter caret */
.type-caret{ position:relative; }
.type-caret::after{
  content:""; display:inline-block; width:1px; height:1em; margin-left:2px;
  background: currentColor; animation: caretBlink 1s step-end infinite; vertical-align: -0.1em;
}
@keyframes caretBlink{ 50%{ opacity:0; } }
/* Underline draw */
.u-draw{ position: relative; }
.u-draw::after{
  content:""; position:absolute; left:0; right:0; bottom:-0.1em; height:2px; background: currentColor;
  transform-origin:left center; transform: scaleX(var(--u,0));
}
.highlight-sweep{
  background-image: linear-gradient(120deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.35) 50%, rgba(255,255,255,0) 100%);
  background-repeat: no-repeat; background-position: 0 100%; background-size: 0% 100%;
}
.text-glow{ text-shadow: 0 0 0 currentColor; }
.has-3d{ transform-style: preserve-3d; }
.stroke-reveal{
  -webkit-text-stroke: 1px currentColor;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
/* container per permettere l'overlay assoluto */
.diag-band-wrap { position: relative; display: inline-block; }

/* overlay con gradiente nel testo */
.diag-band-overlay{
  position: absolute; inset: 0;
  pointer-events: none;
  /* il gradiente: bianco ovunque + banda gialla al centro */
  background-image: linear-gradient(
    var(--angle, 150deg),
    #fff 0%,
    #fff calc(50% - var(--bw, 10%)),
    var(--band, #FDB71C) calc(50% - var(--bw, 10%)) calc(50% + var(--bw, 10%)),
    #fff calc(50% + var(--bw, 10%)),
    #fff 100%
  );
  background-size: 200% 200%;
  background-position: -50% -50%;
  background-repeat: no-repeat;

  /* clip del gradiente dentro al testo dell'overlay */
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;

  /* allinea la tipografia all'originale */
  display: inline-block;
  white-space: inherit;
  line-height: inherit;
}

  