


#canvas-container {
    position: fixed;
    top: -3%; /* Pull it up slightly */
    left: -5%; /* Pull it left slightly */
    width: 110vw; /* Make it wider than the screen */
    height: 110vh; /* Make it taller than the screen */
    z-index: 1;
    overflow: hidden; /* This hides the logo that is now "off-screen" */
}




body, html {
            margin: 0;
            padding: 0;
            width: 100%;
            height: 100%;
            background-color: #111; /* Dark background so the gray box isn't jarring */
            overflow: hidden; /* Prevents scrollbars while testing */
        }

        /* The wrapper MUST have a defined height/width */
        

        /* Ensure the spline-viewer fills its parent completely */
        spline-viewer {
            display: block;
            width: 100%;
            height: 100%;


            opacity: 1;
            transition: opacity ease 2s;
        }

        /* Simple content overlay */
        




/* Base header */
.site-header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000;
    padding: 0.75rem 0;
    font-family:system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif
}

/* Glass container */
.header-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0.75rem 1.5rem;

    display: flex;
    align-items: center;
    justify-content: space-between;

    background: linear-gradient(
        135deg,
        rgba(255, 255, 255, 0.12),
        rgba(255, 255, 255, 0.04)
    );
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);

    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow:
        0 8px 30px rgba(0, 0, 0, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.25);

    position: relative;
    overflow: hidden;
}

/* Liquid light sweep */
.header-inner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(
        120% 80% at 10% 0%,
        rgba(255, 255, 255, 0.25),
        transparent 50%
    );
    opacity: 0.6;
    pointer-events: none;
}

/* Logo */
.navlogo {
    height: 36px;
}



/* Nav */
.mainnav ul {
    display: flex;
    gap: 2rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.mainnav a {
    position: relative;
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    font-size: 0.95rem;
    transition: color 0.25s ease;
}

/* Liquid underline */
.mainnav a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -6px;
    width: 100%;
    height: 2px;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.9),
        transparent
    );
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.mainnav a:hover {
    color: #fff;
}

.mainnav a:hover::after {
    transform: scaleX(1);
}

/* CTA button – glass pill */
.nav-cta {
    padding: 0.45rem 1rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.25);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

.nav-cta:hover {
    background: rgba(255, 255, 255, 0.28);
}



.tstitle {
            position: relative;
            z-index: 10;
            color: white;
            font-family: sans-serif;
            text-align: center;
            margin-top: 20vh;
            pointer-events: none;
        }



.tstitleheader {
    font-family:monospace;
    font-size: 4rem;
}






/* Default: desktop allowed */
.mobile-block {
    display: none;
}

/* Mobile breakpoint */
@media (max-width: 768px) {
    body > *:not(.mobile-block) {
        display: none !important;
    }

    .mobile-block {
        display: flex;
        position: fixed;
        inset: 0;
        background: #000;
        color: #fff;
        font-size: 1.2rem;
        font-family: system-ui, sans-serif;
        text-align: center;
        align-items: center;
        justify-content: center;
        z-index: 9999;
    }
}
