/* Reuse the homepage's onform-glyph-arrive, onform-photo-unfold and
   onform-detail-arrive keyframes, with case-study-specific triggers. */
.pep-arrival-word {display:inline-block;white-space:nowrap;perspective:600px;}
/* Negative tracking lets the last glyph extend beyond its advance width.
   Compensated inline padding protects that ink without changing layout. */
.pep-arrival-mask {display:inline-block;vertical-align:baseline;overflow:clip;padding:.14em .12em;margin:-.14em -.12em;}
.pep-arrival-glyph {display:inline-block;transform-origin:50% 80%;}
.pep-arrivals-ready [data-pep-arrival]:not(.has-arrived) {opacity:0;}
.pep-arrivals-ready [data-pep-arrival="glyphs"].has-arrived .pep-arrival-glyph {
 animation:onform-glyph-arrive 1.15s cubic-bezier(.16,1,.3,1) calc(var(--arrival-delay,0ms) + var(--glyph-index)*.047s) backwards;
}
.pep-arrivals-ready [data-pep-arrival="detail"].has-arrived {
 animation:onform-detail-arrive 1s cubic-bezier(.16,1,.3,1) var(--arrival-delay,0ms) backwards;
}
.pep-arrivals-ready [data-pep-arrival="rise"].has-arrived {
 animation:pep-content-arrive 1.05s cubic-bezier(.16,1,.3,1) var(--arrival-delay,0ms) backwards;
}
.pep-arrivals-ready [data-pep-arrival="media"].has-arrived {
 animation:onform-photo-unfold 1.6s cubic-bezier(.16,1,.3,1) var(--arrival-delay,0ms) backwards;
}
.pep-arrivals-ready [data-pep-arrival="fade"].has-arrived {
 animation:pep-art-arrive .9s ease var(--arrival-delay,0ms) backwards;
}
@keyframes pep-content-arrive {from {opacity:0;translate:0 30px;} to {opacity:1;translate:0 0;}}
@keyframes pep-art-arrive {from {opacity:0;} to {opacity:1;}}
/* Keyboard interaction is immediate, including focus inside the live previews. */
.pep-arrivals-ready [data-pep-arrival]:focus-within,
.pep-arrivals-ready [data-pep-arrival]:focus-within .pep-arrival-glyph {opacity:1;animation:none;}
@media(max-width:700px) {@keyframes pep-content-arrive {from {opacity:0;translate:0 18px;} to {opacity:1;translate:0 0;}}}
@media(prefers-reduced-motion:reduce) {
 .pep-arrivals-ready [data-pep-arrival],.pep-arrivals-ready [data-pep-arrival] .pep-arrival-glyph {opacity:1!important;animation:none!important;}
}
@media print {.pep-arrivals-ready [data-pep-arrival],.pep-arrivals-ready [data-pep-arrival] .pep-arrival-glyph {opacity:1!important;animation:none!important;}}
