        :root {
            --orange-primary: #E76F2E;
            --brown-text: #3E2C23;
            --gold-light: #C0B87A;
            --orange-vibrant: #FF7F11;
            --teal-accent: #547792;
            --black: #000000;
        }

        body {
            font-family: 'Inter', sans-serif;
            color: var(--brown-text);
            margin: 0;
            overflow-x: hidden;
            background-color: var(--orange-primary);
            transition: background-color 0.8s ease;
        }

        .font-rochester { font-family: 'Rochester', cursive; }
        .font-besley { font-family: 'Besley', serif; }
        .font-inter { font-family: 'Inter', sans-serif; }

        /* Virtual Routing */
        .page-view { display: none; min-height: 100vh; }
        .page-view.active { display: block; animation: pageFade 0.6s ease-in-out; }

        @keyframes pageFade {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }

        /* Hero Parallax Elements */
        .hero-bg-animate {
            animation: slowPan 20s infinite alternate linear;
            margin-top: 30rem;
        }
        @keyframes slowPan {
            from { transform: scale(1) translate(0, 0); }
            to { transform: scale(1.1) translate(-2%, -2%); }
        }

        /* Fixed Passport Image Logic */
        .passport-container {
            position: relative;
            min-height: 80vh;
        }
        .passport-image {
            position: sticky;
            top: 20%;
            width: 300px;
            height: 400px;
            object-fit: cover;
            border: 12px solid white;
            box-shadow: 0 20px 40px rgba(0,0,0,0.2);
            z-index: 10;
        }

        /* Editorial Grids */
        .link-list li {
            padding: 12px 0;
            border-bottom: 1px solid rgba(0,0,0,0.1);
            font-size: 0.9rem;
            letter-spacing: 0.05em;
            cursor: pointer;
            transition: padding-left 0.3s ease;
        }
        .link-list li:hover { padding-left: 10px; color: var(--teal-accent); }

        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 6px; }
        ::-webkit-scrollbar-track { background: transparent; }
        ::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.2); border-radius: 10px; }

        /* Buttons */
        .btn-editorial {
            border: 1px solid currentColor;
            padding: 0.75rem 2rem;
            text-transform: uppercase;
            letter-spacing: 0.2em;
            font-size: 0.7rem;
            transition: all 0.3s ease;
        }
        .btn-editorial:hover { background: var(--brown-text); color: white; }

        /* Modal */
        .modal-overlay {
            display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.9);
            z-index: 1000; backdrop-filter: blur(10px); align-items: center; justify-content: center;
        }
        .modal-overlay.active { display: flex; }
    