/* v45: native text reveal; no font substitution at completion. */
html.hms-boot :is(.paper-intro > h1,.paper-intro > p,.service-hero > h1,.service-hero > h2,.service-hero > p,.agent-hero-copy > h1,.agent-hero-copy > p) { visibility: hidden; }
[data-hms-flow="pending"] { opacity: 0; translate: 0 26px; }
[data-hms-flow="running"] { animation: hms-flow-in .94s cubic-bezier(.22,.8,.3,1) var(--hms-flow-delay,0s) both; }
@keyframes hms-flow-in { from { opacity: 0; translate: 0 26px; } to { opacity: 1; translate: 0 0; } }
/* Keep characters inline: normal wrapping, line metrics and font inheritance. */
hms-character { display: inline; }
[data-hms-letters="running"] hms-character {
  animation: hms-character-in .68s cubic-bezier(.22,1,.36,1) var(--hms-character-delay,0s) both;
}
[data-hms-flow="letters"] {
  animation: hms-title-lift 1s cubic-bezier(.22,1,.36,1) var(--hms-flow-delay,0s) both;
}
@keyframes hms-character-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes hms-title-lift { from { translate: 0 16px; } to { translate: none; } }
@media(max-width:760px){
  [data-hms-flow="pending"] { translate: 0 18px; }
  @keyframes hms-flow-in { from { opacity: 0; translate: 0 18px; } to { opacity: 1; translate: 0 0; } }
}
@media(prefers-reduced-motion:reduce){
  html.hms-boot :is(.paper-intro > h1,.paper-intro > p,.service-hero > h1,.service-hero > h2,.service-hero > p,.agent-hero-copy > h1,.agent-hero-copy > p) { visibility: visible; }
  [data-hms-flow] { opacity: 1; translate: none; animation: none; }
  [data-hms-letters] hms-character { opacity: 1; animation: none; }
}

/* Whole-item entrances: no per-character treatment in these regions. */
[data-hms-flow="soft"] { animation: hms-soft-in .65s cubic-bezier(.22,1,.36,1) var(--hms-flow-delay,0s) both; }
[data-hms-flow="pop"] { animation: hms-pop-in .50s cubic-bezier(.22,1,.36,1) var(--hms-flow-delay,0s) both; }
@keyframes hms-soft-in { from {opacity:0;translate:0 10px} to {opacity:1;translate:0 0} }
@keyframes hms-pop-in { from {opacity:0;translate:0 14px;scale:.98} to {opacity:1;translate:0 0;scale:1} }
@media(prefers-reduced-motion:reduce){[data-hms-flow="soft"],[data-hms-flow="pop"]{animation:none;opacity:1;translate:none;scale:none}}
