.motion-item{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1);transition-delay:var(--motion-delay,0ms)}
.motion-item.in-view{opacity:1;transform:translateY(0)}
.hero-signature{display:flex;align-items:center;gap:12px;width:max-content;margin-bottom:25px;padding-bottom:12px;border-bottom:1px solid #cbd4c7}.hero-signature span{font:800 13px var(--display);letter-spacing:.3em;color:var(--ink)}.hero-signature i{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--lime);color:var(--ink);font:800 9px var(--display);font-style:normal;letter-spacing:.06em;animation:signature-glow 3.4s ease-in-out infinite}.hero-slogan{max-width:650px;margin:26px 0 8px;font:600 18px/1.55 var(--display);letter-spacing:-.015em;color:var(--ink)}.hero-detail{max-width:620px;margin:0;color:var(--muted);font-size:14px;line-height:1.7}@keyframes signature-glow{0%,100%{box-shadow:0 0 0 0 #b8ef5a00}50%{box-shadow:0 0 0 7px #b8ef5a20}}
.hero-visual{--pointer-x:0px;--pointer-y:0px}
.hero-visual .core{margin-left:var(--pointer-x);margin-top:var(--pointer-y);transition:margin .35s ease;animation:core-breathe 4s ease-in-out infinite}
.hero-visual .core-ring{animation:ring-pulse 3s ease-out infinite}
.hero-visual .connections path{animation:dash-flow 8s linear infinite}
.hero-visual .node{animation:node-float 4.5s ease-in-out infinite}
.hero-visual .node-data{animation-delay:-1.2s}.hero-visual .node-api{animation-delay:-2.4s}.hero-visual .node-cloud{animation-delay:-3.3s}
.hero-visual .orb-one{animation:orb-drift 7s ease-in-out infinite}.hero-visual .orb-two{animation:orb-drift 5.5s ease-in-out infinite reverse}
.button span,.solution-row>a,.service-card>a span{transition:transform .25s ease}.button:hover span,.service-card a:hover span{transform:translate(3px,-3px)}
.solution-row>a{display:inline-block;transition:transform .25s ease}.solution-row:hover>a{transform:translate(4px,-4px)}
.case-detail{position:relative}.case-detail:before{content:"";position:absolute;left:0;bottom:-1px;width:0;height:2px;background:var(--lime);transition:width 1.1s ease .25s}.case-detail.in-view:before{width:100%}
@keyframes core-breathe{0%,100%{box-shadow:0 25px 50px #174d3d45;scale:1}50%{box-shadow:0 30px 65px #174d3d60;scale:1.035}}
@keyframes ring-pulse{0%{opacity:.8;transform:scale(.95)}70%,100%{opacity:0;transform:scale(1.22)}}
@keyframes dash-flow{to{stroke-dashoffset:-80}}
@keyframes node-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes orb-drift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(15px,-12px) scale(1.08)}}
@media(prefers-reduced-motion:reduce){.motion-item{opacity:1;transform:none;transition:none}.hero-visual .core,.hero-visual .core-ring,.hero-visual .connections path,.hero-visual .node,.hero-visual .orb{animation:none}.case-detail:before{display:none}}
