        :root {
            --hb-olive: #8A8635;
            --hb-bloom: #FFE52A;
            --hb-cream: #FDFCF8;
            --hb-dark: #2C2B14;
        }

        body {
            font-family: 'Jura', sans-serif;
            background-color: var(--hb-cream);
            color: var(--hb-dark);
            scroll-behavior: smooth;
            overflow-x: hidden;
        }

        h1, h2, h3, h4, h5, .heading-font {
            font-family: 'Sofia Sans Extra Condensed', sans-serif;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        /* --- Animations --- */
        .reveal { opacity: 0; transform: translateY(30px); transition: all 0.8s ease-out; }
        .reveal.active { opacity: 1; transform: translateY(0); }

        .hero-zoom { animation: zoomSlow 25s infinite alternate ease-in-out; }
        @keyframes zoomSlow { from { transform: scale(1); } to { transform: scale(1.15); } }

        .floating-leaf {
            position: absolute;
            pointer-events: none;
            z-index: 5;
            animation: float 12s infinite linear;
        }
        @keyframes float {
            0% { transform: translateY(10vh) rotate(0deg) translateX(0); opacity: 0; }
            20% { opacity: 0.4; }
            80% { opacity: 0.4; }
            100% { transform: translateY(-110vh) rotate(360deg) translateX(50px); opacity: 0; }
        }

        /* --- UI Components --- */
        .page-view { display: none; min-height: 100vh; }
        .page-view.active { display: block; animation: fadeIn 0.6s ease; }
        @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

        .aesthetic-card {
            background: white;
            transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
            border: 1px solid rgba(138, 134, 53, 0.05);
        }
        .aesthetic-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 20px 40px rgba(44, 43, 20, 0.08);
        }

        .btn-bloom {
            background: var(--hb-olive);
            color: white;
            padding: 1rem 2.5rem;
            font-family: 'Sofia Sans Extra Condensed', sans-serif;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1px;
            transition: 0.3s;
            display: inline-block;
            cursor: pointer;
        }
        .btn-bloom:hover { background: var(--hb-bloom); color: var(--hb-olive); transform: translateY(-2px); }

        /* Pinterest Grid */
        .pin-grid { columns: 2; column-gap: 20px; }
        @media (min-width: 768px) { .pin-grid { columns: 3; } }
        @media (min-width: 1024px) { .pin-grid { columns: 4; } }
        .pin-item { break-inside: avoid; margin-bottom: 20px; }

        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 6px; }
        ::-webkit-scrollbar-track { background: var(--hb-cream); }
        ::-webkit-scrollbar-thumb { background: var(--hb-olive); border-radius: 10px; }

        /* Side Panels */
        .side-panel {
            position: fixed;
            top: 0; right: 0;
            width: 100%; max-width: 400px;
            height: 100%;
            background: white;
            z-index: 500;
            transform: translateX(100%);
            transition: transform 0.5s cubic-bezier(0.77, 0, 0.175, 1);
            box-shadow: -10px 0 30px rgba(0,0,0,0.05);
        }
        .side-panel.open { transform: translateX(0); }
        .overlay {
            position: fixed; inset: 0; background: rgba(0,0,0,0.3); 
            backdrop-filter: blur(4px); z-index: 450; display: none;
        }
