        :root {
            --bg: #3a6c1a;
            --text: #FF6500;
            --line: #000000;
        }

        body {
            background-color: var(--bg);
            color: var(--text);
            font-family: 'Baskervville', serif;
            margin: 0;
            overflow-x: hidden;
            -webkit-font-smoothing: antialiased;
        }

        /* --- Transitions --- */
        .view {
            display: none;
            opacity: 0;
            transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .view.active {
            display: block;
            opacity: 1;
        }

        /* --- Typography & Lines --- */
        hr {
            border: 0;
            border-top: 1px solid var(--line);
            margin: 0;
            width: 100%;
        }

        .editorial-heading {
            font-size: clamp(2rem, 5vw, 6rem);
            line-height: 1;
            letter-spacing: -0.04em;
        }

        /* --- Custom Infinite Marquee --- */
        @keyframes marquee {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }

        .marquee-container {
            overflow: hidden;
            white-space: nowrap;
            position: relative;
        }

        .marquee-content {
            display: inline-flex;
            gap: 40px;
            animation: marquee 30s linear infinite;
        }

        .marquee-item {
            width: 350px;
            flex-shrink: 0;
        }

        /* --- Hover Effects --- */
        .img-container {
            overflow: hidden;
            position: relative;
        }

        .img-container img {
            transition: transform 1.2s cubic-bezier(0.2, 1, 0.3, 1);
            filter: saturate(1.2) contrast(1.1);
        }

        .img-container:hover img {
            transform: scale(1.08);
        }

        .social-icon svg {
    width: 42px;
    height: 42px;
    display: block;
}

.social-icon:hover {
    transform: rotate(15deg) translateY(-2px);
    transition: transform 0.3s ease;
}
        .social-icon:hover {
            transform: rotate(15deg) translateY(-2px);
            transition: transform 0.3s ease;
        }

        .nav-link {
            position: relative;
            padding-bottom: 2px;
        }

        .nav-link::after {
            content: '';
            position: absolute;
            width: 0;
            height: 1px;
            bottom: 0;
            left: 0;
            background-color: var(--text);
            transition: width 0.4s ease;
        }

        .nav-link:hover::after {
            width: 100%;
        }

        /* --- Slideshow --- */
        #slideshow-bg {
            position: absolute;
            inset: 0;
            background-size: cover;
            background-position: center;
            transition: background-image 1.5s ease-in-out;
            z-index: -1;
        }

        /* --- Reveal Animations --- */
        .reveal {
            opacity: 0;
            transform: translateY(40px);
            transition: all 1s cubic-bezier(0.2, 1, 0.3, 1);
        }

        .reveal.visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* --- Hamburger --- */
        #mobile-menu {
            transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1);
        }
