
html.kenanta-loader-lock,
html.kenanta-loader-lock body{
    overflow:hidden !important;
}

#kenantaLoader{
    position:fixed;
    inset:0;
    z-index:999999999;
    width:100%;
    height:100dvh;
    overflow:hidden;

    background:
        radial-gradient(circle at 50% 30%, rgba(42,170,255,.18), transparent 42%),
        linear-gradient(135deg,#03182c 0%,#062d50 50%,#031427 100%);

    opacity:1;
    visibility:visible;

    transition:
        opacity .6s ease,
        visibility .6s ease;
}

#kenantaLoader.hide{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
}

.kl-brand{
    position:absolute;
    left:50%;
    top:13%;
    width:min(900px,90vw);
    transform:translateX(-50%);
    text-align:center;
    z-index:4;
}

.kl-logo{
    width:210px;
    max-width:46vw;
    height:auto;
    display:block;
    margin:0 auto 14px;

    opacity:0;
    transform:translateY(12px) scale(.95);

    animation:klFade .6s .1s ease forwards;
}

.kl-kicker{
    margin:0 0 10px;
    color:#6dcbff;
    font-size:11px;
    font-weight:800;
    letter-spacing:.32em;
    text-transform:uppercase;

    opacity:0;
    animation:klFade .6s .25s ease forwards;
}

.kl-title{
    margin:0;
    color:#f5fbff;
    font-size:clamp(44px,5vw,76px);
    line-height:1;
    font-weight:900;
    letter-spacing:-.05em;

    opacity:0;
    animation:klFade .6s .4s ease forwards;
}

.kl-title span{
    color:#35aff7;
}

.kl-tagline{
    margin:14px 0 0;
    color:rgba(255,255,255,.86);
    font-size:11px;
    letter-spacing:.15em;
    text-transform:uppercase;

    opacity:0;
    animation:klFade .6s .55s ease forwards;
}

.kl-road-zone{
    position:absolute;
    left:0;
    right:0;
    bottom:8%;
    height:300px;
    z-index:5;
}

.kl-road{
    position:absolute;
    left:6%;
    right:6%;
    bottom:28px;
    height:2px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(82,194,255,.55) 15%,
            rgba(82,194,255,.55) 85%,
            transparent
        );
}

.kl-truck{
    position:absolute;
    right:-720px;
    bottom:35px;

    width:clamp(520px,44vw,720px);
    max-height:250px;
    height:auto;
    object-fit:contain;

    opacity:0;

    filter:
        drop-shadow(0 22px 18px rgba(0,0,0,.34));

    animation:
        klTruckDrive
        3.6s
        .9s
        cubic-bezier(.22,.70,.25,.98)
        forwards;
}

.kl-status{
    position:absolute;
    left:50%;
    bottom:4%;
    transform:translateX(-50%);

    color:rgba(255,255,255,.76);
    font-size:9px;
    font-weight:700;
    letter-spacing:.25em;
    text-transform:uppercase;
    white-space:nowrap;
}

.kl-progress{
    position:absolute;
    left:50%;
    bottom:2%;
    transform:translateX(-50%);

    width:min(280px,58vw);
    height:3px;

    border-radius:20px;
    overflow:hidden;

    background:rgba(255,255,255,.15);
}

.kl-progress::after{
    content:"";
    display:block;

    width:0;
    height:100%;

    background:
        linear-gradient(
            90deg,
            #1a90dc,
            #57c8ff
        );

    animation:
        klProgress
        4.8s
        linear
        forwards;
}

.kl-skip{
    position:absolute;
    right:22px;
    top:22px;
    z-index:10;

    padding:9px 15px;

    border-radius:999px;
    border:1px solid rgba(255,255,255,.18);

    background:rgba(255,255,255,.06);

    color:#fff;

    font-size:11px;
    font-weight:700;

    cursor:pointer;
}

@keyframes klFade{
    from{
        opacity:0;
        transform:translateY(12px) scale(.96);
    }

    to{
        opacity:1;
        transform:translateY(0) scale(1);
    }
}

@keyframes klTruckDrive{
    0%{
        right:-720px;
        opacity:0;
    }

    8%{
        opacity:1;
    }

    88%{
        opacity:1;
    }

    100%{
        right:calc(100% + 760px);
        opacity:0;
    }
}

@keyframes klProgress{
    from{width:0;}
    to{width:100%;}
}

@media(max-width:767px){

    .kl-brand{
        top:11%;
    }

    .kl-logo{
        width:150px;
    }

    .kl-title{
        font-size:40px;
    }

    .kl-tagline{
        font-size:8px;
        letter-spacing:.12em;
    }

    .kl-road-zone{
        height:210px;
        bottom:11%;
    }

    .kl-truck{
        width:350px;
        max-height:160px;
        right:-380px;
        bottom:26px;

        animation:
            klTruckDriveMobile
            3.5s
            .9s
            ease
            forwards;
    }
}

@keyframes klTruckDriveMobile{
    0%{
        right:-380px;
        opacity:0;
    }

    10%{
        opacity:1;
    }

    90%{
        opacity:1;
    }

    100%{
        right:calc(100% + 400px);
        opacity:0;
    }
}

@media(prefers-reduced-motion:reduce){
    #kenantaLoader{
        display:none !important;
    }
}


/* ==========================================================
   LOADER FIX - WHITE WELCOME TEXT + SLOWER TRUCK
   ========================================================== */

/* Welcome to text visible in white */
.kl-title{
    color:#ffffff !important;
    text-shadow:0 4px 22px rgba(0,0,0,.28) !important;
    opacity:1 !important;
}

.kl-title span{
    color:#36b3ff !important;
    text-shadow:0 4px 22px rgba(0,0,0,.22) !important;
}

/* Supporting text better visible */
.kl-kicker{
    color:#7fd2ff !important;
    opacity:1 !important;
}

.kl-tagline,
.kl-status{
    color:rgba(255,255,255,.92) !important;
    opacity:1 !important;
}

/* Logo more visible */
.kl-logo{
    opacity:1 !important;
    filter:drop-shadow(0 10px 20px rgba(0,0,0,.25));
}

/* Truck more visible and above background */
.kl-road-zone{
    z-index:8 !important;
}

.kl-truck{
    z-index:9 !important;
    opacity:1 !important;
    visibility:visible !important;
    display:block !important;
    filter:drop-shadow(0 18px 24px rgba(0,0,0,.32)) !important;
    animation:klTruckDriveSlow 5.8s .9s cubic-bezier(.22,.70,.25,.98) forwards !important;
}

/* Desktop slower truck */
@keyframes klTruckDriveSlow{
    0%{
        right:-720px;
        opacity:1;
    }
    100%{
        right:calc(100% + 760px);
        opacity:1;
    }
}

/* Mobile slower truck */
@media (max-width:767px){
    .kl-truck{
        animation:klTruckDriveSlowMobile 5.2s .9s cubic-bezier(.22,.70,.25,.98) forwards !important;
    }
}

@keyframes klTruckDriveSlowMobile{
    0%{
        right:-380px;
        opacity:1;
    }
    100%{
        right:calc(100% + 420px);
        opacity:1;
    }
}

