/* Smile blue interaction states, with keyboard and touch support. */
.service-card:not(.service-invitation){transition:border-color .3s,box-shadow .3s,transform .3s}
.service-card:not(.service-invitation)::before{inset:0 0 auto;width:100%;height:4px;background:linear-gradient(90deg,#174b93,#6596dc);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.service-icon,.service-icon svg,.service-card-top>span,.service-action{transition:background .3s,color .3s,stroke .3s,transform .3s}
.service-card:not(.service-invitation):is(:hover,:focus-within){border-color:#6588bd;box-shadow:0 22px 40px -13px #29568d40;transform:translateY(-5px)}
.service-card:not(.service-invitation):is(:hover,:focus-within)::before{width:100%;transform:scaleX(1)}
.service-card:is(:hover,:focus-within) .service-icon{background:#315fa3;box-shadow:0 7px 18px #315fa322}
.service-card:is(:hover,:focus-within) .service-icon svg{stroke:#fff;transform:rotate(-5deg)}
.service-card:is(:hover,:focus-within) .service-card-top>span{color:#315fa3}
.service-card:is(:hover,:focus-within) .service-action{color:#194d98;transform:translateX(3px)}
html[dir=rtl] .service-card:is(:hover,:focus-within) .service-action{transform:translateX(-3px)}
/* Soft light volumes and a perspective plane sit behind the content. */
.working-process{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(90deg,#3b6b9e05 1px,transparent 1px) 50% 50%/80px 80px,linear-gradient(#3b6b9e05 1px,transparent 1px) 50% 50%/80px 80px,#fcfdff}
.working-process>.section-top,.working-process>.process-grid{position:relative;z-index:1}
.process-depth{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;perspective:800px}
.depth-orb{position:absolute;width:650px;height:650px;border-radius:50%;filter:blur(35px);opacity:.75;will-change:transform}
.depth-orb-one{left:-14%;top:-32%;background:radial-gradient(circle,#88a4c12c,transparent 67%);animation:smile-depth-one 28s ease-in-out infinite}
.depth-orb-two{right:-10%;bottom:-42%;background:radial-gradient(circle,#568be536,transparent 68%);animation:smile-depth-two 24s ease-in-out infinite}
.depth-grid{position:absolute;inset:15% -30% -55%;background:linear-gradient(90deg,#3964a40b 1px,transparent 1px) 50%/75px 75px,linear-gradient(#3964a40b 1px,transparent 1px) 50%/75px 75px;transform:translate3d(var(--depth-x,0px),var(--depth-y,0px),-80px) rotateX(53deg);transform-origin:50% 100%;mask-image:radial-gradient(ellipse,#0008,transparent 72%);transition:transform .8s ease-out}
@keyframes smile-depth-one{0%,100%{transform:translate3d(0,0,-50px) scale(1)}50%{transform:translate3d(110px,45px,0) scale(1.12)}}
@keyframes smile-depth-two{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-95px,-50px,-35px) scale(1.15)}}
.process-step::after{content:'';position:absolute;top:35px;inset-inline-start:50%;width:100%;height:2px;background:#315fa3;transform:scaleX(0);transform-origin:left;transition:transform 1.9s linear;z-index:0}
html[dir=rtl] .process-step::after{transform-origin:right}
.process-step:last-child::after{display:none}
.process-step.step-complete::after{transform:scaleX(1)}
.process-step .process-icon{border-color:#c5d0df;color:#99a9bb;transition:background .4s,color .4s,border-color .4s,box-shadow .4s,transform .4s}
.process-step .process-number{color:#9aa9bb;transition:color .4s}
.process-step.step-complete .process-icon{border-color:#315fa3;color:#315fa3}
.process-step:is(.current-step,.step-complete) .process-number{color:#315fa3}
.process-step.current-step .process-icon{border-color:#315fa3;background:#315fa3;color:#fff;transform:scale(1.08);box-shadow:0 0 0 9px #315fa30a,0 15px 30px #315fa329;animation:smile-step-glow 2.3s ease-out infinite}
.process-step.current-step h3{color:#315fa3;transition:color .4s}
@keyframes smile-step-glow{0%,100%{box-shadow:0 0 0 9px #315fa30a,0 15px 30px #315fa329}55%{box-shadow:0 0 0 15px #315fa306,0 19px 36px #315fa331}}
.process-step:focus-visible{outline:2px solid #315fa3;outline-offset:8px;border-radius:12px}
@media(max-width:760px){.depth-orb{width:480px;height:580px}.depth-orb-one{top:0;left:-70%}.depth-orb-two{bottom:0;right:-80%}.process-step::after{inset:auto;inset-inline-start:31px;top:64px;bottom:-23px;width:2px;height:auto;transform:scaleY(0);transform-origin:top}.process-step.step-complete::after{transform:scaleY(1)}html[dir=rtl] .process-step::after{transform-origin:top}}
@media(prefers-reduced-motion:reduce){.depth-orb,.process-step.current-step .process-icon{animation:none}.depth-grid,.process-step::after,.process-icon,.service-card,.service-icon,.service-icon svg,.service-action{transition:none!important}.process-step .process-icon{border-color:#315fa3;color:#315fa3}.process-step.current-step .process-icon{color:#fff;transform:none}.process-step::after{transform:scaleX(1)}.service-card:not(.service-invitation):is(:hover,:focus-within){transform:none}}
@media(max-width:760px) and (prefers-reduced-motion:reduce){.process-step::after{transform:scaleY(1)}}
