        :root {
            --deep-brown: #7B542F;
            --wine-red: #842A3B;
            --neutral-bg: #E0D9D9;
        }

        * {
            box-sizing: border-box;
            -webkit-font-smoothing: antialiased;
        }

        body {
            font-family: 'Almendra', serif;
            background-color: var(--neutral-bg);
            color: var(--deep-brown);
            margin: 0;
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        /* --- Custom Scrollbar --- */
        ::-webkit-scrollbar { width: 8px; }
        ::-webkit-scrollbar-track { background: var(--neutral-bg); }
        ::-webkit-scrollbar-thumb { background: var(--wine-red); }

        /* --- Layout & Utility --- */
        .almendra-bold { font-weight: 700; }
        .text-wine { color: var(--wine-red); }
        .bg-wine { background-color: var(--wine-red); }
        .bg-brown { background-color: var(--deep-brown); }
        .border-brown { border-color: var(--deep-brown); }

        .btn-primary {
            background-color: var(--wine-red);
            color: var(--neutral-bg);
            padding: 1rem 2rem;
            text-transform: uppercase;
            font-weight: 700;
            letter-spacing: 0.2em;
            font-size: 0.75rem;
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
            display: inline-flex;
            align-items: center;
            gap: 0.75rem;
            border: none;
            cursor: pointer;
        }
        .btn-primary:hover {
            background-color: var(--deep-brown);
            transform: translateY(-2px);
            box-shadow: 0 10px 20px rgba(123, 84, 47, 0.2);
        }

        .btn-outline {
            border: 1px solid var(--deep-brown);
            padding: 1rem 2rem;
            text-transform: uppercase;
            font-weight: 700;
            letter-spacing: 0.2em;
            font-size: 0.75rem;
            transition: 0.3s;
        }
        .btn-outline:hover {
            background: var(--deep-brown);
            color: var(--neutral-bg);
        }

        /* --- Animations --- */
        .reveal { opacity: 0; transform: translateY(50px); transition: all 1.2s cubic-bezier(0.16, 1, 0.3, 1); }
        .reveal.active { opacity: 1; transform: translateY(0); }

        .scale-reveal { opacity: 0; transform: scale(0.9); transition: all 1.5s cubic-bezier(0.16, 1, 0.3, 1); }
        .scale-reveal.active { opacity: 1; transform: scale(1); }

        /* --- Overlays & Modals --- */
        .overlay {
            position: fixed; inset: 0; background: rgba(123, 84, 47, 0.9);
            backdrop-filter: blur(12px); z-index: 2000;
            display: none; align-items: center; justify-content: center;
            padding: 2rem;
        }

        .modal-card {
            background: var(--neutral-bg);
            border: 1px solid rgba(123, 84, 47, 0.1);
            max-width: 900px; width: 100%;
            max-height: 85vh; overflow-y: auto;
            position: relative; padding: 4rem;
        }

        /* --- Hero Architectural Texture --- */
        .hero-texture {
            background-image: radial-gradient(var(--deep-brown) 0.5px, transparent 0.5px);
            background-size: 30px 30px;
            opacity: 0.1;
        }

        /* --- Navigation Logic --- */
        .page-content { display: none; }
        .page-content.active { display: block; }
    