/* SORA DESIGN — PANTALLA DE CARGA (capa sobre Inicio, solo la primera visita)
   El logo "sora" se llena de azul y el pajarito vuela por la línea de progreso. */
.ld{position:fixed;inset:0;z-index:5000;background:#0d0e14;color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(18px,3vh,28px);padding:24px;
  font-family:"Plus Jakarta Sans",system-ui,sans-serif;--p:0;transition:opacity .5s ease;}
.ld-seen .ld{display:none;}
html.ld-on,html.ld-on body{overflow:hidden;}
.ld img{display:block;max-width:100%;}
.ld__word{position:relative;width:min(72vw,520px);aspect-ratio:1400/530;animation:ldIn .9s cubic-bezier(.22,1,.36,1) both;}
.ld__ghost{width:100%;height:auto;opacity:.12;}
.ld__fill{position:absolute;inset:0;background:#004efd;
  -webkit-mask:url(../Imagenes/sora-word-white.webp) center/contain no-repeat;mask:url(../Imagenes/sora-word-white.webp) center/contain no-repeat;
  clip-path:inset(calc((1 - var(--p)) * 100%) 0 0 0);}
@keyframes ldIn{from{opacity:0;transform:translateY(16px) scale(.97);}}
.ld__track{position:relative;width:min(72vw,520px);height:30px;animation:ldIn .9s cubic-bezier(.22,1,.36,1) .1s both;}
.ld__line{position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;border-radius:2px;background:linear-gradient(90deg,#004efd calc(var(--p) * 100%),rgba(255,255,255,.12) 0);}
.ld__bird{position:absolute;top:0;left:calc(var(--p) * 100%);width:30px;height:auto;transform:translateX(-50%);animation:ldFlap .5s ease-in-out infinite alternate;}
@keyframes ldFlap{to{transform:translateX(-50%) translateY(-5px) rotate(-6deg);}}
.ld__meta{width:min(72vw,520px);display:flex;justify-content:space-between;margin:0;font-size:13px;font-weight:600;color:rgba(255,255,255,.55);letter-spacing:.02em;animation:ldIn .9s cubic-bezier(.22,1,.36,1) .2s both;}
.ld__meta b{color:#fff;font-weight:800;font-variant-numeric:tabular-nums;}
.ld__wipe{position:fixed;inset:0;z-index:1;background:#004efd;transform:translateY(100%);border-radius:50% 50% 0 0/14% 14% 0 0;transition:transform .7s cubic-bezier(.76,0,.24,1),border-radius .7s cubic-bezier(.76,0,.24,1);}
.ld__wipe--ink{z-index:2;background:#0d0e14;transition-delay:.18s;}
.ld.is-done .ld__wipe{transform:none;border-radius:0;}
.ld.is-out{opacity:0;pointer-events:none;}
@media (prefers-reduced-motion:reduce){.ld *{animation:none!important;transition-duration:.01ms!important;}}
