/* Phương án C – chữ chuyển động */
.kw{display:inline-block;overflow:hidden;vertical-align:bottom;padding:.2em .04em .16em;margin:-.2em -.04em -.16em;white-space:nowrap}
.kc{display:inline-block;will-change:transform,opacity,filter;transition:translate .25s cubic-bezier(.2,.8,.2,1),scale .25s cubic-bezier(.2,.8,.2,1)}
.kin.kin-on{animation:none}
.kin .kc{animation:kin .95s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i)*38ms + 120ms)}
.kin .k-phr.kin-in .kc{animation-delay:calc(var(--i)*42ms)}
.kin .k-phr.kin-first .kc{animation-delay:calc(var(--i)*42ms + 900ms)}
.kin .k-phr.kin-out .kc{animation:kout .55s cubic-bezier(.7,0,.84,0) both;animation-delay:calc(var(--i)*18ms)}
.k-phr{display:inline}
.k-pre{display:inline}
@keyframes kin{from{transform:translateY(118%) rotate(9deg) scale(.86);opacity:0;filter:blur(8px)}60%{filter:blur(0)}to{transform:none;opacity:1;filter:blur(0)}}
@keyframes kout{to{transform:translateY(-118%) rotate(-7deg) scale(.9);opacity:0;filter:blur(6px)}}
/* tiêu đề mục: hiện khi cuộn tới */
.kinh .kc{animation:kin .8s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i)*16ms);animation-play-state:paused}
.kinh.kgo .kc{animation-play-state:running}
.pagehero h1 .kc{animation-delay:calc(var(--i)*22ms + 80ms)}
.sec-head h2,.cta h2,.pagehero h1,.story h2{overflow:visible}
/* đường gạch đỏ chạy dưới cụm từ khóa */
.kin .k-phr{position:relative}
.hero .kin{letter-spacing:-.03em}
@media(prefers-reduced-motion:reduce){.kc{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}}
