     :root {
            --deep-red: #A03A13;
            --white: #FFFFFF;
            --cream-bg: #FFFDFB;
            --soft-red-bg: #FFF0F0;
            --text-dark: #331105; /* Very dark red-tinted brown for accessibility instead of black */
        }

        body {
            font-family: 'Titillium Web', sans-serif;
            background-color: var(--white);
            color: var(--text-dark);
            scroll-behavior: smooth;
        }

        .ballet { font-family: 'Ballet', cursive; }
        .titillium-light { font-family: 'Titillium Web', sans-serif; font-weight: 300; }
        .titillium-bold { font-family: 'Titillium Web', sans-serif; font-weight: 700; }

        /* Typography */
        h1, h2, h3 { color: var(--deep-red); }
        .hero-title { font-size: clamp(3rem, 12vw, 10rem); line-height: 0.85; }

        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 4px; }
        ::-webkit-scrollbar-track { background: var(--white); }
        ::-webkit-scrollbar-thumb { background: var(--deep-red); }

        /* Sticky Header */
        header {
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(8px);
            transition: all 0.4s ease;
        }
        header.scrolled { padding: 1rem 2rem; box-shadow: 0 10px 30px rgba(160, 58, 19, 0.05); }

        /* Buttons */
        .btn-editorial {
            border: 1px solid var(--deep-red);
            padding: 1rem 2.5rem;
            color: var(--deep-red);
            font-size: 0.75rem;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            font-weight: 700;
            transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
            position: relative;
            z-index: 1;
            background: white;
        }
        .btn-editorial:hover { color: white; background: var(--deep-red); }

        /* Layout Quirks (Editorial Style) */
        .asym-overlap { margin-top: -150px; }
        .vertical-text { writing-mode: vertical-rl; }

        /* Image Zoom */
        .zoom-frame { overflow: hidden; }
        .zoom-frame img { transition: transform 1.5s cubic-bezier(0.19, 1, 0.22, 1); }
        .zoom-frame:hover img { transform: scale(1.1); }

        /* Pages logic */
        .page-content { display: none; }
        .page-active { display: block; animation: fadeIn 0.8s ease forwards; }

        /* Custom UI */
        #cart-panel {
            position: fixed;
            right: -100%;
            top: 0;
            width: 100%;
            max-width: 450px;
            height: 100vh;
            background: var(--white);
            z-index: 2000;
            transition: 0.6s cubic-bezier(0.77, 0, 0.175, 1);
            padding: 2rem;
            box-shadow: -20px 0 60px rgba(0,0,0,0.05);
        }
        #cart-panel.open { right: 0; }

        .modal-overlay {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(160, 58, 19, 0.1);
            backdrop-filter: blur(10px);
            z-index: 3000;
            align-items: center; justify-content: center;
        }

        /* Parallax Background Simulation */
        .hero-bg {
            background-image: url('https://i.pinimg.com/736x/d5/6d/de/d56dde228a2e13c6ba9b08184f03aed5.jpg');
            background-attachment: fixed;
            background-size: cover;
            background-position: center;
        }

        .product-card-desc {
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }