/* ===== assets/css/components/wipe.css ===== */
/* v48 — THE SERVICES STRIP'S REVEAL, ON THE REST OF THE PAGE (client).
   The journey's copy blocks are revealed behind a moving edge with a narrow indigo band riding
   it, and the client wants the hero and the figures to arrive the same way. The technique is
   the strip's own and it is not negotiable: the line is written TWICE and both copies are
   clipped — never a per-character loop, which would break the joins in Persian and turn the
   word into loose letterforms. `.acc` is aria-hidden, so nothing is read out or indexed twice.
   Everything here is inert until the script adds `.wipe`, so if it never runs the type is
   simply type. */
.wipe { position: relative; }
.wipe > .wipe__base { display: block; }
.wipe > .wipe__acc {
  position: absolute;
  inset-block-start: 0;
  inset-inline: 0;
  color: var(--wipe-accent, #4f52e0);
  user-select: none;
  pointer-events: none;
  clip-path: inset(0 0 0 100%);
}
/* the hero's keyframe entrance hands over to the wipe on the elements that get one */
.hero [data-hero].wipe, .hero [data-hero] .wipe { animation: none; }
/* on the dark hero the band has to carry against black, not against paper */
.hero { --wipe-accent: #8f92ff; }
@media (prefers-reduced-motion: reduce) {
  .wipe > .wipe__acc { display: none; }
  .wipe > .wipe__base { clip-path: none !important; }
}
