 * { font-family: 'Inter', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
        html { scroll-behavior: smooth; }
        body { background: #0a0a0a; color: #e5e5e5; overflow-x: hidden; }
        ::selection { background: #c9a87c; color: #0a0a0a; }
        ::-webkit-scrollbar { width: 0; }

        .grain::before {
            content: '';
            position: fixed;
            inset: 0;
            pointer-events: none;
            z-index: 1;
            opacity: 0.03;
            background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
        }

        .font-display {
            font-family: 'Instrument Serif', Georgia, serif;
            font-weight: 400;
            letter-spacing: -0.02em;
        }

        .text-balance { text-wrap: balance; }

        .mesh-bg {
            background:
                radial-gradient(ellipse 80% 50% at 20% 0%, rgba(201, 168, 124, 0.08), transparent 50%),
                radial-gradient(ellipse 60% 50% at 80% 100%, rgba(201, 168, 124, 0.05), transparent 50%);
        }

        @keyframes marquee {
            from { transform: translateX(0); }
            to { transform: translateX(-50%); }
        }
        .marquee-track { animation: marquee 40s linear infinite; }

        .reveal {
            opacity: 0;
            transform: translateY(24px);
            transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1), transform 1s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .reveal.visible { opacity: 1; transform: translateY(0); }

        .link-underline {
            position: relative;
            display: inline-block;
        }
        .link-underline::after {
            content: '';
            position: absolute;
            left: 0; bottom: -2px;
            width: 100%; height: 1px;
            background: currentColor;
            transform: scaleX(0);
            transform-origin: right;
            transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .link-underline:hover::after {
            transform: scaleX(1);
            transform-origin: left;
        }

        .chapter-num {
            font-family: 'Instrument Serif', serif;
            font-style: italic;
            color: #c9a87c;
        }

        .card {
            border: 1px solid rgba(255, 255, 255, 0.06);
            background: rgba(255, 255, 255, 0.02);
            transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .card:hover {
            border-color: rgba(201, 168, 124, 0.3);
            background: rgba(201, 168, 124, 0.03);
            transform: translateY(-4px);
        }

        .btn { transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); }
        .btn-primary { background: #f5f2ec; color: #0a0a0a; }
        .btn-primary:hover { background: #c9a87c; transform: translateY(-2px); }
        .btn-ghost { border: 1px solid rgba(255, 255, 255, 0.15); color: #e5e5e5; }
        .btn-ghost:hover { border-color: #c9a87c; color: #c9a87c; }

        .nav-blur {
            backdrop-filter: blur(20px) saturate(180%);
            -webkit-backdrop-filter: blur(20px) saturate(180%);
            background: rgba(10, 10, 10, 0.7);
            border-bottom: 1px solid rgba(255, 255, 255, 0.04);
        }

        .mobile-menu {
            transform: translateX(100%);
            transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .mobile-menu.open { transform: translateX(0); }

        .hairline { height: 1px; background: rgba(255, 255, 255, 0.08); }

        .ticker-item { display: inline-flex; align-items: center; gap: 2rem; padding: 0 2rem; }
        .ticker-dot { width: 4px; height: 4px; background: #c9a87c; border-radius: 50%; }

        .lang-btn {
            transition: all 0.3s ease;
            padding: 0.375rem 0.75rem;
            border-radius: 999px;
            font-size: 0.75rem;
            font-weight: 500;
            letter-spacing: 0.05em;
        }
        .lang-btn.active { background: #f5f2ec; color: #0a0a0a; }
        .lang-btn:not(.active) { color: #737373; }
        .lang-btn:not(.active):hover { color: #e5e5e5; }

        @keyframes orb-rotate {
            from { transform: rotate(0deg); }
            to { transform: rotate(360deg); }
        }
        .orb-ring { animation: orb-rotate 40s linear infinite; }
        .orb-ring-reverse { animation: orb-rotate 60s linear infinite reverse; }

        .input {
            background: transparent;
            border: 1px solid rgba(255, 255, 255, 0.1);
            transition: all 0.3s ease;
        }
        .input:focus { outline: none; border-color: #c9a87c; }

        /* Neural network animation */
        @keyframes pulse-node {
            0%, 100% { opacity: 0.3; transform: scale(1); }
            50% { opacity: 1; transform: scale(1.03); }
        }
        .neural-node { animation: pulse-node 3s ease-in-out infinite; }
        .neural-node:nth-child(2) { animation-delay: 0.5s; }
        .neural-node:nth-child(3) { animation-delay: 1s; }
        .neural-node:nth-child(4) { animation-delay: 1.5s; }
        .neural-node:nth-child(5) { animation-delay: 2s; }

        @keyframes flow-line {
            0% { stroke-dashoffset: 20; }
            100% { stroke-dashoffset: 0; }
        }
        .flow-line {
            stroke-dasharray: 4 4;
            animation: flow-line 2s linear infinite;
        }

        /* AI badge glow */
        @keyframes ai-glow {
            0%, 100% { box-shadow: 0 0 0 0 rgba(201, 168, 124, 0); }
            50% { box-shadow: 0 0 20px 2px rgba(201, 168, 124, 0.15); }
        }
        .ai-badge { animation: ai-glow 3s ease-in-out infinite; }