/* Socialnex locked heading animation standard — shared by all pages */
:root{--sn-heading-duration:.85s;--sn-heading-blur:8px;--sn-heading-rise:.6em;--sn-heading-stagger:65ms}
@keyframes snLockedHeadingIn{from{opacity:0;transform:translate3d(0,.6em,0);filter:blur(8px)}to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}}
@keyframes snLockedBrandFlow{from{background-position:0% 50%}to{background-position:250% 50%}}
/* Prevent glyph cropping without removing reveal motion. */
h1,h2,.sn-word-heading,.hero h1,.hero h1 .sn-word-line{overflow:visible!important;clip-path:none!important;text-overflow:clip!important}
h1,h2{line-height:1.23!important;padding-block:.12em!important;max-width:100%;overflow-wrap:normal}
.sn-reveal-word,.hero h1 .sn-word{display:inline-block!important;opacity:0;transform:translate3d(0,.6em,0);filter:blur(8px);animation:snLockedHeadingIn .85s cubic-bezier(.2,.8,.2,1) both!important;animation-delay:calc(var(--sn-word-order,0) * 65ms)!important;will-change:opacity,transform,filter}
/* Home hero has pre-wrapped words; preserve its 3-line text and stagger by line. */
.hero h1 .sn-word{animation-delay:calc(.12s + var(--line-index,0)*.22s + var(--word-index,0)*65ms)!important}
.hero h1 .sn-word-line{opacity:1!important;transform:none!important;filter:none!important;animation:none!important;white-space:normal!important}
/* Keep solid white hero words white. */
.hero h1 .sn-hero-white,.hero h1 .sn-hero-white .sn-word{color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important}
/* Highlighted words keep the continuous Socialnex gradient alongside their entrance. */
.gradient-text .sn-reveal-word,.sn-about-gradient .sn-reveal-word,.sn-gradient .sn-reveal-word,.gradient .sn-reveal-word,
.hero h1 .sn-hero-impact .sn-gradient-ink{
 background-image:linear-gradient(105deg,#ff7900 0%,#ffab54 26%,#78adff 55%,#1267c4 76%,#ff7900 100%)!important;
 background-size:250% 100%!important;background-clip:text!important;-webkit-background-clip:text!important;
 color:transparent!important;-webkit-text-fill-color:transparent!important;
 animation:snLockedHeadingIn .85s cubic-bezier(.2,.8,.2,1) both,snLockedBrandFlow 11s linear infinite!important;
 animation-delay:calc(var(--sn-word-order,0)*65ms),0s!important;
}
.hero h1 .sn-hero-impact .sn-gradient-ink{animation-delay:calc(.12s + var(--line-index,0)*.22s + var(--word-index,0)*65ms),0s!important}
/* Where gradient is applied to the heading itself, let the original background remain visible. */
.gradient-text,.sn-about-gradient,.sn-gradient{overflow:visible!important}
/* Responsive fit: reduce oversized headings rather than clipping. */
@media(max-width:1100px){main h1,main h2{font-size:min(var(--sn-heading-original, 3.25rem),clamp(1.8rem,5.2vw,3.25rem))!important}.hero h1{font-size:clamp(2.5rem,6.5vw,5.5rem)!important}}
@media(max-width:650px){main h1,main h2{font-size:clamp(1.65rem,7vw,2.65rem)!important;line-height:1.28!important}.hero h1{font-size:clamp(2.05rem,8vw,3.5rem)!important;line-height:1.18!important}.sn-word-heading{overflow-wrap:break-word!important}}
@media(prefers-reduced-motion:reduce){.sn-reveal-word,.hero h1 .sn-word,.hero h1 .sn-hero-impact .sn-gradient-ink,.gradient-text .sn-reveal-word,.sn-about-gradient .sn-reveal-word,.sn-gradient .sn-reveal-word,.gradient .sn-reveal-word{opacity:1!important;filter:none!important;transform:none!important;animation:none!important}}
