.insurance-loader-overlay {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 100vh;
    overflow: hidden;
    background: #fff;
}

.motor-loader {
    position: relative;
    width: 30%;
    min-height: 100vh;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(to bottom, #f8fbff 0%, #ffffff 68%);
    margin: 0px auto;
}

.motor-scene {
    position: relative;
    width: 100%;
    height: 340px;
    overflow: hidden;
}

.motor-sky {
    position: absolute;
    inset: 0 0 115px;
    overflow: hidden;
}

.motor-cloud {
    position: absolute;
    width: 110px;
    height: 34px;
    border-radius: 50px;
    background: #eaf2ff;
    opacity: 0.95;
    animation: motorCloudMove linear infinite;
}

.motor-cloud::before,
.motor-cloud::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    background: #eaf2ff;
}

.motor-cloud::before {
    width: 42px;
    height: 42px;
    left: 18px;
    top: -20px;
}

.motor-cloud::after {
    width: 56px;
    height: 56px;
    right: 13px;
    top: -28px;
}

.cloud-one {
    top: 55px;
    left: 110%;
    animation-duration: 12s;
}

.cloud-two {
    top: 125px;
    left: 120%;
    transform: scale(0.72);
    animation-duration: 16s;
    animation-delay: -6s;
}

.cloud-three {
    top: 80px;
    left: 135%;
    transform: scale(0.9);
    animation-duration: 14s;
    animation-delay: -10s;
}

.motor-city {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 115px;
    height: 78px;
    opacity: 0.35;
    background:
        repeating-linear-gradient(
            90deg,
            #c9d8ef 0 38px,
            transparent 38px 55px,
            #d9e5f6 55px 88px,
            transparent 88px 112px
        );
    clip-path: polygon(
        0 100%, 0 58%, 5% 58%, 5% 28%, 8% 28%, 8% 62%,
        13% 62%, 13% 42%, 17% 42%, 17% 10%, 21% 10%, 21% 60%,
        27% 60%, 27% 36%, 31% 36%, 31% 68%, 38% 68%, 38% 20%,
        42% 20%, 42% 60%, 50% 60%, 50% 30%, 55% 30%, 55% 72%,
        62% 72%, 62% 18%, 67% 18%, 67% 64%, 73% 64%, 73% 38%,
        78% 38%, 78% 70%, 84% 70%, 84% 24%, 89% 24%, 89% 58%,
        95% 58%, 95% 40%, 100% 40%, 100% 100%
    );
}

.motor-road {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 64px;
    height: 82px;
    background: linear-gradient(#49566d, #303c50);
    border-top: 5px solid #dce5f1;
    border-bottom: 5px solid #dce5f1;
    overflow: hidden;
}

.road-lines {
    position: absolute;
    top: 50%;
    left: 0;
    width: 200%;
    height: 6px;
    transform: translateY(-50%);
    background: repeating-linear-gradient(
        90deg,
        #ffffff 0 84px,
        transparent 84px 145px
    );
    animation: roadMove 0.9s linear infinite;
}

.road-glow {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(37, 99, 235, 0.08),
        transparent
    );
    animation: glowMove 2.4s linear infinite;
}

.car-runner {
    position: absolute;
    left: -250px;
    bottom: 112px;
    width: 235px;
    animation: carDrive 5.2s linear infinite;
    z-index: 5;
}

.car-bounce {
    animation: carBounce 0.42s ease-in-out infinite alternate;
    transform-origin: center bottom;
}

.car-svg {
    display: block;
    width: 100%;
    height: auto;
    filter: drop-shadow(0 10px 9px rgba(15, 23, 42, 0.18));
}

.motor-wheel {
    transform-box: fill-box;
    transform-origin: center;
    animation: wheelSpin 0.65s linear infinite;
}

