/* Progressive decoration: the page and its links remain usable without JS. */
.ambient-scene{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0;contain:strict}
.ambient-scene canvas{position:absolute;inset:0;width:100%;height:100%}
.ambient-glow{position:absolute;width:480px;height:480px;border-radius:50%;filter:blur(65px);opacity:.27;animation:ambient-drift 19s ease-in-out infinite alternate}
.ambient-glow-one{left:-240px;top:12%;background:radial-gradient(circle,#bd88ff,transparent 65%)}
.ambient-glow-two{right:-220px;top:35%;background:radial-gradient(circle,#a98bfa,transparent 65%);animation-delay:-8s;animation-duration:24s}
.pointer-aura{position:absolute;left:0;top:0;width:300px;height:300px;margin:-150px;border-radius:50%;background:radial-gradient(circle,#ac7fdf24,transparent 65%);opacity:0;transition:opacity .4s;will-change:transform}
.ambient-scene.is-paused *{animation-play-state:paused!important}
@keyframes ambient-drift{from{transform:translate3d(0,0,0) scale(.9)}to{transform:translate3d(90px,-70px,0) scale(1.2)}}

.hero-title.motion-heading{background:none;-webkit-text-fill-color:initial}
.motion-word{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .015em .08em;margin-bottom:-.08em}
.motion-word-inner{display:inline-block;background:linear-gradient(125deg,#351267,#7934da 85%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:word-arrive .85s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--word-delay,0ms)}
@keyframes word-arrive{from{opacity:0;transform:translate3d(0,110%,0) rotate(3deg)}to{opacity:1;transform:translate3d(0,0,0) rotate(0)}}
.hero-badge.motion-intro,.hero-subtitle.motion-intro,.hero-actions.motion-intro,.entry-note.motion-intro{animation:intro-arrive .8s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--intro-delay,0ms)}
@keyframes intro-arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.motion-enabled .scroll-reveal{transition:opacity .75s ease var(--reveal-delay,0ms),transform .85s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms)!important}
.motion-enabled .scroll-reveal:not(.is-visible){opacity:0;transform:translate3d(0,30px,0)}
.motion-enabled .scroll-reveal.is-visible{opacity:1}
.product-showcase [role="tabpanel"]:not([hidden]){animation:gallery-arrive .45s cubic-bezier(.16,1,.3,1)}
@keyframes gallery-arrive{from{opacity:.25;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
.showcase-tabs button{transition:background .2s,color .2s,transform .2s}.showcase-tabs button:hover{transform:translateY(-2px)}
.faq-list details[open] p{animation:faq-arrive .28s ease-out}
@keyframes faq-arrive{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.top-nav.is-scrolled{box-shadow:0 10px 35px -15px #57239145;background:rgba(255,255,255,.95)!important}
.btn .arrow-text,.btn>span[aria-hidden="true"],.text-link>span{transition:transform .25s ease;display:inline-block}
.btn:hover .arrow-text,.btn:hover>span[aria-hidden="true"],.text-link:hover>span{transform:translate(3px,-2px)}
.feature-symbol,.step-number{transition:transform .35s cubic-bezier(.16,1,.3,1),background .35s}
.feature-card:hover .feature-symbol,.challenge-card:hover .step-number{transform:translateY(-3px) rotate(-6deg);background:#e5d2ff}
.cta-box:before{content:'';position:absolute;inset:-100%;background:linear-gradient(110deg,transparent 43%,#ffffff0d 49%,#ffffff13 50%,transparent 57%);animation:cta-light 16s ease-in-out infinite;pointer-events:none}
@keyframes cta-light{0%,30%{transform:translateX(-45%)}70%,100%{transform:translateX(45%)}}
@media(hover:hover) and (pointer:fine){.tilt-surface.is-visible:hover{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-5px)}.story-media:hover img{transform:scale(1.015)}.story-media{overflow:hidden}.story-media img{transition:transform .7s cubic-bezier(.16,1,.3,1)}}
@media(max-width:768px){.ambient-glow{width:300px;height:300px;filter:blur(45px);opacity:.2}.pointer-aura{display:none}}
@media(prefers-reduced-motion:reduce){.ambient-scene{display:none}.motion-enabled .scroll-reveal:not(.is-visible){opacity:1;transform:none}.motion-word-inner{animation:none;transform:none}.tilt-surface:hover,.story-media:hover img{transform:none!important}}
