/* ==========================================
   ULTRAKIT TEXT REVEAL ON SCROLL
   ========================================== */
.ultrakit-trv-wrapper { --trv-c: #1a1a2e; --trv-d: #d6d6e6; --trv-g2: #6c5ce7; --trv-w: 700; --trv-size: 44px; width: 100%; box-sizing: border-box; font-family: inherit; }
.trv-al-center { margin-left: auto; margin-right: auto; text-align: center; }
.trv-al-right { margin-left: auto; text-align: right; }
.ultrakit-trv-text { margin: 0; font-size: var(--trv-size); font-weight: var(--trv-w); line-height: 1.3; letter-spacing: -0.01em; color: var(--trv-c); }
.ultrakit-trv-word { display: inline-block; }
.ultrakit-trv-u { --p: 0; transition: none; }
.trv-fx-fade .ultrakit-trv-u { opacity: calc(0.12 + var(--p) * 0.88); }
.trv-fx-fill .ultrakit-trv-u { color: color-mix(in srgb, var(--trv-c) calc(var(--p) * 100%), var(--trv-d)); }
.trv-fx-fill.trv-grad .ultrakit-trv-u { color: transparent; background: linear-gradient(90deg, var(--trv-c), var(--trv-g2)); -webkit-background-clip: text; background-clip: text; opacity: calc(0.22 + var(--p) * 0.78); }
.trv-fx-blur .ultrakit-trv-u { opacity: calc(0.15 + var(--p) * 0.85); filter: blur(calc((1 - var(--p)) * 8px)); }
.trv-fx-rise .ultrakit-trv-u { display: inline-block; opacity: var(--p); transform: translateY(calc((1 - var(--p)) * 0.6em)); }
.trv-grad:not(.trv-fx-fill) .ultrakit-trv-u { background: linear-gradient(90deg, var(--trv-c), var(--trv-g2)); -webkit-background-clip: text; background-clip: text; color: transparent; }
@media (prefers-reduced-motion: reduce) { .ultrakit-trv-u { --p: 1 !important; } }