.car-shadow {
    position: absolute;
    left: -245px;
    bottom: 102px;
    width: 215px;
    height: 18px;
    border-radius: 50%;
    background: rgba(15, 23, 42, 0.2);
    filter: blur(8px);
    animation: carDrive 5.2s linear infinite;
    z-index: 3;
}

.speed-line {
    position: absolute;
    height: 3px;
    border-radius: 5px;
    background: linear-gradient(90deg, transparent, #8fb6ff);
    animation: speedLine 1.2s linear infinite;
}

.speed-one {
    top: 92px;
    left: 25%;
    width: 95px;
}

.speed-two {
    top: 135px;
    left: 57%;
    width: 125px;
    animation-delay: -0.4s;
}

.speed-three {
    top: 68px;
    left: 78%;
    width: 70px;
    animation-delay: -0.8s;
}

.motor-loader .loader-copy {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    text-align: center;
    white-space: nowrap;
}

.motor-loader .loader-title {
    margin: 0;
    color: #24364e;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.motor-loader .loader-title::after {
    content: "";
    animation: dots 1.35s steps(4, end) infinite;
}

.motor-loader .loader-subtitle {
    margin: 8px 0 0;
    color: #64748b;
    font-size: 14px;
    font-weight: 500;
}

.motor-progress {
    width: min(420px, 72vw);
    height: 7px;
    margin: 18px auto 0;
    overflow: hidden;
    border-radius: 99px;
    background: #e5ebf3;
}

.motor-progress::after {
    content: "";
    display: block;
    width: 45%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #2563eb, #60a5fa);
    animation: progressMove 1.9s ease-in-out infinite;
}

@keyframes carDrive {
    from {
        left: -250px;
    }
    to {
        left: calc(100% + 40px);
    }
}

@keyframes carBounce {
    from {
        transform: translateY(0) rotate(-0.35deg);
    }
    to {
        transform: translateY(-4px) rotate(0.35deg);
    }
}

@keyframes wheelSpin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes roadMove {
    to {
        transform: translate(-145px, -50%);
    }
}

@keyframes motorCloudMove {
    from {
        left: 112%;
    }
    to {
        left: -180px;
    }
}

@keyframes speedLine {
    0% {
        opacity: 0;
        transform: translateX(90px);
    }
    30% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        transform: translateX(-180px);
    }
}

@keyframes glowMove {
    from {
        transform: translateX(-100%);
    }
    to {
        transform: translateX(100%);
    }
}

@keyframes progressMove {
    0% {
        transform: translateX(-110%);
    }
    50% {
        transform: translateX(125%);
    }
    100% {
        transform: translateX(250%);
    }
}

@keyframes dots {
    0% { content: ""; }
    25% { content: "."; }
    50% { content: ".."; }
    75%, 100% { content: "..."; }
}

