        :root {
            --bg-canvas: #FAF9F6;
            --charcoal: #121212;
            --stone: #6B6B6B;
            --clay: #B35F44;
            --forest: #4A5D4E;
            --gold: #D4AF37;
            --card-bg: #FFFFFF;
            --transition-smooth: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
        }

        body {
            background-color: var(--bg-canvas);
            color: var(--charcoal);
            font-family: 'Outfit', sans-serif;
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        /* Typography */
        h1, h2, h3, .serif-heading { font-family: 'Playfair Display', serif; font-weight: 700; letter-spacing: -0.02em; }
        p { font-family: 'Crimson Pro', serif; font-size: 1.15rem; line-height: 1.8; color: #333; }
        .label-caps { font-family: 'Outfit', sans-serif; text-transform: uppercase; letter-spacing: 0.15em; font-size: 0.75rem; font-weight: 600; }

        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 6px; }
        ::-webkit-scrollbar-track { background: var(--bg-canvas); }
        ::-webkit-scrollbar-thumb { background: var(--clay); }

        /* Navigation */
        .navbar {
            padding: 2rem 0;
            background: rgba(250, 249, 246, 0.9);
            backdrop-filter: blur(15px);
            border-bottom: 1px solid rgba(0,0,0,0.05);
            z-index: 1050;
        }
        .nav-link { color: var(--charcoal) !important; font-size: 0.85rem; font-weight: 400; text-transform: uppercase; letter-spacing: 1px; margin: 0 1rem; cursor: pointer; }
        .nav-link:hover { color: var(--clay) !important; }

        /* Cart Badge */
        .cart-indicator { position: relative; }
        .cart-count {
            position: absolute; top: -8px; right: -12px;
            background: var(--clay); color: white; border-radius: 50%;
            width: 18px; height: 18px; font-size: 0.6rem;
            display: flex; align-items: center; justify-content: center;
        }

        /* Long Form Hero */
        .hero-wrap { height: 110vh; position: relative; display: flex; align-items: center; overflow: hidden; }
        .hero-bg { 
            position: absolute; inset: 0; 
            background: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.4)), url('https://images.unsplash.com/photo-1541963463532-d68292c34b19?q=80&w=2000') center/cover fixed; 
            z-index: -1;
        }
        .hero-text { max-width: 800px; color: white; }
        .hero-text h1 { font-size: clamp(3rem, 10vw, 7rem); }

        /* Section Spacing */
        .section-padding { padding: 160px 0; }

        /* Card Stylings */
        .mag-card {
            border: none; background: transparent; transition: var(--transition-smooth); margin-bottom: 4rem; cursor: pointer;
        }
        .mag-card .img-frame { 
            overflow: hidden; aspect-ratio: 4/5; position: relative; 
            box-shadow: 0 20px 40px rgba(0,0,0,0.05);
        }
        .mag-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.5s ease; }
        .mag-card:hover img { transform: scale(1.1); }
        .mag-card:hover { transform: translateY(-10px); }

        /* Manifesto Styling */
        .manifesto-block { background: #121212; color: white; padding: 120px 0; border-radius: 0; }
        .manifesto-line { 
            font-size: clamp(1.5rem, 4vw, 3.5rem); 
            line-height: 1.2; 
            margin-bottom: 2rem; 
            opacity: 0.3; transition: 0.8s;
            cursor: default;
        }
        .manifesto-line:hover { opacity: 1; color: var(--gold); }

        /* Footer Links Content Area */
        .footer-content-section { background: white; padding: 80px 0; border-top: 1px solid #eee; display: none; }

        /* Modals & Cart */
        .cart-drawer {
            position: fixed; right: -400px; top: 0; width: 400px; height: 100vh;
            background: white; z-index: 2000; box-shadow: -10px 0 30px rgba(0,0,0,0.1);
            transition: 0.4s ease; padding: 40px; display: flex; flex-direction: column;
        }
        .cart-drawer.open { right: 0; }
        .overlay {
            position: fixed; inset: 0; background: rgba(0,0,0,0.5); 
            z-index: 1999; display: none;
        }

        /* Animations */
        [data-reveal] { opacity: 0; transform: translateY(30px); transition: 1s cubic-bezier(0.16, 1, 0.3, 1); }
        .revealed { opacity: 1; transform: translateY(0); }

        .btn-craft {
            border: 1px solid var(--charcoal);
            padding: 1rem 2rem; border-radius: 0;
            background: transparent; color: var(--charcoal);
            font-size: 0.8rem; font-weight: 600; letter-spacing: 2px;
            text-transform: uppercase; transition: 0.3s;
        }
        .btn-craft:hover { background: var(--charcoal); color: white; }
        .btn-accent { background: var(--clay); color: white; border: none; }
        .btn-accent:hover { background: #8e4a34; }

        /* Mobile specific */
        @media (max-width: 768px) {
            .hero-wrap { height: 80vh; }
            .section-padding { padding: 80px 0; }
            .cart-drawer { width: 100%; right: -100%; }
        }