/* ==========================================================================
   Splash de producto — breve, elegante, se auto-descarta al inicializar.
   Identidad CableSpeedy (navy + ámbar, señal/pulso). BlackPanther solo firma.
   ========================================================================== */
.cs-splash-done .splash { display: none !important; }

.splash {
    position: fixed; inset: 0; z-index: 2000;
    display: grid; place-items: center;
    background: var(--nav-bg, #0D1321);
    background-image: linear-gradient(165deg, var(--nav-bg-2, #0F2138) 0%, var(--nav-bg, #0D1321) 55%, oklch(0.17 0.03 262) 100%);
    color: var(--nav-text-strong, #fff);
    opacity: 1;
    transition: opacity 420ms cubic-bezier(.22, 1, .36, 1), visibility 0s linear 420ms;
}
.splash.is-out { opacity: 0; visibility: hidden; pointer-events: none; }

.splash__inner { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; }

/* Marca central con anillos de señal */
.splash__signal { position: relative; width: 132px; height: 132px; display: grid; place-items: center; margin-bottom: 26px; }
.splash__ring {
    position: absolute; inset: 0; margin: auto; width: 64px; height: 64px; border-radius: 50%;
    border: 1.5px solid rgba(255, 193, 7, 0.55);
    opacity: 0; transform: scale(0.4);
    animation: splashRing 2000ms cubic-bezier(.22, 1, .36, 1) infinite;
}
.splash__ring:nth-child(2) { animation-delay: 500ms; }
.splash__ring:nth-child(3) { animation-delay: 1000ms; }
@keyframes splashRing {
    0%   { opacity: 0;   transform: scale(0.4); }
    18%  { opacity: 0.9; }
    100% { opacity: 0;   transform: scale(2.1); }
}

.splash__mark {
    position: relative; z-index: 1; width: 62px; height: 62px; border-radius: var(--r-card, 16px);
    background: var(--accent, #FFC107); color: var(--accent-ink, #14213D); display: grid; place-items: center;
    box-shadow: 0 10px 30px rgba(255, 193, 7, 0.35);
    animation: splashPulse 1600ms cubic-bezier(.22, 1, .36, 1) infinite;
}
.splash__mark .ico { width: 32px; height: 32px; }
@keyframes splashPulse {
    0%, 100% { transform: scale(1); box-shadow: 0 10px 30px rgba(255, 193, 7, 0.30); }
    50%      { transform: scale(1.06); box-shadow: 0 14px 40px rgba(255, 193, 7, 0.5); }
}

.splash__word {
    font-family: var(--font-sans); font-weight: 800; font-size: 1.9rem; letter-spacing: -0.03em; color: #fff;
    opacity: 0; transform: translateY(8px); animation: splashRise 620ms cubic-bezier(.22, 1, .36, 1) 140ms forwards;
}
.splash__word b { color: var(--accent, #FFC107); }
.splash__tag {
    margin-top: 8px; font-size: 0.8125rem; color: rgba(255, 255, 255, 0.55); letter-spacing: .02em;
    opacity: 0; animation: splashRise 620ms cubic-bezier(.22, 1, .36, 1) 260ms forwards;
}
@keyframes splashRise { to { opacity: 1; transform: translateY(0); } }

/* Barra de progreso de inicialización (no spinner) */
.splash__bar { margin-top: 30px; width: 148px; height: 3px; border-radius: 999px; background: rgba(255, 255, 255, 0.12); overflow: hidden; }
.splash__bar > span {
    display: block; height: 100%; width: 40%; border-radius: 999px; background: #FFC107;
    animation: splashBar 1400ms cubic-bezier(.4, 0, .2, 1) infinite;
}
@keyframes splashBar {
    0%   { transform: translateX(-120%); width: 55%; }
    60%  { width: 42%; }
    100% { transform: translateX(320%); width: 55%; }
}

/* Firma secundaria (BlackPanther, discreta) */
.splash__foot {
    position: absolute; bottom: 28px; left: 0; right: 0; text-align: center;
    font-size: 11px; letter-spacing: .04em; color: rgba(255, 255, 255, 0.4);
}
.splash__foot b { color: rgba(255, 255, 255, 0.62); font-weight: 600; }

@media (prefers-reduced-motion: reduce) {
    .splash__ring { animation: none; opacity: 0; }
    .splash__mark { animation: none; }
    .splash__word, .splash__tag { animation-duration: 1ms; }
    .splash__bar > span { animation: none; width: 100%; transform: none; }
}