@media (max-width: 640px) {
    .motor-scene {
        height: 290px;
    }

    .car-runner {
        width: 185px;
        bottom: 105px;
    }

    .car-shadow {
        width: 170px;
        bottom: 96px;
    }

    .motor-road {
        bottom: 58px;
        height: 70px;
    }

    .motor-city {
        bottom: 108px;
    }

    .motor-loader .loader-title {
        font-size: 15px;
    }

    .motor-loader .loader-subtitle {
        font-size: 12px;
    }
    .orbit-item {
        width: 50px;
        height: 50px;
    }
    .car-svg {
        width:50%;
    }
    .insurance-loader-overlay .plane-loader,.motor-loader, .insurance-loader-overlay .heart-loader {
        width:100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .car-runner,
    .car-shadow,
    .road-lines,
    .motor-cloud,
    .motor-wheel,
    .speed-line,
    .motor-progress::after {
        animation-duration: 10s;
    }
}
.insurance-loader-overlay .loader-screen{
    width:30%;
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden
}
.insurance-loader-overlay .plane-loader{
    position:relative;
    width:30%;
    height:210px;
    overflow:hidden
}
.insurance-loader-overlay .flight-path{
    position:absolute;
    left:0;
    right:0;
    top:52%;
    height:2px;
    background:repeating-linear-gradient(90deg,#cfd7e4 0 20px,transparent 20px 38px)
}
.insurance-loader-overlay .plane{
    position:absolute;
    left:-160px;
    top:50%;
    width:135px;
    transform:translateY(-50%) rotate(-4deg);
    animation:fly 4.2s ease-in-out infinite
}
.insurance-loader-overlay .plane img{
    width:100%;
    display:block
    }
.insurance-loader-overlay .travel-cloud{
    position:absolute;
    width:90px;
    height:24px;
    border-radius:50px;
    background:#eef2f7;
    opacity:.8
}
.insurance-loader-overlay .travel-cloud::before,.insurance-loader-overlay .travel-cloud::after{
    content:"";
    position:absolute;
    background:#eef2f7;
    border-radius:50%
}
.insurance-loader-overlay .travel-cloud::before{
    width:32px;
    height:32px;
    left:15px;
    top:-14px
}
.insurance-loader-overlay .travel-cloud::after{
    width:42px;
    height:42px;
    right:12px;
    top:-20px
}
.insurance-loader-overlay .c1{
    top:27%;
    left:16%;
    animation:travelCloudMove 7s linear infinite
}
.insurance-loader-overlay .c2{
    top:68%;
    left:64%;
    transform:scale(.75);
    animation:travelCloudMove 9s linear infinite
}
.insurance-loader-overlay .travel-loader-text{
    position:absolute;
    left:50%;
    bottom:15px;
    transform:translateX(-50%);
    font-size:14px;
    font-weight:700;
    letter-spacing:.1em;
    color:#334155;
    white-space:nowrap
    }
@keyframes fly{
    0%{
        left:-160px;top:58%
    }
    45% {
        top:42%
    }
    100% {
        left:calc(100% + 30px);top:54%
    }
}
@keyframes travelCloudMove{
    from{
        transform:translateX(0)
    }
    to{
        transform:translateX(-160px)
    }
}
@media(max-width:576px){
    .insurance-loader-overlay .plane{
        width:110px
    }
    .insurance-loader-overlay .plane-loader{
        height:180px
    }
}
.insurance-loader-overlay .loader-screen{
    width:100%;min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden
}
.insurance-loader-overlay .heart-loader{
    position:relative;
    width:30%;
    height:220px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden
}
.insurance-loader-overlay .heart{
    position:absolute;
    z-index:3;
    width:105px;
    height:105px;
    border-radius:50%;
    background:#fff;
    display:grid;
    place-items:center;
    box-shadow:0 8px 30px rgba(37,99,235,.14);
    animation:heartPulse 1.1s ease-in-out infinite
}
.insurance-loader-overlay .heart img{
    width:72%;
    display:block
}
.insurance-loader-overlay .ecg{
    position:absolute;
    left:0;
    right:0;
    top:50%;
    height:90px;
    transform:translateY(-50%);
    overflow:hidden
}
.insurance-loader-overlay .ecg svg {
    width:200%;
    height:100%;
    display: block;
    animation:ecgMoveRight 3s linear infinite;
}
.insurance-loader-overlay .ecg path.base{
    stroke:#dbe2ec;
    stroke-width:3;
    fill:none
}
.insurance-loader-overlay .ecg path.pulse{
    stroke:#2563eb;
    stroke-width:4;
    fill:none;
    stroke-linecap:round;
    stroke-linejoin:round;
    filter:drop-shadow(0 0 4px rgba(37,99,235,.35))
}
.insurance-loader-overlay .health-loader-text{
    position:absolute;
    left:50%;
    bottom:18px;
    transform:translateX(-50%);
    font-size:14px;
    font-weight:700;
    letter-spacing:.1em;
    color:#334155;
    white-space:nowrap
}
@keyframes heartPulse{
    0%,100%{
        transform:scale(1)
    }
    15% {
        transform:scale(1.14)
    }
    30% {
        transform:scale(1)
    }
    45% {
        transform:scale(1.08)
    }
    60% {
        transform:scale(1)}
}
@keyframes ecgMove {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(50%);
    }
}
@keyframes ecgMoveRight {
    0% {
        transform:translateX(-50%);
    }
    100% {
        transform: translateX(0%);
    }
}
@media(max-width:576px) {
    .insurance-loader-overlay .heart {
        width:60px;
        height:60px
    }
    .insurance-loader-overlay .heart-loader{
        height:190px
    }
}
.insurance-loader-common {
    --loader-size: 280px;
    --icon-size: 58px;
    --duration: 8s;
    --accent: #2563eb;
    --orbit-color: #cbd5e1;
}

.insurance-loader-common .loader-wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: grid;
    place-items: center;
    min-width: 320px;
    min-height: 320px;
}

