        :root {
            --rust: #A03A13;
            --parchment: #EDE4C2;
        }

        * {
            cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23A03A13' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 19 7-7 3 3-7 7-3-3Z'%3E%3C/path%3E%3Cpath d='m18 13-1.5-7.5L2 2l3.5 14.5L13 18l5-5Z'%3E%3C/path%3E%3Cpath d='m2 2 20 20'%3E%3C/path%3E%3C/svg%3E"), auto;
        }

        body {
            background-color: var(--parchment);
            color: var(--rust);
            font-family: 'Dancing Script', cursive;
            margin: 0;
            overflow-x: hidden;
            selection-background-color: var(--rust);
            selection-color: var(--parchment);
        }

        /* Handwritten Animation */
        .handwriting {
            display: inline-block;
            overflow: hidden;
            white-space: nowrap;
            border-right: 3px solid transparent;
            animation: typing 3.5s steps(40, end), blink-caret .75s step-end infinite;
        }

        @keyframes typing { from { width: 0 } to { width: 100% } }
        
        /* Floating / Drifting Layout */
        .paper-scrap {
            background: var(--parchment);
            box-shadow: 5px 5px 15px rgba(160, 58, 19, 0.1);
            transform: rotate(var(--rot));
            transition: all 0.5s ease;
            position: relative;
            border: 1px solid rgba(160, 58, 19, 0.1);
        }

        .paper-scrap:hover {
            transform: rotate(0deg) scale(1.02) translateY(-10px);
            box-shadow: 15px 15px 30px rgba(160, 58, 19, 0.2);
            z-index: 50;
        }

        .ink-bleed {
            position: relative;
            overflow: hidden;
        }

        .ink-bleed::after {
            content: '';
            position: absolute;
            inset: 0;
            background: var(--rust);
            mix-blend-mode: multiply;
            opacity: 0;
            transition: opacity 0.6s ease;
            mask-image: url('https://www.transparenttextures.com/patterns/asfalt-light.png');
        }

        .paper-scrap:hover .ink-bleed::after {
            opacity: 0.15;
        }

        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 8px; }
        ::-webkit-scrollbar-track { background: var(--parchment); }
        ::-webkit-scrollbar-thumb { background: var(--rust); border-radius: 10px; }

        /* Button - Ink Stamp Style */
        .btn-stamp {
            border: 2px solid var(--rust);
            padding: 10px 30px;
            font-size: 1.8rem;
            transition: all 0.3s;
            background: transparent;
            color: var(--rust);
            display: inline-block;
        }

        .btn-stamp:hover {
            background: var(--rust);
            color: var(--parchment);
            transform: skewX(-5deg);
        }

        .btn-stamp:active {
            transform: scale(0.95);
        }

        /* Opening Animation Overlay */
        #intro-overlay {
            position: fixed;
            inset: 0;
            background: var(--parchment);
            z-index: 9999;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            transition: opacity 1s ease;
        }

        #ink-stroke {
            width: 0;
            height: 4px;
            background: var(--rust);
            margin-bottom: 20px;
        }

        /* Drawer */
        .drawer {
            position: fixed;
            top: 0;
            right: -100%;
            width: 100%;
            max-width: 450px;
            height: 100vh;
            background: var(--parchment);
            border-left: 3px solid var(--rust);
            z-index: 2000;
            transition: right 0.6s cubic-bezier(0.77, 0, 0.175, 1);
            padding: 40px;
            overflow-y: auto;
        }

        .drawer.open { right: 0; }

        .overlay {
            position: fixed;
            inset: 0;
            background: rgba(160, 58, 19, 0.2);
            backdrop-filter: blur(4px);
            z-index: 1999;
            display: none;
        }

        .overlay.active { display: block; }

        .form-input {
            background: transparent;
            border: none;
            border-bottom: 2px solid var(--rust);
            width: 100%;
            padding: 10px;
            font-size: 1.5rem;
            outline: none;
            margin-bottom: 20px;
        }

        /* Floating Nav */
        nav {
            background: rgba(237, 228, 194, 0.9);
            backdrop-filter: blur(10px);
        }
    