/* Icons accompany each step without adding another control to the page. */
.process-grid article{min-height:280px}
.process-grid .process-symbol{position:relative;width:76px;height:76px;margin:25px 0 19px;border:1px solid #c9dfeb;border-radius:22px;background:radial-gradient(circle at 76% 22%,#fff0d7 0 8%,transparent 34%),linear-gradient(145deg,#edf8ff,#e1f0f7);box-shadow:0 10px 22px #164b6818;color:#176fae;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.process-grid .process-symbol:before{content:"";position:absolute;inset:7px;border:1px solid #ffffffd9;border-radius:16px;pointer-events:none}
.process-grid .process-symbol:after{content:"";position:absolute;inset:-7px;border:1px solid #2d9bc52e;border-radius:28px;opacity:0;transform:scale(.88);pointer-events:none}
.process-grid .process-symbol svg{position:relative;z-index:1;width:42px;height:42px;overflow:visible}
.process-grid .icon-outline{stroke:#145c85;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.process-grid .icon-detail{stroke:#568eac;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.process-grid .icon-accent{stroke:#eb9228;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round}
.process-grid .icon-dot{fill:#f29a30;transform-box:fill-box;transform-origin:center}
.process-grid article:hover .process-symbol{transform:translateY(-5px);border-color:#b8d9e9;box-shadow:0 16px 28px #164b6820}
.process-grid article.is-visible .dot-one{animation:process-dot 2.1s ease-in-out .2s infinite}
.process-grid article.is-visible .dot-two{animation:process-dot 2.1s ease-in-out .38s infinite}
.process-grid article.is-visible .dot-three{animation:process-dot 2.1s ease-in-out .56s infinite}
.process-grid article.is-visible .icon-scan{stroke-dasharray:18;stroke-dashoffset:18;animation:process-draw .8s .25s ease forwards}
.process-grid article.is-visible .icon-line-one,.process-grid article.is-visible .icon-line-two,.process-grid article.is-visible .icon-line-three{stroke-dasharray:15;stroke-dashoffset:15;animation:process-draw .6s ease forwards}
.process-grid article.is-visible .icon-line-one{animation-delay:.22s}.process-grid article.is-visible .icon-line-two{animation-delay:.37s}.process-grid article.is-visible .icon-line-three{animation-delay:.52s}
.process-grid article.is-visible .icon-check{stroke-dasharray:26;stroke-dashoffset:26;animation:process-draw .85s .3s ease forwards}
.process-grid article.is-visible .icon-spark{transform-box:fill-box;transform-origin:center;animation:process-spark 3s ease-in-out .8s infinite}
.process-grid article.is-visible .process-symbol:after{animation:process-halo 3.6s cubic-bezier(.2,.65,.3,1) .8s infinite}
.process-grid article.is-visible:nth-child(2) .process-symbol:after{animation-delay:1.25s}
.process-grid article.is-visible:nth-child(3) .process-symbol:after{animation-delay:1.7s}
.process-grid article.is-visible:nth-child(4) .process-symbol:after{animation-delay:2.15s}
@keyframes process-dot{0%,55%,100%{transform:translateY(0);opacity:.75}25%{transform:translateY(-3px);opacity:1}}
@keyframes process-draw{to{stroke-dashoffset:0}}
@keyframes process-spark{0%,65%,100%{opacity:.65;transform:scale(1)}78%{opacity:1;transform:scale(1.22)}}
@keyframes process-halo{0%{opacity:.45;transform:scale(.88)}78%,100%{opacity:0;transform:scale(1.38)}}
@media(max-width:700px){.process-grid article{min-height:235px}.process-grid .process-symbol{width:66px;height:66px;border-radius:19px;margin:20px 0 16px}.process-grid .process-symbol:before{border-radius:14px}.process-grid .process-symbol svg{width:37px;height:37px}}
@media(prefers-reduced-motion:reduce){.process-grid .process-symbol{transition:none}.process-grid article.is-visible .process-symbol:after,.process-grid article.is-visible .icon-dot,.process-grid article.is-visible .icon-scan,.process-grid article.is-visible .icon-line-one,.process-grid article.is-visible .icon-line-two,.process-grid article.is-visible .icon-line-three,.process-grid article.is-visible .icon-check,.process-grid article.is-visible .icon-spark{animation:none;stroke-dashoffset:0;opacity:1}}
