@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Noto+Sans+SC:wght@100..900&display=swap");

.preloader,
.split-overlay,
.tags-overlay {
    position: fixed;
    width: 100vw;
    height: 100vh;
    left: 0;
    top: 0;
}

.preloader,
.split-overlay {
    background-color: #080808;
    color: #fff;
    /* D0g3 Grid Background */
    background-image: 
        linear-gradient(to right, rgba(0, 255, 0, 0.05) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(0, 255, 0, 0.05) 1px, transparent 1px);
    background-size: 20px 20px;
}

.preloader {
    z-index: 20002;
}

.split-overlay {
    z-index: 20001;
}

.tags-overlay {
    z-index: 20002;
    pointer-events: none;
}

.intro-title {
    position: absolute; 
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center;
    white-space: nowrap;
}

.intro-title h1 {
    text-transform: uppercase;
    font-size: 6rem;
    font-weight: 600;
    line-height: 1;
    font-family: "Noto Sans SC", sans-serif;
    color: #fff;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.3); /* Subtle glow */
}

.intro-title .char {
    position: relative;
    display: inline-block;
    overflow: hidden;
}

.intro-title .char span {
    position: relative;
    display: inline-block;
    transform: translateY(110%);
    will-change: transform;
}

.intro-title .first-char {
    transform-origin: center center;
}

.tag {
    position: absolute;
    width: max-content;
    color: #00ff00; /* Primary Green */
    overflow: hidden;
    font-family: "Courier New", monospace; /* Mono font */
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    text-shadow: 0 0 5px rgba(0, 255, 0, 0.5);
}

.tag-1 { top: 15%; left: 15%; }
.tag-2 { bottom: 15%; left: 25%; }
.tag-3 { bottom: 30%; right: 15%; }

.tag .word {
    position: relative;
    display: inline-block;
    transform: translateY(110%);
    will-change: transform;
}

/* Initial clip-path for container */
.container {
    clip-path: polygon(0 48%, 0 48%, 0 52%, 0 52%);
    will-change: clip-path;
}

@media(max-width: 1000px) {
    .intro-title h1 {
        font-size: 2.5rem;
    }
}
