        /* Hero Section Background */
        .hero-bg {
            background-color: #0a0a0a;
            background-image: radial-gradient(circle at 25% 25%, rgba(167, 139, 250, 0.1) 0%, transparent 50%),
                radial-gradient(circle at 75% 75%, rgba(244, 114, 182, 0.1) 0%, transparent 50%);
        }

        /* Card Border Gradient for a sleek, modern look */
        .card-border-gradient {
            border: 1px solid transparent;
            background: linear-gradient(hsl(var(--background)), hsl(var(--background))) padding-box,
                linear-gradient(135deg, hsl(var(--primary) / 0.3), hsl(var(--muted) / 0.3)) border-box;
            transition: all 0.3s ease;
        }

        .card-border-gradient:hover {
            border-color: transparent;
            background: linear-gradient(hsl(var(--background)), hsl(var(--background))) padding-box,
                linear-gradient(135deg, hsl(var(--primary)), hsl(var(--muted))) border-box;
        }

        /* Glow Effect for interactive elements */
        .glow-effect {
            position: relative;
        }

        .glow-effect::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 200%;
            height: 200%;
            background: radial-gradient(circle, hsl(var(--primary) / 0.1), transparent 70%);
            transform: translate(-50%, -50%);
            z-index: -1;
            transition: opacity 0.5s ease;
            opacity: 0;
        }

        .glow-effect:hover::before {
            opacity: 1;
        }

        /* General scroll reveal animations */
        .reveal-on-scroll {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.8s ease-out, transform 0.8s ease-out;
        }

        .reveal-on-scroll.is-visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* Specific animation delays for sections */
        .reveal-on-scroll:nth-child(1) {
            transition-delay: 0s;
        }

        .reveal-on-scroll:nth-child(2) {
            transition-delay: 0.1s;
        }

        .reveal-on-scroll:nth-child(3) {
            transition-delay: 0.2s;
        }

        .reveal-on-scroll:nth-child(4) {
            transition-delay: 0.3s;
        }

        .reveal-on-scroll:nth-child(5) {
            transition-delay: 0.4s;
        }

        .reveal-on-scroll:nth-child(6) {
            transition-delay: 0.5s;
        }

        /* Pricing Plan Card styles */
        .pricing-card {
            background-color: hsl(var(--card));
            border: 1px solid hsl(var(--border));
            border-radius: var(--radius);
            padding: 2.5rem;
            /* py-10 px-6 */
            text-align: center;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            height: 100%;
            /* Ensure cards are same height in grid */
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
            position: relative;
            /* Needed for interactive glow */
            overflow: hidden;
            /* Ensures glow stays within bounds */

            /* Static background pattern for cards */
            background-image:
                repeating-linear-gradient(45deg, hsl(var(--primary) / 0.01), hsl(var(--primary) / 0.01) 2px, transparent 2px, transparent 20px),
                repeating-linear-gradient(-45deg, hsl(var(--primary) / 0.01), hsl(var(--primary) / 0.01) 2px, transparent 2px, transparent 20px);
            background-size: 40px 40px;
            background-position: 0 0;
        }

        .pricing-card:hover {
            transform: translateY(-5px) scale(1.01);
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.2), 0 4px 6px -2px rgba(0, 0, 0, 0.1);
        }

        /* Interactive Mouse Glow Effect */
        .pricing-card .mouse-glow {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 0;
            height: 0;
            border-radius: 50%;
            /* Enhanced gradient for better visibility */
            background: radial-gradient(circle at center, hsl(var(--primary) / 0.3) 0%, transparent 70%);
            transform: translate(-50%, -50%) scale(0);
            /* Start hidden and small */
            transition: transform 0.4s ease-out, opacity 0.4s ease-out;
            /* Slightly slower transition for spread */
            opacity: 0;
            pointer-events: none;
            /* Crucial: allows mouse events to pass through to the card */
            will-change: transform, opacity;
            /* Optimize for animation */
            z-index: 0;
            /* Keep behind content */
        }

        /* Ensure content is above the mouse glow */
        .pricing-card>div,
        .pricing-card>a {
            position: relative;
            z-index: 1;
        }

        .pricing-card .price {
            font-size: 3.75rem;
            /* text-6xl */
            font-weight: 800;
            /* font-extrabold */
            line-height: 1;
            margin-bottom: 0.5rem;
        }

        .pricing-card .duration {
            font-size: 1rem;
            /* text-base */
            color: hsl(var(--muted-foreground));
            margin-bottom: 2rem;
        }

        .pricing-card .features-list {
            list-style: none;
            padding: 0;
            margin: 0 0 2rem 0;
            text-align: left;
            flex-grow: 1;
            /* Allow list to take available space */
        }

        .pricing-card .features-list li {
            display: flex;
            align-items: center;
            margin-bottom: 0.75rem;
            /* space-y-3 */
            font-size: 1rem;
            /* text-base */
            color: hsl(var(--foreground));
        }

        .pricing-card .features-list li svg {
            color: #22C55E;
            /* Green checkmark */
            margin-right: 0.5rem;
            flex-shrink: 0;
        }

        .pricing-card .cta-button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            height: 3rem;
            /* h-12 */
            padding: 0.75rem 1.5rem;
            /* px-6 */
            border-radius: var(--radius);
            font-size: 1rem;
            /* text-base */
            font-weight: 600;
            /* font-semibold */
            transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
        }

        .pricing-card .cta-primary {
            background-color: hsl(var(--primary));
            color: hsl(var(--primary-foreground));
            box-shadow: 0 4px 6px -1px hsl(var(--primary)/0.1), 0 2px 4px -1px hsl(var(--primary)/0.06);
        }

        .pricing-card .cta-primary:hover {
            background-color: hsl(var(--primary)/0.9);
        }

        .pricing-card .cta-secondary {
            background-color: transparent;
            border: 1px solid hsl(var(--border));
            color: hsl(var(--foreground));
        }

        .pricing-card .cta-secondary:hover {
            background-color: hsl(var(--secondary));
            border-color: hsl(var(--primary));
        }

        /* Table styles for comparison */
        .comparison-table-wrapper {
            overflow-x: auto;
            border-radius: var(--radius);
            border: 1px solid hsl(var(--border));
        }

        .comparison-table {
            width: 100%;
            min-width: 600px;
            /* Ensure table doesn't get too squished on smaller screens */
            border-collapse: collapse;
            text-align: left;
            font-size: 0.875rem;
            /* text-sm */
        }

        .comparison-table th,
        .comparison-table td {
            padding: 1rem 1.5rem;
            /* px-6 py-4 */
            border-bottom: 1px solid hsl(var(--border));
        }

        .comparison-table thead th {
            background-color: hsl(var(--card));
            color: hsl(var(--foreground));
            text-transform: uppercase;
            font-weight: 600;
            font-size: 0.75rem;
            /* text-xs */
        }

        .comparison-table tbody tr {
            background-color: hsl(var(--background));
        }

        .comparison-table tbody tr:last-child td {
            border-bottom: none;
        }

        .comparison-table tbody td {
            color: hsl(var(--muted-foreground));
        }

        .comparison-table tbody td.feature-name {
            font-weight: 500;
            color: hsl(var(--foreground));
            white-space: nowrap;
        }

        .comparison-table .check-icon {
            color: #22C55E;
            /* Green */
        }

        .comparison-table .x-icon {
            color: #EF4444;
            /* Red */
        }

        .comparison-table .partial-icon {
            color: #FACC15;
            /* Yellow */
        }

        /* FAQ Section */
        .faq-item {
            border-bottom: 1px solid hsl(var(--border));
            padding-bottom: 1.5rem;
            margin-bottom: 1.5rem;
        }

        .faq-item:last-child {
            border-bottom: none;
            margin-bottom: 0;
        }

        .faq-question {
            font-size: 1.25rem;
            /* text-xl */
            font-weight: 600;
            /* font-semibold */
            color: hsl(var(--foreground));
            margin-bottom: 0.5rem;
        }

        .faq-answer {
            font-size: 1rem;
            /* text-base */
            color: hsl(var(--muted-foreground));
        }

        /* Responsive Grids */
        @media (min-width: 768px) {

            /* md breakpoint */
            .pricing-grid {
                display: grid;
                grid-template-columns: repeat(3, minmax(0, 1fr));
                gap: 2rem;
            }
        }