        :root {
            --accent: #E0AED0;
            --margin-size: 80px;
            --bg-color: #FFFFFF;
        }

        @media (max-width: 768px) {
            :root { --margin-size: 20px; }
        }

        * {
            cursor: crosshair;
            scroll-behavior: smooth;
        }

        body {
            font-family: "Italiana", serif;
            background-color: #ffffff; /* Frame color */
            margin: 0;
            color: black;
            padding: 0;
            overflow-x: hidden;
            height: 100vh;
        }

        /* Framing System */
        .page-wrapper {
            position: relative;
            width: 100%;
            height: 100%;
            transition: transform 0.8s cubic-bezier(0.85, 0, 0.15, 1);
        }

        .main-canvas {
            position: absolute;
            top: var(--margin-size);
            left: var(--margin-size);
            right: var(--margin-size);
            bottom: 0;
            background: var(--bg-color);
            overflow-y: auto;
            overflow-x: hidden;
            z-index: 10;
        }

        /* Top Header (Floating in the Top Margin) */
        .framed-header {
            position: fixed;
            top: 0;
            left: var(--margin-size);
            right: var(--margin-size);
            height: var(--margin-size);
            display: flex;
            align-items: center;
            justify-content: space-between;
            z-index: 100;
            color: rgb(18, 16, 16);
        }

        .logo-center {
            position: absolute;
            left: 50%;
            transform: translateX(-40%);
            font-size: 2rem;
            letter-spacing: 0.1em;
            color: black;
            text-transform: lowercase;
        }

/* HAMBURGER IN MARGIN (TOP) */
.hamburger-margin {
    position: fixed;
    right: calc(var(--margin-size) / 3);
    bottom: 93%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 200;
    color: #ffffff;
    background-color: black;
    cursor: pointer;
    transition: color 0.3s ease;
}

/* Hover matches social icon behavior */
.hamburger-margin:hover {
    color: var(--accent);
}

        /* Half-Slide Menu */
        #side-nav {
            position: fixed;
            top: 0;
            right: 0;
            width: 50%;
            height: 100vh;
            background: #FFFFFF;
            z-index: 5;
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding-left: 10%;
            opacity: 0;
            transition: opacity 0.5s ease;
        }

        body.menu-open .page-wrapper {
            transform: translateX(-50%);
        }
        body.menu-open #side-nav {
            opacity: 1;
        }

        /* Hero Animation */
        .hero-zoom {
            animation: kenBurns 20s infinite alternate;
        }
        @keyframes kenBurns {
            from { transform: scale(1); }
            to { transform: scale(1.1); }
        }

        /* Vertical Social Icons in Margin */
        .social-margin {
            position: fixed;
            right: calc(var(--margin-size) / 3);
            top: 50%;
            transform: translateY(-50%);
            display: flex;
            flex-direction: column;
            gap: 30px;
            z-index: 100;
            color: rgb(0, 0, 0);
        }
        .social-icon:hover { color: var(--accent); }

        /* Custom UI Components */
        .btn-black {
            background: #000;
            color: #e4e0e0;
            padding: 15px 40px;
            text-transform: uppercase;
            letter-spacing: 0.3em;
            transition: all 0.3s;
            display: inline-block;
        }
        .btn-black:hover {
            background: var(--accent);
            color: #000;
            transform: translateY(-2px);
        }

        /* Hide Scrollbar */
        .main-canvas::-webkit-scrollbar { width: 0px; }

        .page-content { display: none; }
        .page-content.active { display: block; animation: fadeIn 1s ease; }
        @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

        /* Chatbot Style */
        #chatbot-panel {
            box-shadow: 0 10px 40px rgba(0,0,0,0.1);
            transform: translateY(20px);
            opacity: 0;
            pointer-events: none;
            transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        }
        #chatbot-panel.active {
            transform: translateY(0);
            opacity: 1;
            pointer-events: all;
        }
