* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: #111;
    color: #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100dvh;
}

.splash {
    flex-direction: column;
    position: relative;
    overflow: hidden;
}

.splash-bg,
.splash-glow {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.splash-bg { opacity: 0.25; }

.splash-bg svg,
.splash-bg img,
.splash-glow svg {
    width: 100vmin;
    height: 100vmin;
}

.splash-glow svg {
    overflow: visible;
    transition: transform 1.2s cubic-bezier(0.4, 0, 0.2, 1) 1s;
}

/* Initial CoN draw animation — scoped to the foreground (splash-glow) so the
   same classes in the background SVG keep their authored attributes. */

.splash-glow .c-ring {
    stroke-dasharray: 0 1194;
    filter: drop-shadow(0 0 20px rgba(255, 255, 255, 0.8));
    animation: c-draw 2.5s ease-in-out forwards;
}

@keyframes c-draw {
    to { stroke-dasharray: 960 1194; }
}

.splash-glow .o-ring {
    stroke-dasharray: 0 716;
    filter: drop-shadow(0 0 20px rgba(255, 255, 255, 0.8));
    animation: o-draw 2.5s ease-in-out 1s forwards;
}

@keyframes o-draw {
    to { stroke-dasharray: 716 716; }
}

.splash-glow .n-letter {
    opacity: 0;
    filter: drop-shadow(0 0 20px rgba(255, 255, 255, 0.8));
    animation: n-reveal 1.5s ease-in-out 2s forwards;
}

@keyframes n-reveal {
    to { opacity: 1; }
}

/* Wordmark: a fresh <g> replaces the rings + N text at morph time */

.wordmark text {
    filter: drop-shadow(0 0 20px rgba(255, 255, 255, 0.8));
}

.wm-c,
.wm-o {
    transform-box: fill-box;
    transform-origin: center;
    transition: transform 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.wm-c { transform: scale(3.45); }
.wm-o { transform: scale(2.18); }

.splash-glow.morph .wm-c { transform: translate(-180px, 0) scale(1); }
.splash-glow.morph .wm-o { transform: translate(-90px, 0) scale(1); }

.wm-d {
    opacity: 0;
    transition: opacity 0.45s ease-out;
}

.splash-glow.morph .wm-d { opacity: 1; }

/* After C and O settle, the whole SVG zooms out so "CONDURACHE" fits */

.splash-glow.morph svg {
    transform: translateX(-24vmin) scale(0.55);
}
