        :root {
            --primary: #696FC7;
            --black: #000000;
            --white: #FFFFFF;
        }

        body {
            font-family: 'Oldenburg', serif;
            background-color: var(--white);
            color: var(--black);
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        /* --- Animations --- */
        .reveal-up { opacity: 0; transform: translateY(30px); transition: all 0.8s ease-out; }
        .reveal-left { opacity: 0; transform: translateX(-50px); transition: all 0.8s ease-out; }
        .active-reveal { opacity: 1; transform: translate(0); }

        .hover-lift { transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1); }
        .hover-lift:hover { transform: translateY(-10px); box-shadow: 0 20px 40px rgba(0,0,0,0.3); }

        /* --- Hero Slider --- */
        #hero-slider {
            height: 100vh;
            background-color: var(--primary);
            position: relative;
            overflow: hidden;
        }
        .hero-img-container {
            width: 60%;
            height: 80%;
            position: absolute;
            left: 5%;
            top: 30%;
            overflow: hidden;
            border-radius: 4px;
            box-shadow: 30px 30px 0px rgba(0,0,0,0.1);
        }
        .hero-slide {
            position: absolute;
            inset: 0;
            background-size: cover;
            background-position: center;
            opacity: 0;
            transition: opacity 1s ease, transform 1.5s ease;
            transform: scale(1.1);
        }
        .hero-slide.active { opacity: 1; transform: scale(1); }

        /* --- Header & Nav --- */
        #side-nav {
            position: fixed;
            top: 0;
            right: 0;
            height: 100vh;
            width: 350px;
            background: var(--white);
            z-index: 2000;
            transform: translateX(100%);
            transition: transform 0.6s cubic-bezier(0.77, 0, 0.175, 1);
            box-shadow: -10px 0 50px rgba(0,0,0,0.2);
        }
        #side-nav.open { transform: translateX(0); }

        /* --- Components --- */
        .article-card img { transition: transform 0.6s ease; }
        .article-card:hover img { transform: scale(1.05); }

        .btn-glow:hover {
            box-shadow: 0 0 20px var(--primary);
            transform: scale(1.02);
        }

        .scroll-hide::-webkit-scrollbar { display: none; }
        .scroll-hide { -ms-overflow-style: none; scrollbar-width: none; }
