HEX
Server: nginx/1.24.0
System: Linux 0c1023d6c65e 6.8.0-137-generic #137-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 17 20:28:23 UTC 2026 x86_64
User: root (0)
PHP: 8.3.33
Disabled: NONE
Upload Files
File: /var/www/html/wp-content/mu-plugins/ethnic-ai-chatbot-development-page.php
<?php
/**
 * Plugin Name: Ethnic AI Chatbot Development Page
 * Description: Creates and renders the AI Chatbot Development sub-service page under AI / ML Development Services.
 * Version: 1.0.0
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! function_exists( 'ethnic_ai_chatbot_development_page_parent_id' ) ) {
	function ethnic_ai_chatbot_development_page_parent_id() {
		static $parent_id = null;

		if ( null !== $parent_id ) {
			return $parent_id;
		}

		if ( function_exists( 'ethnic_ai_ml_development_page_ensure_page' ) ) {
			ethnic_ai_ml_development_page_ensure_page();
		}

		$page = get_page_by_path( 'services/ai-ml-development' );

		if ( $page instanceof WP_Post ) {
			$parent_id = (int) $page->ID;
		} else {
			$fallback  = get_page_by_path( 'ai-ml-development' );
			$parent_id = $fallback instanceof WP_Post ? (int) $fallback->ID : 0;
		}

		return $parent_id;
	}
}

if ( ! function_exists( 'ethnic_ai_chatbot_development_page_get_target_page' ) ) {
	function ethnic_ai_chatbot_development_page_get_target_page() {
		static $page = false;

		if ( false !== $page ) {
			return $page instanceof WP_Post ? $page : null;
		}

		$page = get_page_by_path( 'services/ai-ml-development/ai-chatbot-development' );

		if ( ! ( $page instanceof WP_Post ) ) {
			$fallback = get_page_by_path( 'ai-chatbot-development' );

			if ( $fallback instanceof WP_Post && (int) $fallback->post_parent === ethnic_ai_chatbot_development_page_parent_id() ) {
				$page = $fallback;
			}
		}

		return $page instanceof WP_Post ? $page : null;
	}
}

if ( ! function_exists( 'ethnic_ai_chatbot_development_page_ensure_page' ) ) {
	function ethnic_ai_chatbot_development_page_ensure_page() {
		static $did_run = false;

		if ( $did_run ) {
			return;
		}

		$did_run   = true;
		$parent_id = ethnic_ai_chatbot_development_page_parent_id();

		if ( ! $parent_id ) {
			return;
		}

		$postarr = array(
			'post_type'      => 'page',
			'post_title'     => 'AI Chatbot Development',
			'post_name'      => 'ai-chatbot-development',
			'post_parent'    => $parent_id,
			'post_status'    => 'publish',
			'post_content'   => '',
			'comment_status' => 'closed',
			'ping_status'    => 'closed',
		);

		$page = get_page_by_path( 'services/ai-ml-development/ai-chatbot-development' );

		if ( $page instanceof WP_Post ) {
			$needs_update = 'AI Chatbot Development' !== $page->post_title
				|| (int) $page->post_parent !== $parent_id
				|| 'publish' !== $page->post_status;

			if ( $needs_update ) {
				wp_update_post(
					array_merge(
						$postarr,
						array(
							'ID' => (int) $page->ID,
						)
					)
				);
				clean_post_cache( (int) $page->ID );
			}

			return;
		}

		$fallback = get_page_by_path( 'ai-chatbot-development' );

		if ( $fallback instanceof WP_Post ) {
			wp_update_post(
				array_merge(
					$postarr,
					array(
						'ID' => (int) $fallback->ID,
					)
				)
			);
			clean_post_cache( (int) $fallback->ID );
			return;
		}

		wp_insert_post( $postarr );
	}

	add_action( 'init', 'ethnic_ai_chatbot_development_page_ensure_page', 5 );
}

if ( ! function_exists( 'ethnic_ai_chatbot_development_page_is_target' ) ) {
	function ethnic_ai_chatbot_development_page_is_target() {
		if ( is_admin() ) {
			return false;
		}

		$page = ethnic_ai_chatbot_development_page_get_target_page();

		if ( ! ( $page instanceof WP_Post ) ) {
			return false;
		}

		return (int) get_queried_object_id() === (int) $page->ID || is_page( (int) $page->ID );
	}
}

if ( ! function_exists( 'ethnic_ai_chatbot_development_page_url' ) ) {
	function ethnic_ai_chatbot_development_page_url( $path ) {
		return home_url( '/' . ltrim( (string) $path, '/' ) . '/' );
	}
}

if ( ! function_exists( 'ethnic_ai_chatbot_development_page_contact_url' ) ) {
	function ethnic_ai_chatbot_development_page_contact_url( $args = array() ) {
		return ethnic_consultation_route_contact_url( $args, ethnic_ai_chatbot_development_page_url( 'contact-us' ) );
	}
}

if ( ! function_exists( 'ethnic_ai_chatbot_development_page_case_studies_url' ) ) {
	function ethnic_ai_chatbot_development_page_case_studies_url() {
		if ( function_exists( 'ethnic_ai_ml_development_page_case_studies_url' ) ) {
			return ethnic_ai_ml_development_page_case_studies_url();
		}

		return function_exists( 'ethnic_case_studies_archive_url' ) ? ethnic_case_studies_archive_url() : ethnic_ai_chatbot_development_page_url( 'case-studies' );
	}
}

if ( ! function_exists( 'ethnic_ai_chatbot_development_page_data' ) ) {
	function ethnic_ai_chatbot_development_page_data() {
		static $data = null;

		if ( null !== $data ) {
			return $data;
		}

		$data = array(
			'metaTitle'       => 'AI Chatbot Development Services | Support Bots, Sales Bots & Internal Assistants',
			'metaDescription' => 'Looking for AI chatbot development services? We build support bots, sales bots, internal assistants, and omnichannel chatbot solutions with strong training workflows, integrations, analytics, and ongoing improvement.',
			'heroTitle'       => 'AI Chatbot Development',
			'heroText'        => 'We build practical AI chatbot development services around support bots, sales bots, internal assistants, and connected conversation workflows that help businesses improve response quality, reduce repetitive effort, and create more useful customer and employee experiences.',
			'heroPoints'      => array(
				'Support, sales, and internal assistants',
				'Omnichannel integration and workflow connection',
				'Training, analytics, and continuous improvement',
			),
			'quickNav' => array(
				array(
					'label' => 'Chatbot Types',
					'href'  => '#chatbot-types',
				),
				array(
					'label' => 'Use Cases',
					'href'  => '#use-cases',
				),
				array(
					'label' => 'Integrations',
					'href'  => '#integrations',
				),
				array(
					'label' => 'Training Approach',
					'href'  => '#training-approach',
				),
				array(
					'label' => 'Analytics',
					'href'  => '#analytics',
				),
			),
			'overviewParagraphs' => array(
				'Our AI chatbot development services support customer-facing and internal business use cases where teams need faster answers, better self-service, clearer routing, or more scalable communication support. We design chatbot experiences around how the business actually works rather than forcing a generic script-based assistant into a complex workflow.',
				'That includes support bots, sales bots, internal knowledge assistants, onboarding help, operations guidance, and workflow-connected assistants that pull the right information into the right conversation context. The focus stays on usability, relevance, escalation awareness, and operational fit.',
				'From planning and development to training workflows, deployment, analytics, and improvement, we help create chatbot systems that are genuinely useful in practice instead of looking good only in a demo.',
			),
			'overviewPanels' => array(
				array(
					'label' => 'Strategy',
					'title' => 'Business-Focused Chatbot Strategy',
					'copy'  => 'We map chatbot delivery around the conversation tasks that actually reduce workload, improve response quality, or create better user guidance.',
					'note'  => 'Use cases first',
				),
				array(
					'label' => 'Design',
					'title' => 'Multi-Use-Case Assistant Design',
					'copy'  => 'Support, sales, and internal assistant flows are shaped differently based on intent, knowledge needs, and workflow expectations.',
					'note'  => 'Context matters',
				),
				array(
					'label' => 'Integration',
					'title' => 'Integration-Ready Implementation',
					'copy'  => 'Chatbots become more useful when they connect to knowledge sources, helpdesks, CRMs, portals, and the systems teams already use.',
					'note'  => 'Connected delivery',
				),
				array(
					'label' => 'Optimization',
					'title' => 'Ongoing Optimization',
					'copy'  => 'We help refine flows, identify weak spots, review unanswered questions, and improve chatbot coverage after launch.',
					'note'  => 'Analytics-driven',
				),
			),
			'chatbotTypes' => array(
				array(
					'icon'  => 'support',
					'size'  => 'hero',
					'kicker'=> 'Featured Type',
					'title' => 'Customer Support Chatbots',
					'copy'  => 'Handle common questions, guide users through known tasks, surface relevant knowledge, and reduce repetitive support load with clearer escalation paths when human help is needed.',
				),
				array(
					'icon'  => 'spark',
					'size'  => 'wide',
					'kicker'=> 'Revenue-Oriented',
					'title' => 'Sales and Lead Qualification Bots',
					'copy'  => 'Support pre-sales engagement, qualify inquiries, guide discovery, and route higher-intent conversations into the right follow-up workflow.',
				),
				array(
					'icon'  => 'toolbox',
					'size'  => 'tall',
					'kicker'=> 'Internal Ops',
					'title' => 'Internal Knowledge Assistants',
					'copy'  => 'Help teams retrieve answers, summarize documents, and work faster inside operations, HR, enablement, and delivery workflows.',
				),
				array(
					'icon'  => 'workflow',
					'size'  => 'standard',
					'kicker'=> 'Automation',
					'title' => 'Workflow Automation Bots',
					'copy'  => 'Trigger structured actions, triage requests, and move information into the right downstream workflow.',
				),
				array(
					'icon'  => 'doc',
					'size'  => 'standard',
					'kicker'=> 'Self-Service',
					'title' => 'FAQ and Self-Service Bots',
					'copy'  => 'Give users faster answers to repeat questions without forcing them through slow manual support loops.',
				),
				array(
					'icon'  => 'calendar',
					'size'  => 'standard',
					'kicker'=> 'Scheduling',
					'title' => 'Appointment or Booking Bots',
					'copy'  => 'Support appointment handling, slot guidance, booking logic, and simpler coordination around service availability.',
				),
				array(
					'icon'  => 'store',
					'size'  => 'standard',
					'kicker'=> 'Commerce',
					'title' => 'eCommerce Shopping Assistants',
					'copy'  => 'Guide product discovery, answer pre-purchase questions, and support shoppers with better context during buying journeys.',
				),
				array(
					'icon'  => 'globe',
					'size'  => 'wide',
					'kicker'=> 'Global Reach',
					'title' => 'Multilingual Chat Assistants',
					'copy'  => 'Support users across markets, teams, or audience segments where conversation quality needs to travel across languages and channels.',
				),
			),
			'useCasesIntro' => array(
				'The same chatbot architecture should not be treated as a one-size-fits-all solution. Support bots, sales bots, and internal assistants each need different conversation logic, success metrics, workflow design, and integration depth.',
				'We help shape the right assistant type around the business function it is meant to support so the chatbot feels more useful, more relevant, and easier to improve over time.',
			),
			'useCasePanels' => array(
				array(
					'label'       => 'Support Bots',
					'title'       => 'Customer help that reduces repetition without sacrificing escalation quality',
					'description' => 'Support bots are designed to answer common questions, guide users through known tasks, surface relevant knowledge, and reduce repetitive support work while still respecting cases that need a person.',
					'highlights'  => array(
						'FAQ handling and common question coverage',
						'Ticket deflection for repeatable support requests',
						'Guided customer help for known flows',
						'Support workflow integration across helpdesk systems',
						'Escalation routing when human assistance is required',
					),
					'outcomes'    => array(
						'Faster first response paths',
						'Less repetitive support load',
						'Clearer self-service journeys',
					),
					'context'     => 'Best fit when teams need better self-service, repeat question coverage, or more consistent early-stage support handling.',
				),
				array(
					'label'       => 'Sales Bots',
					'title'       => 'Pre-sales conversation support that helps qualify, guide, and route intent',
					'description' => 'Sales bots help capture interest, guide discovery, recommend relevant products or services, and send higher-value leads into the right CRM or follow-up workflow without losing context.',
					'highlights'  => array(
						'Lead qualification conversations',
						'Guided product or service discovery',
						'Inquiry capture and routing',
						'Pre-sales automation for repetitive early-stage questions',
						'CRM-connected workflows for better handoff',
					),
					'outcomes'    => array(
						'Cleaner inbound qualification',
						'Better routing of commercial intent',
						'More useful pre-sales engagement',
					),
					'context'     => 'Best fit when response speed, lead triage, product guidance, or sales workflow alignment matters across inbound conversations.',
				),
				array(
					'label'       => 'Internal Assistants',
					'title'       => 'Knowledge and process support that helps teams move faster with less searching',
					'description' => 'Internal assistants are built to help employees retrieve knowledge, summarize documents, support onboarding, answer process questions, and improve productivity across operational workflows.',
					'highlights'  => array(
						'Internal knowledge assistants for business content',
						'HR and onboarding support flows',
						'Operations guidance and task support',
						'Sales enablement and document assistance',
						'Team productivity copilots with role-aware context',
					),
					'outcomes'    => array(
						'Faster knowledge retrieval',
						'Stronger internal consistency',
						'Less manual context switching',
					),
					'context'     => 'Best fit when teams lose time searching, re-answering internal questions, or navigating fragmented documents and process knowledge.',
				),
			),
			'integrationIntro' => 'Omnichannel chatbot integration works best when the assistant appears in the places users already interact with the business and when the conversation layer can connect into the workflows behind the scenes. That means thinking beyond a single web widget and designing a chatbot ecosystem that fits the real operating environment.',
			'integrationNodesLeft' => array(
				'Website chat',
				'Mobile app integration',
				'Customer portals',
			),
			'integrationNodesRight' => array(
				'CRM / helpdesk integration',
				'Internal knowledge bases',
				'Messaging channels',
				'APIs and backend systems',
			),
			'inlineCtaTitle' => 'Want to explore a chatbot use case with our team?',
			'inlineCtaText'  => 'We can help evaluate whether a support bot, sales bot, or internal assistant is the right fit before you commit to a larger implementation.',
			'trainingParagraphs' => array(
				'Chatbot quality depends on more than selecting a model. Knowledge sources, workflow logic, prompt structure, response patterns, fallback rules, escalation paths, and testing all shape whether the assistant feels relevant and dependable.',
				'We help structure the content and workflow behind AI chatbot development services so knowledge, conversation design, and business context align with the outcomes the chatbot is expected to support.',
			),
			'trainingSteps' => array(
				array(
					'title' => 'Use Case Definition',
					'copy'  => 'Clarify the conversation goals, user intent, workflow boundaries, and success criteria before building the assistant.',
				),
				array(
					'title' => 'Knowledge Source Review',
					'copy'  => 'Review FAQs, help content, documents, SOPs, support materials, and system data that the chatbot may need to reference.',
				),
				array(
					'title' => 'Content Structuring',
					'copy'  => 'Organize information into more usable patterns that support cleaner retrieval, clearer answers, and better guardrails.',
				),
				array(
					'title' => 'Conversation Design',
					'copy'  => 'Shape response flow, escalation behavior, prompt patterns, and user guidance around the actual experience needed.',
				),
				array(
					'title' => 'Testing and Refinement',
					'copy'  => 'Validate the chatbot against real questions, weak spots, edge cases, and workflow failure points before launch.',
				),
				array(
					'title' => 'Launch Readiness',
					'copy'  => 'Prepare the assistant for production with the right channels, controls, integrations, and governance support in place.',
				),
				array(
					'title' => 'Ongoing Improvement',
					'copy'  => 'Use analytics, feedback, unresolved questions, and real conversations to improve relevance and business fit over time.',
				),
			),
			'analyticsParagraphs' => array(
				'AI chatbot development does not end at launch. Real value comes from understanding which questions get answered well, where flows break, when escalations happen, and how user behavior changes over time.',
				'We help teams monitor chatbot performance, review conversation patterns, identify knowledge gaps, and make iterative improvements so the assistant becomes more useful as real interactions accumulate.',
			),
			'analyticsMetrics' => array(
				array(
					'label' => 'Tracked',
					'value' => '3.2k',
					'copy'  => 'Illustrative monthly conversation volume view',
				),
				array(
					'label' => 'Resolved',
					'value' => '71%',
					'copy'  => 'Sample resolution coverage benchmark',
				),
				array(
					'label' => 'Escalated',
					'value' => '19%',
					'copy'  => 'Sample handoff visibility for human support',
				),
				array(
					'label' => 'Gaps',
					'value' => '14',
					'copy'  => 'Example unresolved topic clusters to review',
				),
			),
			'analyticsWidgets' => array(
				array(
					'title' => 'Conversation Analytics',
					'copy'  => 'Track intent clusters, session patterns, top entry points, and where users exit or restart flows.',
					'type'  => 'bars',
					'items' => array( 'High-intent support', 'Pre-sales questions', 'Knowledge lookup', 'Escalation triggers' ),
				),
				array(
					'title' => 'Resolution vs Escalation Trends',
					'copy'  => 'Monitor how often the chatbot completes the task versus handing off, and where escalation logic needs refinement.',
					'type'  => 'trend',
					'items' => array( 'Week 1', 'Week 2', 'Week 3', 'Week 4' ),
				),
				array(
					'title' => 'Knowledge Gap Visibility',
					'copy'  => 'Identify weak answers, incomplete coverage, outdated content, and missing knowledge sources that hold the assistant back.',
					'type'  => 'list',
					'items' => array( 'Policy edge cases', 'Shipping exception logic', 'Internal process updates' ),
				),
				array(
					'title' => 'Flow Optimization Insights',
					'copy'  => 'Review where users stall, which prompts underperform, and what conversation patterns need clearer paths or stronger context.',
					'type'  => 'chips',
					'items' => array( 'Refine routing', 'Tighten prompts', 'Add fallback path', 'Expand FAQ coverage' ),
				),
			),
			'finalCtaTitle'      => 'Need an AI Chatbot That Actually Fits Your Business?',
			'finalCtaText'       => 'Discuss support bots, sales bots, internal assistants, omnichannel chatbot integration, training workflows, or analytics-driven chatbot improvement with a team focused on practical business fit.',
			'finalCtaHighlights' => array(
				'Support bots, sales bots, and internal assistants built around real workflows',
				'Omnichannel chatbot integration across websites, portals, apps, and systems',
				'Training, analytics, and ongoing refinement after launch',
			),
			'finalCtaSteps'      => array(
				array(
					'title' => 'Share the conversation problem',
					'copy'  => 'Tell us where users need help, what the chatbot should support, and which systems or channels matter most.',
				),
				array(
					'title' => 'Define the right assistant model',
					'copy'  => 'We help shape the chatbot type, workflow integration approach, training structure, and delivery plan that fits your business.',
				),
				array(
					'title' => 'Move into chatbot planning',
					'copy'  => 'Leave with clearer next steps for use-case validation, implementation, testing, deployment, and improvement.',
				),
			),
		);

		return $data;
	}
}

if ( ! function_exists( 'ethnic_ai_chatbot_development_page_heading' ) ) {
	function ethnic_ai_chatbot_development_page_heading( $eyebrow, $title, $copy = '' ) {
		ob_start();
		?>
		<div class="ethnic-ai-chatbot-heading">
			<?php if ( $eyebrow ) : ?>
				<p class="ethnic-ai-chatbot-heading__eyebrow"><?php echo esc_html( $eyebrow ); ?></p>
			<?php endif; ?>
			<h2 class="ethnic-ai-chatbot-heading__title"><?php echo esc_html( $title ); ?></h2>
			<?php if ( $copy ) : ?>
				<p class="ethnic-ai-chatbot-heading__copy"><?php echo esc_html( $copy ); ?></p>
			<?php endif; ?>
		</div>
		<?php

		return ob_get_clean();
	}
}

if ( ! function_exists( 'ethnic_ai_chatbot_development_page_icon' ) ) {
	function ethnic_ai_chatbot_development_page_icon( $icon ) {
		ob_start();

		switch ( $icon ) {
			case 'calendar':
				?>
				<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false">
					<rect x="4" y="5.4" width="16" height="14.2" rx="2" />
					<path d="M8 3.8v3.2" />
					<path d="M16 3.8v3.2" />
					<path d="M4 9.6h16" />
					<path d="M8.2 13h3.1" />
					<path d="M8.2 16.1h5.6" />
				</svg>
				<?php
				break;

			default:
				if ( function_exists( 'ethnic_ai_ml_development_page_icon' ) ) {
					ob_end_clean();
					return ethnic_ai_ml_development_page_icon( $icon );
				}

				if ( function_exists( 'ethnic_ecommerce_development_page_icon' ) ) {
					ob_end_clean();
					return ethnic_ecommerce_development_page_icon( $icon );
				}

				?>
				<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false">
					<circle cx="12" cy="12" r="8.5" />
					<path d="M8.6 12.3 10.8 14.5 15.4 9.9" />
				</svg>
				<?php
				break;
		}

		return ob_get_clean();
	}
}

if ( ! function_exists( 'ethnic_ai_chatbot_development_page_render' ) ) {
	function ethnic_ai_chatbot_development_page_render() {
		$data             = ethnic_ai_chatbot_development_page_data();
		$consultation_url = ethnic_ai_chatbot_development_page_contact_url(
			array(
				'intent'  => 'consultation',
				'service' => 'ai-chatbot-development',
			)
		);
		$team_url         = ethnic_ai_chatbot_development_page_contact_url(
			array(
				'intent'  => 'team',
				'service' => 'ai-chatbot-development',
			)
		);
		$quote_url        = ethnic_ai_chatbot_development_page_contact_url(
			array(
				'intent'  => 'quote',
				'service' => 'ai-chatbot-development',
			)
		);
		$case_studies_url = ethnic_ai_chatbot_development_page_case_studies_url();

		ob_start();
		?>
		<div class="ethnic-ai-chatbot-page">
			<section class="ethnic-ai-chatbot-section ethnic-ai-chatbot-section--hero">
				<div class="ethnic-ai-chatbot-shell">
					<div class="ethnic-ai-chatbot-hero">
						<div class="ethnic-ai-chatbot-hero__copy">
							<p class="ethnic-ai-chatbot-kicker">AI Chatbot Services</p>
							<h1 class="ethnic-ai-chatbot-hero__title"><?php echo esc_html( $data['heroTitle'] ); ?></h1>
							<p class="ethnic-ai-chatbot-hero__lead"><?php echo esc_html( $data['heroText'] ); ?></p>
							<div class="ethnic-ai-chatbot-actions">
								<a class="ethnic-ai-chatbot-button ethnic-ai-chatbot-button--primary" href="<?php echo esc_url( $consultation_url ); ?>">Book a Free Consultation</a>
								<a class="ethnic-ai-chatbot-button ethnic-ai-chatbot-button--secondary" href="<?php echo esc_url( $team_url ); ?>">Talk to Our Team</a>
							</div>
							<ul class="ethnic-ai-chatbot-hero__points" aria-label="AI chatbot development highlights">
								<?php foreach ( (array) $data['heroPoints'] as $point ) : ?>
									<li><?php echo esc_html( $point ); ?></li>
								<?php endforeach; ?>
							</ul>
						</div>

						<div class="ethnic-ai-chatbot-hero__visual">
							<div class="ethnic-ai-chatbot-stage">
								<div class="ethnic-ai-chatbot-stage__frame">
									<div class="ethnic-ai-chatbot-stage__topbar">
										<span></span>
										<span></span>
										<span></span>
									</div>
									<div class="ethnic-ai-chatbot-stage__panel">
										<div class="ethnic-ai-chatbot-stage__channelbar">
											<span>Website</span>
											<span>Portal</span>
											<span>Support</span>
										</div>
										<div class="ethnic-ai-chatbot-stage__conversation">
											<div class="ethnic-ai-chatbot-stage__bubble ethnic-ai-chatbot-stage__bubble--user">
												<p>Can you help me choose the right plan and answer setup questions?</p>
											</div>
											<div class="ethnic-ai-chatbot-stage__bubble ethnic-ai-chatbot-stage__bubble--bot">
												<p>I can guide product options, answer FAQs, capture intent, and route complex cases to the right team.</p>
											</div>
											<div class="ethnic-ai-chatbot-stage__assist-grid">
												<div>
													<small>Use cases</small>
													<strong>Support, sales, internal help</strong>
												</div>
												<div>
													<small>Workflow fit</small>
													<strong>Integrated and measurable</strong>
												</div>
											</div>
										</div>
									</div>
								</div>
								<div class="ethnic-ai-chatbot-stage__floating ethnic-ai-chatbot-stage__floating--analytics">
									<p class="ethnic-ai-chatbot-stage__floating-label">Analytics widget</p>
									<strong>Response quality and escalation patterns stay visible after launch</strong>
									<div class="ethnic-ai-chatbot-stage__mini-bars">
										<span></span>
										<span></span>
										<span></span>
									</div>
								</div>
								<div class="ethnic-ai-chatbot-stage__floating ethnic-ai-chatbot-stage__floating--cards">
									<p class="ethnic-ai-chatbot-stage__floating-label">Conversation paths</p>
									<ul>
										<li>Lead qualification logic</li>
										<li>Escalation-aware support flow</li>
										<li>Knowledge assistant responses</li>
									</ul>
								</div>
							</div>
						</div>
					</div>
				</div>
			</section>

			<div class="ethnic-ai-chatbot-quicknav-wrap">
				<div class="ethnic-ai-chatbot-shell">
					<nav class="ethnic-ai-chatbot-quicknav" aria-label="Page sections">
						<?php foreach ( (array) $data['quickNav'] as $item ) : ?>
							<a href="<?php echo esc_url( $item['href'] ); ?>"><?php echo esc_html( $item['label'] ); ?></a>
						<?php endforeach; ?>
					</nav>
				</div>
			</div>

			<section class="ethnic-ai-chatbot-section" id="overview">
				<div class="ethnic-ai-chatbot-shell">
					<div class="ethnic-ai-chatbot-overview">
						<div class="ethnic-ai-chatbot-overview__copy">
							<?php echo ethnic_ai_chatbot_development_page_heading( 'Chatbot Service Overview', 'AI chatbot development services for support, sales, and internal business workflows.', 'We design chatbot systems that are meant to help real users complete real tasks, connect to real business systems, and improve over time as more conversation data becomes available.' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
							<?php foreach ( (array) $data['overviewParagraphs'] as $paragraph ) : ?>
								<p><?php echo esc_html( $paragraph ); ?></p>
							<?php endforeach; ?>
						</div>
						<div class="ethnic-ai-chatbot-overview__rail">
							<?php foreach ( (array) $data['overviewPanels'] as $panel ) : ?>
								<article class="ethnic-ai-chatbot-panel">
									<div class="ethnic-ai-chatbot-panel__meta">
										<span><?php echo esc_html( $panel['label'] ); ?></span>
										<em><?php echo esc_html( $panel['note'] ); ?></em>
									</div>
									<h3><?php echo esc_html( $panel['title'] ); ?></h3>
									<p><?php echo esc_html( $panel['copy'] ); ?></p>
								</article>
							<?php endforeach; ?>
						</div>
					</div>
				</div>
			</section>

			<section class="ethnic-ai-chatbot-section ethnic-ai-chatbot-section--soft" id="chatbot-types">
				<div class="ethnic-ai-chatbot-shell">
					<?php echo ethnic_ai_chatbot_development_page_heading( 'Chatbot Types Explorer', 'Different chatbot types support different workflows, audiences, and business goals.', 'We design chatbot solutions around what the conversation is supposed to achieve, whether that means reducing repetitive support, improving qualification, guiding employees, or connecting users to the right next step.' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
					<div class="ethnic-ai-chatbot-type-mosaic">
						<?php foreach ( (array) $data['chatbotTypes'] as $type ) : ?>
							<article class="ethnic-ai-chatbot-type-card ethnic-ai-chatbot-type-card--<?php echo esc_attr( $type['size'] ); ?>">
								<div class="ethnic-ai-chatbot-type-card__top">
									<p><?php echo esc_html( $type['kicker'] ); ?></p>
									<div class="ethnic-ai-chatbot-card__icon">
										<?php echo ethnic_ai_chatbot_development_page_icon( $type['icon'] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
									</div>
								</div>
								<h3><?php echo esc_html( $type['title'] ); ?></h3>
								<p><?php echo esc_html( $type['copy'] ); ?></p>
							</article>
						<?php endforeach; ?>
					</div>
				</div>
			</section>

			<section class="ethnic-ai-chatbot-section" id="use-cases">
				<div class="ethnic-ai-chatbot-shell">
					<div class="ethnic-ai-chatbot-compare">
						<div class="ethnic-ai-chatbot-compare__intro">
							<?php echo ethnic_ai_chatbot_development_page_heading( 'Use Cases', 'Support bots, sales bots, and internal assistants should not be designed the same way.', 'The comparison below shows how conversation goals, escalation patterns, knowledge needs, and system connections change depending on the role the chatbot plays inside the business.' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
							<?php foreach ( (array) $data['useCasesIntro'] as $paragraph ) : ?>
								<p><?php echo esc_html( $paragraph ); ?></p>
							<?php endforeach; ?>
							<div class="ethnic-ai-chatbot-compare__summary">
								<strong>Signature delivery focus</strong>
								<p>We compare use cases by workflow value, escalation need, conversation complexity, and operational fit rather than by generic bot labels alone.</p>
							</div>
						</div>
						<div class="ethnic-ai-chatbot-compare__panels">
							<?php foreach ( (array) $data['useCasePanels'] as $panel ) : ?>
								<article class="ethnic-ai-chatbot-story-panel">
									<div class="ethnic-ai-chatbot-story-panel__main">
										<p class="ethnic-ai-chatbot-story-panel__label"><?php echo esc_html( $panel['label'] ); ?></p>
										<h3><?php echo esc_html( $panel['title'] ); ?></h3>
										<p class="ethnic-ai-chatbot-story-panel__lead"><?php echo esc_html( $panel['description'] ); ?></p>
										<ul class="ethnic-ai-chatbot-checklist">
											<?php foreach ( (array) $panel['highlights'] as $item ) : ?>
												<li><?php echo esc_html( $item ); ?></li>
											<?php endforeach; ?>
										</ul>
									</div>
									<div class="ethnic-ai-chatbot-story-panel__aside">
										<div class="ethnic-ai-chatbot-story-panel__context">
											<small>Where it fits</small>
											<p><?php echo esc_html( $panel['context'] ); ?></p>
										</div>
										<div class="ethnic-ai-chatbot-story-panel__outcomes">
											<small>Typical outcomes</small>
											<?php foreach ( (array) $panel['outcomes'] as $item ) : ?>
												<span><?php echo esc_html( $item ); ?></span>
											<?php endforeach; ?>
										</div>
									</div>
								</article>
							<?php endforeach; ?>
						</div>
					</div>
				</div>
			</section>

			<section class="ethnic-ai-chatbot-section ethnic-ai-chatbot-section--band" id="integrations">
				<div class="ethnic-ai-chatbot-shell">
					<div class="ethnic-ai-chatbot-band-header">
						<?php echo ethnic_ai_chatbot_development_page_heading( 'Omnichannel Integration Architecture', 'Omnichannel chatbot integration works best when the assistant appears in the right channels and connects to the right systems.', $data['integrationIntro'] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
					</div>
					<div class="ethnic-ai-chatbot-architecture">
						<div class="ethnic-ai-chatbot-architecture__column">
							<?php foreach ( (array) $data['integrationNodesLeft'] as $node ) : ?>
								<div class="ethnic-ai-chatbot-architecture__node">
									<span><?php echo esc_html( $node ); ?></span>
								</div>
							<?php endforeach; ?>
						</div>
						<div class="ethnic-ai-chatbot-architecture__hub">
							<p>AI Chatbot Layer</p>
							<strong>Conversation logic, retrieval, routing, prompts, escalation, and workflow connection</strong>
							<div class="ethnic-ai-chatbot-architecture__tags">
								<span>Intent handling</span>
								<span>Knowledge retrieval</span>
								<span>CRM / helpdesk handoff</span>
								<span>Backend actions</span>
							</div>
						</div>
						<div class="ethnic-ai-chatbot-architecture__column">
							<?php foreach ( (array) $data['integrationNodesRight'] as $node ) : ?>
								<div class="ethnic-ai-chatbot-architecture__node">
									<span><?php echo esc_html( $node ); ?></span>
								</div>
							<?php endforeach; ?>
						</div>
					</div>
					<div class="ethnic-ai-chatbot-inline-cta">
						<div>
							<p class="ethnic-ai-chatbot-inline-cta__eyebrow">Early CTA</p>
							<h3><?php echo esc_html( $data['inlineCtaTitle'] ); ?></h3>
							<p><?php echo esc_html( $data['inlineCtaText'] ); ?></p>
						</div>
						<a class="ethnic-ai-chatbot-button ethnic-ai-chatbot-button--primary" href="<?php echo esc_url( $consultation_url ); ?>">Book a Free Consultation</a>
					</div>
				</div>
			</section>

			<section class="ethnic-ai-chatbot-section" id="training-approach">
				<div class="ethnic-ai-chatbot-shell">
					<?php echo ethnic_ai_chatbot_development_page_heading( 'Training Data Approach', 'Chatbot quality depends on knowledge, workflow structure, response design, and testing, not only the model.', 'We help shape the preparation and refinement framework that makes AI chatbot development services more relevant, more usable, and easier to improve over time.' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
					<div class="ethnic-ai-chatbot-prose ethnic-ai-chatbot-prose--narrow">
						<?php foreach ( (array) $data['trainingParagraphs'] as $paragraph ) : ?>
							<p><?php echo esc_html( $paragraph ); ?></p>
						<?php endforeach; ?>
					</div>
					<div class="ethnic-ai-chatbot-rail-wrap">
						<div class="ethnic-ai-chatbot-rail">
							<?php foreach ( (array) $data['trainingSteps'] as $index => $step ) : ?>
								<article class="ethnic-ai-chatbot-rail__step">
									<span class="ethnic-ai-chatbot-rail__number"><?php echo esc_html( sprintf( '%02d', $index + 1 ) ); ?></span>
									<h3><?php echo esc_html( $step['title'] ); ?></h3>
									<p><?php echo esc_html( $step['copy'] ); ?></p>
								</article>
							<?php endforeach; ?>
						</div>
					</div>
				</div>
			</section>

			<section class="ethnic-ai-chatbot-section ethnic-ai-chatbot-section--soft" id="analytics">
				<div class="ethnic-ai-chatbot-shell">
					<div class="ethnic-ai-chatbot-dashboard-section">
						<div class="ethnic-ai-chatbot-dashboard-section__copy">
							<?php echo ethnic_ai_chatbot_development_page_heading( 'Analytics and Improvement', 'Chatbot performance monitoring helps turn early launch behavior into better assistant quality over time.', 'We review how users actually interact with the bot so unanswered questions, escalation patterns, knowledge gaps, and weak flows can be improved through real operational feedback.' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
							<?php foreach ( (array) $data['analyticsParagraphs'] as $paragraph ) : ?>
								<p><?php echo esc_html( $paragraph ); ?></p>
							<?php endforeach; ?>
						</div>
						<div class="ethnic-ai-chatbot-dashboard">
							<p class="ethnic-ai-chatbot-dashboard__eyebrow">Illustrative monitoring view</p>
							<div class="ethnic-ai-chatbot-dashboard__metrics">
								<?php foreach ( (array) $data['analyticsMetrics'] as $metric ) : ?>
									<div class="ethnic-ai-chatbot-dashboard__metric">
										<small><?php echo esc_html( $metric['label'] ); ?></small>
										<strong><?php echo esc_html( $metric['value'] ); ?></strong>
										<p><?php echo esc_html( $metric['copy'] ); ?></p>
									</div>
								<?php endforeach; ?>
							</div>
							<div class="ethnic-ai-chatbot-dashboard__widgets">
								<?php foreach ( (array) $data['analyticsWidgets'] as $widget ) : ?>
									<div class="ethnic-ai-chatbot-dashboard__widget ethnic-ai-chatbot-dashboard__widget--<?php echo esc_attr( $widget['type'] ); ?>">
										<h3><?php echo esc_html( $widget['title'] ); ?></h3>
										<p><?php echo esc_html( $widget['copy'] ); ?></p>
										<?php if ( 'bars' === $widget['type'] ) : ?>
											<div class="ethnic-ai-chatbot-widget-bars">
												<?php foreach ( (array) $widget['items'] as $index => $item ) : ?>
													<div class="ethnic-ai-chatbot-widget-bars__row">
														<span><?php echo esc_html( $item ); ?></span>
														<i style="--row-width: <?php echo esc_attr( 94 - ( $index * 12 ) ); ?>%;"></i>
													</div>
												<?php endforeach; ?>
											</div>
										<?php elseif ( 'trend' === $widget['type'] ) : ?>
											<div class="ethnic-ai-chatbot-widget-trend">
												<?php foreach ( (array) $widget['items'] as $index => $item ) : ?>
													<div class="ethnic-ai-chatbot-widget-trend__bar">
														<em style="--bar-height: <?php echo esc_attr( 48 + ( $index * 12 ) ); ?>px;"></em>
														<span><?php echo esc_html( $item ); ?></span>
													</div>
												<?php endforeach; ?>
											</div>
										<?php elseif ( 'list' === $widget['type'] ) : ?>
											<ul class="ethnic-ai-chatbot-widget-list">
												<?php foreach ( (array) $widget['items'] as $item ) : ?>
													<li><?php echo esc_html( $item ); ?></li>
												<?php endforeach; ?>
											</ul>
										<?php else : ?>
											<div class="ethnic-ai-chatbot-widget-chips">
												<?php foreach ( (array) $widget['items'] as $item ) : ?>
													<span><?php echo esc_html( $item ); ?></span>
												<?php endforeach; ?>
											</div>
										<?php endif; ?>
									</div>
								<?php endforeach; ?>
							</div>
						</div>
					</div>
				</div>
			</section>

			<section class="ethnic-ai-chatbot-section ethnic-ai-chatbot-section--cta" id="cta">
				<div class="ethnic-ai-chatbot-shell">
					<div class="ethnic-ai-chatbot-cta">
						<div class="ethnic-ai-chatbot-cta__copy">
							<p class="ethnic-ai-chatbot-kicker ethnic-ai-chatbot-kicker--light">Final CTA</p>
							<h2><?php echo esc_html( $data['finalCtaTitle'] ); ?></h2>
							<p class="ethnic-ai-chatbot-cta__lead"><?php echo esc_html( $data['finalCtaText'] ); ?></p>
							<div class="ethnic-ai-chatbot-actions">
								<a class="ethnic-ai-chatbot-button ethnic-ai-chatbot-button--primary" href="<?php echo esc_url( $team_url ); ?>">Talk to Our Team</a>
								<a class="ethnic-ai-chatbot-button ethnic-ai-chatbot-button--secondary" href="<?php echo esc_url( $quote_url ); ?>">Get a Free Quote</a>
							</div>
							<ul class="ethnic-ai-chatbot-cta__highlights" aria-label="AI chatbot CTA highlights">
								<?php foreach ( (array) $data['finalCtaHighlights'] as $item ) : ?>
									<li><?php echo esc_html( $item ); ?></li>
								<?php endforeach; ?>
							</ul>
						</div>
						<aside class="ethnic-ai-chatbot-cta__panel">
							<p class="ethnic-ai-chatbot-cta__panel-eyebrow">What Happens Next</p>
							<ol class="ethnic-ai-chatbot-cta__steps">
								<?php foreach ( (array) $data['finalCtaSteps'] as $index => $step ) : ?>
									<li class="ethnic-ai-chatbot-cta__step">
										<span class="ethnic-ai-chatbot-cta__step-number"><?php echo esc_html( sprintf( '%02d', $index + 1 ) ); ?></span>
										<div class="ethnic-ai-chatbot-cta__step-copy">
											<strong><?php echo esc_html( $step['title'] ); ?></strong>
											<p><?php echo esc_html( $step['copy'] ); ?></p>
										</div>
									</li>
								<?php endforeach; ?>
							</ol>
						</aside>
					</div>
				</div>
			</section>
		</div>
		<?php

		return ob_get_clean();
	}
}

if ( ! function_exists( 'ethnic_ai_chatbot_development_page_styles' ) ) {
	function ethnic_ai_chatbot_development_page_styles() {
		return <<<'CSS'
body.ethnic-ai-chatbot-development-target #page-title.page-title-block.custom-page-title {
	display: none;
}

body.ethnic-ai-chatbot-development-target .fullwidth-content > .ethnic-ai-chatbot-page {
	padding-bottom: clamp(72px, 8vw, 120px);
}

body.ethnic-ai-chatbot-development-target .block-content > .container {
	width: 100%;
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

body.ethnic-ai-chatbot-development-target .block-content > .container > .panel.row {
	margin-left: 0;
	margin-right: 0;
}

body.ethnic-ai-chatbot-development-target .block-content > .container > .panel > .panel-center {
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}

body.ethnic-ai-chatbot-development-target .entry-content.post-content {
	margin-bottom: 0;
}

.ethnic-ai-chatbot-page {
	--ethnic-ai-chatbot-text: #0f172a;
	--ethnic-ai-chatbot-muted: #5d6b80;
	--ethnic-ai-chatbot-border: rgba(15, 23, 42, 0.09);
	--ethnic-ai-chatbot-surface: rgba(255, 255, 255, 0.98);
	--ethnic-ai-chatbot-surface-soft: rgba(244, 250, 251, 0.96);
	--ethnic-ai-chatbot-accent: #0f766e;
	--ethnic-ai-chatbot-accent-dark: #115e59;
	--ethnic-ai-chatbot-blue: #2f6bff;
	--ethnic-ai-chatbot-lime: #d8ff92;
	--ethnic-ai-chatbot-shadow: 0 24px 64px rgba(15, 23, 42, 0.08);
	--ethnic-ai-chatbot-shadow-strong: 0 34px 88px rgba(15, 23, 42, 0.18);
	color: var(--ethnic-ai-chatbot-text);
	overflow-x: clip;
}

.ethnic-ai-chatbot-page,
.ethnic-ai-chatbot-page *,
.ethnic-ai-chatbot-page *::before,
.ethnic-ai-chatbot-page *::after {
	box-sizing: border-box;
}

.ethnic-ai-chatbot-shell {
	width: min(1280px, calc(100% - (var(--ethnic-ai-chatbot-shell-padding, 34px) * 2)));
	margin: 0 auto;
}

.ethnic-ai-chatbot-shell--narrow {
	width: min(980px, calc(100% - (var(--ethnic-ai-chatbot-shell-padding, 34px) * 2)));
}

.ethnic-ai-chatbot-section + .ethnic-ai-chatbot-section {
	margin-top: clamp(68px, 7vw, 108px);
}

.ethnic-ai-chatbot-section--soft {
	padding: clamp(30px, 4vw, 40px) 0;
}

.ethnic-ai-chatbot-section--band {
	padding: clamp(46px, 5vw, 64px) 0;
	background:
		radial-gradient(circle at top left, rgba(15, 118, 110, 0.18), transparent 24%),
		radial-gradient(circle at bottom right, rgba(47, 107, 255, 0.16), transparent 22%),
		linear-gradient(180deg, #0b1522, #102130 55%, #142b3f);
}

.ethnic-ai-chatbot-page p,
.ethnic-ai-chatbot-page li {
	color: var(--ethnic-ai-chatbot-muted);
	font-size: 16px;
	line-height: 1.78;
}

.ethnic-ai-chatbot-kicker,
.ethnic-ai-chatbot-heading__eyebrow,
.ethnic-ai-chatbot-inline-cta__eyebrow,
.ethnic-ai-chatbot-dashboard__eyebrow,
.ethnic-ai-chatbot-story-panel__label,
.ethnic-ai-chatbot-cta__panel-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	width: fit-content;
	min-height: 34px;
	margin: 0 0 16px;
	padding: 8px 16px;
	border-radius: 999px;
	background: rgba(15, 118, 110, 0.1);
	border: 1px solid rgba(15, 118, 110, 0.14);
	color: var(--ethnic-ai-chatbot-accent) !important;
	-webkit-text-fill-color: var(--ethnic-ai-chatbot-accent);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1;
	text-transform: uppercase;
}

.ethnic-ai-chatbot-kicker::before,
.ethnic-ai-chatbot-heading__eyebrow::before,
.ethnic-ai-chatbot-inline-cta__eyebrow::before,
.ethnic-ai-chatbot-dashboard__eyebrow::before,
.ethnic-ai-chatbot-story-panel__label::before,
.ethnic-ai-chatbot-cta__panel-eyebrow::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 18%, transparent);
}

.ethnic-ai-chatbot-heading {
	max-width: 860px;
	margin-bottom: clamp(26px, 4vw, 38px);
}

.ethnic-ai-chatbot-heading__title,
.ethnic-ai-chatbot-hero__title,
.ethnic-ai-chatbot-cta h2 {
	margin: 0;
	font-family: "Plus Jakarta Sans", "Figtree", sans-serif;
	font-weight: 700;
	letter-spacing: -0.05em;
	text-wrap: balance;
}

.ethnic-ai-chatbot-heading__title,
.ethnic-ai-chatbot-cta h2 {
	color: var(--ethnic-ai-chatbot-text);
	font-size: clamp(32px, 3vw, 44px);
	line-height: 1.06;
}

.ethnic-ai-chatbot-heading__copy,
.ethnic-ai-chatbot-overview__copy p,
.ethnic-ai-chatbot-prose p,
.ethnic-ai-chatbot-dashboard-section__copy p,
.ethnic-ai-chatbot-cta__lead {
	margin: 18px 0 0;
}

.ethnic-ai-chatbot-section--hero {
	position: relative;
	background:
		radial-gradient(circle at 16% 18%, rgba(15, 118, 110, 0.24), transparent 24%),
		radial-gradient(circle at 82% 12%, rgba(47, 107, 255, 0.18), transparent 18%),
		linear-gradient(180deg, #08141d, #102433 54%, #14334b);
}

.ethnic-ai-chatbot-section--hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px),
		linear-gradient(0deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
	background-size: 34px 34px;
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.36), transparent 84%);
	pointer-events: none;
}

.ethnic-ai-chatbot-hero {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(460px, 0.94fr);
	gap: clamp(34px, 5vw, 72px);
	align-items: center;
	min-height: clamp(640px, 74vw, 800px);
	padding: clamp(84px, 8vw, 128px) 0 72px;
}

.ethnic-ai-chatbot-hero__title {
	max-width: 7.8ch;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff;
	font-size: clamp(46px, 5.5vw, 76px);
	line-height: 0.96;
}

.ethnic-ai-chatbot-hero__lead {
	max-width: 58ch;
	margin: 20px 0 0;
	color: rgba(255, 255, 255, 0.88);
	font-size: clamp(17px, 1.45vw, 20px);
	line-height: 1.84;
}

.ethnic-ai-chatbot-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 28px;
}

.ethnic-ai-chatbot-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 14px 24px;
	border-radius: 999px;
	border: 1px solid transparent;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	transition: transform 0.24s ease, box-shadow 0.24s ease, background-color 0.24s ease, border-color 0.24s ease, color 0.24s ease;
}

.ethnic-ai-chatbot-button:hover,
.ethnic-ai-chatbot-button:focus-visible {
	transform: translateY(-1px);
	text-decoration: none;
}

.ethnic-ai-chatbot-button--primary {
	background: var(--ethnic-ai-chatbot-lime);
	color: #0b1730 !important;
	box-shadow: 0 20px 44px rgba(5, 14, 28, 0.24);
}

.ethnic-ai-chatbot-button--primary:hover,
.ethnic-ai-chatbot-button--primary:focus-visible {
	background: #e5ffba;
	color: #0b1730 !important;
	box-shadow: 0 24px 50px rgba(5, 14, 28, 0.28);
}

.ethnic-ai-chatbot-button--secondary {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.16);
	color: #ffffff !important;
}

.ethnic-ai-chatbot-button--ghost {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.12);
	color: #ffffff !important;
}

.ethnic-ai-chatbot-button--ghost:hover,
.ethnic-ai-chatbot-button--ghost:focus-visible {
	background: rgba(255, 255, 255, 0.14);
}

.ethnic-ai-chatbot-hero__points,
.ethnic-ai-chatbot-checklist,
.ethnic-ai-chatbot-cta__highlights,
.ethnic-ai-chatbot-widget-list {
	display: grid;
	gap: 12px;
	padding: 0;
	margin: 26px 0 0;
	list-style: none;
}

.ethnic-ai-chatbot-hero__points {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: 880px;
}

.ethnic-ai-chatbot-hero__points li,
.ethnic-ai-chatbot-checklist li,
.ethnic-ai-chatbot-cta__highlights li,
.ethnic-ai-chatbot-widget-list li {
	position: relative;
	padding-left: 22px;
}

.ethnic-ai-chatbot-hero__points li {
	padding: 16px 18px 16px 42px;
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.12);
	color: rgba(255, 255, 255, 0.9);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.5;
}

.ethnic-ai-chatbot-hero__points li::before,
.ethnic-ai-chatbot-checklist li::before,
.ethnic-ai-chatbot-cta__highlights li::before,
.ethnic-ai-chatbot-widget-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.38em;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ethnic-ai-chatbot-lime);
	box-shadow: 0 0 0 5px rgba(216, 255, 146, 0.16);
}

.ethnic-ai-chatbot-hero__points li::before {
	left: 18px;
	top: 20px;
}

.ethnic-ai-chatbot-stage {
	position: relative;
	min-height: 580px;
}

.ethnic-ai-chatbot-stage__frame,
.ethnic-ai-chatbot-panel,
.ethnic-ai-chatbot-type-card,
.ethnic-ai-chatbot-story-panel,
.ethnic-ai-chatbot-rail__step,
.ethnic-ai-chatbot-dashboard,
.ethnic-ai-chatbot-dashboard__metric,
.ethnic-ai-chatbot-dashboard__widget,
.ethnic-ai-chatbot-inline-cta,
.ethnic-ai-chatbot-cta,
.ethnic-ai-chatbot-cta__panel,
.ethnic-ai-chatbot-architecture__node,
.ethnic-ai-chatbot-architecture__hub,
.ethnic-ai-chatbot-faq__item {
	border-radius: 28px;
	border: 1px solid var(--ethnic-ai-chatbot-border);
	box-shadow: var(--ethnic-ai-chatbot-shadow);
}

.ethnic-ai-chatbot-stage__frame {
	position: relative;
	padding: 22px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.08)),
		rgba(6, 17, 29, 0.78);
	border-color: rgba(255, 255, 255, 0.12);
	box-shadow: 0 34px 88px rgba(4, 12, 25, 0.34);
	backdrop-filter: blur(18px);
}

.ethnic-ai-chatbot-stage__topbar {
	display: flex;
	gap: 10px;
	margin-bottom: 18px;
}

.ethnic-ai-chatbot-stage__topbar span {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.48);
}

.ethnic-ai-chatbot-stage__panel {
	padding: 18px;
	border-radius: 24px;
	background:
		radial-gradient(circle at top right, rgba(15, 118, 110, 0.14), transparent 28%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 249, 250, 0.96));
	border: 1px solid rgba(255, 255, 255, 0.72);
}

.ethnic-ai-chatbot-stage__channelbar {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.ethnic-ai-chatbot-stage__channelbar span,
.ethnic-ai-chatbot-stage__conversation small {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 7px 12px;
	border-radius: 999px;
	background: rgba(15, 118, 110, 0.08);
	color: var(--ethnic-ai-chatbot-accent-dark);
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

.ethnic-ai-chatbot-stage__conversation {
	display: grid;
	gap: 14px;
	margin-top: 18px;
}

.ethnic-ai-chatbot-stage__bubble {
	max-width: 78%;
	padding: 16px 18px;
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.86);
	border: 1px solid rgba(15, 23, 42, 0.08);
}

.ethnic-ai-chatbot-stage__bubble p {
	margin: 0;
	font-size: 14px;
	line-height: 1.72;
}

.ethnic-ai-chatbot-stage__bubble--user {
	justify-self: start;
	background: rgba(15, 118, 110, 0.08);
}

.ethnic-ai-chatbot-stage__bubble--bot {
	justify-self: end;
	background: rgba(47, 107, 255, 0.08);
}

.ethnic-ai-chatbot-stage__assist-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-top: 6px;
}

.ethnic-ai-chatbot-stage__assist-grid div {
	padding: 16px;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid rgba(15, 23, 42, 0.06);
}

.ethnic-ai-chatbot-stage__assist-grid small,
.ethnic-ai-chatbot-stage__floating-label,
.ethnic-ai-chatbot-panel__meta span,
.ethnic-ai-chatbot-panel__meta em,
.ethnic-ai-chatbot-dashboard__metric small,
.ethnic-ai-chatbot-story-panel__context small,
.ethnic-ai-chatbot-story-panel__outcomes small {
	display: block;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-transform: uppercase;
}

.ethnic-ai-chatbot-stage__assist-grid small,
.ethnic-ai-chatbot-stage__floating-label,
.ethnic-ai-chatbot-panel__meta span,
.ethnic-ai-chatbot-dashboard__metric small,
.ethnic-ai-chatbot-story-panel__context small,
.ethnic-ai-chatbot-story-panel__outcomes small {
	color: rgba(15, 23, 42, 0.56);
}

.ethnic-ai-chatbot-stage__assist-grid strong,
.ethnic-ai-chatbot-stage__floating strong,
.ethnic-ai-chatbot-panel h3,
.ethnic-ai-chatbot-type-card h3,
.ethnic-ai-chatbot-story-panel h3,
.ethnic-ai-chatbot-rail__step h3,
.ethnic-ai-chatbot-dashboard__metric strong,
.ethnic-ai-chatbot-dashboard__widget h3,
.ethnic-ai-chatbot-inline-cta h3,
.ethnic-ai-chatbot-cta h2,
.ethnic-ai-chatbot-cta__step-copy strong {
	color: var(--ethnic-ai-chatbot-text);
	font-family: "Plus Jakarta Sans", "Figtree", sans-serif;
}

.ethnic-ai-chatbot-stage__assist-grid strong,
.ethnic-ai-chatbot-stage__floating strong {
	display: block;
	margin-top: 8px;
	font-size: 16px;
	line-height: 1.45;
}

.ethnic-ai-chatbot-stage__floating {
	position: absolute;
	padding: 18px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 251, 252, 0.92)),
		#ffffff;
	border-radius: 24px;
	border: 1px solid rgba(255, 255, 255, 0.8);
	box-shadow: 0 24px 64px rgba(15, 23, 42, 0.18);
	backdrop-filter: blur(16px);
}

.ethnic-ai-chatbot-stage__floating--analytics {
	right: -10px;
	top: 68px;
	width: min(260px, 54%);
}

.ethnic-ai-chatbot-stage__floating--cards {
	left: -8px;
	bottom: -6px;
	width: min(290px, 58%);
}

.ethnic-ai-chatbot-stage__mini-bars {
	display: grid;
	gap: 8px;
	margin-top: 16px;
}

.ethnic-ai-chatbot-stage__mini-bars span {
	display: block;
	height: 8px;
	border-radius: 999px;
	background: linear-gradient(90deg, rgba(15, 118, 110, 0.92), rgba(47, 107, 255, 0.84));
}

.ethnic-ai-chatbot-stage__mini-bars span:nth-child(2) {
	width: 78%;
}

.ethnic-ai-chatbot-stage__mini-bars span:nth-child(3) {
	width: 62%;
}

.ethnic-ai-chatbot-stage__floating ul {
	display: grid;
	gap: 10px;
	padding: 0;
	margin: 14px 0 0;
	list-style: none;
}

.ethnic-ai-chatbot-stage__floating li {
	position: relative;
	padding-left: 18px;
	font-size: 14px;
	line-height: 1.64;
}

.ethnic-ai-chatbot-stage__floating li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--ethnic-ai-chatbot-accent);
	box-shadow: 0 0 0 4px rgba(15, 118, 110, 0.12);
}

.ethnic-ai-chatbot-quicknav-wrap {
	position: relative;
	z-index: 8;
	margin-top: -30px;
}

.ethnic-ai-chatbot-quicknav {
	position: sticky;
	top: 86px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	padding: 16px;
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.84);
	border: 1px solid rgba(255, 255, 255, 0.72);
	box-shadow: 0 18px 42px rgba(15, 23, 42, 0.12);
	backdrop-filter: blur(16px);
}

.ethnic-ai-chatbot-quicknav a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 10px 16px;
	border-radius: 999px;
	background: rgba(15, 118, 110, 0.08);
	color: var(--ethnic-ai-chatbot-accent-dark);
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

.ethnic-ai-chatbot-quicknav a:hover,
.ethnic-ai-chatbot-quicknav a:focus-visible {
	background: rgba(15, 118, 110, 0.14);
	text-decoration: none;
}

.ethnic-ai-chatbot-overview,
.ethnic-ai-chatbot-dashboard-section,
.ethnic-ai-chatbot-cta {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 0.92fr);
	gap: clamp(28px, 4vw, 52px);
	align-items: start;
}

.ethnic-ai-chatbot-overview__rail {
	display: grid;
	gap: 16px;
}

.ethnic-ai-chatbot-panel {
	padding: 22px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 251, 252, 0.96)),
		var(--ethnic-ai-chatbot-surface);
}

.ethnic-ai-chatbot-panel__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
}

.ethnic-ai-chatbot-panel__meta em {
	padding: 6px 10px;
	border-radius: 999px;
	background: rgba(15, 118, 110, 0.08);
	color: var(--ethnic-ai-chatbot-accent-dark);
	font-style: normal;
}

.ethnic-ai-chatbot-panel h3 {
	margin: 16px 0 0;
	font-size: 22px;
	line-height: 1.28;
}

.ethnic-ai-chatbot-panel p {
	margin: 14px 0 0;
}

.ethnic-ai-chatbot-type-mosaic {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: minmax(160px, auto);
	gap: 18px;
}

.ethnic-ai-chatbot-type-card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 22px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(246, 250, 252, 0.96)),
		var(--ethnic-ai-chatbot-surface);
}

.ethnic-ai-chatbot-type-card--hero {
	grid-column: span 2;
	grid-row: span 2;
	padding: 28px;
	background:
		radial-gradient(circle at top right, rgba(15, 118, 110, 0.12), transparent 34%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 249, 250, 0.96));
}

.ethnic-ai-chatbot-type-card--wide {
	grid-column: span 2;
}

.ethnic-ai-chatbot-type-card--tall {
	grid-row: span 2;
}

.ethnic-ai-chatbot-type-card__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}

.ethnic-ai-chatbot-type-card__top p {
	margin: 0;
	color: var(--ethnic-ai-chatbot-accent-dark);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1;
	text-transform: uppercase;
}

.ethnic-ai-chatbot-card__icon {
	display: inline-grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 16px;
	background: rgba(15, 118, 110, 0.08);
	color: var(--ethnic-ai-chatbot-accent);
}

.ethnic-ai-chatbot-card__icon svg {
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ethnic-ai-chatbot-type-card h3 {
	margin: 22px 0 0;
	font-size: 24px;
	line-height: 1.22;
}

.ethnic-ai-chatbot-type-card p:last-child {
	margin-top: 14px;
}

.ethnic-ai-chatbot-compare {
	display: grid;
	grid-template-columns: minmax(260px, 0.74fr) minmax(0, 1.26fr);
	gap: clamp(28px, 4vw, 52px);
	align-items: start;
}

.ethnic-ai-chatbot-compare__intro {
	position: sticky;
	top: 158px;
}

.ethnic-ai-chatbot-compare__summary {
	margin-top: 24px;
	padding: 20px 22px;
	border-radius: 24px;
	background: rgba(15, 118, 110, 0.06);
	border: 1px solid rgba(15, 118, 110, 0.1);
}

.ethnic-ai-chatbot-compare__summary strong {
	color: var(--ethnic-ai-chatbot-text);
	font-family: "Plus Jakarta Sans", "Figtree", sans-serif;
	font-size: 18px;
}

.ethnic-ai-chatbot-compare__summary p {
	margin: 10px 0 0;
}

.ethnic-ai-chatbot-compare__panels {
	display: grid;
	gap: 20px;
}

.ethnic-ai-chatbot-story-panel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(250px, 0.7fr);
	gap: 22px;
	padding: 24px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 251, 252, 0.96)),
		var(--ethnic-ai-chatbot-surface);
}

.ethnic-ai-chatbot-story-panel__label {
	margin-bottom: 14px;
}

.ethnic-ai-chatbot-story-panel h3 {
	margin: 0;
	font-size: 28px;
	line-height: 1.14;
}

.ethnic-ai-chatbot-story-panel__lead {
	margin: 16px 0 0;
}

.ethnic-ai-chatbot-checklist {
	margin-top: 18px;
}

.ethnic-ai-chatbot-checklist li {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.66;
}

.ethnic-ai-chatbot-story-panel__aside {
	display: grid;
	gap: 16px;
	align-content: start;
}

.ethnic-ai-chatbot-story-panel__context,
.ethnic-ai-chatbot-story-panel__outcomes {
	padding: 18px;
	border-radius: 22px;
	background: rgba(15, 23, 42, 0.04);
	border: 1px solid rgba(15, 23, 42, 0.06);
}

.ethnic-ai-chatbot-story-panel__context p {
	margin: 10px 0 0;
	font-size: 14px;
	line-height: 1.7;
}

.ethnic-ai-chatbot-story-panel__outcomes {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.ethnic-ai-chatbot-story-panel__outcomes small {
	width: 100%;
}

.ethnic-ai-chatbot-story-panel__outcomes span,
.ethnic-ai-chatbot-architecture__tags span,
.ethnic-ai-chatbot-widget-chips span {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 7px 12px;
	border-radius: 999px;
	background: rgba(15, 118, 110, 0.08);
	color: var(--ethnic-ai-chatbot-accent-dark);
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

.ethnic-ai-chatbot-band-header .ethnic-ai-chatbot-heading__title,
.ethnic-ai-chatbot-band-header .ethnic-ai-chatbot-heading__copy,
.ethnic-ai-chatbot-band-header .ethnic-ai-chatbot-heading__eyebrow,
.ethnic-ai-chatbot-section--band p,
.ethnic-ai-chatbot-section--band h3,
.ethnic-ai-chatbot-architecture__node span,
.ethnic-ai-chatbot-architecture__hub p,
.ethnic-ai-chatbot-architecture__hub strong,
.ethnic-ai-chatbot-inline-cta h3,
.ethnic-ai-chatbot-inline-cta p {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff;
}

.ethnic-ai-chatbot-band-header .ethnic-ai-chatbot-heading__copy {
	opacity: 0.82;
}

.ethnic-ai-chatbot-band-header .ethnic-ai-chatbot-heading__eyebrow {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.14);
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff;
}

.ethnic-ai-chatbot-architecture {
	display: grid;
	grid-template-columns: minmax(180px, 0.72fr) minmax(0, 1.1fr) minmax(180px, 0.82fr);
	gap: 24px;
	align-items: center;
	margin-top: 10px;
}

.ethnic-ai-chatbot-architecture__column {
	display: grid;
	gap: 16px;
}

.ethnic-ai-chatbot-architecture__node {
	position: relative;
	padding: 18px;
	background: rgba(255, 255, 255, 0.06);
	border-color: rgba(255, 255, 255, 0.1);
	box-shadow: 0 18px 44px rgba(5, 14, 28, 0.14);
}

.ethnic-ai-chatbot-architecture__node::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 28px;
	height: 1px;
	background: rgba(255, 255, 255, 0.18);
}

.ethnic-ai-chatbot-architecture__column:first-child .ethnic-ai-chatbot-architecture__node::after {
	right: -28px;
}

.ethnic-ai-chatbot-architecture__column:last-child .ethnic-ai-chatbot-architecture__node::after {
	left: -28px;
}

.ethnic-ai-chatbot-architecture__hub {
	position: relative;
	padding: 30px;
	background:
		radial-gradient(circle at top right, rgba(216, 255, 146, 0.14), transparent 24%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.06));
	border-color: rgba(255, 255, 255, 0.12);
	box-shadow: 0 24px 64px rgba(5, 14, 28, 0.18);
}

.ethnic-ai-chatbot-architecture__hub p {
	margin: 0;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1;
	text-transform: uppercase;
}

.ethnic-ai-chatbot-architecture__hub strong {
	display: block;
	margin-top: 14px;
	font-family: "Plus Jakarta Sans", "Figtree", sans-serif;
	font-size: 28px;
	line-height: 1.2;
}

.ethnic-ai-chatbot-architecture__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.ethnic-ai-chatbot-architecture__tags span {
	background: rgba(255, 255, 255, 0.1);
	color: rgba(255, 255, 255, 0.94);
}

.ethnic-ai-chatbot-inline-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-top: 28px;
	padding: 24px 26px;
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.12);
}

.ethnic-ai-chatbot-inline-cta h3 {
	margin: 8px 0 0;
	font-size: 28px;
	line-height: 1.16;
}

.ethnic-ai-chatbot-inline-cta p {
	margin: 12px 0 0;
	max-width: 58ch;
	color: rgba(255, 255, 255, 0.78) !important;
}

.ethnic-ai-chatbot-prose--narrow {
	max-width: 78ch;
}

.ethnic-ai-chatbot-rail-wrap {
	position: relative;
	margin-top: 28px;
	padding-bottom: 6px;
	overflow-x: auto;
}

.ethnic-ai-chatbot-rail-wrap::-webkit-scrollbar {
	height: 10px;
}

.ethnic-ai-chatbot-rail-wrap::-webkit-scrollbar-thumb {
	border-radius: 999px;
	background: rgba(15, 118, 110, 0.22);
}

.ethnic-ai-chatbot-rail {
	position: relative;
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(230px, 1fr);
	gap: 18px;
	min-width: max-content;
	padding: 26px 0 10px;
}

.ethnic-ai-chatbot-rail::before {
	content: "";
	position: absolute;
	left: 12px;
	right: 12px;
	top: 22px;
	height: 2px;
	background: linear-gradient(90deg, rgba(15, 118, 110, 0.22), rgba(47, 107, 255, 0.18));
}

.ethnic-ai-chatbot-rail__step {
	position: relative;
	padding: 28px 22px 22px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 251, 252, 0.96)),
		var(--ethnic-ai-chatbot-surface);
}

.ethnic-ai-chatbot-rail__number {
	position: absolute;
	top: -16px;
	left: 22px;
	display: inline-grid;
	place-items: center;
	min-width: 52px;
	height: 34px;
	padding: 0 12px;
	border-radius: 999px;
	background: linear-gradient(135deg, rgba(15, 118, 110, 0.16), rgba(47, 107, 255, 0.16));
	color: var(--ethnic-ai-chatbot-accent-dark);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1;
	text-transform: uppercase;
}

.ethnic-ai-chatbot-rail__step h3 {
	margin: 4px 0 0;
	font-size: 22px;
	line-height: 1.24;
}

.ethnic-ai-chatbot-rail__step p {
	margin: 12px 0 0;
	font-size: 14px;
	line-height: 1.72;
}

.ethnic-ai-chatbot-dashboard {
	padding: 28px;
	background:
		radial-gradient(circle at top right, rgba(15, 118, 110, 0.12), transparent 30%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(243, 249, 250, 0.96));
}

.ethnic-ai-chatbot-dashboard__eyebrow {
	margin-bottom: 0;
}

.ethnic-ai-chatbot-dashboard__metrics {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-top: 18px;
}

.ethnic-ai-chatbot-dashboard__metric {
	padding: 18px;
	background: rgba(255, 255, 255, 0.82);
}

.ethnic-ai-chatbot-dashboard__metric strong {
	display: block;
	margin-top: 10px;
	font-size: 26px;
	line-height: 1;
}

.ethnic-ai-chatbot-dashboard__metric p {
	margin: 10px 0 0;
	font-size: 13px;
	line-height: 1.68;
}

.ethnic-ai-chatbot-dashboard__widgets {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-top: 18px;
}

.ethnic-ai-chatbot-dashboard__widget {
	padding: 22px;
	background: rgba(255, 255, 255, 0.82);
}

.ethnic-ai-chatbot-dashboard__widget h3 {
	margin: 0;
	font-size: 22px;
	line-height: 1.24;
}

.ethnic-ai-chatbot-dashboard__widget p {
	margin: 12px 0 0;
	font-size: 14px;
	line-height: 1.72;
}

.ethnic-ai-chatbot-widget-bars,
.ethnic-ai-chatbot-widget-trend,
.ethnic-ai-chatbot-widget-chips {
	margin-top: 16px;
}

.ethnic-ai-chatbot-widget-bars {
	display: grid;
	gap: 12px;
}

.ethnic-ai-chatbot-widget-bars__row {
	display: grid;
	gap: 8px;
}

.ethnic-ai-chatbot-widget-bars__row span,
.ethnic-ai-chatbot-widget-trend__bar span {
	color: var(--ethnic-ai-chatbot-text);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
}

.ethnic-ai-chatbot-widget-bars__row i {
	display: block;
	width: var(--row-width);
	height: 10px;
	border-radius: 999px;
	background: linear-gradient(90deg, rgba(15, 118, 110, 0.9), rgba(47, 107, 255, 0.8));
}

.ethnic-ai-chatbot-widget-trend {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	align-items: end;
	min-height: 132px;
}

.ethnic-ai-chatbot-widget-trend__bar {
	display: grid;
	justify-items: center;
	gap: 8px;
}

.ethnic-ai-chatbot-widget-trend__bar em {
	display: block;
	width: 100%;
	max-width: 42px;
	height: var(--bar-height);
	border-radius: 16px 16px 8px 8px;
	background: linear-gradient(180deg, rgba(15, 118, 110, 0.94), rgba(47, 107, 255, 0.78));
}

.ethnic-ai-chatbot-widget-list {
	margin-top: 16px;
}

.ethnic-ai-chatbot-widget-list li {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.7;
}

.ethnic-ai-chatbot-widget-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.ethnic-ai-chatbot-cta {
	position: relative;
	padding: clamp(34px, 4vw, 52px);
	border-radius: 32px;
	background:
		radial-gradient(circle at top left, rgba(15, 118, 110, 0.16), transparent 24%),
		radial-gradient(circle at top right, rgba(216, 255, 146, 0.16), transparent 20%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(243, 249, 250, 0.95));
	overflow: hidden;
}

.ethnic-ai-chatbot-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(15, 118, 110, 0.05) 1px, transparent 1px),
		linear-gradient(0deg, rgba(15, 118, 110, 0.05) 1px, transparent 1px);
	background-size: 28px 28px;
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.3), transparent 76%);
	pointer-events: none;
}

.ethnic-ai-chatbot-kicker--light {
	background: rgba(255, 255, 255, 0.92);
	border-color: rgba(15, 118, 110, 0.16);
	box-shadow: 0 14px 36px rgba(15, 118, 110, 0.12);
}

.ethnic-ai-chatbot-cta__lead {
	max-width: 56ch;
	color: rgba(15, 23, 42, 0.74);
	font-size: clamp(16px, 1.35vw, 18px);
	line-height: 1.82;
}

.ethnic-ai-chatbot-cta .ethnic-ai-chatbot-button--secondary {
	background: rgba(255, 255, 255, 0.78);
	border-color: rgba(15, 23, 42, 0.12);
	color: var(--ethnic-ai-chatbot-text) !important;
	box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08);
	backdrop-filter: blur(14px);
}

.ethnic-ai-chatbot-cta .ethnic-ai-chatbot-button--secondary:hover,
.ethnic-ai-chatbot-cta .ethnic-ai-chatbot-button--secondary:focus-visible {
	background: rgba(255, 255, 255, 0.92);
	border-color: rgba(15, 23, 42, 0.18);
}

.ethnic-ai-chatbot-cta__highlights {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 24px;
	gap: 14px;
}

.ethnic-ai-chatbot-cta__highlights li {
	display: flex;
	align-items: flex-start;
	min-height: 100%;
	padding: 18px 18px 18px 40px;
	border-radius: 22px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 251, 252, 0.82)),
		rgba(255, 255, 255, 0.78);
	border: 1px solid rgba(255, 255, 255, 0.72);
	color: var(--ethnic-ai-chatbot-text);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.58;
}

.ethnic-ai-chatbot-cta__highlights li::before {
	left: 18px;
	top: 20px;
}

.ethnic-ai-chatbot-cta__panel {
	padding: 30px;
	background: linear-gradient(180deg, #10303a, #0b1f29);
	border-color: rgba(255, 255, 255, 0.08);
	box-shadow:
		0 30px 74px rgba(6, 15, 27, 0.28),
		inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.ethnic-ai-chatbot-cta__panel-eyebrow {
	margin-bottom: 12px;
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.12);
	color: rgba(255, 255, 255, 0.94) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.94);
}

.ethnic-ai-chatbot-cta__panel-eyebrow::before {
	background: var(--ethnic-ai-chatbot-lime);
	box-shadow: 0 0 0 5px rgba(216, 255, 146, 0.12);
}

.ethnic-ai-chatbot-cta__steps {
	display: grid;
	gap: 16px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.ethnic-ai-chatbot-cta__step {
	display: grid;
	grid-template-columns: 52px 1fr;
	gap: 14px;
	align-items: start;
}

.ethnic-ai-chatbot-cta__step + .ethnic-ai-chatbot-cta__step {
	padding-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.ethnic-ai-chatbot-cta__step-number {
	display: inline-grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.08);
	color: #ffffff;
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
}

.ethnic-ai-chatbot-cta__step-copy strong,
.ethnic-ai-chatbot-cta__step-copy p {
	color: #ffffff;
}

.ethnic-ai-chatbot-cta__step-copy p {
	margin: 8px 0 0;
	font-size: 15px;
	line-height: 1.72;
	color: rgba(255, 255, 255, 0.74);
}

@media (max-width: 1240px) {
	.ethnic-ai-chatbot-hero__points,
	.ethnic-ai-chatbot-cta__highlights {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ethnic-ai-chatbot-type-mosaic,
	.ethnic-ai-chatbot-dashboard__widgets {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ethnic-ai-chatbot-type-card--hero,
	.ethnic-ai-chatbot-type-card--wide {
		grid-column: span 2;
	}

	.ethnic-ai-chatbot-type-card--tall {
		grid-row: span 1;
	}
}

@media (max-width: 1080px) {
	.ethnic-ai-chatbot-hero,
	.ethnic-ai-chatbot-overview,
	.ethnic-ai-chatbot-compare,
	.ethnic-ai-chatbot-dashboard-section,
	.ethnic-ai-chatbot-cta {
		grid-template-columns: 1fr;
	}

	.ethnic-ai-chatbot-compare__intro {
		position: static;
	}

	.ethnic-ai-chatbot-architecture {
		grid-template-columns: 1fr;
	}

	.ethnic-ai-chatbot-architecture__column:first-child .ethnic-ai-chatbot-architecture__node::after,
	.ethnic-ai-chatbot-architecture__column:last-child .ethnic-ai-chatbot-architecture__node::after {
		display: none;
	}
}

@media (max-width: 900px) {
	.ethnic-ai-chatbot-dashboard__metrics,
	.ethnic-ai-chatbot-type-mosaic {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ethnic-ai-chatbot-type-card--hero,
	.ethnic-ai-chatbot-type-card--wide,
	.ethnic-ai-chatbot-type-card--tall {
		grid-column: span 2;
		grid-row: auto;
	}
}

@media (max-width: 767px) {
	.ethnic-ai-chatbot-page {
		--ethnic-ai-chatbot-shell-padding: 20px;
	}

	.ethnic-ai-chatbot-section + .ethnic-ai-chatbot-section {
		margin-top: 58px;
	}

	.ethnic-ai-chatbot-hero {
		grid-template-columns: 1fr;
		min-height: auto;
		padding: 72px 0 48px;
	}

	.ethnic-ai-chatbot-hero__title {
		max-width: 100%;
		font-size: clamp(36px, 10vw, 56px);
	}

	.ethnic-ai-chatbot-heading__title,
	.ethnic-ai-chatbot-cta h2 {
		font-size: clamp(28px, 8vw, 38px);
	}

	.ethnic-ai-chatbot-button {
		width: 100%;
	}

	.ethnic-ai-chatbot-hero__points,
	.ethnic-ai-chatbot-dashboard__metrics,
	.ethnic-ai-chatbot-dashboard__widgets,
	.ethnic-ai-chatbot-cta__highlights,
	.ethnic-ai-chatbot-stage__assist-grid {
		grid-template-columns: 1fr;
	}

	.ethnic-ai-chatbot-quicknav-wrap {
		margin-top: -18px;
	}

	.ethnic-ai-chatbot-quicknav {
		top: 0;
		flex-wrap: nowrap;
		overflow-x: auto;
		padding: 14px;
	}

	.ethnic-ai-chatbot-type-mosaic {
		grid-template-columns: 1fr;
	}

	.ethnic-ai-chatbot-type-card--hero,
	.ethnic-ai-chatbot-type-card--wide,
	.ethnic-ai-chatbot-type-card--tall {
		grid-column: auto;
	}

	.ethnic-ai-chatbot-story-panel {
		grid-template-columns: 1fr;
	}

	.ethnic-ai-chatbot-inline-cta {
		flex-direction: column;
		align-items: stretch;
	}

	.ethnic-ai-chatbot-stage {
		min-height: auto;
	}

	.ethnic-ai-chatbot-stage__floating {
		position: static;
		width: 100%;
		margin-top: 16px;
	}

	.ethnic-ai-chatbot-cta__panel {
		padding: 24px 22px;
	}

	.ethnic-ai-chatbot-cta__step {
		grid-template-columns: 44px 1fr;
	}

	.ethnic-ai-chatbot-cta__step-number {
		width: 44px;
		height: 44px;
		border-radius: 14px;
	}
}
CSS;
	}
}

if ( ! function_exists( 'ethnic_ai_chatbot_development_page_body_class' ) ) {
	function ethnic_ai_chatbot_development_page_body_class( $classes ) {
		if ( ethnic_ai_chatbot_development_page_is_target() ) {
			$classes[] = 'ethnic-ai-chatbot-development-target';
		}

		return $classes;
	}

	add_filter( 'body_class', 'ethnic_ai_chatbot_development_page_body_class' );
}

if ( ! function_exists( 'ethnic_ai_chatbot_development_page_print_head_assets' ) ) {
	function ethnic_ai_chatbot_development_page_print_head_assets() {
		if ( ! ethnic_ai_chatbot_development_page_is_target() ) {
			return;
		}

		$data = ethnic_ai_chatbot_development_page_data();
		?>
		<style id="ethnic-ai-chatbot-development-page-inline-css" type="text/css">
			<?php echo ethnic_ai_chatbot_development_page_styles(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
		</style>
		<meta name="description" content="<?php echo esc_attr( $data['metaDescription'] ); ?>" />
		<?php
	}

	add_action( 'wp_head', 'ethnic_ai_chatbot_development_page_print_head_assets', 120 );
}

if ( ! function_exists( 'ethnic_ai_chatbot_development_page_document_title' ) ) {
	function ethnic_ai_chatbot_development_page_document_title( $title ) {
		if ( ethnic_ai_chatbot_development_page_is_target() ) {
			$data = ethnic_ai_chatbot_development_page_data();
			return $data['metaTitle'];
		}

		return $title;
	}

	add_filter( 'pre_get_document_title', 'ethnic_ai_chatbot_development_page_document_title', 50 );
}

if ( ! function_exists( 'ethnic_ai_chatbot_development_page_replace_content' ) ) {
	function ethnic_ai_chatbot_development_page_replace_content( $content ) {
		if ( ! ethnic_ai_chatbot_development_page_is_target() || ! in_the_loop() || ! is_main_query() ) {
			return $content;
		}

		static $rendered = false;

		if ( $rendered ) {
			return $content;
		}

		$rendered = true;

		return ethnic_ai_chatbot_development_page_render();
	}

	add_filter( 'the_content', 'ethnic_ai_chatbot_development_page_replace_content', 1000 );
}