/* Subtle geometric motion, with reduced-motion support. */
.hero-grid:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 75% 45%,#155fff24,transparent 52%);animation:ambient-drift 12s ease-in-out infinite alternate}
.orbit-core{animation:core-float 7s ease-in-out infinite}.orbit-label{animation:label-float 6s ease-in-out infinite}.label-two{animation-delay:-2s}.label-three{animation-delay:-4s}.orbital-point{animation:point-glow 3s ease-in-out infinite}
.motion-card{position:relative;--tilt-x:0deg;--tilt-y:0deg;--light-x:50%;--light-y:50%;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.motion-card:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(260px circle at var(--light-x) var(--light-y),#528eff19,transparent 75%);opacity:0;transition:opacity .3s}
.motion-card:hover:after{opacity:1}.plan.motion-card:hover{box-shadow:0 15px 45px #0005,0 0 22px #145eff18}
.method-grid article{border-radius:8px}.method-grid article>span{display:inline-block;transition:transform .4s,color .4s}.method-grid article:hover>span{transform:translateY(-4px);color:#b3d0ff}
.motion-enter{opacity:0;translate:0 22px;transition:opacity .7s ease var(--entry-delay,0ms),translate .7s ease var(--entry-delay,0ms),transform .35s,border-color .35s,box-shadow .35s}.motion-enter.motion-visible{opacity:1;translate:0 0}
.button span:last-child{display:inline-block;transition:transform .25s}.button:hover span:last-child{transform:translate(3px,-2px)}
.motion-paused .orbit,.motion-paused .orbit-core,.motion-paused .orbit-label,.motion-paused .orbital-point,.motion-paused .hero-grid:after{animation-play-state:paused}
@media(hover:hover) and (pointer:fine){.motion-card:hover{transform:perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(-3px)}}
@keyframes ambient-drift{from{transform:translate(-2%,0);opacity:.55}to{transform:translate(3%,3%);opacity:1}}
@keyframes core-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes label-float{0%,100%{translate:0 0}50%{translate:0 -5px}}
@keyframes point-glow{0%,100%{box-shadow:0 0 15px #2a68ff}50%{box-shadow:0 0 35px #73adff}}
@media(max-width:760px){.hero-grid:after{animation:none}.orbit-label{animation:none}.motion-card:after{display:none}.motion-enter{translate:0 12px}}
@media(prefers-reduced-motion:reduce){.motion-enter{opacity:1;translate:none}.motion-card:hover{transform:none}.hero-grid:after,.orbit-core,.orbit-label,.orbital-point{animation:none}.motion-card,.motion-enter{transition:none}}
