/* Letter-by-letter light reveal. Catchcopy and photo wipes keep their own motion. */
.title-wipe {
  position:relative;
  display:inline-block;
  vertical-align:top;
  max-width:100%;
  clip-path:none;
}
.title-wipe-text { display:block; opacity:1; translate:none; }
/* Each letter paints a real color: filtered text never depends on a parent text mask. */
html body [data-title-wipe][data-title-gradient] {
  background:none;
  background-clip:border-box;
  -webkit-background-clip:border-box;
  color:#00a5dd;
  -webkit-text-fill-color:currentColor;
}
[data-title-gradient] > .title-wipe > .title-wipe-text {
  background:none;
  color:#00a5dd;
  -webkit-text-fill-color:currentColor;
}
.title-char {
  display:inline;
  font-style:inherit;
  color:inherit;
  -webkit-text-fill-color:currentColor;
  opacity:1;
  filter:none;
}
[data-title-gradient] .title-char { color:var(--title-char-color,#00a5dd); }
.guidance-heading h2 > .title-wipe { display:inline-block; color:inherit; }
.guidance-heading h2 .title-wipe-text > span {
  display:block;
  color:var(--ink);
  -webkit-text-fill-color:currentColor;
}
.guidance-heading h2 .title-wipe-text > span .title-char { color:var(--ink); }
.risk-detail-page .risk-detail-header h1 > .title-wipe:first-child { color:var(--ink); }
.risk-detail-page .risk-detail-header h1 .title-wipe-text:first-child {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  column-gap:.18em;
  color:var(--ink);
}
.risk-detail-page .risk-detail-header h1 .title-wipe-text > span:first-child { color:var(--risk-readable); }
.title-prepare [data-title-wipe] .title-char,
[data-title-wipe].title-armed .title-char { opacity:0; filter:blur(8px); }
.title-entering .title-char {
  animation:title-light-in 1.2s cubic-bezier(.77,0,.175,1) both;
  animation-delay:calc(var(--title-char-step,.12s) * var(--title-char-index,0));
}
@keyframes title-light-in {
  0% { opacity:0; filter:blur(8px); }
  38% { opacity:1; filter:blur(2px); }
  70%,100% { opacity:1; filter:blur(0); }
}
.section-motion-paused .title-entering .title-char { animation-play-state:paused; }
.title-armed:focus-within .title-char { opacity:1; filter:none; }
.recruit-page .rec-message-copy h3 > .copy-line { padding:0; background:none; }
.recruit-page .rec-message-copy h3 .copy-text { display:block; }
@media(prefers-reduced-motion:reduce) {
  .title-prepare [data-title-wipe] .title-char,
  [data-title-wipe] .title-char { opacity:1!important; filter:none!important; animation:none!important; }
}
