        :root {
            --margin-bg: #DBE4C9;
            --primary-bg: #FFFFFF;
            --primary-text: #C44545;
            --accent-dark: #215B63;
        }

        body {
            font-family: 'News Cycle', sans-serif;
            background-color: var(--margin-bg);
            color: var(--primary-text);
            margin: 0;
            overflow-x: hidden;
        }

        /* The Outer Margin System */
        .content-frame {
            max-width: 1440px;
            margin: 0 auto;
            background-color: var(--primary-bg);
            min-height: 100vh;
            position: relative;
            box-shadow: 0 0 50px rgba(0,0,0,0.05);
        }

        /* Typography */
        h1, h2, h3 { font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; }
        p { font-weight: 400; line-height: 1.6; letter-spacing: 0.05em; }

        /* Navigation */
        .nav-item { position: relative; padding-bottom: 2px; transition: opacity 0.3s; }
        .nav-item::after {
            content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 1px;
            background: var(--primary-text); transition: width 0.3s;
        }
        .nav-item:hover::after { width: 100%; }

        .dropdown:hover .dropdown-menu { display: block; }

        /* Fixed Background Effects */
        .hero-fixed {
            background-attachment: fixed;
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
        }

        /* Animations */
        .reveal { opacity: 0; transform: translateY(30px); transition: all 0.8s ease-out; }
        .reveal.active { opacity: 1; transform: translateY(0); }

        .slide-left { opacity: 0; transform: translateX(-50px); transition: all 0.8s ease-out; }
        .slide-left.active { opacity: 1; transform: translateX(0); }

        /* Buttons */
        .btn-primary {
            background-color: var(--primary-text);
            color: white;
            padding: 12px 28px;
            text-transform: uppercase;
            font-size: 0.8rem;
            letter-spacing: 0.2em;
            transition: all 0.3s;
        }
        .btn-primary:hover { opacity: 0.9; transform: translateY(-2px); }

        /* Cart Sidebar */
        #cart-sidebar {
            transform: translateX(100%);
            transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        }
        #cart-sidebar.open { transform: translateX(0); }

        /* Mobile Menu */
        #mobile-menu {
            transform: translateY(-100%);
            transition: transform 0.4s ease-in-out;
        }
        #mobile-menu.open { transform: translateY(0); }

        .page-node { display: none; }
        .page-node.active { display: block; }

        /* Hide scrollbar but keep functionality */
        ::-webkit-scrollbar { width: 4px; }
        ::-webkit-scrollbar-track { background: var(--margin-bg); }
        ::-webkit-scrollbar-thumb { background: var(--primary-text); }
