/* GULTA PREMIUM SPLASH - V2 */

.gulta-splash.gulta-splash--premium {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    display: grid;
    place-items: center;
    overflow: hidden;
    background:
        radial-gradient(ellipse at 50% 45%,
            #ffffff 0%, #f4f2ff 47%, #e8e7f8 100%);
    opacity: 1;
    visibility: visible;
    transition:
        opacity .65s cubic-bezier(.22,1,.36,1),
        visibility .65s;
    isolation: isolate;
}

.gulta-splash.gulta-splash--premium::before {
    content: "";
    position: absolute;
    inset: -30%;
    background:
        radial-gradient(circle at 28% 35%,
            rgba(255,100,80,.09), transparent 30%),
        radial-gradient(circle at 75% 65%,
            rgba(54,57,166,.11), transparent 34%);
    animation: gultaAmbient 5s ease-in-out infinite alternate;
}

.gulta-splash.gulta-splash--premium.gulta-splash--exit,
.gulta-splash.gulta-splash--premium.hide {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.gulta-splash-scene {
    position: relative;
    display: grid;
    place-items: center;
    width: min(310px, 82vw);
    aspect-ratio: 1;
    animation: gultaSceneEnter .85s cubic-bezier(.2,.9,.2,1) both;
}

.gulta-splash-glow {
    position: absolute;
    inset: 17%;
    border-radius: 50%;
    background: radial-gradient(circle,
        rgba(255,255,255,.95) 5%,
        rgba(54,57,166,.10) 57%,
        transparent 74%);
    filter: blur(15px);
    animation: gultaHalo 2.3s ease-in-out infinite;
}

.gulta-splash-ring {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.gulta-splash-ring.ring-one {
    inset: 3%;
    border: 1px solid rgba(54,57,166,.14);
    border-top: 2px solid #3639A6;
    border-right: 2px solid rgba(255,100,80,.7);
    animation: gultaOrbit 5s linear infinite;
}

.gulta-splash-ring.ring-two {
    inset: 12%;
    border: 1px dashed rgba(54,57,166,.18);
    border-bottom: 2px solid #FF6450;
    animation: gultaOrbitReverse 7s linear infinite;
}

.gulta-splash-symbol {
    position: relative;
    z-index: 2;
    width: 66%;
    display: grid;
    place-items: center;
    animation: gultaFloat 2.1s ease-in-out infinite;
}

.gulta-splash.gulta-splash--premium .gulta-splash-logo {
    width: 100%;
    max-width: 190px;
    max-height: 190px;
    height: auto;
    object-fit: contain;
    display: block;
    margin: 0;
    opacity: 1;
    animation: gultaReveal .9s cubic-bezier(.16,1,.3,1) both;
    filter: drop-shadow(0 10px 22px rgba(54,57,166,.16));
}

/* Entrance and movement */
@keyframes gultaSceneEnter {
    from { opacity: 0; transform: scale(.72) rotate(-7deg); }
    to   { opacity: 1; transform: scale(1) rotate(0); }
}

@keyframes gultaReveal {
    from { opacity: 0; transform: scale(.72); filter: blur(12px); }
    to   { opacity: 1; transform: scale(1); filter: blur(0); }
}

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

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

@keyframes gultaFloat {
    0%, 100% { transform: translateY(0) scale(1); }
    50%      { transform: translateY(-9px) scale(1.035); }
}

@keyframes gultaHalo {
    0%,100% { opacity: .6; transform: scale(.94); }
    50%     { opacity: 1; transform: scale(1.1); }
}

@keyframes gultaAmbient {
    from { transform: translate(-2%, -1%) rotate(0); }
    to   { transform: translate(2%, 1%) rotate(8deg); }
}

/* Mobile */
@media (max-width: 600px) {
    .gulta-splash-scene {
        width: min(260px, 76vw);
    }

    .gulta-splash.gulta-splash--premium .gulta-splash-logo {
        max-width: 155px;
        max-height: 155px;
    }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    .gulta-splash.gulta-splash--premium *,
    .gulta-splash.gulta-splash--premium::before {
        animation: none !important;
    }

    .gulta-splash-scene,
    .gulta-splash.gulta-splash--premium .gulta-splash-logo {
        opacity: 1 !important;
        transform: none !important;
    }
}