   :root {
            --indigo: #1C1F4A;
            --sky-mist: #D7E8FF;
            --medical-sand: #F6F1E8;
            --healing-green: #2FBF9F;
            --alert-amber: #FFB703;
        }

        body {
            font-family: 'Manrope', sans-serif;
            background-color: #fff;
            color: var(--indigo);
            overflow-x: hidden;
        }

        .heading-serif { font-family: 'Fraunces', serif; }

        /* Floating Nav */
        .glass-header {
            background: rgba(215, 232, 255, 0.85);
            backdrop-filter: blur(12px);
            border-bottom: 1px solid rgba(28, 31, 74, 0.1);
            transition: all 0.4s ease;
        }

        /* Views */
        .view-section { display: none; }
        .view-section.active { display: block; animation: softReveal 0.9s cubic-bezier(0.16, 1, 0.3, 1); }

        @keyframes softReveal {
            from { opacity: 0; transform: translateY(40px); filter: blur(10px); }
            to { opacity: 1; transform: translateY(0); filter: blur(0); }
        }

        /* Hover Effects */
        .nav-link {
            position: relative;
            padding-bottom: 4px;
        }
        .nav-link::after {
            content: '';
            position: absolute;
            bottom: 0; left: 0;
            width: 0; height: 2px;
            background: var(--healing-green);
            transition: width 0.3s ease;
        }
        .nav-link:hover::after { width: 100%; }

        .btn-primary {
            background: var(--healing-green);
            color: white;
            transition: all 0.3s ease;
            box-shadow: 0 10px 20px -5px rgba(47, 191, 159, 0.4);
        }
        .btn-primary:hover {
            transform: translateY(-3px);
            box-shadow: 0 15px 30px -5px rgba(47, 191, 159, 0.6);
        }

        /* Animations */
        .float-slow { animation: float 8s ease-in-out infinite; }
        @keyframes float {
            0%, 100% { transform: translateY(0) rotate(0deg); }
            50% { transform: translateY(-20px) rotate(1deg); }
        }

        .pulse-soft {
            animation: pulse 3s infinite;
        }
        @keyframes pulse {
            0%, 100% { opacity: 1; }
            50% { opacity: 0.7; }
        }

        /* Timeline */
        .timeline-line {
            background: linear-gradient(to bottom, var(--healing-green) 0%, #eee 100%);
        }

        /* Custom Checkbox Style */
        .card-expand {
            transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
        }
        .card-expand:hover {
            transform: scale(1.02);
            border-color: var(--healing-green);
        }

        /* Mobile Menu */
        #mobile-menu {
            transition: transform 0.6s cubic-bezier(0.85, 0, 0.15, 1);
        }
        /* Modal animation and visibility */
#modal-overlay {
    display: none;
}
#modal-overlay.flex {
    display: flex !important;
}
.animate-modal {
    animation: modalFadeIn 0.3s ease-out;
}
@keyframes modalFadeIn {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}