        :root {
            --bc-black: #000000;
            --bc-white: #FFFFFF;
            --bc-rose: #CA7373;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            cursor: none; /* Custom cursor requested */
        }

        body {
            background-color: var(--bc-black);
            color: var(--bc-white);
            font-family: "Dancing Script", cursive;
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        h1, h2, h3, h4, h5 { font-weight: 700; }
        p, span, input, textarea { font-weight: 400; }

        /* --- Custom Cursor --- */
        #cursor {
            width: 20px;
            height: 20px;
            border: 1px solid var(--bc-rose);
            border-radius: 50%;
            position: fixed;
            pointer-events: none;
            z-index: 9999;
            transition: transform 0.1s ease-out;
            background: rgba(202, 115, 115, 0.1);
        }

        /* --- Header & Navigation --- */
        header { transition: all 0.4s ease; border-bottom: 1px solid rgba(255,255,255,0.05); }
        .header-scrolled { background: rgba(0,0,0,0.9); backdrop-filter: blur(10px); padding-top: 10px !important; }

        .nav-item {
            position: relative;
            padding-bottom: 4px;
            cursor: pointer;
            transition: color 0.3s ease;
        }
        .nav-item::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 50%;
            width: 0;
            height: 2px;
            background: var(--bc-rose);
            transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            transform: translateX(-50%);
        }
        .nav-item:hover::after { width: 100%; }
        .nav-item:hover { color: var(--bc-rose); }

        .decorative-bar {
            height: 1px;
            width: 100%;
            background: linear-gradient(90deg, #000 0%, #CA7373 50%, #000 100%);
            opacity: 0.5;
        }

        /* --- Section Transitions --- */
        .page-section { display: none; min-height: 100vh; }
        .page-section.active { display: block; animation: fadeIn 0.8s ease forwards; }

        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }

        /* --- Reveal Animations --- */
        .reveal { opacity: 0; transform: translateY(30px); transition: 1s cubic-bezier(0.16, 1, 0.3, 1); }
        .reveal.active { opacity: 1; transform: translateY(0); }

        .line-reveal { 
            display: block;
            opacity: 0; 
            transform: translateY(20px); 
            transition: 0.8s ease forwards;
        }
        .line-reveal.active { opacity: 1; transform: translateY(0); }

        /* --- Editorial Cards --- */
        .editorial-card { overflow: hidden; position: relative; }
        .editorial-card img { transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .editorial-card:hover img { transform: scale(1.1); }
        .editorial-card:hover .overlay-text { color: var(--bc-rose); }

        /* --- Portfolio Slider --- */
        #portfolio-track {
            display: flex;
            transition: transform 0.7s cubic-bezier(0.23, 1, 0.32, 1);
            will-change: transform;
        }

        /* --- Inputs --- */
        .input-group input, .input-group textarea {
            background: transparent;
            border: none;
            border-bottom: 1px solid rgba(255,255,255,0.2);
            width: 100%;
            padding: 12px 0;
            color: white;
            transition: border-color 0.3s;
        }
        .input-group input:focus { outline: none; border-color: white; }

        /* --- Modals --- */
        .modal {
            position: fixed;
            inset: 0;
            background: rgba(0,0,0,0.95);
            z-index: 1000;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 20px;
        }
        .modal.active { display: flex; animation: fadeIn 0.4s ease; }
    