/* ============================================================
   Scroll-reveal text: words start in muted grey, fade to ink
   as they enter the viewport (Gauss/Apple editorial style)
   ============================================================ */

.reveal-text {
  /* Space between words handled by whitespace; override text color via spans */
  color: rgba(15, 20, 32, 0.18); /* fallback for no-JS: still legible */
}

.reveal-text .rw {
  display: inline-block;
  color: rgba(15, 20, 32, 0.18);
  /* Shorter transition so word-by-word cascade feels crisp, not mushy */
  transition: color 0.22s cubic-bezier(0.22, 0.61, 0.36, 1);
  white-space: pre;
}
.reveal-text .rw.is-on {
  color: var(--ink);
}
/* Teal accent: when a .ink-wrapped span reveals, keep the teal */
.reveal-text .ink .rw.is-on,
.reveal-text .ink.rw.is-on {
  color: var(--teal);
}

/* Bold segments (<b>) inside bullets — keep their weight, same fade */
.reveal-text b .rw,
.reveal-text .rw b {
  font-weight: 600;
}

/* Respect reduced motion — just show final ink, no transition */
@media (prefers-reduced-motion: reduce) {
  .reveal-text,
  .reveal-text .rw {
    color: var(--ink);
    transition: none;
  }
}
