        :root {
            --mint: #f4faf8;
            --teal: #4a908a;
            --charcoal: #2d3132;
            --soft-green: #eaf4f1;
            --accent-blue: #d6eaf8;
        }

        body {
            font-family: 'Inter', sans-serif;
            color: var(--charcoal);
            background-color: white;
            scroll-behavior: smooth;
            overflow-x: hidden;
        }

        .font-heading { font-family: 'Plus Jakarta Sans', sans-serif; }
        .font-serif { font-family: 'Playfair Display', serif; }
        .font-cursive { font-family: 'Dancing Script', cursive; }

        /* Animation Keyframes */
        @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
        @keyframes logoSlide { from { opacity: 0; transform: translateX(-20px); } to { opacity: 1; transform: translateX(0); } }
        @keyframes pulseSoft { 0%, 100% { opacity: 0.3; } 50% { opacity: 0.6; } }

        .reveal { animation: fadeIn 0.8s ease-out forwards; }
        
        /* Layout & UI */
        .page { display: none; min-height: 100vh; opacity: 0; transition: opacity 0.5s ease; }
        .page.active { display: block; opacity: 1; }

        .bg-mesh {
            background: radial-gradient(at 0% 0%, hsla(167,72%,92%,1) 0, transparent 50%), 
                        radial-gradient(at 50% 0%, hsla(187,62%,92%,1) 0, transparent 50%), 
                        radial-gradient(at 100% 0%, hsla(200,42%,92%,1) 0, transparent 50%);
            background-size: 200% 200%;
            animation: meshMove 15s ease infinite;
        }
        @keyframes meshMove { 0% { background-position: 0% 0%; } 50% { background-position: 100% 100%; } 100% { background-position: 0% 0%; } }

        .editorial-card {
            background: rgba(255, 255, 255, 0.6);
            backdrop-filter: blur(12px);
            border: 1px solid rgba(255, 255, 255, 0.4);
            transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
        }
        .editorial-card:hover { transform: translateY(-10px); background: rgba(255, 255, 255, 0.9); box-shadow: 0 20px 40px rgba(0,0,0,0.05); }

        .btn-bounce { transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275); }
        .btn-bounce:active { transform: scale(0.95); }

        .nav-link { position: relative; padding-bottom: 2px; }
        .nav-link::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 1px; background: var(--teal); transition: width 0.3s ease; }
        .nav-link:hover::after { width: 100%; }

        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 6px; }
        ::-webkit-scrollbar-track { background: transparent; }
        ::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 10px; }

        .confetti-dot {
            position: absolute; width: 6px; height: 6px; border-radius: 50%;
            background: var(--teal); opacity: 0.3; animation: pulseSoft 3s infinite;
        }

        .modal-overlay {
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(10px);
            display: none;
            position: fixed;
            inset: 0;
            z-index: 2000;
            overflow-y: auto;
        }
        .nav-link {
    opacity: .6;
    transition: opacity .3s;
}
.nav-link:hover {
    opacity: 1;
}
