        :root {
            --primary-blue: #170C79;
            --secondary-orange: #FF653F;
            --bg-white: #ffffff;
        }

        body {
            font-family: 'Manrope', sans-serif;
            background-color: var(--bg-white);
            color: var(--primary-blue);
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        /* --- ROOM TRANSITIONS & LAYOUT --- */
        .room-section {
            min-height: 100vh;
            position: relative;
            display: flex;
            align-items: center;
            padding: 100px 5%;
        }

        /* --- ANIMATIONS --- */
        @keyframes drift {
            0%, 100% { transform: translate(0, 0) rotate(0deg); }
            50% { transform: translate(20px, -30px) rotate(5deg); }
        }

        .floating-furniture {
            position: absolute;
            z-index: 5;
            animation: drift 12s ease-in-out infinite;
            filter: drop-shadow(0 20px 40px rgba(0,0,0,0.1));
            pointer-events: none;
            opacity: 0.8;
        }

        /* --- HEADER & NAV --- */
        header { transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); }
        header.scrolled {
            background-color: var(--primary-blue);
            height: 70px;
            color: white;
            box-shadow: 0 10px 30px rgba(0,0,0,0.2);
        }

        .nav-link {
            position: relative;
            padding: 10px 15px;
            font-weight: 800;
            transition: color 0.3s;
        }
        .nav-link::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 50%;
            width: 0;
            height: 4px;
            background: var(--secondary-orange);
            transition: all 0.3s;
            transform: translateX(-50%);
        }
        .nav-link:hover::after, .nav-link.active::after {
            width: 80%;
        }

        /* --- IDEA WALL CARDS --- */
        .idea-card {
            transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            cursor: pointer;
        }
        .idea-card:hover {
            transform: rotate(0deg) scale(1.05) !important;
            z-index: 50;
            box-shadow: 0 0 50px var(--secondary-orange);
        }

        /* --- CAROUSEL --- */
        .carousel-ring {
            width: 500px;
            height: 500px;
            border-radius: 50%;
            position: relative;
            animation: spin 60s linear infinite;
        }
        .carousel-ring:hover { animation-play-state: paused; }
        @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

        .ring-item {
            position: absolute;
            width: 140px;
            height: 140px;
            background: white;
            border-radius: 50%;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            box-shadow: 0 15px 30px rgba(0,0,0,0.1);
            transition: all 0.3s;
        }
        .ring-item:hover { transform: scale(1.3); z-index: 30; border: 4px solid var(--secondary-orange); }

        /* --- MODAL --- */
        #quickview-modal {
            transition: opacity 0.4s, visibility 0.4s;
        }
        #modal-content {
            transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
            transform: translateY(100%);
        }
        #quickview-modal.active #modal-content { transform: translateY(0); }

        .page-node { display: none; }
        .page-node.active { display: block; }

        /* --- BROKEN GRID --- */
        .broken-grid div:nth-child(odd) { transform: translateY(40px); }
        .broken-grid div:nth-child(even) { transform: translateY(-20px); }

        /* Mobile Menu */
        #mobile-overlay {
            clip-path: circle(0% at 100% 0%);
            transition: clip-path 0.8s cubic-bezier(0.77, 0, 0.175, 1);
        }
        #mobile-overlay.active { clip-path: circle(150% at 100% 0%); }
