
        /* === ROOT VARIABLES (Defined locally for the snippet) === */
        :root {
            /* These are the defaults, overridden by JS if URL params are present */
            --primary-color: #93affc;
            --accent-color: #ff9a9e;
            --primary-text-color: #ffffff;
            --secondary-text-color: #000000;
        }

        /* Essential Reset for Snippet */
        body {
            margin: 0;
            padding: 0;
            font-family: 'Poppins', sans-serif;
            background-color: transparent; /* Must be transparent */
            overflow-x: hidden; /* Prevent iframe scrollbars */
            box-sizing: border-box;
        }
        
        /* --- ANIMATION KEYFRAMES --- */
        @keyframes moveGradient {
            0% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
            100% { background-position: 0% 50%; }
        }

        /* --- 1. FEATURES SECTION LAYOUT --- */
        .features-section {
            padding: 80px 5vw;
            text-align: center;
            background-color: rgb(244, 246, 252); 
            position: relative;
            overflow: hidden;
            box-sizing: border-box;
        }
        
        /* --- 2. HEADLINE STYLING --- */
        .features-section .headline {
            font-size: 3rem;
            font-weight: 700;
            color: #1a1a1a;
            margin-top: 0;
            margin-bottom: 20px; 
            padding-bottom: 0;
            position: relative; 
            display: inline-block; 
        }

        .features-section .tagline {
             max-width: 800px;
             margin: 0 auto;
             color: #555;
             line-height: 1.6;
        }

        .features-section .headline::after {
            content: '';
            position: absolute;
            bottom: -10px; 
            left: 0;
            width: 100%; 
            height: 3px; 
            background: linear-gradient(
                to right,
                var(--primary-color), 
                var(--accent-color)
            );
            border-radius: 2px;
        }

        /* --- 3. FEATURES GRID LAYOUT --- */
        .features-grid {
            display: flex;
            justify-content: center;
            gap: 40px;
            margin-top: 50px;
            flex-wrap: wrap; 
            padding: 0 10px;
        }


        /* --- 4. FEATURE CARD WITH ANIMATED EFFECTS --- */
        .feature-card {
            flex: 1 1 300px; 
            max-width: 350px;
            padding: 40px 30px;
            background-color: transparent; 
            border-radius: 12px;
            box-shadow: none;
            text-align: left;
            position: relative; 
            z-index: 10; 
            transition: all 0.4s ease-out;
        }

        /* --- A. Moving Gradient BORDER & Card Background (::before) --- */
        .feature-card::before {
            content: '';
            position: absolute;
            top: -2px; 
            left: -2px;
            width: calc(100% + 4px); 
            height: calc(100% + 4px);
            background: linear-gradient(
                45deg, 
                var(--primary-color), 
                var(--accent-color), 
                var(--primary-color) 
            );
            background-size: 300% 300%; 
            border-radius: 12px;
            z-index: -1; 
            opacity: 0.8; 
            animation: moveGradient 3s linear infinite paused; 
            transition: opacity 0.4s ease-out;
        }

        /* --- B. Inner Card Content Layer (::after) --- */
        .feature-card::after {
            content: '';
            position: absolute; 
            top: 2px; 
            left: 2px;
            right: 2px;
            bottom: 2px;
            background-color: #ffffff;
            border-radius: 10px;
            z-index: 0;
            transition: opacity 0.4s ease-out;
        }

        /* --- C. Moving Gradient GLOW/SHADOW --- */
        .feature-card .card-glow {
            content: '';
            position: absolute;
            top: 0px; 
            left: 0px;
            width: 100%; 
            height: 100%;
            background: linear-gradient(45deg, var(--primary-color), var(--accent-color));
            background-size: 250% 250%;
            border-radius: 15px; 
            z-index: -2; 
            filter: blur(40px); 
            opacity: 0; 
            animation: moveGradient 10s ease infinite paused;
            transition: opacity 0.4s ease-out;
        }

        /* --- D. Content Wrapper --- */
        .card-content-wrapper {
            position: relative;
            z-index: 1; 
            padding: 0; 
            height: 100%;
        }

        /* Card Hover State */
        .feature-card:hover {
            transform: translateY(-5px); 
        }

        /* Pseudo-elements Hover State: Activate the border and glow */
        .feature-card:hover::before {
            opacity: 1; 
            animation-play-state: running;
        }

        .feature-card:hover .card-glow {
            opacity: 0.7; 
            animation-play-state: running;
        }

        /* --- 5. CONTENT STYLING --- */
        .feature-card i {
            font-size: 40px;
            color: var(--accent-color);
            margin-bottom: 20px;
            display: block;
            transition: color 0.3s;
        }

        .feature-card h3 {
            color: #1a1a1a;
            font-weight: 700;
            margin-top: 0;
            font-size: 1.5rem;
        }

        .feature-card p {
            color: #555;
            font-size: 1rem;
            line-height: 1.6;
        }
        
        /* --- MEDIA QUERIES --- */
        @media (max-width: 600px) {
             .features-grid {
                 gap: 20px;
             }
             .features-section {
                 padding: 50px 15px;
             }
             .feature-card {
                 flex: 1 1 100%;
                 max-width: 100%;
             }
             .features-section .headline {
                 font-size: 2.5rem;
             }
        }
