        :root {
            --pure-white: #FFFFFF;
            --jet-black: #000000;
            --soft-black: #1F1F1F;
            --light-gray: #EAEAEA;
        }

        body {
            font-family: 'Inter', sans-serif;
            background-color: var(--pure-white);
            color: var(--jet-black);
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        .serif { font-family: 'Playfair Display', serif; }
        .italic-serif { font-family: 'Libre Baskerville', serif; font-style: italic; }
        
        /* Navigation & UI State */
        .page-view { display: none; opacity: 0; }
        .page-view.active { display: block; opacity: 1; animation: fadeIn 0.8s ease forwards; }

        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }

        /* Hero Slideshow Background */
        .hero-bg-wrap {
            position: absolute;
            inset: 0;
            z-index: -1;
            overflow: hidden;
            background: #000;
        }
        .hero-slide {
            position: absolute;
            inset: 0;
            opacity: 0;
            transition: opacity 2s ease-in-out, transform 10s linear;
            background-size: cover;
            background-position: center;
            filter: grayscale(100%) brightness(0.4);
        }
        .hero-slide.active { opacity: 1; transform: scale(1.15); }

        /* Sidebar Panels */
        .sidebar-panel {
            transform: translateX(100%);
            transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
        }
        .sidebar-open .sidebar-panel { transform: translateX(0); }
        
        /* Editorial Hover Effects */
        .product-card img {
            transition: transform 1.5s cubic-bezier(0.19, 1, 0.22, 1), filter 0.8s ease;
        }
        .product-card:hover img { transform: scale(1.05); filter: grayscale(0%); }

        /* Animation Classes */
        .reveal { opacity: 0; transform: translateY(50px); transition: 1.2s all ease-out; }
        .reveal.visible { opacity: 1; transform: translateY(0); }

        .btn-line {
            position: relative;
            display: inline-block;
        }
        .btn-line::after {
            content: '';
            position: absolute;
            bottom: -2px;
            left: 0;
            width: 100%;
            height: 1px;
            background: currentColor;
            transform: scaleX(0);
            transform-origin: right;
            transition: transform 0.5s ease;
        }
        .btn-line:hover::after {
            transform: scaleX(1);
            transform-origin: left;
        }

        /* Custom Scroll */
        ::-webkit-scrollbar { width: 3px; }
        ::-webkit-scrollbar-track { background: transparent; }
        ::-webkit-scrollbar-thumb { background: #000; }