        :root {
            --indigo: #280A3E;
            --cream: #FFECCC;
            --indigo-light: #3d145c;
        }

        body {
            background-color: var(--indigo);
            color: var(--cream);
            font-family: 'Playpen Sans', cursive;
            margin: 0;
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        /* TYPOGRAPHY HIERARCHY */
        h1, .h1-hero { font-weight: 800; }
        h2, h3 { font-weight: 700; }
        p { font-weight: 400; line-height: 1.6; }
        .btn-text { font-weight: 500; }

        /* HEADER */
        .top-header {
            background: var(--indigo);
            border-bottom: 1px solid rgba(255, 236, 204, 0.2);
            padding: 1rem 5%;
        }

        .nav-bar {
            background: var(--indigo);
            padding: 1rem 5%;
            position: sticky;
            top: 0;
            z-index: 1000;
            box-shadow: 0 4px 20px rgba(0,0,0,0.3);
        }

        /* HERO ROLLING TEXT */
        .hero-container {
            position: relative;
            height: 90vh;
            display: flex;
            align-items: center;
            overflow: hidden;
            background: linear-gradient(rgba(40, 10, 62, 0.7), rgba(40, 10, 62, 0.7)), 
                        url('https://i.pinimg.com/736x/df/af/d8/dfafd808925c30ddd12340b1e311ddb0.jpg');
            background-size: cover;
            background-position: center;
            background-attachment: fixed;
        }

        .rolling-container {
            display: inline-block;
            overflow: hidden;
            vertical-align: bottom;
            height: 1.2em;
            color: var(--cream);
        }

        .rolling-list {
            display: flex;
            flex-direction: column;
            animation: roll 12s infinite ease-in-out;
        }

        @keyframes roll {
            0%, 20% { transform: translateY(0); }
            25%, 45% { transform: translateY(-25%); }
            50%, 70% { transform: translateY(-50%); }
            75%, 95% { transform: translateY(-75%); }
            100% { transform: translateY(0); }
        }

        /* BUTTONS */
        .btn-cream {
            background: var(--cream);
            color: var(--indigo);
            padding: 0.8rem 2rem;
            border-radius: 50px;
            font-weight: 600;
            transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        }
        .btn-cream:hover {
            transform: scale(1.05);
            box-shadow: 0 0 20px var(--cream);
        }

        .btn-outline {
            border: 2px solid var(--cream);
            color: var(--cream);
            padding: 0.8rem 2rem;
            border-radius: 50px;
            transition: 0.3s;
        }
        .btn-outline:hover {
            background: var(--cream);
            color: var(--indigo);
            box-shadow: 0 0 15px var(--cream);
        }

        /* CARDS */
        .lab-card {
            background: rgba(40, 10, 62, 0.8);
            border: 1px solid rgba(255, 236, 204, 0.2);
            transition: 0.4s;
            overflow: hidden;
            position: relative;
        }
        .lab-card:hover {
            transform: translateY(-10px);
            border-color: var(--cream);
            box-shadow: 0 10px 30px rgba(0,0,0,0.5);
        }
        .lab-card img {
            transition: 0.6s;
            filter: grayscale(40%);
        }
        .lab-card:hover img {
            filter: grayscale(0%);
            transform: scale(1.1);
        }

        /* CUSTOM MODAL */
        .modal-overlay {
            position: fixed;
            inset: 0;
            background: rgba(40, 10, 62, 0.95);
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 2000;
            padding: 2rem;
            backdrop-filter: blur(10px);
        }

        /* SEARCH BAR */
        .search-full {
            background: var(--indigo);
            border: 1px solid var(--cream);
            padding: 1rem 5%;
            width: 50%;
            display: flex;
            align-items: center;
            gap: 1rem;
        }
        .search-input {
            background: transparent;
            border: none;
            color: var(--cream);
            width: 100%;
            font-size: 1.5rem;
            outline: none;
        }
        .search-input::placeholder { color: var(--cream); opacity: 0.5; }

        /* SCROLL ANIMATIONS */
        .reveal {
            opacity: 0;
            transform: translateY(30px);
            transition: 1s all ease;
        }
        .reveal.active {
            opacity: 1;
            transform: translateY(0);
        }

        /* HORIZONTAL SCROLL */
        .scroll-container {
            display: flex;
            overflow-x: auto;
            gap: 2rem;
            padding: 2rem 0;
            scrollbar-width: none;
        }
        .scroll-container::-webkit-scrollbar { display: none; }

        /* FOOTER */
        footer {
            border-top: 1px solid rgba(255, 236, 204, 0.1);
            padding: 5rem 5% 2rem;
        }
