#sv-intro {
    position: fixed;
    inset: 0;
    display: block;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    cursor: pointer;
    background: #02070b;
}

#sv-intro picture,
#sv-intro img {
    display: block;
    width: 100%;
    height: 100%;
}

#sv-intro img {
    object-fit: cover;
    object-position: center center;
    user-select: none;
    -webkit-user-drag: none;
}



/* =========================================================
   SURFACE VECTOR — WHITE-CORE CYAN ENERGY GLOW
   ========================================================= */

#sv-intro::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 5;
    pointer-events: none;

    background: radial-gradient(
        ellipse at 50% 38%,
        rgba(210, 250, 255, .30) 0%,
        rgba(80, 225, 255, .30) 12%,
        rgba(20, 190, 255, .20) 30%,
        rgba(0, 140, 255, .10) 50%,
        transparent 72%
    );

    mix-blend-mode: screen;
    opacity: .18;
    transform: scale(1);

    animation: sv-white-core-glow 7s ease-in-out infinite;
}

@keyframes sv-white-core-glow {

    0%, 100% {
        opacity: .18;
        transform: scale(1);

        background: radial-gradient(
            ellipse at 50% 38%,
            rgba(170, 240, 255, .20) 0%,
            rgba(50, 210, 255, .25) 14%,
            rgba(10, 175, 255, .16) 32%,
            rgba(0, 120, 255, .07) 52%,
            transparent 72%
        );
    }

    50% {
        opacity: 1;
        transform: scale(1.045);

        background: radial-gradient(
            ellipse at 50% 38%,

            rgba(255, 255, 255, .95) 0%,
            rgba(235, 255, 255, .90) 5%,
            rgba(170, 245, 255, .78) 12%,
            rgba(60, 225, 255, .55) 24%,
            rgba(0, 185, 255, .32) 40%,
            rgba(0, 110, 255, .14) 58%,
            transparent 75%
        );
    }
}

@media (prefers-reduced-motion: reduce) {
    #sv-intro::after {
        animation: none;
        opacity: .35;
    }
}



/* The HTML homepage remains complete and visible when JavaScript is unavailable. */
#sv-intro[hidden] { display: none !important; }
#sv-intro {
  z-index: 2147483646; border: 0; padding: 0; margin: 0; border-radius: 0;
  color: inherit; font: inherit; appearance: none; isolation: isolate;
  opacity: 1; transition: opacity 1.35s ease-in-out;
  animation: sv-intro-failsafe .01s 7.5s forwards;
}
#sv-intro::after { animation-play-state: paused; }
#sv-intro.sv-intro-running::after { animation-play-state: running; }
#sv-intro .sv-intro-white {
  position: absolute; inset: 0; z-index: 6; background: white; opacity: 0;
  pointer-events: none; transition: opacity 1.5s ease-in-out;
}
#sv-intro.sv-intro-whiteout .sv-intro-white { opacity: 1; }
#sv-intro.sv-intro-fade { opacity: 0; pointer-events: none; }
@keyframes sv-intro-failsafe { to { visibility: hidden; pointer-events: none; } }
@media (prefers-reduced-motion: reduce) {
  #sv-intro { display: none !important; transition: none; }
}
