        :root {
            --burgundy: #5E0006;
            --ink-blue: #87B6BC;
            --paper: #F5E9D8;
        }

        body {
            font-family: 'PT Sans', sans-serif;
            background-color: var(--paper);
            color: var(--burgundy);
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        h1, h2, h3, h4, .heading-font { font-family: 'Maven Pro', sans-serif; }

        /* Multipage System */
        .view { display: none; opacity: 0; }
        .view.active { display: block; opacity: 1; }

        /* Header Stacking */
        .header-strip { transition: transform 0.4s ease; }
        
        /* Menu Panel */
        #menu-panel {
            position: fixed; top: 0; right: -100%; width: 100%; max-width: 450px;
            height: 100vh; background: var(--burgundy); color: white;
            z-index: 1000; transition: right 0.6s cubic-bezier(0.85, 0, 0.15, 1);
            box-shadow: -20px 0 50px rgba(0,0,0,0.3);
        }
        #menu-panel.open { right: 0; }
        #menu-overlay {
            position: fixed; inset: 0; background: rgba(0,0,0,0.6);
            display: none; z-index: 999;
        }
        #menu-overlay.open { display: block; }

        /* Dropdown */
        .dropdown-content { max-height: 0; overflow: hidden; transition: max-height 0.4s ease-out; }
        .dropdown-content.open { max-height: 500px; }

        /* Animations */
        .reveal-up { animation: revealUp 1s cubic-bezier(0.2, 1, 0.3, 1) forwards; }
        @keyframes revealUp {
            from { opacity: 0; transform: translateY(40px); }
            to { opacity: 1; transform: translateY(0); }
        }

        /* Layout specific */
        .overlap-box { transform: translate(-40px, -40px); z-index: 20; }
        .horizontal-scroll::-webkit-scrollbar { display: none; }
        
        .modal {
            position: fixed; inset: 0; background: rgba(0,0,0,0.8);
            display: none; z-index: 2000; align-items: center; justify-content: center;
            padding: 20px;
        }
        .modal.open { display: flex; }

        /* Hero Background Animation */
        .hero-bg {
            background-image: url('https://static.wixstatic.com/media/c837a6_c699a3a28e614c03919a7a9ba08f320c~mv2.png/v1/fill/w_1901,h_1373,fp_0.50_0.50,q_95,usm_0.66_1.00_0.01,enc_auto/c837a6_c699a3a28e614c03919a7a9ba08f320c~mv2.png');
            background-size: cover; background-position: center;
        }
        @keyframes zoomSlow { from { transform: scale(1); } to { transform: scale(1.15); } }
