        :root {
            --graphite: #121212;
            --armored-gray: #1e1e1e;
            --steel: #e2e2e2;
            --signal-blue: #007aff;
            --carbon-texture: url('https://www.transparenttextures.com/patterns/carbon-fibre.png');
        }

        body {
            background-color: var(--graphite);
            color: var(--steel);
            font-family: 'Inter', sans-serif;
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        .header-font { font-family: 'Space Grotesk', sans-serif; }
        .cursive { font-family: 'Playfair Display', serif; font-style: italic; color: #888; }

        /* Initial Loading / Scan Animation */
        #loader {
            position: fixed;
            inset: 0;
            background: black;
            z-index: 9999;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            transition: opacity 1s ease;
        }

        .scan-line {
            width: 100%;
            height: 2px;
            background: var(--signal-blue);
            position: absolute;
            top: 50%;
            animation: scan 2s infinite ease-in-out;
            box-shadow: 0 0 15px var(--signal-blue);
        }

        @keyframes scan {
            0% { top: 0; opacity: 0; }
            50% { opacity: 1; }
            100% { top: 100%; opacity: 0; }
        }

        .progress-container { width: 200px; height: 1px; background: #333; margin-top: 20px; overflow: hidden; position: relative; }
        .progress-bar { width: 0%; height: 100%; background: var(--steel); transition: width 3s cubic-bezier(0.1, 0, 0.3, 1); }

        /* UI Components */
        .btn-armored {
            border: 1px solid rgba(255,255,255,0.1);
            padding: 0.8rem 2rem;
            text-transform: uppercase;
            font-size: 11px;
            letter-spacing: 2px;
            transition: all 0.4s;
            background: rgba(255,255,255,0.02);
            position: relative;
            overflow: hidden;
        }
        .btn-armored:hover { background: var(--steel); color: black; border-color: var(--steel); }

        .glass-card {
            background: rgba(255,255,255,0.03);
            border: 1px solid rgba(255,255,255,0.05);
            backdrop-filter: blur(10px);
            transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .glass-card:hover { 
            border-color: rgba(255,255,255,0.2); 
            background: rgba(255,255,255,0.06);
            transform: translateY(-5px);
        }

        .reveal { opacity: 0; transform: translateY(30px); transition: 1s all ease-out; }
        .reveal.active { opacity: 1; transform: translateY(0); }

        /* Overlay System */
        .overlay {
            position: fixed;
            inset: 0;
            background: rgba(0,0,0,0.95);
            z-index: 8000;
            display: none;
            overflow-y: auto;
            padding: 5vw;
        }
        .overlay.active { display: block; }

        .page-node { display: none; }
        .page-node.active { display: block; }

        .grid-bg {
            background-image: radial-gradient(circle, rgba(255,255,255,0.05) 1px, transparent 1px);
            background-size: 40px 40px;
        }

        .nav-link { 
            font-size: 10px; 
            letter-spacing: 2px; 
            text-transform: uppercase; 
            opacity: 0.5; 
            transition: 0.3s;
            cursor: pointer;
        }
        .nav-link:hover { opacity: 1; color: var(--signal-blue); }

        /* Scroller */
        ::-webkit-scrollbar { width: 4px; }
        ::-webkit-scrollbar-track { background: var(--graphite); }
        ::-webkit-scrollbar-thumb { background: #333; }
