  :root {
            --red: #B45253;
            --white: #FFF5F2;
            --yellow: #FFE797;
            --black: #121212;
        }

        * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Smooch Sans', sans-serif; }
        
        body {
            background-color: var(--white);
            color: var(--black);
            overflow-x: hidden;
            line-height: 1.1;
            -webkit-font-smoothing: antialiased;
        }

        /* TYPOGRAPHY */
        .text-stretch { font-stretch: 150%; letter-spacing: -0.02em; }
        .hero-title { font-size: clamp(4rem, 18vw, 22rem); font-weight: 900; line-height: 0.75; text-transform: uppercase; }
        .section-title { font-size: clamp(3.5rem, 12vw, 15rem); font-weight: 800; text-transform: uppercase; line-height: 0.8; }
        
        /* LAYOUT UTILS */
        .page-node { display: none; min-height: 100vh; }
        .page-node.active { display: block; }
        
        /* NAVIGATION */
        .nav-link { font-size: 1.25rem; font-weight: 700; text-transform: uppercase; position: relative; overflow: hidden; }
        .nav-link::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 2px; background: var(--red); transform: translateX(-101%); transition: transform 0.3s ease; }
        .nav-link:hover::after { transform: translateX(0); }

        /* HAMBURGER */
        #mobile-menu {
            position: fixed; inset: 0; background: var(--red); z-index: 2000;
            display: flex; flex-direction: column; justify-content: center; align-items: center;
            transform: translateY(-100%); transition: transform 0.8s cubic-bezier(0.85, 0, 0.15, 1);
        }
        #mobile-menu.active { transform: translateY(0); }
        .burger-line { width: 32px; height: 2px; background: currentColor; margin: 7px 0; transition: 0.3s; }
        .btn-burger.open .line1 { transform: rotate(45deg) translate(6px, 6px); }
        .btn-burger.open .line2 { opacity: 0; }
        .btn-burger.open .line3 { transform: rotate(-45deg) translate(7px, -7px); }

        /* CART & PANELS */
        .side-panel {
            position: fixed; top: 0; right: 0; width: 100%; max-width: 450px; height: 100vh;
            background: white; z-index: 3000; transform: translateX(100%);
            transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
            display: flex; flex-direction: column; box-shadow: -20px 0 50px rgba(0,0,0,0.05);
        }
        .side-panel.active { transform: translateX(0); }
        .overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 2500; opacity: 0; pointer-events: none; transition: 0.4s; }
        .overlay.active { opacity: 1; pointer-events: auto; }

        /* ANIMATIONS */
        .img-mask { position: relative; overflow: hidden; clip-path: inset(100% 0 0 0); transition: clip-path 1.5s cubic-bezier(0.19, 1, 0.22, 1); }
        .img-mask.revealed { clip-path: inset(0% 0 0 0); }
        
        .marquee-wrapper { white-space: nowrap; overflow: hidden; background: var(--red); color: white; padding: 1.5rem 0; border-y: 1px solid rgba(255,255,255,0.2); }
        .marquee-content { display: inline-block; animation: marquee 25s linear infinite; font-size: 3rem; font-weight: 900; text-transform: uppercase; font-style: italic; }
        @keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

        .parallax-img { transform: scale(1.2); transition: transform 0.1s linear; }

        /* MOBILE OPTIMIZATIONS */
        @media (max-width: 768px) {
            .hero-title { font-size: 5rem; line-height: 0.9; }
            .section-title { font-size: 4rem; }
        }
    