        body {
            background-color: #F9F7F2;
            color: #2D2D2D;
            overflow-x: hidden;
            scroll-behavior: smooth;
            -webkit-font-smoothing: antialiased;
        }

        .grain {
            position: fixed;
            top: 0; left: 0; width: 100%; height: 100%;
            background: url('https://grainy-gradients.vercel.app/noise.svg');
            opacity: 0.04;
            pointer-events: none;
            z-index: 9999;
        }

        .serif-italic { font-style: italic; font-family: 'Cormorant Garamond', serif; }
        
        .fade-in {
            animation: fadeIn 1.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        }

        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(30px); }
            to { opacity: 1; transform: translateY(0); }
        }

        .horizontal-scroll {
            display: flex;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            scrollbar-width: none;
            padding-bottom: 2rem;
        }
        .horizontal-scroll::-webkit-scrollbar { display: none; }
        .pillar-card { scroll-snap-align: center; flex: 0 0 85vw; }
        @media (min-width: 1024px) {
            .pillar-card { flex: 0 0 30vw; }
        }

        .timeline-line {
            position: absolute;
            left: 20px;
            width: 1px;
            height: 100%;
            background: linear-gradient(to bottom, transparent, #A67C52, #A67C52, transparent);
        }
        @media (min-width: 1024px) {
            .timeline-line { left: 50%; transform: translateX(-50%); }
        }

        .drop-cap::first-letter {
            font-family: 'Cormorant Garamond', serif;
            float: left;
            font-size: 5rem;
            line-height: 0.8;
            padding-right: 0.5rem;
            color: #A67C52;
        }

        .progress-line {
            position: fixed;
            top: 0; left: 0; height: 2px;
            background: #A67C52;
            z-index: 1001;
            width: 0%;
            transition: width 0.1s ease-out;
        }

        .nav-blur {
            backdrop-filter: blur(10px);
            background: rgba(249, 247, 242, 0.8);
        }

        .long-read-column {
            max-width: 720px;
            margin: 0 auto;
        }
    