/* Color Palette Definition */
        :root {
            --color-ivory: #FAF7F2;
            --color-taupe: #D8C8B8;
            --color-clay: #C4A38A;
            --color-charcoal: #2A2A2A;
            --color-accent: #E0D5CC;
        }

        /* Custom Font Setup */
        .font-heading { font-family: 'Playfair Display', serif; }
        .font-body { font-family: 'Inter', sans-serif; }
        .font-mono { font-family: 'Roboto Mono', monospace; }

        /* Custom Utility Classes */
        .bg-ivory { background-color: var(--color-ivory); }
        .text-charcoal { color: var(--color-charcoal); }
        .bg-clay { background-color: var(--color-clay); }
        .text-clay { color: var(--color-clay); }
        .border-accent { border-color: var(--color-accent); }
        .bg-taupe { background-color: var(--color-taupe); }

        /* Glassmorphism for Navbar */
        .navbar-glass {
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            background-color: rgba(250, 247, 242, 0.75); /* Warm Ivory with transparency */
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
        }

        /* Custom Scrollbar (Aesthetic) */
        ::-webkit-scrollbar { width: 8px; }
        ::-webkit-scrollbar-track { background: var(--color-ivory); }
        ::-webkit-scrollbar-thumb { background: var(--color-clay); border-radius: 4px; }
        ::-webkit-scrollbar-thumb:hover { background: var(--color-taupe); }

        /* Parallax & Animation Container */
        .parallax-container {
            height: 90vh; /* 100vh less the navbar height */
            overflow: hidden;
            position: relative;
        }
        .parallax-image {
            width: 100%;
            height: 120%; /* For slight zoom effect */
            object-fit: cover;
            position: absolute;
            top: -10%; /* Center the 120% height */
            transition: transform 0.1s ease-out; /* Smooth movement */
        }

        /* Subtle floating animation for decor icons */
        @keyframes float {
            0% { transform: translateY(0px); }
            50% { transform: translateY(-10px); }
            100% { transform: translateY(0px); }
        }
        .float-icon {
            animation: float 6s ease-in-out infinite;
        }

        /* Editorial fade-in card effect */
        .fade-in-card {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.8s ease-out, transform 0.8s ease-out;
        }
        .fade-in-card.visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* Primary Button Glow Effect */
        .btn-clay {
            transition: all 0.3s ease;
        }
        .btn-clay:hover {
            box-shadow: 0 8px 25px rgba(196, 163, 138, 0.6); /* Soft Muted Clay glow */
            transform: translateY(-2px);
        }

        /* Hero Headline Reveal (Simulated by JS/delay) */
        .line-reveal {
            opacity: 0;
            transition: opacity 0.5s ease-in-out;
        }

        @keyframes marquee {
            0%   { transform: translateX(0%); }
            100% { transform: translateX(-100%); }
        }

        .animate-marquee {
            display: inline-block;
            min-width: 100%;
            animation: marquee 20s linear infinite;
        }