        :root {
            --slate: #57564F;
            --cream: #DDDEAB;
        }

        body {
            font-family: 'Lora', serif;
            background-color: var(--cream);
            color: var(--slate);
            scroll-behavior: smooth;
            overflow-x: hidden;
        }

        /* Editorial Animations */
        @keyframes kenburns {
            0% { transform: scale(1) translate(0,0); }
            100% { transform: scale(1.1) translate(-2%, -2%); }
        }

        .hero-bg-animate {
            animation: kenburns 20s ease-in-out infinite alternate;
        }

        .overlap-card {
            box-shadow: 20px 20px 60px rgba(87, 86, 79, 0.1);
            transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
        }

        .overlap-card:hover {
            transform: translateY(-10px) translateX(-5px);
            box-shadow: 30px 30px 80px rgba(87, 86, 79, 0.15);
        }

        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 6px; }
        ::-webkit-scrollbar-track { background: var(--cream); }
        ::-webkit-scrollbar-thumb { background: var(--slate); }

        /* SPA Page Management */
        .page { display: none; opacity: 0; transform: translateY(20px); transition: all 0.5s ease; }
        .page.active { display: block; opacity: 1; transform: translateY(0); }

        /* Nav Animations */
        .nav-link { position: relative; }
        .nav-link::after {
            content: '';
            position: absolute;
            width: 0;
            height: 1px;
            bottom: -2px;
            left: 0;
            background-color: var(--slate);
            transition: width 0.3s ease;
        }
        .nav-link:hover::after { width: 100%; }

        /* Gallery Transitions */
        .gallery-item { transition: opacity 0.4s ease, transform 0.4s ease; }
        .gallery-item.hidden { display: none; opacity: 0; }

        .pull-quote {
            border-left: 1px solid var(--slate);
            padding-left: 2rem;
            font-style: italic;
        }

        .modal-overlay {
            backdrop-filter: blur(12px);
            background: rgba(87, 86, 79, 0.4);
        }
    