        :root { scroll-behavior: smooth; }
        body { 
            font-family: 'Urbanist', sans-serif; 
            background: #EDF7BD;
            color: #41431B;
            overflow-x: hidden;
        }

        /* Hero Ken Burns & Parallax */
        .hero-container {
            height: 100vh;
            overflow: hidden;
            position: relative;
            display: flex;
            align-items: center;
        }
        .hero-bg-anim {
            position: absolute;
            inset: 0;
            background-image: url('https://images.unsplash.com/photo-1500651230702-0e2d8a49d4ad?auto=format&fit=crop&q=80&w=2070');
            background-size: cover;
            background-position: center;
            z-index: -1;
        }
        @keyframes kenburns {
            from { transform: scale(1); }
            to { transform: scale(1.15); }
        }
        .hero-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to bottom, rgba(65,67,27,0.5), rgba(65,67,27,0.7));
            z-index: 0;
        }

        /* Animations */
        .reveal { opacity: 0; transform: translateY(40px); transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .reveal.visible { opacity: 1; transform: translateY(0); }

        /* Page Content Handling */
        .page-content { display: none; }
        .page-content.active { display: block; animation: pageIn 0.6s ease-out; }
        @keyframes pageIn { from { opacity: 0; transform: scale(0.98); } to { opacity: 1; transform: scale(1); } }

        /* Custom UI */
        .btn-teal {
            background: #007F73;
            color: white;
            padding: 14px 36px;
            border-radius: 2px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            transition: all 0.3s;
            display: inline-flex;
            align-items: center;
            gap: 10px;
        }
        .btn-teal:hover {
            background: #41431B;
            transform: translateY(-2px);
            box-shadow: 0 10px 20px rgba(0,127,115,0.2);
        }

        /* Basket Drawer */
        #basket-drawer {
            position: fixed;
            top: 0;
            right: -100%;
            width: 100%;
            max-width: 400px;
            height: 100vh;
            background: white;
            z-index: 3000;
            transition: right 0.4s cubic-bezier(0.77, 0, 0.175, 1);
            box-shadow: -10px 0 50px rgba(0,0,0,0.1);
        }
        #basket-drawer.open { right: 0; }

        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 6px; }
        ::-webkit-scrollbar-track { background: #EDF7BD; }
        ::-webkit-scrollbar-thumb { background: #007F73; }

        .line-clamp-3 {
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;  
            overflow: hidden;
        }

        /* Responsive Burger */
        #mobile-menu {
            transition: transform 0.4s ease;
            transform: translateX(100%);
        }
        #mobile-menu.open { transform: translateX(0); }
