:root {
    --bg: #0a0a0a;
    --accent: #00d1ff;
    --text: #ffffff;
    --glass: rgba(255, 255, 255, 0.05);
    --margin: 10%; 
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html {
    scrollbar-gutter: stable; /* Prevents logo jump */
}

body { 
    background: radial-gradient(circle at center, #111 0%, #0a0a0a 100%);
    color: var(--text); 
    font-family: 'Inter', sans-serif; 
    overflow-x: hidden;
    min-height: 100vh;
}

h1, h2, h3 { font-family: 'Syne', sans-serif; text-transform: uppercase; }

/* --- Cursor --- */
.cursor-ring { width: 60px; height: 60px; border: 1.5px solid var(--accent); border-radius: 50%; position: fixed; pointer-events: none; z-index: 9999; transform: translate(-50%, -50%); }
.cursor-dot { width: 6px; height: 6px; background: var(--accent); position: fixed; border-radius: 50%; z-index: 10000; pointer-events: none; transform: translate(-50%, -50%); }

/* --- Navigation --- */
nav {
    position: fixed;
    top: 0; left: 0;
    width: 100%;
    padding: 40px var(--margin);
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 1000;
    /* Added transform to the existing transitions */
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), 
                all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

/* New: Only active when triggered by JS on narrow screens */
nav.nav-hidden { 
    transform: translateY(-100%); 
}

.logo-link { display: flex; align-items: center; text-decoration: none; }
.logo-icon {
    width: 140px; height: auto;
    filter: drop-shadow(0 0 15px rgba(0, 209, 255, 0.4));
    transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.logo-link:hover .logo-icon {
    filter: drop-shadow(0 0 25px rgba(0, 209, 255, 0.8));
    transform: scale(1.05);
}

nav div { 
    display: flex; 
    gap: 40px; 
    transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1); 
}

nav a { 
    color: white; 
    text-decoration: none; 
    font-size: 0.85rem; 
    letter-spacing: 2px; 
    text-transform: uppercase; 
}

/* Scrolled Sidebar (UNCHANGED PC VIEW) */
nav.scrolled { padding: 20px 40px; }
nav.scrolled .logo-icon { width: 80px; }

/* Ensures sidebar logic only triggers on wide screens */
@media (min-width: 1025px) {
    nav.scrolled div {
        position: fixed;
        right: 0; top: 50%;
        transform: translateY(-50%);
        flex-direction: column;
        gap: 25px;
        background: rgba(10, 10, 10, 0.85);
        padding: 40px 25px;
        border-radius: 30px 0 0 30px;
        border: 1px solid var(--accent);
        border-right: none;
        backdrop-filter: blur(15px);
    }
}

/* --- Hero & Layouts (Full Logic Restored) --- */
.hero { height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; }
.anim-text { display: inline-block; cursor: default; }
.char { display: inline-block; transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); }
.char:hover { transform: translateY(-7px) scale(1.05); color: var(--accent); }

.blue-hollow {
    color: var(--bg); 
    -webkit-text-stroke: 3px var(--accent);
    paint-order: stroke fill;
    stroke-linejoin: round;
    letter-spacing: 8px;
    font-weight: 800;
}

.content-block { padding: 100px var(--margin); display: flex; flex-direction: column; align-items: center; gap: 60px; position: relative; z-index: 2; }
.pillar-container { display: flex; gap: 60px; width: 100%; }
.pillar { flex: 1; padding: 30px; border-left: 1px solid var(--accent); text-align: left; }

.btn {
    padding: 15px 35px; border-radius: 50px; border: 1px solid var(--accent);
    background: transparent; color: white; cursor: pointer; font-weight: bold;
    text-decoration: none; display: inline-block; transition: 0.4s;
}
.btn:hover { background: var(--accent); color: black; }

.ripple-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; background-color: rgba(0,0,0,0.01); pointer-events: none; }