/* Subtle inference-inspired motion, kept behind the readable content. */
.hero{position:relative;isolation:isolate;overflow:hidden}
.inference-backdrop{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;filter:blur(.55px);opacity:.48}
.hero-copy{text-shadow:0 1px 8px #000,0 0 20px #000}
.hero-copy .button{text-shadow:none}
.hero-copy,.hero-visual{position:relative;z-index:1}
.motion-toggle{position:absolute;right:0;bottom:12px;z-index:2;border:1px solid #edf6ff30;border-radius:99px;background:#000;color:#c4d2df;font:12px/1.4 var(--sans);padding:10px 14px;min-height:44px}
.motion-toggle:hover{border-color:#edf6ff90;color:#fff}
.engine-core{position:relative}
.engine-core:after{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,#edf6ff,transparent);opacity:.45;pointer-events:none;animation:inference-scan 6s linear infinite}
.flow-connector .icon{animation:inference-pulse 3s ease-in-out infinite}
.flow-connector:last-of-type .icon{animation-delay:1.5s}
@keyframes inference-scan{0%{top:0;opacity:0}15%{opacity:.45}85%{opacity:.45}100%{top:100%;opacity:0}}
@keyframes inference-pulse{0%,100%{opacity:.35}50%{opacity:1}}
.inference-motion-paused .engine-core:after,.inference-motion-paused .flow-connector .icon{animation-play-state:paused}
@media(max-width:680px){.inference-backdrop{opacity:.4;filter:blur(.4px)}.hero{padding-bottom:68px}.motion-toggle{font-size:11px}}
@media(prefers-reduced-motion:reduce){.engine-core:after,.flow-connector .icon{animation:none}.engine-core:after{display:none}}