.insurance-loader {
    position: relative;
    width: var(--loader-size);
    height: var(--loader-size);
}

.orbit {
    position: absolute;
    inset: 20px;
    border: 2px dashed #aaadff;
    border-radius: 50%;
    animation: orbitPulse 1.8s ease-in-out infinite;
}

.center-ring {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 44px;
    height: 44px;
    margin: -22px;
    border-radius: 50%;
    border: 4px solid #e8edf5;
    border-top-color: var(--accent);
    animation: centerSpin 1s linear infinite;
}

.spinner-track {
    position: absolute;
    inset: 0;
    animation: rotateTrack var(--duration) linear infinite;
}

.orbit-item {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 75px;
    height: 75px;
    margin: calc(var(--icon-size) / -2);
    transform: rotate(var(--angle)) translateX(calc(var(--loader-size) / 2 - var(--icon-size) / 2 - 10px));
}

.icon-shell {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 4px 16px rgb(12 42 173 / 50%);
    animation: keepUpright var(--duration) linear infinite;
}

.orbit-item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(0) saturate(100%) invert(15%) sepia(100%) saturate(3500%) hue-rotate(215deg) brightness(100%) contrast(100%);
}

.orbit-item:nth-child(1) { --angle: 0deg; }
.orbit-item:nth-child(2) { --angle: 90deg; }
.orbit-item:nth-child(3) { --angle: 180deg; }
.orbit-item:nth-child(4) { --angle: 270deg; }

.orbit-item:nth-child(1) img { transform: rotate(0deg); }
.orbit-item:nth-child(2) img { transform: rotate(-90deg); }
.orbit-item:nth-child(3) img { transform: rotate(-180deg); }
.orbit-item:nth-child(4) img { transform: rotate(-270deg); }

.loading-text {
    position: absolute;
    left: 50%;
    bottom: -48px;
    transform: translateX(-50%);
    color: #334155;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .08em;
    white-space: nowrap;
}

.loading-text::after {
    content: "";
    animation: dots 1.4s steps(4, end) infinite;
}

@keyframes rotateTrack {
    to { transform: rotate(360deg); }
}

@keyframes keepUpright {
    to { transform: rotate(-360deg); }
}

@keyframes centerSpin {
    to { transform: rotate(360deg); }
}

@keyframes orbitPulse {
    0%, 100% { opacity: .45; transform: scale(.985); }
    50% { opacity: 1; transform: scale(1); }
}

@keyframes dots {
    0% { content: ""; }
    25% { content: "."; }
    50% { content: ".."; }
    75%, 100% { content: "..."; }
}

@media (max-width: 480px) {
    .insurance-loader-common {
        --loader-size: 230px;
        --icon-size: 50px;
    }

    .insurance-loader-common .loader-wrap {
        min-width: 260px;
        min-height: 280px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .spinner-track,
    .icon-shell,
    .center-ring,
    .orbit,
    .loading-text::after {
        animation-duration: 8s;
    }
}
