.care-hub .orbit {
    position: absolute;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 50%;
    animation: care-orbit-spin 30s linear infinite;
    backface-visibility: hidden;
    transform: translateZ(0);
    transform-origin: 50% 50%;
    will-change: transform;
}

@keyframes care-orbit-spin {
    from { transform: rotate(0deg) translateZ(0); }
    to { transform: rotate(360deg) translateZ(0); }
}

.care-hub .orbit--outer {
    width: 590px;
    height: 590px;
}

.care-hub .orbit--inner {
    width: 405px;
    height: 405px;
    border-color: rgba(128, 215, 255, .3);
    animation-duration: 23s;
    animation-direction: reverse;
}

.care-hub .orbit--outer:not(.orbit-a),
.care-hub .orbit--inner:not(.orbit-g) {
    border-color: transparent;
}

.care-hub .orbit b {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, -50%);
    padding: 12px 15px;
    border-radius: 99px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, .18);
    font-size: 10px;
    font-style: normal;
    white-space: nowrap;
}

.care-hub .orbit--service b {
    background: var(--orange);
    color: #fff;
}

.care-hub .orbit--technical b {
    background: #fff;
    color: var(--navy);
}

.care-hub .orbit-a { animation-delay: 0s; }
.care-hub .orbit-b { animation-delay: -5s; }
.care-hub .orbit-c { animation-delay: -10s; }
.care-hub .orbit-d { animation-delay: -15s; }
.care-hub .orbit-e { animation-delay: -20s; }
.care-hub .orbit-f { animation-delay: -25s; }
.care-hub .orbit-g { animation-delay: 0s; }
.care-hub .orbit-h { animation-delay: -3.83s; }
.care-hub .orbit-i { animation-delay: -7.66s; }
.care-hub .orbit-j { animation-delay: -11.49s; }
.care-hub .orbit-k { animation-delay: -15.32s; }
.care-hub .orbit-l { animation-delay: -19.15s; }

@media (max-width: 650px) {
    .care-hub {
        height: 380px;
    }

    .care-hub > span {
        width: 156px;
        height: 156px;
        padding: 17px;
    }

    .care-hub img {
        width: 72px;
    }

    .care-hub strong {
        margin-top: 6px;
        font-size: 23px;
    }

    .care-hub small {
        max-width: 118px;
        font-size: 7.5px;
        line-height: 1.35;
        letter-spacing: .1em;
        text-align: center;
    }

    .care-hub .orbit--outer {
        width: min(280px, calc(100vw - 110px));
        height: min(280px, calc(100vw - 110px));
    }

    .care-hub .orbit--inner {
        width: 210px;
        height: 210px;
    }

    .care-hub .orbit b {
        padding: 8px 9px;
        font-size: 7.5px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .care-hub .orbit,
    .care-hub > span {
        animation-play-state: paused;
    }
}
