/* Homepage-only enhancement; invisible phrases reserve the largest line box. */
.editorial-intro h1 > .evolving-line{display:grid}
.evolving-line > span{grid-area:1 / 1;min-width:0}
.evolving-reserve{visibility:hidden;pointer-events:none}
.typing-cursor{display:inline-block;width:1px;height:.72em;margin-left:.08em;background:currentColor;vertical-align:baseline;opacity:.5}
.intro-biography p + p{margin-top:14px}
@media(prefers-reduced-motion:no-preference){.evolving-visible .typing-cursor{animation:typing-blink 1.1s step-end infinite}}
@keyframes typing-blink{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.typing-cursor{visibility:hidden}}
/* Keep the expanded introduction within smaller phone viewports. */
@media(max-width:700px){.intro-biography{max-width:520px}.editorial-intro h1:has(.evolving-line){font-size:clamp(30px,8.5vw,59px)}}
@media(max-height:650px){.editorial-intro:has(.evolving-line){padding-block:16px}.editorial-intro h1:has(.evolving-line){font-size:clamp(26px,5.5vw,54px)}.intro-biography{font-size:14px;margin-top:16px}.intro-biography p + p{margin-top:8px}}

/* Variable sans-serif, scoped to the homepage introduction. */
.intro-copy{font-family:"Inter",Arial,sans-serif;font-optical-sizing:auto}
.intro-copy h1{font-family:"DM Serif Text",Georgia,serif;font-weight:400}
.intro-biography,.intro-linkedin{font-weight:400;letter-spacing:-.015em}
