        :root {
            --warm-gold: #F5C857;
            --bold-orange: #FF6500;
            --soft-ivory: #F9F7F2;
            --deep-obsidian: #0A0A0A;
        }

        body {
            font-family: 'Archivo', sans-serif;
            background-color: var(--soft-ivory);
            color: var(--deep-obsidian);
            overflow-x: hidden;
        }

        /* --- Editorial Split Hero Engine --- */
        .hero-container {
            display: grid;
            grid-template-columns: 1fr 1.1fr;
            height: 100vh;
            width: 100%;
            overflow: hidden;
            position: relative;
        }

        @media (max-width: 1024px) {
            .hero-container { grid-template-columns: 1fr; }
            .hero-left { padding: 4rem 2rem !important; height: 60vh; }
            .hero-right { height: 40vh; }
        }

        .hero-left {
            background-color: #fff;
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding: 0 10% 0 15%;
            position: relative;
            z-index: 10;
        }

        .hero-right {
            position: relative;
            overflow: hidden;
            background: #000;
        }

        /* Text Animation System */
        .text-slide {
            position: absolute;
            opacity: 0;
            filter: blur(15px);
            transform: translateX(-50px);
            transition: all 1.2s cubic-bezier(0.16, 1, 0.3, 1);
            pointer-events: none;
        }

        .text-slide.active {
            opacity: 1;
            filter: blur(0);
            transform: translateX(0);
            pointer-events: auto;
        }

        /* Image Animation System (Ken Burns) */
        .image-slide {
            position: absolute;
            top: 0; left: 0; width: 100%; height: 100%;
            opacity: 0;
            transition: opacity 1.5s ease-in-out;
            background-size: cover;
            background-position: center;
        }

        .image-slide.active {
            opacity: 1;
            animation: kenBurns 8s linear forwards;
        }

        @keyframes kenBurns {
            0% { transform: scale(1); }
            100% { transform: scale(1.15); }
        }

        .gradient-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to right, rgba(255,255,255,0.05), transparent);
            box-shadow: inset 0 0 100px rgba(245, 200, 87, 0.1);
            z-index: 5;
        }

        .center-label {
            position: absolute;
            left: 50%; top: 50%;
            transform: translate(-50%, -50%);
            z-index: 50;
            background: rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(8px);
            border: 1px solid var(--bold-orange);
            padding: 0.8rem 2.5rem;
            border-radius: 100px;
            color: #fff;
            text-transform: uppercase;
            font-size: 10px;
            letter-spacing: 0.4em;
            font-weight: 900;
            pointer-events: none;
        }

        /* Scroll Reveal Framework */
        .reveal { opacity: 0; transform: translateY(40px); transition: 1s cubic-bezier(0.16, 1, 0.3, 1); }
        .reveal.active { opacity: 1; transform: translateY(0); }

        /* Grain texture overlay */
        .grain {
            position: fixed; top: 0; left: 0; width: 100%; height: 100%;
            background: url('https://grainy-gradients.vercel.app/noise.svg');
            opacity: 0.04; pointer-events: none; z-index: 9999;
        }

        /* Page Switcher */
        .page-content { display: none; }
        .page-content.active { display: block; }

        /* Hamburger Nav */
        #mobile-nav {
            clip-path: circle(0% at 100% 0%);
            transition: clip-path 0.8s cubic-bezier(0.77, 0, 0.175, 1);
        }
        #mobile-nav.open { clip-path: circle(150% at 100% 0%); }

        .cta-btn {
            background: var(--bold-orange);
            transition: all 0.4s ease;
            box-shadow: 0 10px 30px rgba(255, 101, 0, 0.2);
        }
        .cta-btn:hover {
            transform: translateY(-3px);
            box-shadow: 0 15px 40px rgba(255, 101, 0, 0.4);
            filter: brightness(1.1);
        }
