/* Approved solution-card motion: decorative, no live customer data. */
.focus-card{--solution-tone:#0966ff;transition:box-shadow .45s,transform .45s}
.focus-school{--solution-tone:#f77811}.focus-sales{--solution-tone:#7437c3}
.focus-card>.solution-motion-art{position:relative;padding:0;aspect-ratio:1.65;overflow:hidden;background:#e9eff8;border-radius:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0}
.focus-card .solution-motion-art>img{display:block;width:100%;height:100%;object-fit:cover;animation:solution-drift 12s ease-in-out infinite alternate}
.solution-motion-art:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#ffffff4d 45%,transparent 65%);transform:translateX(-110%);animation:solution-sweep 7s ease-in-out infinite;pointer-events:none}
.solution-signal{position:absolute;width:14px;height:14px;border:2px solid #fff;border-radius:50%;background:var(--solution-tone);box-shadow:0 0 16px var(--solution-tone);left:27%;top:63%;pointer-events:none}
.solution-signal:after{content:"";position:absolute;inset:-12px;border:2px solid var(--solution-tone);border-radius:50%;animation:solution-pulse 2.6s ease-out infinite}
.solution-signal.second{left:70%;top:49%}.solution-signal.second:after{animation-delay:-1.3s}
@media(hover:hover){.focus-card:hover{transform:translateY(-7px);box-shadow:0 22px 48px #18376123}}
@keyframes solution-drift{from{transform:scale(1)}to{transform:scale(1.07) translateY(-2px)}}
@keyframes solution-sweep{0%,45%{transform:translateX(-110%)}85%,100%{transform:translateX(110%)}}
@keyframes solution-pulse{0%{transform:scale(.6);opacity:1}100%{transform:scale(2);opacity:0}}
@media(prefers-reduced-motion:reduce){.focus-card,.focus-card .solution-motion-art>img,.solution-motion-art:after,.solution-signal:after{animation:none!important;transition:none!important}.focus-card:hover{transform:none}.solution-motion-art:after,.solution-signal:after{display:none}}
.motion-off .solution-motion-art>img,.motion-off .solution-motion-art:after,.motion-off .solution-signal:after{animation:none!important}
