        :root {
            --primary: #FFC81E;
            --secondary: #CFECF3;
            --accent: #F9B2D7;
            --base: #FFFFFF;
        }

        body {
            font-family: 'Lato', sans-serif;
            background-color: var(--base);
            color: #1a1a1a;
            letter-spacing: 0.02em;
            overflow-x: hidden;
        }

        h1, h2, h3, h4 { font-weight: 900; letter-spacing: -0.01em; }
        .font-light-italic { font-weight: 300; font-style: italic; }

        /* Smooth Scroll & Transitions */
        html { scroll-behavior: smooth; }
        .page-transition { transition: opacity 0.5s ease-in-out; }

        /* Custom UI Elements */
        .editorial-shadow { box-shadow: 0 10px 30px -10px rgba(0,0,0,0.08); }
        .pink-glow:hover { box-shadow: 0 0 20px var(--accent); border-color: var(--accent); }
        
        /* Sticky Header Underline Animation */
        .nav-link { position: relative; padding-bottom: 4px; }
        .nav-link::after {
            content: '';
            position: absolute;
            width: 0;
            height: 2px;
            bottom: 0;
            left: 0;
            background-color: var(--primary);
            transition: width 0.3s ease;
        }
        .nav-link:hover::after { width: 100%; }

        /* Parallax & Floating */
        @keyframes float {
            0% { transform: translateY(0px); }
            50% { transform: translateY(-15px); }
            100% { transform: translateY(0px); }
        }
        .float-card { animation: float 6s ease-in-out infinite; }
        .float-card-delayed { animation: float 8s ease-in-out infinite 1s; }

        /* Timeline */
        .timeline-line {
            width: 4px;
            background: var(--primary);
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            height: 100%;
        }

        /* Responsive Hamburger */
        #mobile-menu {
            transition: transform 0.4s cubic-bezier(0.77,0.2,0.05,1.0);
        }

        /* Glassmorphism */
        .glass-card {
            background: rgba(255, 255, 255, 0.7);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255, 255, 255, 0.3);
        }

        /* Hero Animation Background */
        .hero-pattern {
            background-image: radial-gradient(var(--secondary) 1px, transparent 1px);
            background-size: 40px 40px;
            animation: move-bg 20s linear infinite;
        }
        @keyframes move-bg {
            from { background-position: 0 0; }
            to { background-position: 40px 40px; }
        }
