.contact-roll-copy{display:block;min-width:0;transform-origin:50% 0}
.contact-roll-line{display:block;position:relative;overflow:hidden;line-height:1.12;margin-block:-.085em;white-space:nowrap}
.contact-roll-layer{display:block;padding-right:.08em}
.contact-roll-accent{position:absolute;inset:0;color:#ef977e;opacity:0;pointer-events:none}
.contact-roll-letter{display:inline-block;vertical-align:top;white-space:pre}
.contact-roll-accent .contact-roll-letter{transform:translateY(100%)}
.contact-link:focus-visible{outline:2px solid currentColor;outline-offset:12px;border-radius:4px}
@media(prefers-reduced-motion:reduce){.contact-link .contact-arrow{transition:none;transform:none}.contact-roll-copy{transform:none!important}.contact-roll-accent{display:none}.contact-roll-layer:not(.contact-roll-accent) .contact-roll-letter{transform:none!important}}

/* Keep the two heading layouts while sharing the contact link's hover motion. */
.intro-heading h1.contact-roll-title span,.approach-title.contact-roll-title span{text-align:inherit}
.intro-heading h1 .contact-roll-letter,.approach-title .contact-roll-letter{display:inline-block}
.contact-roll-title .contact-roll-line{margin-block:-.11em;text-align:left}
.intro-heading h1.contact-roll-title .contact-roll-line:first-child{text-align:right}
.approach-title.contact-roll-title .contact-roll-line:first-child{text-align:left}
.approach-title.contact-roll-title .contact-roll-line:last-child{text-align:right}
.contact-roll-title .contact-roll-accent{color:#b5462a}

/* One random letter per line switches at rest; hover owns the outer glyph. */
/* Negative tracking narrows the advance box; only mask the vertical letter roll. */
.contact-roll-title .contact-idle-cell{height:1.12em;overflow-x:visible;overflow-y:clip}
.contact-roll-title .contact-idle-track{display:block;position:relative;height:100%}
.contact-roll-title .contact-idle-glyph{display:block;height:100%;line-height:1.12}
.contact-roll-title .contact-idle-glyph + .contact-idle-glyph{position:absolute;left:0;top:100%}
