/* Animasi loading sebelum masuk website (hanya halaman utama) */
body.ld-on{overflow:hidden}
.ld{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#f4f5f8;overflow:hidden;font-family:'Plus Jakarta Sans',system-ui,sans-serif;transition:transform 1.05s cubic-bezier(.77,0,.18,1),border-radius 1.05s cubic-bezier(.77,0,.18,1);animation:ldfail .01s 11s forwards}
@keyframes ldfail{to{visibility:hidden;opacity:0;pointer-events:none}}
.ld::before,.ld::after{content:"";position:absolute;border-radius:50%;filter:blur(70px);animation:ldb 6s ease-in-out infinite alternate}
.ld::before{width:46vmax;height:46vmax;left:-12vmax;top:-14vmax;background:#fff}
.ld::after{width:40vmax;height:40vmax;right:-12vmax;bottom:-14vmax;background:#d3d7df;animation-delay:-3s}
@keyframes ldb{to{transform:translate(6vmax,4vmax) scale(1.2)}}
.ld.out{transform:translateY(-100%);border-radius:0 0 50% 50% / 0 0 16vh 16vh}
.ld-in{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px}
.ld-logo{position:relative;width:128px;height:128px;display:grid;place-items:center;border-radius:50%;perspective:520px;animation:ldpop .9s cubic-bezier(.2,.9,.2,1) both}
.ld-logo img{width:92px;height:92px;filter:drop-shadow(0 10px 22px rgba(30,35,45,.22));object-fit:contain;animation:ldflip 2.8s cubic-bezier(.6,0,.3,1) .5s infinite}
@keyframes ldpop{from{opacity:0;transform:scale(.6) translateY(24px);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}
@keyframes ldflip{0%{transform:rotateY(0)}55%,100%{transform:rotateY(360deg)}}
.ld-ring{position:absolute;inset:-14px;border-radius:50%;border:2px solid transparent;border-top-color:rgba(20,22,26,.6);border-right-color:rgba(20,22,26,.16);animation:ldrot 1.5s linear infinite}
.ld-ring.r2{inset:-30px;border-radius:50%;border-top-color:transparent;border-bottom-color:rgba(214,40,40,.6);border-left-color:rgba(214,40,40,.15);animation-duration:2.3s;animation-direction:reverse}
@keyframes ldrot{to{transform:rotate(360deg)}}
.ld-name{margin-top:58px;font-weight:800;font-size:clamp(16px,2.3vw,23px);letter-spacing:.22em;color:#14161a;animation:ldup .8s .35s cubic-bezier(.2,.8,.2,1) both}
.ld-sub{margin-top:8px;font-size:13px;letter-spacing:.09em;color:#5d6472;animation:ldup .8s .5s cubic-bezier(.2,.8,.2,1) both}
.ld-bar{margin-top:30px;width:min(260px,64vw);height:4px;border-radius:4px;background:rgba(20,22,26,.1);overflow:hidden;animation:ldup .8s .6s both}
.ld-bar i{display:block;height:100%;width:0;border-radius:4px;background:linear-gradient(90deg,#14161a,#6b7280)}
.ld-pct{margin-top:10px;font-size:12px;font-weight:700;color:#5d6472;font-variant-numeric:tabular-nums;animation:ldup .8s .7s both}
@keyframes ldup{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ld,.ld.out{transition:opacity .4s}.ld.out{transform:none;opacity:0}.ld *,.ld::before,.ld::after{animation:none!important}}
