        :root {
            --bg-beige: #F8F4E1;
            --white: #FFFFFF;
            --black: #000000;
            --gray-subtle: #e5e1d1;
        }

        body {
            font-family: 'Slabo 27px', serif;
            background-color: var(--bg-beige);
            color: var(--black);
            margin: 0;
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        /* --- Transitions & Animations --- */
        .reveal {
            opacity: 0;
            transform: translateY(40px);
            transition: all 1s cubic-bezier(0.2, 0, 0.2, 1);
        }
        .reveal.active {
            opacity: 1;
            transform: translateY(0);
        }

        .hero-reveal-up { transform: translate(-50%, 30%); opacity: 0; transition: all 1.5s ease; }
        .hero-reveal-up.active { transform: translate(-50%, -50%); opacity: 1; }

        .split-image-container { overflow: hidden; }
        .split-image-container img {
            transition: transform 1.5s cubic-bezier(0.2, 0, 0.2, 1);
            transform: scale(1.1);
        }
        .active .split-image-container img { transform: scale(1); }

        /* --- Header & Navigation --- */
        header {
            position: fixed;
            top: 0; width: 100%;
            z-index: 1000;
            background: #F8F4E1;
            border-bottom: 1px solid rgba(0,0,0,0.05);
            transition: transform 0.3s;
        }

        .dropdown {
            position: absolute;
            top: 100%;
            left: 50%;
            transform: translateX(-50%);
            background: var(--white);
            min-width: 240px;
            box-shadow: 0 20px 40px rgba(0,0,0,0.1);
            display: none;
            flex-direction: column;
            padding: 15px 0;
            z-index: 50;
        }
        .nav-item:hover .dropdown { display: flex; }
        .dropdown a {
            padding: 10px 30px;
            font-size: 11px;
            letter-spacing: 0.1em;
            transition: all 0.3s;
        }
        .dropdown a:hover { background: var(--bg-beige); padding-left: 35px; }

        /* --- Hero Section --- */
        .hero-section {
            height: 100vh;
            display: flex;
            position: relative;
            background: #000;
        }
        .hero-img {
            width: 50%; height: 100%; object-fit: cover;
            opacity: 0.8;
            transition: transform 8s linear;
        }
        .hero-section:hover .hero-img { transform: scale(1.05); }

        .hero-center-card {
            position: absolute;
            top: 70%; left: 50%;
            background: var(--bg-beige);
            padding: 80px 60px;
            text-align: center;
            width: 90%;
            max-width: 350px;
            box-shadow: 0 30px 70px rgba(0,0,0,0.15);
            z-index: 20;
        }

        /* --- Product Elements --- */
        .product-card {
            background: var(--white);
            padding: 25px;
            transition: all 0.5s;
            cursor: pointer;
        }
        .product-card:hover {
            transform: translateY(-15px);
            box-shadow: 0 30px 60px rgba(0,0,0,0.1);
        }

        .horizontal-scroll {
            display: flex;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            padding: 60px 5%;
            gap: 40px;
            scrollbar-width: none;
        }
        .horizontal-scroll::-webkit-scrollbar { display: none; }

        /* --- UI Components --- */
        .btn-luxury {
            display: inline-block;
            border: 1px solid var(--black);
            padding: 15px 45px;
            text-transform: uppercase;
            letter-spacing: 3px;
            font-size: 10px;
            transition: all 0.4s;
            background: transparent;
            position: relative;
            overflow: hidden;
        }
        .btn-luxury:hover { background: var(--black); color: var(--white); }

        .input-luxury {
            width: 100%;
            border-bottom: 1px solid #ccc;
            padding: 18px 0;
            background: transparent;
            outline: none;
            transition: border-color 0.3s;
        }
        .input-luxury:focus { border-color: var(--black); }

        /* --- Side Drawers --- */
        .drawer {
            position: fixed;
            top: 0; right: -100%;
            width: 100%; max-width: 450px;
            height: 100vh;
            background: var(--white);
            z-index: 3000;
            transition: right 0.5s cubic-bezier(0.77, 0, 0.175, 1);
            box-shadow: -20px 0 60px rgba(0,0,0,0.1);
            display: flex;
            flex-direction: column;
        }
        .drawer.open { right: 0; }
        .overlay {
            position: fixed;
            inset: 0;
            background: rgba(0,0,0,0.5);
            opacity: 0; visibility: hidden;
            transition: 0.3s;
            z-index: 2999;
        }
        .overlay.active { opacity: 1; visibility: visible; }

        /* --- Multi-page Containers --- */
        #search-overlay {
            position: fixed;
            inset: 0;
            background: var(--bg-beige);
            z-index: 4000;
            display: none;
            padding: 100px 10%;
            overflow-y: auto;
        }
