        :root {
            --slate: #537D96;
            --rust: #EC8F8D;
            --base: #FFFFFF;
        }

        body {
            font-family: 'Source Serif 4', serif;
            background-color: var(--base);
            color: #1a1a1a;
            scroll-behavior: smooth;
        }

        /* Editorial Asymmetry & Layers */
        .overlap-container { position: relative; }
        .overlap-img { width: 100%; height: 500px; object-fit: cover; z-index: 1; }
        .overlap-card { 
            position: absolute; 
            bottom: -40px; 
            right: -20px; 
            background: white; 
            padding: 2.5rem; 
            width: 85%; 
            z-index: 10;
            box-shadow: 25px 25px 50px rgba(0,0,0,0.06);
            border-left: 6px solid var(--rust);
        }

        .text-vertical {
            writing-mode: vertical-rl;
            text-orientation: mixed;
            transform: rotate(180deg);
        }

        .diagonal-bg {
            clip-path: polygon(0 5%, 100% 0%, 100% 95%, 0% 100%);
        }

        /* Page Transitions */
        .page-content { display: none; animation: fadeIn 0.6s ease-out; }
        .page-content.active { display: block; }
        @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 6px; }
        ::-webkit-scrollbar-track { background: #f1f1f1; }
        ::-webkit-scrollbar-thumb { background: var(--slate); border-radius: 10px; }

        .btn-rust {
            background-color: var(--rust);
            color: white;
            transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
        }
        .btn-rust:hover {
            background-color: var(--slate);
            transform: translateY(-3px);
            box-shadow: 0 10px 20px rgba(236, 143, 141, 0.3);
        }

        .glass-header {
            background: rgba(255, 255, 255, 0.85);
            backdrop-filter: blur(12px);
            border-bottom: 1px solid rgba(0,0,0,0.05);
        }

        /* Hero Animation */
        .hero-zoom {
            animation: slowZoom 20s infinite alternate;
        }
        @keyframes slowZoom { from { transform: scale(1); } to { transform: scale(1.15); } }

        /* Animations */
@keyframes slideInLeft { from { opacity:0; transform: translateX(-40px); } to { opacity:1; transform: translateX(0); } }
@keyframes slideInRight { from { opacity:0; transform: translateX(40px); } to { opacity:1; transform: translateX(0); } }
@keyframes fadeIn { from { opacity:0; transform: translateY(20px); } to { opacity:1; transform: translateY(0); } }
@keyframes pulseSlow { 0%,100% { transform: scale(1); } 50% { transform: scale(1.05); } }

.animate-slideInLeft { animation: slideInLeft 1s ease-out forwards; }
.animate-slideInRight { animation: slideInRight 1s ease-out forwards; }
.animate-fadeIn { animation: fadeIn 1s ease-out forwards; }
.animate-fadeIn.delay-200 { animation-delay: 0.2s; }
.animate-fadeIn.delay-400 { animation-delay: 0.4s; }
.animate-pulse-slow { animation: pulseSlow 5s infinite; }
    