/* Socialnex motion across all pages */
.sn-gradient-motion{background:linear-gradient(105deg,#ff7900 0%,#ffb477 27%,#79b4ff 53%,#327de1 76%,#ff7900 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:snGradientFlow 14s ease-in-out infinite alternate}
@keyframes snGradientFlow{from{background-position:0% 50%}to{background-position:100% 50%}}
.sn-reveal-ready{opacity:0;transform:translate3d(0,16px,0);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.75,.2,1)}
.sn-reveal-ready.sn-in-view{opacity:1;transform:none}
.snab-art .sketch-svg{width:100%;height:auto;max-height:390px;filter:drop-shadow(0 12px 28px rgba(48,119,210,.12))}
@media(prefers-reduced-motion:reduce){.sn-gradient-motion{animation:none}.sn-reveal-ready{opacity:1!important;transform:none!important;transition:none!important}}

/* Unified sitewide atmospheric grids, orbs and non-interfering floating terms */
.sn-page-atmosphere{position:relative;isolation:isolate;overflow:hidden}
.sn-page-atmosphere:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background-image:linear-gradient(rgba(86,141,227,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(86,141,227,.055) 1px,transparent 1px),radial-gradient(circle at 82% 28%,rgba(45,113,223,.16),transparent 35%),radial-gradient(circle at 12% 76%,rgba(255,120,25,.10),transparent 37%);background-size:64px 64px,64px 64px,auto,auto;mask-image:linear-gradient(to bottom,#000 20%,transparent 100%)}
.sn-page-atmosphere:after{content:"";position:absolute;z-index:-1;pointer-events:none;width:min(32vw,360px);aspect-ratio:1;right:5%;top:9%;border:1px solid rgba(104,159,246,.13);border-radius:50%;box-shadow:0 0 0 48px rgba(80,137,231,.025),0 0 0 98px rgba(255,125,34,.018);animation:snOrbBreath 18s ease-in-out infinite alternate}
@keyframes snOrbBreath{to{transform:translateY(20px) scale(1.06)}}
.sn-page-decor{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.sn-atmo-word{position:absolute;font:700 clamp(9px,1vw,13px)/1.2 'Manrope',sans-serif;letter-spacing:.16em;color:#7daeff;opacity:.13;animation:snAtmoFloat 17s ease-in-out infinite alternate;white-space:nowrap}
.sn-atmo-1{top:15%;left:4%}.sn-atmo-2{top:25%;right:5%;animation-delay:-3s;color:#ff9d63}.sn-atmo-3{top:72%;left:9%;animation-delay:-7s}.sn-atmo-4{top:68%;right:13%;animation-delay:-9s;color:#ff9d63}.sn-atmo-5{top:44%;left:3%;animation-delay:-12s}.sn-atmo-6{top:83%;right:3%;animation-delay:-5s}
@keyframes snAtmoFloat{to{transform:translate3d(6px,-12px,0);opacity:.19}}
.hero .sn-hero-brand-gradient{background:linear-gradient(100deg,#fff 0%,#ff943f 25%,#83b7ff 50%,#ff8a34 75%,#fff 100%)!important;background-size:300% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important;animation:snGradientFlow 14s ease-in-out infinite alternate!important;filter:none!important}
@media(max-width:760px){.sn-atmo-word{font-size:9px;opacity:.085}.sn-page-atmosphere:after{width:220px;opacity:.55}}
@media(prefers-reduced-motion:reduce){.sn-page-atmosphere:after,.sn-atmo-word,.hero .sn-hero-brand-gradient{animation:none!important}}
/* Home hero brand tagline: restore visible text while retaining animated brand gradient.
   The original .hero-line starts at opacity:0 and its reveal was replaced by
   the gradient animation; explicitly restore visibility. */
.hero h1 .hero-line.sn-hero-brand-gradient{opacity:1!important;visibility:visible!important;display:block!important;animation:snHeroTaglineReveal .85s ease-out both,snGradientFlow 14s ease-in-out infinite alternate!important}
.hero h1 .hero-line.sn-hero-brand-gradient:nth-child(1){animation-delay:0s,0s!important}
.hero h1 .hero-line.sn-hero-brand-gradient:nth-child(2){animation-delay:.18s,-3s!important}
.hero h1 .hero-line.sn-hero-brand-gradient:nth-child(3){animation-delay:.36s,-6s!important}
@keyframes snHeroTaglineReveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.hero h1 .hero-line.sn-hero-brand-gradient{animation:none!important;opacity:1!important;transform:none!important}}
