        :root { scroll-behavior: smooth; }
        body { margin: 0; padding: 0; background-color: #F5F2ED; color: #1A1A1A; overflow-x: hidden; font-family: 'Inter', sans-serif; }
        
        /* Hero and Backgrounds */
        .hero-section {
            min-height: 100vh; width: 100%;
            background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.2)), url('https://i.pinimg.com/736x/04/8f/84/048f8405b84a0f3f7f7d73d08e854030.jpg');
            background-size: cover; background-position: center;
            display: flex; align-items: center; position: relative;
        }

        .bg-textured { background-image: url("https://www.transparenttextures.com/patterns/natural-paper.png"); }

        /* Navigation */
        .glass-nav { 
            background: transparent; 
            transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1); 
            height: 120px;
        }
        .glass-nav.scrolled { 
            background: rgba(26, 26, 26, 0.98); 
            backdrop-filter: blur(20px); 
            height: 90px; 
            box-shadow: 0 10px 40px rgba(0,0,0,0.2); 
        }

        /* Content Sections */
        .section-padding { padding: 160px 0; }
        
        /* Interactive Cards */
        .boho-card { transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1); border: 1px solid transparent; }
        .boho-card:hover { transform: translateY(-20px); border-color: #C97D60; box-shadow: 0 30px 60px -12px rgba(201, 125, 96, 0.15); }

        /* Masonry Gallery */
        .masonry { column-count: 1; column-gap: 2.5rem; }
        @media (min-width: 768px) { .masonry { column-count: 2; } }
        @media (min-width: 1024px) { .masonry { column-count: 3; } }

        /* Animations */
        @keyframes fadeInUp { from { opacity: 0; transform: translateY(50px); } to { opacity: 1; transform: translateY(0); } }
        .reveal { animation: fadeInUp 1.2s cubic-bezier(0.215, 0.61, 0.355, 1) forwards; }

        /* Lab Components */
        .game-canvas { background: #fff; border-radius: 40px; cursor: crosshair; box-shadow: inset 0 0 50px rgba(0,0,0,0.05); }
        .pattern-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
        .card-inner { transition: transform 0.6s; transform-style: preserve-3d; }
        .flipped .card-inner { transform: rotateY(180deg); }

        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 6px; }
        ::-webkit-scrollbar-track { background: #F5F2ED; }
        ::-webkit-scrollbar-thumb { background: #C97D60; border-radius: 10px; }
