        :root {
            --wine: #722323;
            --pink: #FF52A0;
            --white: #FFFFFF;
        }

        body {
            margin: 0;
            padding: 0;
            font-family: 'Noto Sans', sans-serif;
            background-color: var(--wine);
            color: var(--pink);
            overflow-x: hidden;
            transition: background-color 0.8s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .cursive { font-family: 'Mea Culpa', cursive; }

        /* STRICT THEMES */
        .theme-wine { background-color: var(--wine) !important; color: var(--pink) !important; }
        .theme-white { background-color: var(--white) !important; color: var(--wine) !important; }

        /* HR STYLES */
        .pink-hr { border: none; height: 2px; background-color: var(--pink); }
        .wine-hr { border: none; height: 2px; background-color: var(--wine); }

        /* HEADER TEXT: SMALL AND THIN WIDTH */
        header .nav-item {
            font-size: 11px;
            font-weight: 300;
            letter-spacing: 0.3em;
            transition: letter-spacing 0.5s ease, font-weight 0.5s ease;
            cursor: pointer;
        }
        header .nav-item:hover {
            letter-spacing: 0.5em;
            font-weight: 500;
        }

        /* HERO TYPOGRAPHY */
        .hero-title {
            font-size: 14vw;
            font-weight: 900;
            line-height: 0.8;
            text-transform: uppercase;
            letter-spacing: -0.05em;
        }

        /* ANIMATIONS */
        @keyframes fadeInScale {
            from { opacity: 0; transform: scale(1.1); }
            to { opacity: 1; transform: scale(1); }
        }
        .hero-bg-anim {
            animation: fadeInScale 3s ease-out forwards;
        }

        .reveal {
            opacity: 0;
            transform: translateY(40px);
            transition: all 1.2s cubic-bezier(0.22, 1, 0.36, 1);
        }
        .reveal.active {
            opacity: 1;
            transform: translateY(0);
        }

        /* NO CARDS - IMAGE FLOW */
        .free-img {
            display: block;
            width: 100%;
            height: auto;
            object-fit: cover;
            filter: sepia(20%) contrast(1.1);
            transition: filter 0.6s ease, transform 0.6s ease;
        }
        .free-img:hover {
            filter: sepia(0%) contrast(1);
            transform: scale(1.02);
        }

        /* NAVIGATION ENGINE */
        .page { display: none; min-height: 100vh; }
        .page.active { display: block; }

        /* MODAL */
        #modal-overlay { background: rgba(114, 35, 35, 0.98); backdrop-filter: blur(15px); }

        /* MOUSE TRAIL */
        #dot {
            width: 8px; height: 8px; background: var(--pink); border-radius: 50%;
            position: fixed; pointer-events: none; z-index: 10001;
        }
@keyframes fadeDown {
    from { opacity: 0; transform: translateY(-15px); }
    to { opacity: 1; transform: translateY(0); }
}
.animate-fadeDown {
    animation: fadeDown 0.3s ease forwards;
}
