        body {
            margin: 0;
            padding: 0;
            background-color: #05070f;
            color: #ffffff;
            font-family: 'Plus Jakarta Sans', sans-serif;
            overflow-x: hidden;
        }

        /* --- STAGE 1: EXPANDED PARALLAX BACKGROUND CANVAS --- */
        .editorial-page-canvas {
            position: relative;
            width: 100%;
            min-height: 175vh; /* Force long, unique scroll depths for every page */
            padding-bottom: 16rem;
            display: none; /* Controlled dynamically by SPA Navigation Hub */
            flex-direction: column;
            overflow-y: visible;
            background-attachment: fixed;
            background-position: center top;
            background-repeat: no-repeat;
            background-size: cover;
        }
        
        /* Mobile hardware fallback fixes for iOS parallax bugs */
        @supports (-webkit-touch-callout: none) {
            .editorial-page-canvas { background-attachment: scroll; }
        }

        /* Active Routing Entry Animations */
        .editorial-page-canvas.active-route-node {
            display: flex;
            animation: magazinePageSlideFade 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards;
        }

        @keyframes magazinePageSlideFade {
            from { opacity: 0; transform: translateY(40px); }
            to { opacity: 1; transform: translateY(0); }
        }

        /* --- STAGE 2: HIGH-READABILITY GLASS OVERLAYS --- */
        .glass-magazine-card {
            background: rgba(8, 11, 22, 0.65);
            backdrop-filter: blur(25px) saturate(140%);
            -webkit-backdrop-filter: blur(25px) saturate(140%);
            border: 1px solid rgba(255, 255, 255, 0.08);
        }
        
        .glass-editorial-banner {
            background: linear-gradient(135deg, rgba(12, 16, 33, 0.85) 0%, rgba(5, 7, 15, 0.95) 100%);
            backdrop-filter: blur(30px);
            -webkit-backdrop-filter: blur(30px);
            border: 1px solid rgba(255, 255, 255, 0.06);
        }

        /* --- STAGE 3: HORIZONTAL SNAP SLIDER CONTROLS --- */
        .horizontal-editorial-track {
            display: flex;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            scroll-behavior: smooth;
            -ms-overflow-style: none;
            scrollbar-width: none;
        }
        .horizontal-editorial-track::-webkit-scrollbar {
            display: none;
        }
        .horizontal-editorial-panel {
            flex: 0 0 88vw;
            scroll-snap-align: center;
        }
        @media (min-width: 768px) {
            .horizontal-editorial-panel { flex: 0 0 540px; }
        }

        /* --- STAGE 4: SCROLL REVEAL DRIVERS --- */
        .reveal-upward {
            opacity: 0;
            transform: translateY(60px);
            animation: triggerUpwardReveal 1.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        }
        @keyframes triggerUpwardReveal {
            to { opacity: 1; transform: translateY(0); }
        }

        .reveal-downward {
            opacity: 0;
            transform: translateY(-60px);
            animation: triggerDownwardReveal 1.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        }
        @keyframes triggerDownwardReveal {
            to { opacity: 1; transform: translateY(0); }
        }

        .reveal-scale-fade {
            opacity: 0;
            transform: scale(0.94);
            animation: triggerScaleFade 1.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        }
        @keyframes triggerScaleFade {
            to { opacity: 1; transform: scale(1); }
        }

        /* Infinite Linear Marquee Ticker */
        @keyframes linearMarqueeRun {
            0% { transform: translateX(0%); }
            100% { transform: translateX(-50%); }
        }
        .animate-marquee-track {
            display: flex;
            width: max-content;
            animation: linearMarqueeRun 45s linear infinite;
        }

        /* Interactive Soft Pulse */
        @keyframes brandPulseAnimation {
            0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(58, 89, 209, 0.2); }
            50% { transform: scale(1.02); box-shadow: 0 0 35px 12px rgba(29, 205, 159, 0.18); }
        }
        .pulse-brand-cta { animation: brandPulseAnimation 4s ease-in-out infinite; }
