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-ios-app-development-page.php
<?php
/**
 * Plugin Name: Ethnic iOS App Development Page
 * Description: Creates and renders the iOS App Development sub-service page under App Development.
 * Version: 1.0.0
 */

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

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

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

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

		if ( ! ( $page instanceof WP_Post ) ) {
			$page = get_page_by_path( 'app-development' );
		}

		$parent_id = $page instanceof WP_Post ? (int) $page->ID : 0;

		return $parent_id;
	}
}

if ( ! function_exists( 'ethnic_ios_page_get_target_page' ) ) {
	function ethnic_ios_page_get_target_page() {
		$page = get_page_by_path( 'services/app-development/ios-app-development' );

		if ( ! ( $page instanceof WP_Post ) ) {
			$page = get_page_by_path( 'ios-app-development' );
		}

		return $page;
	}
}

if ( ! function_exists( 'ethnic_ios_page_ensure_page' ) ) {
	function ethnic_ios_page_ensure_page() {
		$page = ethnic_ios_page_get_target_page();

		if ( $page instanceof WP_Post ) {
			return;
		}

		$parent_id = ethnic_ios_page_parent_id();

		$page_id = wp_insert_post(
			array(
				'post_title'     => 'iOS App Development',
				'post_name'      => 'ios-app-development',
				'post_status'    => 'publish',
				'post_type'      => 'page',
				'post_parent'    => $parent_id,
				'post_content'   => '',
				'comment_status' => 'closed',
			)
		);

		if ( $page_id && ! is_wp_error( $page_id ) ) {
			update_post_meta( $page_id, '_wp_page_template', 'default' );
		}
	}

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

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

		$page = ethnic_ios_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_ios_page_url' ) ) {
	function ethnic_ios_page_url( $path ) {
		return home_url( '/' . ltrim( (string) $path, '/' ) . '/' );
	}
}

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

if ( ! function_exists( 'ethnic_ios_page_case_studies_url' ) ) {
	function ethnic_ios_page_case_studies_url() {
		return function_exists( 'ethnic_case_studies_archive_url' ) ? ethnic_case_studies_archive_url() : ethnic_ios_page_url( 'case-studies' );
	}
}

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

		return ob_get_clean();
	}
}

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

		switch ( $icon ) {
			case 'apple':
				?>
				<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false">
					<path d="M16.2 12.6c0 2.8 2.5 3.8 2.6 3.8-.1.2-.5 1.7-1.7 3.4-1 1.5-2.1 2.9-3.7 2.9-1.5 0-2-.9-3.8-.9-1.7 0-2.4.9-3.9.9-1.6 0-2.7-1.5-3.8-2.9-2.1-3-3.7-8.6-1.5-12.4 1.1-1.9 3-3.1 5.1-3.1 1.6 0 3.1 1.1 3.8 1.1.8 0 2.6-1.3 4.5-1.1.8 0 3.1.3 4.6 2.4-.1.1-2.8 1.6-2.8 4.9z" />
					<path d="M14.8 3.6c.7-.9 1.2-2.2 1.1-3.6-1 .1-2.2.7-2.9 1.6-.6.7-1.2 2-1 3.2 1.1.1 2.1-.5 2.8-1.2z" />
				</svg>
				<?php
				break;
			case 'experience':
				?>
				<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false">
					<rect x="4" y="4" width="16" height="12" rx="2" />
					<path d="M8 20h8" />
					<path d="M9 8h6" />
					<path d="M9 11h4" />
				</svg>
				<?php
				break;
			case 'architecture':
				?>
				<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false">
					<rect x="4" y="4" width="6" height="6" rx="1.4" />
					<rect x="14" y="4" width="6" height="6" rx="1.4" />
					<rect x="9" y="14" width="6" height="6" rx="1.4" />
					<path d="M10 7h4" />
					<path d="M12 10v4" />
				</svg>
				<?php
				break;
			case 'support':
				?>
				<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false">
					<path d="M7.5 18.2a3 3 0 0 1-3-3v-3.4a7.5 7.5 0 1 1 15 0v3.4a3 3 0 0 1-3 3" />
					<path d="M7.5 17.8v1.2A2 2 0 0 0 9.5 21h5" />
					<rect x="17" y="10.8" width="2.5" height="5.8" rx="1.1" />
					<rect x="4.5" y="10.8" width="2.5" height="5.8" rx="1.1" />
				</svg>
				<?php
				break;
			case 'shield':
				?>
				<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false">
					<path d="M12 3.5l6 2.4v5.2c0 4-2.7 7.6-6 9.4-3.3-1.8-6-5.4-6-9.4V5.9l6-2.4z" />
					<path d="M9.5 12.2l1.8 1.8 3.5-3.5" />
				</svg>
				<?php
				break;
			case 'speed':
				?>
				<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false">
					<path d="M4.4 15.5a7.6 7.6 0 1 1 15.2 0" />
					<path d="M12 12l3-3" />
					<circle cx="12" cy="12" r="1.4" />
				</svg>
				<?php
				break;
			case 'check':
			default:
				?>
				<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false">
					<circle cx="12" cy="12" r="9" />
					<path d="M8.5 12.2l2.2 2.2 4.8-5" />
				</svg>
				<?php
				break;
		}

		return ob_get_clean();
	}
}

if ( ! function_exists( 'ethnic_ios_page_render' ) ) {
	function ethnic_ios_page_render() {
		$hero_points = array(
			'Custom iPhone and iPad apps',
			'Modern iOS development approach',
			'From product planning to launch and support',
		);

		$hero_metrics = array(
			array(
				'label' => 'Native Stack',
				'value' => 'Swift-first delivery',
			),
			array(
				'label' => 'Experience Goal',
				'value' => 'Premium UI polish',
			),
			array(
				'label' => 'Launch Support',
				'value' => 'App Store-ready releases',
			),
		);

		$hero_visual_metrics = array(
			array(
				'label' => 'Native Stack',
				'value' => 'Swift-first',
			),
			array(
				'label' => 'Launch Model',
				'value' => 'App Store-ready',
			),
		);

		$hero_visual_tabs = array( 'iPhone', 'iPad', 'App Store' );
		$hero_visual_tags = array( 'Swift-ready', 'Native feel', 'Release-ready' );
		$hero_visual_support = array( 'UI refinement', 'API integrations', 'Launch preparation' );

		$overview_features = array(
			array(
				'icon'  => 'apple',
				'title' => 'Custom iOS Solutions',
				'text'  => 'Built around your product roadmap, user journeys, and business goals.',
			),
			array(
				'icon'  => 'experience',
				'title' => 'Premium User Experience',
				'text'  => 'Polished UI that feels native to iPhone and iPad audiences.',
			),
			array(
				'icon'  => 'architecture',
				'title' => 'Scalable App Architecture',
				'text'  => 'Clean, maintainable foundations to support growth and updates.',
			),
			array(
				'icon'  => 'support',
				'title' => 'Launch & Support',
				'text'  => 'Release planning, enhancements, and long-term maintenance support.',
			),
		);

		$ios_highlights = array(
			'iPhone app development',
			'iPad app development',
			'Business and consumer app solutions',
			'Product modernization and upgrades',
		);

		$device_panels = array(
			array(
				'title' => 'iPhone-first customer journeys',
				'text'  => 'Onboarding, commerce, subscriptions, and service flows optimized for fast handheld interactions and strong conversion.',
			),
			array(
				'title' => 'iPad workflows with more room to think',
				'text'  => 'Dashboards, approvals, operational tooling, and content-rich layouts designed to make better use of larger Apple screens.',
			),
		);

		$stack_highlights = array(
			'Swift development',
			'Modern iOS architecture',
			'API-ready app structure',
			'Maintainable codebase',
			'Scalable product foundation',
		);

		$engineering_principles = array(
			'Modular Swift architecture for long-term maintainability',
			'API-ready data and service layers that support evolving product logic',
			'Release-friendly code quality with room for future enhancements',
		);

		$performance_points = array(
			'Smooth app performance',
			'Secure development practices',
			'Reliable user experience',
			'Stable app architecture',
			'Quality-focused release preparation',
		);

		$app_store_checks = array(
			'Release build preparation',
			'App Store readiness checks',
			'Versioning support',
			'Launch assistance',
			'Update planning',
			'Post-release support',
		);

		$deployment_lanes = array(
			array(
				'title' => 'Submission Readiness',
				'text'  => 'Build configuration, review prep, metadata support, and release coordination.',
			),
			array(
				'title' => 'Version Planning',
				'text'  => 'Structured rollout timing, update planning, and release sequencing.',
			),
			array(
				'title' => 'Post-launch Support',
				'text'  => 'Stabilization, improvements, and roadmap follow-through after launch.',
			),
		);

		$use_cases = array(
			array(
				'title' => 'eCommerce apps',
				'text'  => 'Premium shopping experiences with secure checkout and loyalty flows.',
			),
			array(
				'title' => 'Booking and scheduling apps',
				'text'  => 'Appointment and reservation workflows built for mobile convenience.',
			),
			array(
				'title' => 'On-demand service apps',
				'text'  => 'Real-time service delivery, tracking, and dispatch capabilities.',
			),
			array(
				'title' => 'Subscription apps',
				'text'  => 'Recurring billing, content access, and retention-friendly experiences.',
			),
			array(
				'title' => 'Customer engagement apps',
				'text'  => 'Personalized mobile experiences that strengthen user loyalty.',
			),
			array(
				'title' => 'Internal business apps',
				'text'  => 'Operational tools and workflows for internal teams and field staff.',
			),
			array(
				'title' => 'Field operations apps',
				'text'  => 'Mobile-first coordination, approvals, and reporting for teams.',
			),
			array(
				'title' => 'Dashboards and reporting',
				'text'  => 'Insight-rich mobile dashboards and executive reporting tools.',
			),
		);

		$case_studies = ethnic_shared_service_case_studies(
			array(
				array(
					'industry'     => 'Retail',
					'title'        => 'Premium Commerce Experience for iPhone',
					'summary'      => 'Designed and delivered a high-trust iOS commerce journey with faster browsing and smoother checkout.',
					'technologies' => array( 'iOS', 'Retail', 'Checkout UX' ),
				),
				array(
					'industry'     => 'Logistics',
					'title'        => 'Field Team Visibility App',
					'summary'      => 'Built an iPhone-first workflow experience for field coordination, task visibility, and on-the-go reporting.',
					'technologies' => array( 'iOS', 'Logistics', 'Field Workflow' ),
				),
				array(
					'industry'     => 'Healthcare',
					'title'        => 'Patient Experience Companion',
					'summary'      => 'Created a polished iOS app that simplified scheduling, support touchpoints, and engagement flows.',
					'technologies' => array( 'iOS', 'Healthcare', 'Patient Engagement' ),
				),
			),
			3
		);

		$faqs = array(
			array(
				'question' => 'Do you build both iPhone and iPad applications?',
				'answer'   => 'Yes. We design and build iPhone and iPad apps tailored to device usage patterns and screen sizes.',
			),
			array(
				'question' => 'Which technologies do you use for iOS app development?',
				'answer'   => 'We primarily use Swift with modern iOS architecture patterns for clean, scalable codebases.',
			),
			array(
				'question' => 'Can you integrate iOS apps with custom backend systems?',
				'answer'   => 'Absolutely. We connect iOS apps to REST or GraphQL APIs, payment systems, and business platforms.',
			),
			array(
				'question' => 'Do you help with App Store deployment?',
				'answer'   => 'Yes. We prepare release builds, handle App Store readiness checks, and assist with launch support.',
			),
			array(
				'question' => 'Can you modernize an existing iOS app?',
				'answer'   => 'We can rebuild or modernize existing apps to improve performance, UX, and scalability.',
			),
			array(
				'question' => 'Do you provide post-launch support and updates?',
				'answer'   => 'Yes. We offer ongoing maintenance, updates, bug fixes, and feature enhancements.',
			),
			array(
				'question' => 'How do you approach performance and security in iOS apps?',
				'answer'   => 'We focus on optimized performance, secure data handling, and rigorous quality checks before release.',
			),
			array(
				'question' => 'Is iOS app development suitable for startups?',
				'answer'   => 'Yes. We help startups build MVPs and scalable iOS products with a clear roadmap and launch plan.',
			),
		);

		$cta_highlights = array(
			'iPhone and iPad product planning, UX direction, and launch support',
			'Swift engineering, API integration, release readiness, and modernization guidance',
			'Long-term product enhancement, App Store release planning, and support continuity',
		);

		$cta_steps = array(
			array(
				'title' => 'Share your iOS product goals',
				'copy'  => 'Tell us about your app idea, current product state, roadmap priorities, and the Apple device experience you need to support.',
			),
			array(
				'title' => 'Review the right iOS approach',
				'copy'  => 'We help shape the delivery path, architecture scope, integration needs, and release planning model that fit best.',
			),
			array(
				'title' => 'Move into planning',
				'copy'  => 'Leave with clearer next steps for design, Swift development, App Store preparation, and post-launch support.',
			),
		);

		$case_studies_anchor = ! empty( $case_studies ) ? '#ios-case-studies' : ethnic_ios_page_case_studies_url();

		ob_start();
		?>
		<div class="ethnic-ios-page" data-ethnic-ios-page>
			<section class="ethnic-ios-section ethnic-ios-section--hero">
				<div class="ethnic-ios-shell">
					<div class="ethnic-ios-hero">
						<div class="ethnic-ios-hero__content">
							<p class="ethnic-ios-kicker">iOS App Development</p>
							<h1 class="ethnic-ios-hero__title">iOS App Development</h1>
							<p class="ethnic-ios-hero__copy">Build premium iPhone and iPad apps with a modern iOS development approach. We deliver high-performing mobile products that scale with your business.</p>
							<div class="ethnic-ios-actions">
								<a class="ethnic-ios-button ethnic-ios-button--primary" href="<?php echo esc_url( ethnic_ios_page_contact_url( array( 'intent' => 'consultation', 'service' => 'ios-app-development' ) ) ); ?>">Book a Free Consultation</a>
								<a class="ethnic-ios-button ethnic-ios-button--secondary" href="<?php echo esc_url( $case_studies_anchor ); ?>">View Case Studies</a>
							</div>
							<ul class="ethnic-ios-hero__points" aria-label="iOS service highlights">
								<?php foreach ( $hero_points as $point ) : ?>
									<li><?php echo esc_html( $point ); ?></li>
								<?php endforeach; ?>
							</ul>
						</div>

						<div class="ethnic-ios-hero__visual" aria-hidden="true">
							<div class="ethnic-ios-visual">
								<div class="ethnic-ios-visual__window">
									<div class="ethnic-ios-visual__window-bar">
										<span></span>
										<span></span>
										<span></span>
									</div>
									<div class="ethnic-ios-visual__window-body">
										<div class="ethnic-ios-visual__toolbar">
											<?php foreach ( $hero_visual_tabs as $tab ) : ?>
												<span><?php echo esc_html( $tab ); ?></span>
											<?php endforeach; ?>
										</div>
										<div class="ethnic-ios-visual__feature">
											<div class="ethnic-ios-visual__feature-shot">
												<div class="ethnic-ios-visual__device">
													<div class="ethnic-ios-visual__device-header">
														<span></span>
														<span></span>
													</div>
													<div class="ethnic-ios-visual__device-hero"></div>
													<div class="ethnic-ios-visual__device-grid">
														<div></div>
														<div></div>
													</div>
													<div class="ethnic-ios-visual__device-footer"></div>
												</div>
											</div>
											<div class="ethnic-ios-visual__feature-copy">
												<span class="ethnic-ios-visual__eyebrow">Experience mockup</span>
												<strong>iOS product UI shaped for native interaction, premium polish, and launch-ready delivery.</strong>
												<p>Clear hierarchy, responsive flows, and release-friendly product thinking across iPhone and iPad experiences.</p>
												<div class="ethnic-ios-visual__tags">
													<?php foreach ( $hero_visual_tags as $tag ) : ?>
														<span><?php echo esc_html( $tag ); ?></span>
													<?php endforeach; ?>
												</div>
											</div>
										</div>
										<div class="ethnic-ios-visual__collection">
											<div class="ethnic-ios-visual__collection-card">
												<small>iPhone journey</small>
												<strong>Native onboarding and conversion clarity</strong>
											</div>
											<div class="ethnic-ios-visual__collection-card">
												<small>iPad workspace</small>
												<strong>Operational layouts with more screen intelligence</strong>
											</div>
										</div>
									</div>
								</div>

								<div class="ethnic-ios-visual__floating ethnic-ios-visual__floating--native">
									<p class="ethnic-ios-visual__floating-label">Native delivery view</p>
									<strong>Swift architecture and release-readiness built into the plan.</strong>
									<div class="ethnic-ios-visual__metric-grid">
										<?php foreach ( $hero_visual_metrics as $metric ) : ?>
											<div>
												<small><?php echo esc_html( $metric['label'] ); ?></small>
												<strong><?php echo esc_html( $metric['value'] ); ?></strong>
											</div>
										<?php endforeach; ?>
									</div>
									<div class="ethnic-ios-visual__progress">
										<span></span>
										<span></span>
										<span></span>
									</div>
								</div>

								<div class="ethnic-ios-visual__floating ethnic-ios-visual__floating--support">
									<p class="ethnic-ios-visual__floating-label">Experience support</p>
									<strong>iPhone, iPad, release planning, and post-launch app improvements</strong>
									<ul>
										<?php foreach ( $hero_visual_support as $item ) : ?>
											<li><?php echo esc_html( $item ); ?></li>
										<?php endforeach; ?>
									</ul>
								</div>
							</div>
						</div>
					</div>
				</div>
			</section>

			<section class="ethnic-ios-section" id="ios-overview">
				<div class="ethnic-ios-shell">
					<?php echo ethnic_ios_page_heading( 'Service Overview', 'Custom iOS app development services aligned to business goals and premium mobile experiences.', 'We build iPhone and iPad applications for startups, SMBs, and enterprises with a focus on usability, performance, and scalability.' ); ?>
					<div class="ethnic-ios-overview">
						<div class="ethnic-ios-overview__copy">
							<p>Our iOS app development services cover customer-facing apps, operational tools, service platforms, and digital products. We focus on clean architecture, performance, and a polished user experience.</p>
							<p>From discovery and design to launch and enhancement, we provide a structured delivery process that keeps product and business priorities aligned.</p>
							<p>We build iOS products that scale with your roadmap and remain maintainable long-term.</p>
							<div class="ethnic-ios-overview__panel">
								<p class="ethnic-ios-overview__eyebrow">Delivery Focus</p>
								<div class="ethnic-ios-overview__metrics" aria-label="iOS service focus areas">
									<?php foreach ( $hero_metrics as $metric ) : ?>
										<div class="ethnic-ios-overview__metric">
											<span><?php echo esc_html( $metric['label'] ); ?></span>
											<strong><?php echo esc_html( $metric['value'] ); ?></strong>
										</div>
									<?php endforeach; ?>
								</div>
							</div>
						</div>
						<div class="ethnic-ios-feature-grid">
							<?php foreach ( $overview_features as $feature ) : ?>
								<article class="ethnic-ios-feature">
									<span class="ethnic-ios-icon" aria-hidden="true"><?php echo ethnic_ios_page_icon( $feature['icon'] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></span>
									<h3><?php echo esc_html( $feature['title'] ); ?></h3>
									<p><?php echo esc_html( $feature['text'] ); ?></p>
								</article>
							<?php endforeach; ?>
						</div>
					</div>
				</div>
			</section>

			<section class="ethnic-ios-section ethnic-ios-section--soft" id="ios-devices">
				<div class="ethnic-ios-shell">
					<?php echo ethnic_ios_page_heading( 'iPhone and iPad App Development', 'Apple device experiences tailored to how users work, shop, and engage.', 'We design for both iPhone and iPad users with layouts that feel premium and intuitive.' ); ?>
					<div class="ethnic-ios-device-layout">
						<div class="ethnic-ios-device-story">
							<?php foreach ( $device_panels as $panel ) : ?>
								<article class="ethnic-ios-device-panel">
									<h3><?php echo esc_html( $panel['title'] ); ?></h3>
									<p><?php echo esc_html( $panel['text'] ); ?></p>
								</article>
							<?php endforeach; ?>
						</div>
						<div class="ethnic-ios-services">
							<?php foreach ( $ios_highlights as $item ) : ?>
								<article class="ethnic-ios-service">
									<h3><?php echo esc_html( $item ); ?></h3>
									<p>Purpose-built iOS delivery aligned to product goals, device behavior, and long-term growth.</p>
								</article>
							<?php endforeach; ?>
						</div>
					</div>
				</div>
			</section>

			<section class="ethnic-ios-section" id="ios-stack">
				<div class="ethnic-ios-shell">
					<?php echo ethnic_ios_page_heading( 'Swift / Modern iOS Stack', 'Modern iOS engineering with Swift and clean architecture principles.', 'We build API-ready, scalable iOS products with maintainable code and long-term flexibility.' ); ?>
					<div class="ethnic-ios-stack-layout">
						<div class="ethnic-ios-stack">
							<?php foreach ( $stack_highlights as $item ) : ?>
								<div class="ethnic-ios-stack__item">
									<span class="ethnic-ios-icon" aria-hidden="true"><?php echo ethnic_ios_page_icon( 'apple' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></span>
									<p><?php echo esc_html( $item ); ?></p>
								</div>
							<?php endforeach; ?>
						</div>
						<aside class="ethnic-ios-stack-card">
							<p class="ethnic-ios-stack-card__eyebrow">Engineering Priorities</p>
							<h3>Maintainable from version one, not retrofitted later.</h3>
							<ul>
								<?php foreach ( $engineering_principles as $principle ) : ?>
									<li><?php echo esc_html( $principle ); ?></li>
								<?php endforeach; ?>
							</ul>
						</aside>
					</div>
				</div>
			</section>

			<section class="ethnic-ios-section ethnic-ios-section--soft" id="ios-performance">
				<div class="ethnic-ios-shell">
					<?php echo ethnic_ios_page_heading( 'Performance and Security Approach', 'Reliable, secure, and responsive iOS experiences built for long-term stability.', 'We deliver performance-focused apps that handle data securely and stay stable across updates.' ); ?>
					<div class="ethnic-ios-performance-board">
						<div class="ethnic-ios-performance-board__intro">
							<p class="ethnic-ios-performance-board__eyebrow">Quality Focus</p>
							<h3>Fast, stable, and trusted across real-world iOS usage.</h3>
							<p>We treat performance, security, and release quality as part of the product experience, not a cleanup task at the end of delivery.</p>
						</div>
						<div class="ethnic-ios-performance">
							<?php foreach ( $performance_points as $point ) : ?>
								<div class="ethnic-ios-performance__item">
									<span class="ethnic-ios-icon" aria-hidden="true"><?php echo ethnic_ios_page_icon( 'shield' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></span>
									<p><?php echo esc_html( $point ); ?></p>
								</div>
							<?php endforeach; ?>
						</div>
					</div>
				</div>
			</section>

			<section class="ethnic-ios-section" id="ios-store">
				<div class="ethnic-ios-shell">
					<?php echo ethnic_ios_page_heading( 'App Store Deployment', 'Launch support and release readiness for the Apple App Store.', 'We prepare release builds, support versioning, and guide your app through launch and updates.' ); ?>
					<div class="ethnic-ios-deployment">
						<div class="ethnic-ios-deployment__copy">
							<p>Our team supports release planning, App Store readiness checks, and rollout workflows so your iOS app ships smoothly.</p>
							<div class="ethnic-ios-deployment__lanes">
								<?php foreach ( $deployment_lanes as $lane ) : ?>
									<article class="ethnic-ios-deployment__lane">
										<h3><?php echo esc_html( $lane['title'] ); ?></h3>
										<p><?php echo esc_html( $lane['text'] ); ?></p>
									</article>
								<?php endforeach; ?>
							</div>
						</div>
						<div class="ethnic-ios-deployment__list">
							<h3>Deployment checklist</h3>
							<ul>
								<?php foreach ( $app_store_checks as $check ) : ?>
									<li><span aria-hidden="true"><?php echo ethnic_ios_page_icon( 'check' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></span><?php echo esc_html( $check ); ?></li>
								<?php endforeach; ?>
							</ul>
						</div>
					</div>
				</div>
			</section>

			<section class="ethnic-ios-section ethnic-ios-section--soft" id="ios-use-cases">
				<div class="ethnic-ios-shell">
					<?php echo ethnic_ios_page_heading( 'Use Cases', 'iOS apps built for customer engagement, operations, and premium product delivery.', 'We tailor iOS apps across commerce, services, internal operations, and engagement platforms.' ); ?>
					<div class="ethnic-ios-cases">
						<?php foreach ( $use_cases as $case ) : ?>
							<article class="ethnic-ios-case">
								<span class="ethnic-ios-icon" aria-hidden="true"><?php echo ethnic_ios_page_icon( 'experience' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></span>
								<h3><?php echo esc_html( $case['title'] ); ?></h3>
								<p><?php echo esc_html( $case['text'] ); ?></p>
							</article>
						<?php endforeach; ?>
					</div>
				</div>
			</section>

			<?php if ( ! empty( $case_studies ) ) : ?>
			<section class="ethnic-ios-section" id="ios-case-studies">
				<div class="ethnic-ios-shell">
					<?php echo ethnic_ios_page_heading( 'Case Studies', 'iOS delivery examples shown in the same polished showcase style used on the home page.', 'These previews highlight premium app experiences, cleaner workflows, and business outcomes supported through iOS development.' ); ?>
					<?php echo ethnic_shared_case_study_showcase_render( $case_studies ); ?>
				</div>
			</section>
			<?php endif; ?>

			<section class="ethnic-ios-section" id="ios-faq">
				<div class="ethnic-ios-shell">
					<?php echo ethnic_ios_page_heading( 'FAQs', 'Answers to common questions about iOS app development services.', 'Get clarity on timelines, technologies, and how we support iOS product delivery.' ); ?>
					<div class="ethnic-ios-faqs">
						<?php foreach ( $faqs as $faq ) : ?>
							<details class="ethnic-ios-faq">
								<summary><?php echo esc_html( $faq['question'] ); ?></summary>
								<p><?php echo esc_html( $faq['answer'] ); ?></p>
							</details>
						<?php endforeach; ?>
					</div>
				</div>
			</section>

			<section class="ethnic-ios-section ethnic-ios-section--cta" id="ios-cta">
				<div class="ethnic-ios-shell">
					<div class="ethnic-ios-cta">
						<div class="ethnic-ios-cta__copy">
							<div class="ethnic-ios-cta__intro">
								<p class="ethnic-ios-kicker ethnic-ios-kicker--light">Ready to Talk</p>
								<p class="ethnic-ios-cta__note">Planning for iPhone app builds, iPad workflows, modernization, integrations, and long-term support.</p>
							</div>
							<h2>Looking for iOS App Development Services?</h2>
							<p class="ethnic-ios-cta__lead">Discuss iPhone app ideas, iPad requirements, iOS product launches, or modernization projects with a team that can align the product experience with your roadmap and delivery goals.</p>
							<div class="ethnic-ios-actions ethnic-ios-actions--cta">
								<a class="ethnic-ios-button ethnic-ios-button--primary" href="<?php echo esc_url( ethnic_ios_page_contact_url( array( 'intent' => 'consultation', 'service' => 'ios-app-development' ) ) ); ?>">Talk to Our Team</a>
								<a class="ethnic-ios-button ethnic-ios-button--secondary" href="<?php echo esc_url( ethnic_ios_page_contact_url( array( 'intent' => 'quote', 'service' => 'ios-app-development' ) ) ); ?>">Get a Free Quote</a>
							</div>
							<ul class="ethnic-ios-cta__highlights" aria-label="iOS CTA highlights">
								<?php foreach ( $cta_highlights as $highlight ) : ?>
									<li><?php echo esc_html( $highlight ); ?></li>
								<?php endforeach; ?>
							</ul>
						</div>

						<aside class="ethnic-ios-cta__panel" aria-label="What happens next">
							<div class="ethnic-ios-cta__panel-header">
								<p class="ethnic-ios-cta__panel-eyebrow">What Happens Next</p>
								<h3 class="ethnic-ios-cta__panel-title">Shape the right iOS delivery plan</h3>
							</div>
							<ol class="ethnic-ios-cta__steps">
								<?php foreach ( $cta_steps as $index => $step ) : ?>
									<li class="ethnic-ios-cta__step">
										<span class="ethnic-ios-cta__step-number"><?php echo esc_html( sprintf( '%02d', $index + 1 ) ); ?></span>
										<div class="ethnic-ios-cta__step-copy">
											<strong><?php echo esc_html( $step['title'] ); ?></strong>
											<p><?php echo esc_html( $step['copy'] ); ?></p>
										</div>
									</li>
								<?php endforeach; ?>
							</ol>
							<div class="ethnic-ios-cta__panel-note"><strong>Focus:</strong> product direction, Swift implementation scope, integration planning, App Store readiness, and ongoing iOS support.</div>
						</aside>
					</div>
				</div>
			</section>
		</div>
		<?php

		return ob_get_clean();
	}
}

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

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

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

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

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

body.ethnic-ios-target .entry-content.post-content {
	margin-bottom: 0;
}

.ethnic-ios-page {
	--ethnic-ios-text: #0f172a;
	--ethnic-ios-muted: #5d6c84;
	--ethnic-ios-border: rgba(15, 23, 42, 0.08);
	--ethnic-ios-border-strong: rgba(15, 23, 42, 0.12);
	--ethnic-ios-accent: #5e8dff;
	--ethnic-ios-accent-dark: #284b97;
	--ethnic-ios-accent-soft: #dfe8ff;
	--ethnic-ios-lime: #e7ff89;
	--ethnic-ios-lime-strong: #dfff54;
	--ethnic-ios-mint: #d9fbff;
	--ethnic-ios-soft: #f5f8ff;
	--ethnic-ios-panel: rgba(255, 255, 255, 0.96);
	--ethnic-ios-panel-soft: rgba(247, 250, 255, 0.94);
	--ethnic-ios-shadow: 0 24px 60px rgba(15, 23, 42, 0.08);
	--ethnic-ios-shadow-strong: 0 34px 90px rgba(15, 23, 42, 0.14);
	color: var(--ethnic-ios-text);
	position: relative;
	background: linear-gradient(180deg, #f6f9ff 0%, #ffffff 22%, #f8fbff 100%);
	overflow: clip;
}

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

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

.ethnic-ios-section + .ethnic-ios-section {
	margin-top: clamp(72px, 8vw, 112px);
}

.ethnic-ios-section--soft {
	padding: clamp(28px, 4vw, 36px) 0;
}

.ethnic-ios-page p,
.ethnic-ios-page li {
	color: var(--ethnic-ios-muted);
	font-size: 16px;
	line-height: 1.72;
	margin: 0;
}

.ethnic-ios-kicker,
.ethnic-ios-heading__eyebrow {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 7px 14px;
	border-radius: 999px;
	background: rgba(94, 141, 255, 0.1);
	border: 1px solid rgba(94, 141, 255, 0.12);
	color: #3d74ff;
	font-weight: 700;
	letter-spacing: 0.1em;
	font-size: 14px;
	line-height: 1;
	text-transform: uppercase;
}

.ethnic-ios-kicker--light {
	background: rgba(255, 255, 255, 0.1);
	border-color: rgba(255, 255, 255, 0.14);
	color: #ffffff;
}

.ethnic-ios-heading {
	max-width: 760px;
	margin-bottom: clamp(26px, 4vw, 36px);
}

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

.ethnic-ios-heading__title,
.ethnic-ios-cta h2 {
	color: var(--ethnic-ios-text);
	font-size: clamp(30px, 2.5vw, 44px);
	line-height: 1.04;
}

.ethnic-ios-heading__copy {
	margin: 18px 0 0;
	max-width: 64ch;
}

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

.ethnic-ios-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 22px;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	border: 1px solid transparent;
	transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.ethnic-ios-button:hover,
.ethnic-ios-button:focus-visible {
	transform: translateY(-2px);
	outline: none;
}

.ethnic-ios-button--primary {
	background: var(--ethnic-ios-mint);
	border-color: var(--ethnic-ios-mint);
	color: #0b1730 !important;
	box-shadow: 0 18px 30px rgba(217, 251, 255, 0.22);
}

.ethnic-ios-button--secondary {
	background: rgba(255, 255, 255, 0.92);
	border-color: rgba(15, 23, 42, 0.08);
	color: var(--ethnic-ios-text) !important;
}

.ethnic-ios-section--hero {
	position: relative;
	padding-top: clamp(18px, 3vw, 32px);
	background:
		radial-gradient(circle at 16% 18%, rgba(94, 141, 255, 0.22), transparent 24%),
		radial-gradient(circle at 82% 16%, rgba(217, 251, 255, 0.12), transparent 20%),
		linear-gradient(180deg, #091328, #10263f 54%, #12354c);
}

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

.ethnic-ios-hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(420px, 0.96fr);
	gap: clamp(32px, 5vw, 68px);
	align-items: center;
	min-height: clamp(600px, 72vw, 760px);
	padding: clamp(82px, 8vw, 128px) 0;
}

.ethnic-ios-hero__content,
.ethnic-ios-hero__visual {
	position: relative;
	z-index: 1;
}

.ethnic-ios-hero__title {
	max-width: 8ch;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff;
	font-size: clamp(44px, 5.2vw, 72px);
	line-height: 0.98;
}

.ethnic-ios-hero__copy {
	max-width: 61ch;
	margin: 20px 0 0;
	color: rgba(255, 255, 255, 0.86) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.86);
	font-size: clamp(17px, 1.45vw, 20px);
	line-height: 1.82;
}

.ethnic-ios-section--hero .ethnic-ios-kicker {
	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(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.16);
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1;
	text-transform: uppercase;
	backdrop-filter: blur(10px);
}

.ethnic-ios-section--hero .ethnic-ios-kicker::before {
	content: "";
	flex: 0 0 auto;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.14);
}

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

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

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

.ethnic-ios-section--hero .ethnic-ios-button--secondary:hover,
.ethnic-ios-section--hero .ethnic-ios-button--secondary:focus-visible {
	background: rgba(255, 255, 255, 0.14);
	border-color: rgba(255, 255, 255, 0.2);
}

.ethnic-ios-hero__points {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	max-width: 860px;
	padding: 0;
	margin: 26px 0 0;
	list-style: none;
}

.ethnic-ios-hero__points li {
	position: relative;
	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.88) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.88);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.5;
}

.ethnic-ios-hero__points li::before {
	content: "";
	position: absolute;
	left: 18px;
	top: 20px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ethnic-ios-lime-strong);
	box-shadow: 0 0 0 5px rgba(223, 255, 84, 0.16);
}

.ethnic-ios-overview__metric span,
.ethnic-ios-performance-board__eyebrow,
.ethnic-ios-overview__eyebrow,
.ethnic-ios-stack-card__eyebrow {
	display: block;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.ethnic-ios-hero__visual {
	display: flex;
	justify-content: center;
}

.ethnic-ios-visual {
	position: relative;
	min-height: 560px;
}

.ethnic-ios-visual__window {
	position: relative;
	padding: 22px;
	border-radius: 34px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.08)),
		rgba(9, 20, 38, 0.76);
	border: 1px solid rgba(255, 255, 255, 0.14);
	box-shadow: 0 30px 80px rgba(5, 14, 28, 0.32);
	backdrop-filter: blur(18px);
}

.ethnic-ios-visual__window-bar {
	display: flex;
	gap: 10px;
	margin-bottom: 18px;
}

.ethnic-ios-visual__window-bar span {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.52);
}

.ethnic-ios-visual__window-body {
	padding: 18px;
	border-radius: 26px;
	background:
		radial-gradient(circle at top right, rgba(217, 251, 255, 0.26), transparent 28%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(242, 247, 255, 0.96));
	border: 1px solid rgba(255, 255, 255, 0.62);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.ethnic-ios-visual__toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 18px;
}

.ethnic-ios-visual__toolbar span,
.ethnic-ios-visual__tags span {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 7px 12px;
	border-radius: 999px;
	background: rgba(94, 141, 255, 0.1);
	color: var(--ethnic-ios-accent-dark);
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

.ethnic-ios-visual__feature {
	display: grid;
	grid-template-columns: minmax(118px, 0.72fr) minmax(0, 1fr);
	gap: 18px;
	padding: 18px;
	border-radius: 24px;
	background: #ffffff;
	border: 1px solid rgba(15, 23, 42, 0.08);
	box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.ethnic-ios-visual__feature-shot {
	position: relative;
	min-height: 188px;
	border-radius: 20px;
	padding: 14px;
	background:
		radial-gradient(circle at 28% 26%, rgba(255, 255, 255, 0.9), transparent 20%),
		linear-gradient(150deg, rgba(94, 141, 255, 0.18), rgba(217, 251, 255, 0.6)),
		linear-gradient(180deg, #eff6ff, #edf7ff);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

.ethnic-ios-visual__device {
	display: grid;
	grid-template-rows: auto 1fr auto auto;
	gap: 12px;
	height: 100%;
	padding: 14px;
	border-radius: 18px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 251, 255, 0.94));
	border: 1px solid rgba(94, 141, 255, 0.12);
}

.ethnic-ios-visual__device-header {
	display: flex;
	gap: 8px;
}

.ethnic-ios-visual__device-header span {
	display: block;
	width: 46px;
	height: 10px;
	border-radius: 999px;
	background: rgba(94, 141, 255, 0.12);
}

.ethnic-ios-visual__device-header span:last-child {
	width: 68px;
	background: rgba(223, 255, 84, 0.28);
}

.ethnic-ios-visual__device-hero {
	border-radius: 16px;
	background:
		radial-gradient(circle at top right, rgba(223, 255, 84, 0.36), transparent 34%),
		linear-gradient(145deg, rgba(94, 141, 255, 0.16), rgba(217, 251, 255, 0.78));
	min-height: 74px;
}

.ethnic-ios-visual__device-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.ethnic-ios-visual__device-grid div,
.ethnic-ios-visual__device-footer {
	border-radius: 14px;
	background: rgba(94, 141, 255, 0.12);
	min-height: 36px;
}

.ethnic-ios-visual__device-footer {
	min-height: 18px;
	width: 72%;
}

.ethnic-ios-visual__eyebrow,
.ethnic-ios-visual__floating-label {
	display: inline-flex;
	color: rgba(15, 23, 42, 0.58);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1;
	text-transform: uppercase;
}

.ethnic-ios-visual__feature-copy strong,
.ethnic-ios-visual__floating strong {
	display: block;
	margin: 0;
	color: var(--ethnic-ios-text);
	font-family: "Plus Jakarta Sans", "Figtree", sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
}

.ethnic-ios-visual__eyebrow {
	margin-bottom: 8px;
	color: var(--ethnic-ios-accent);
}

.ethnic-ios-visual__feature-copy p {
	margin: 10px 0 0;
	font-size: 14px;
	line-height: 1.7;
}

.ethnic-ios-visual__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
}

.ethnic-ios-visual__collection {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-top: 16px;
}

.ethnic-ios-visual__collection-card {
	padding: 16px;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.74);
	border: 1px solid rgba(15, 23, 42, 0.08);
	box-shadow: 0 14px 32px rgba(15, 23, 42, 0.05);
}

.ethnic-ios-visual__collection-card small,
.ethnic-ios-visual__metric-grid small {
	display: block;
	color: rgba(15, 23, 42, 0.54);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1;
	text-transform: uppercase;
}

.ethnic-ios-visual__collection-card strong {
	display: block;
	margin-top: 8px;
	color: var(--ethnic-ios-text);
	font-family: "Plus Jakarta Sans", "Figtree", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.42;
}

.ethnic-ios-visual__floating {
	position: absolute;
	padding: 18px;
	border-radius: 24px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 251, 255, 0.9)),
		#ffffff;
	border: 1px solid rgba(255, 255, 255, 0.8);
	box-shadow: 0 20px 50px rgba(5, 14, 28, 0.16);
	backdrop-filter: blur(16px);
}

.ethnic-ios-visual__floating strong {
	font-size: 17px;
}

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

.ethnic-ios-visual__floating li {
	position: relative;
	padding-left: 18px;
	font-size: 14px;
	line-height: 1.6;
}

.ethnic-ios-visual__floating li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--ethnic-ios-accent);
	box-shadow: 0 0 0 4px rgba(94, 141, 255, 0.12);
}

.ethnic-ios-visual__floating--native {
	left: -14px;
	top: 58px;
	width: min(270px, 100%);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.04)),
		linear-gradient(180deg, #113022, #173728);
	border-color: rgba(255, 255, 255, 0.1);
}

.ethnic-ios-visual__floating--native .ethnic-ios-visual__floating-label,
.ethnic-ios-visual__floating--native strong,
.ethnic-ios-visual__floating--native small {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff;
}

.ethnic-ios-visual__floating--support {
	right: -14px;
	bottom: 22px;
	width: min(320px, 100%);
}

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

.ethnic-ios-visual__metric-grid div {
	padding: 14px;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.08);
}

.ethnic-ios-visual__metric-grid strong {
	display: block;
	margin-top: 8px;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff;
	font-family: "Plus Jakarta Sans", "Figtree", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.42;
}

.ethnic-ios-visual__progress {
	display: grid;
	gap: 8px;
	margin-top: 16px;
}

.ethnic-ios-visual__progress span {
	display: block;
	height: 10px;
	border-radius: 999px;
	background: linear-gradient(90deg, rgba(223, 255, 84, 0.9), rgba(94, 141, 255, 0.82));
}

.ethnic-ios-visual__progress span:nth-child(2) {
	width: 82%;
}

.ethnic-ios-visual__progress span:nth-child(3) {
	width: 68%;
}

.ethnic-ios-overview {
	display: grid;
	grid-template-columns: minmax(0, 0.82fr) minmax(360px, 1.18fr);
	gap: 30px 38px;
	align-items: start;
}

.ethnic-ios-overview__copy {
	display: grid;
	gap: 18px;
}

.ethnic-ios-overview__panel {
	margin-top: 8px;
	padding: 24px;
	border-radius: 28px;
	border: 1px solid var(--ethnic-ios-border);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(241, 246, 255, 0.96));
	box-shadow: var(--ethnic-ios-shadow);
}

.ethnic-ios-overview__eyebrow {
	color: #3d74ff;
}

.ethnic-ios-overview__metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-top: 18px;
}

.ethnic-ios-overview__metric {
	padding: 14px 16px 16px;
	border-radius: 18px;
	border: 1px solid rgba(15, 23, 42, 0.08);
	background: rgba(255, 255, 255, 0.76);
}

.ethnic-ios-overview__metric span {
	color: #728099;
}

.ethnic-ios-overview__metric strong {
	display: block;
	margin-top: 8px;
	color: var(--ethnic-ios-text);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.45;
}

.ethnic-ios-feature-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.ethnic-ios-feature,
.ethnic-ios-service,
.ethnic-ios-case,
.ethnic-ios-stack__item,
.ethnic-ios-deployment__lane {
	position: relative;
	border-radius: 24px;
	padding: 24px;
	border: 1px solid var(--ethnic-ios-border);
	background: linear-gradient(180deg, var(--ethnic-ios-panel), var(--ethnic-ios-panel-soft));
	box-shadow: var(--ethnic-ios-shadow);
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.ethnic-ios-feature:hover,
.ethnic-ios-service:hover,
.ethnic-ios-case:hover,
.ethnic-ios-stack__item:hover,
.ethnic-ios-deployment__lane:hover {
	transform: translateY(-3px);
	box-shadow: 0 30px 74px rgba(15, 23, 42, 0.1);
	border-color: var(--ethnic-ios-border-strong);
}

.ethnic-ios-icon svg {
	width: 24px;
	height: 24px;
	stroke: #5e8dff;
	fill: none;
	stroke-width: 2;
	margin-bottom: 12px;
}

.ethnic-ios-feature h3,
.ethnic-ios-service h3,
.ethnic-ios-case h3,
.ethnic-ios-deployment__lane h3,
.ethnic-ios-deployment__list h3,
.ethnic-ios-stack-card h3,
.ethnic-ios-device-panel h3 {
	margin: 0 0 12px;
	color: var(--ethnic-ios-text);
	font-size: 22px;
}

.ethnic-ios-feature p,
.ethnic-ios-service p,
.ethnic-ios-case p,
.ethnic-ios-deployment__lane p {
	margin: 0;
}

.ethnic-ios-device-layout {
	display: grid;
	grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1.28fr);
	gap: 26px 30px;
}

.ethnic-ios-device-story {
	display: grid;
	gap: 16px;
	align-content: start;
}

.ethnic-ios-device-panel {
	padding: 24px;
	border-radius: 28px;
	background:
		radial-gradient(circle at top left, rgba(217, 251, 255, 0.16), transparent 28%),
		linear-gradient(145deg, #0f172a 0%, #153058 100%);
	box-shadow: 0 28px 70px rgba(15, 23, 42, 0.12);
}

.ethnic-ios-device-panel:nth-child(2) {
	background:
		radial-gradient(circle at top right, rgba(94, 141, 255, 0.18), transparent 24%),
		linear-gradient(145deg, #132548 0%, #1a365d 100%);
}

.ethnic-ios-device-panel h3,
.ethnic-ios-device-panel p {
	color: #ffffff;
}

.ethnic-ios-device-panel h3 {
	color: #f8fbff !important;
	-webkit-text-fill-color: #f8fbff;
}

.ethnic-ios-device-panel p {
	color: rgba(226, 232, 240, 0.88) !important;
	-webkit-text-fill-color: rgba(226, 232, 240, 0.88);
}

.ethnic-ios-services {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.ethnic-ios-stack-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
	gap: 24px 30px;
}

.ethnic-ios-stack {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
}

.ethnic-ios-stack__item {
	display: grid;
	gap: 14px;
}

.ethnic-ios-stack__item p {
	color: var(--ethnic-ios-text);
	font-weight: 600;
}

.ethnic-ios-stack-card {
	padding: 28px;
	border-radius: 30px;
	background:
		radial-gradient(circle at top right, rgba(217, 251, 255, 0.12), transparent 24%),
		linear-gradient(140deg, #0f172a 0%, #142543 100%);
	box-shadow: 0 28px 70px rgba(15, 23, 42, 0.14);
}

.ethnic-ios-stack-card__eyebrow {
	margin-bottom: 12px;
	color: rgba(226, 232, 240, 0.76) !important;
	-webkit-text-fill-color: rgba(226, 232, 240, 0.76);
}

.ethnic-ios-stack-card h3,
.ethnic-ios-stack-card li {
	color: #f8fbff !important;
	-webkit-text-fill-color: #f8fbff;
}

.ethnic-ios-stack-card ul {
	display: grid;
	gap: 12px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

.ethnic-ios-stack-card li {
	position: relative;
	padding-left: 18px;
	font-size: 15px;
	line-height: 1.64;
}

.ethnic-ios-stack-card li::before {
	content: "";
	position: absolute;
	top: 10px;
	left: 0;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--ethnic-ios-mint);
}

.ethnic-ios-performance-board {
	display: grid;
	grid-template-columns: minmax(280px, 0.74fr) minmax(0, 1.26fr);
	gap: 26px 30px;
	padding: clamp(28px, 4vw, 38px);
	border-radius: 34px;
	background:
		radial-gradient(circle at top left, rgba(94, 141, 255, 0.18), transparent 26%),
		linear-gradient(145deg, #0f172a 0%, #15284b 100%);
	box-shadow: 0 32px 84px rgba(15, 23, 42, 0.14);
}

.ethnic-ios-performance-board__eyebrow {
	margin-bottom: 12px;
	color: rgba(226, 232, 240, 0.82) !important;
	-webkit-text-fill-color: rgba(226, 232, 240, 0.82);
}

.ethnic-ios-performance-board__intro h3,
.ethnic-ios-performance-board__intro p {
	color: #f8fbff !important;
	-webkit-text-fill-color: #f8fbff;
}

.ethnic-ios-performance-board__intro h3 {
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1.02;
}

.ethnic-ios-performance-board__intro p {
	margin-top: 18px;
	color: rgba(226, 232, 240, 0.88) !important;
	-webkit-text-fill-color: rgba(226, 232, 240, 0.88);
}

.ethnic-ios-performance {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
}

.ethnic-ios-performance__item {
	padding: 20px 22px;
	border-radius: 24px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	background: rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(12px);
}

.ethnic-ios-performance__item p {
	color: #f8fbff !important;
	-webkit-text-fill-color: #f8fbff;
	font-weight: 600;
}

.ethnic-ios-deployment {
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(320px, 1.08fr);
	gap: 28px 34px;
	align-items: start;
}

.ethnic-ios-deployment__copy {
	display: grid;
	gap: 18px;
}

.ethnic-ios-deployment__lanes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.ethnic-ios-deployment__list {
	padding: 28px;
	border-radius: 30px;
	border: 1px solid var(--ethnic-ios-border);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 248, 255, 0.96));
	box-shadow: var(--ethnic-ios-shadow);
}

.ethnic-ios-deployment__list h3 {
	font-size: 24px;
}

.ethnic-ios-deployment__list ul {
	list-style: none;
	padding: 0;
	margin: 18px 0 0;
	display: grid;
	gap: 12px;
}

.ethnic-ios-deployment__list li {
	display: flex;
	align-items: center;
	gap: 10px;
}

.ethnic-ios-deployment__list li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	color: #3d74ff;
}

.ethnic-ios-deployment__list li span svg {
	width: 16px;
	height: 16px;
	margin: 0;
	stroke: currentColor;
}

.ethnic-ios-cases {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 18px;
}

.ethnic-ios-case {
	grid-column: span 3;
}

.ethnic-ios-case:nth-child(1),
.ethnic-ios-case:nth-child(2) {
	grid-column: span 6;
}

.ethnic-ios-case h3 {
	font-size: 24px;
}

.ethnic-ios-faqs {
	display: grid;
	gap: 14px;
}

.ethnic-ios-faq {
	border-radius: 22px;
	border: 1px solid var(--ethnic-ios-border);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 248, 255, 0.96));
	box-shadow: var(--ethnic-ios-shadow);
	overflow: hidden;
}

.ethnic-ios-faq summary {
	position: relative;
	padding: 18px 54px 18px 22px;
	font-size: 17px;
	font-weight: 700;
	cursor: pointer;
	list-style: none;
	color: var(--ethnic-ios-text);
}

.ethnic-ios-faq summary::-webkit-details-marker {
	display: none;
}

.ethnic-ios-faq summary::after {
	content: "+";
	position: absolute;
	right: 22px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 22px;
	font-weight: 500;
	color: #3d74ff;
	transition: transform 180ms ease;
}

.ethnic-ios-faq[open] summary::after {
	transform: translateY(-50%) rotate(45deg);
}

.ethnic-ios-faq p {
	padding: 0 22px 22px;
	margin: 0;
}

.ethnic-ios-section--cta {
	padding-top: clamp(16px, 2vw, 24px);
}

.ethnic-ios-cta {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
	gap: clamp(26px, 4vw, 54px);
	align-items: stretch;
	padding: clamp(34px, 4vw, 52px);
	text-align: left;
	overflow: hidden;
	isolation: isolate;
	border-radius: 38px;
	background:
		radial-gradient(circle at 10% 18%, rgba(217, 251, 255, 0.28), transparent 24%),
		radial-gradient(circle at 82% 14%, rgba(94, 141, 255, 0.12), transparent 22%),
		linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(246, 249, 255, 1) 52%, rgba(238, 244, 255, 0.98));
	border: 1px solid rgba(117, 144, 190, 0.2);
	box-shadow:
		0 26px 80px rgba(15, 23, 42, 0.1),
		inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.ethnic-ios-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(94, 141, 255, 0.05) 1px, transparent 1px),
		linear-gradient(0deg, rgba(94, 141, 255, 0.05) 1px, transparent 1px);
	background-size: 28px 28px;
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.32), transparent 76%);
	pointer-events: none;
	z-index: -1;
}

.ethnic-ios-cta__copy {
	position: relative;
	display: grid;
	align-content: center;
}

.ethnic-ios-cta__intro {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 14px;
	margin-bottom: 4px;
}

.ethnic-ios-cta .ethnic-ios-kicker--light {
	margin-bottom: 0;
	background: rgba(255, 255, 255, 0.92);
	border-color: rgba(94, 141, 255, 0.16);
	color: #284b97;
	box-shadow: 0 14px 36px rgba(94, 141, 255, 0.12);
}

.ethnic-ios-cta__note {
	margin: 0;
	max-width: 42ch;
	color: rgba(38, 62, 106, 0.78);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1.75;
	text-transform: uppercase;
}

.ethnic-ios-cta h2 {
	max-width: 8.8ch;
	font-size: clamp(36px, 4.5vw, 64px);
	line-height: 0.96;
	letter-spacing: -0.06em;
}

.ethnic-ios-cta__lead {
	max-width: 58ch;
	margin-top: 18px;
	color: rgba(15, 23, 42, 0.72);
	font-size: clamp(16px, 1.35vw, 18px);
	line-height: 1.82;
}

.ethnic-ios-cta .ethnic-ios-actions {
	gap: 16px;
	margin-top: 30px;
}

.ethnic-ios-section--cta .ethnic-ios-button--primary {
	background: #e7ff89;
	border-color: #e7ff89;
	color: #111d36 !important;
	box-shadow: 0 18px 34px rgba(231, 255, 137, 0.24);
}

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

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

.ethnic-ios-cta__highlights {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.ethnic-ios-cta__highlights li {
	position: relative;
	display: flex;
	align-items: flex-start;
	min-height: 100%;
	padding: 16px 18px 16px 40px;
	border-radius: 24px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(248, 251, 255, 0.76)),
		rgba(255, 255, 255, 0.74);
	border: 1px solid rgba(255, 255, 255, 0.72);
	color: rgba(15, 23, 42, 0.72);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.6;
	box-shadow: 0 16px 34px rgba(15, 23, 42, 0.07);
	backdrop-filter: blur(16px);
}

.ethnic-ios-cta__highlights li::before {
	content: "";
	position: absolute;
	left: 18px;
	top: 20px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #78b95b;
	box-shadow: 0 0 0 5px rgba(120, 185, 91, 0.16);
}

.ethnic-ios-cta__panel {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 28px;
	border-radius: 30px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.03)),
		linear-gradient(180deg, #203a60, #152847 56%, #0f1c36);
	border: 1px solid rgba(255, 255, 255, 0.1);
	box-shadow:
		0 30px 70px rgba(15, 23, 42, 0.2),
		inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.ethnic-ios-cta__panel::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background:
		radial-gradient(circle at top right, rgba(217, 251, 255, 0.16), transparent 34%),
		radial-gradient(circle at bottom left, rgba(94, 141, 255, 0.12), transparent 26%);
	pointer-events: none;
}

.ethnic-ios-cta__panel-header {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 10px;
	margin-bottom: 10px;
}

.ethnic-ios-cta__panel-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	width: fit-content;
	margin: 0;
	padding: 8px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.14);
	color: rgba(255, 255, 255, 0.92) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.92);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1;
	text-transform: uppercase;
}

.ethnic-ios-cta__panel-eyebrow::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #dfff54;
	box-shadow: 0 0 0 5px rgba(223, 255, 84, 0.12);
}

.ethnic-ios-cta__panel-title {
	margin: 0;
	color: #f8fbff !important;
	-webkit-text-fill-color: #f8fbff;
	font-family: "Plus Jakarta Sans", "Figtree", sans-serif;
	font-size: clamp(22px, 2.3vw, 28px);
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1.1;
}

.ethnic-ios-cta__steps {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 0;
	padding: 0;
	margin: 0;
	list-style: none;
}

.ethnic-ios-cta__step {
	display: grid;
	grid-template-columns: 52px 1fr;
	gap: 16px;
	padding: 18px 0;
	align-items: start;
}

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

.ethnic-ios-cta__step-number {
	display: inline-grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 18px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.06)),
		rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.08);
	color: #ffffff;
	font-size: 13px;
	font-weight: 700;
	box-shadow: 0 16px 28px rgba(5, 14, 28, 0.18);
}

.ethnic-ios-cta__step-copy strong {
	display: block;
	color: #f8fbff !important;
	-webkit-text-fill-color: #f8fbff;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
}

.ethnic-ios-cta__step-copy p {
	max-width: none;
	margin: 8px 0 0;
	color: rgba(255, 255, 255, 0.78) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.78);
	font-size: 14px;
	line-height: 1.7;
}

.ethnic-ios-cta__panel-note {
	position: relative;
	z-index: 1;
	margin-top: 20px;
	padding: 16px 18px;
	border-radius: 18px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03)),
		rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.08);
	color: rgba(255, 255, 255, 0.84) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.84);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.6;
}

.ethnic-ios-cta__panel-note strong {
	color: #f8fbff !important;
	-webkit-text-fill-color: #f8fbff;
}

@media (max-width: 1180px) {
	.ethnic-ios-hero,
	.ethnic-ios-overview,
	.ethnic-ios-device-layout,
	.ethnic-ios-stack-layout,
	.ethnic-ios-performance-board,
	.ethnic-ios-deployment,
	.ethnic-ios-cta {
		grid-template-columns: minmax(0, 1fr);
	}

	.ethnic-ios-hero__visual {
		max-width: 760px;
	}

	.ethnic-ios-overview__metrics,
	.ethnic-ios-deployment__lanes {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ethnic-ios-cases {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

	.ethnic-ios-case {
		grid-column: span 3;
	}

	.ethnic-ios-cta__highlights {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ethnic-ios-cta__panel {
		max-width: 760px;
	}
}

@media (max-width: 900px) {
	.ethnic-ios-hero {
		min-height: auto;
		padding: 72px 0 68px;
	}

	.ethnic-ios-feature-grid,
	.ethnic-ios-services,
	.ethnic-ios-stack,
	.ethnic-ios-performance {
		grid-template-columns: minmax(0, 1fr);
	}

	.ethnic-ios-hero__points,
	.ethnic-ios-overview__metrics,
	.ethnic-ios-deployment__lanes {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ethnic-ios-cases {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ethnic-ios-case,
	.ethnic-ios-case:nth-child(1),
	.ethnic-ios-case:nth-child(2) {
		grid-column: span 1;
	}

	.ethnic-ios-cta__panel {
		max-width: none;
	}
}

@media (max-width: 640px) {
	.ethnic-ios-shell {
		width: min(100%, calc(100% - 32px));
	}

	.ethnic-ios-hero {
		padding: 72px 0 64px;
	}

	.ethnic-ios-hero__title {
		max-width: 100%;
		font-size: clamp(34px, 12vw, 50px);
	}

	.ethnic-ios-actions,
	.ethnic-ios-actions--cta {
		width: 100%;
	}

	.ethnic-ios-button {
		width: 100%;
	}

	.ethnic-ios-hero__points,
	.ethnic-ios-overview__metrics,
	.ethnic-ios-deployment__lanes,
	.ethnic-ios-visual__collection,
	.ethnic-ios-cta__highlights {
		grid-template-columns: 1fr;
	}

	.ethnic-ios-visual {
		min-height: auto;
	}

	.ethnic-ios-visual__window {
		padding: 18px;
	}

	.ethnic-ios-visual__window-body {
		padding: 14px;
	}

	.ethnic-ios-visual__feature {
		grid-template-columns: 1fr;
	}

	.ethnic-ios-visual__feature-shot {
		min-height: 160px;
	}

	.ethnic-ios-visual__floating {
		position: static;
		width: 100%;
		margin-top: 16px;
	}

	.ethnic-ios-overview__panel,
	.ethnic-ios-stack-card,
	.ethnic-ios-deployment__list,
	.ethnic-ios-performance-board {
		padding: 22px;
	}

	.ethnic-ios-feature,
	.ethnic-ios-service,
	.ethnic-ios-case,
	.ethnic-ios-stack__item,
	.ethnic-ios-deployment__lane,
	.ethnic-ios-performance__item {
		padding: 20px;
	}

	.ethnic-ios-faq summary {
		padding: 16px 48px 16px 18px;
	}

	.ethnic-ios-faq p {
		padding: 0 18px 18px;
	}

	.ethnic-ios-cta,
	.ethnic-ios-cta__panel {
		border-radius: 28px;
	}

	.ethnic-ios-cta {
		padding: 28px 22px;
	}

	.ethnic-ios-cta__intro {
		gap: 10px;
	}

	.ethnic-ios-cta h2 {
		max-width: 100%;
	}

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

	.ethnic-ios-cta__step {
		grid-template-columns: 44px 1fr;
		gap: 14px;
	}

	.ethnic-ios-cta__step-number {
		width: 44px;
		height: 44px;
		border-radius: 15px;
	}
}
CSS;
	}
}

if ( ! function_exists( 'ethnic_ios_page_body_class' ) ) {
	function ethnic_ios_page_body_class( $classes ) {
		if ( ethnic_ios_page_is_target() ) {
			$classes[] = 'ethnic-ios-target';
		}

		return $classes;
	}

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

if ( ! function_exists( 'ethnic_ios_page_print_head_assets' ) ) {
	function ethnic_ios_page_print_head_assets() {
		if ( ! ethnic_ios_page_is_target() ) {
			return;
		}
		?>
		<style id="ethnic-ios-page-inline-css" type="text/css">
			<?php echo ethnic_ios_page_styles(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
		</style>
		<meta name="description" content="Build premium iPhone and iPad apps with our iOS app development services. We deliver custom iOS solutions with Swift, performance-focused architecture, App Store deployment, and ongoing support." />
		<?php
	}

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

if ( ! function_exists( 'ethnic_ios_page_document_title' ) ) {
	function ethnic_ios_page_document_title( $title ) {
		if ( ethnic_ios_page_is_target() ) {
			return 'iOS App Development Services | Custom iPhone & iPad App Development';
		}

		return $title;
	}

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

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

		static $rendered = false;

		if ( $rendered ) {
			return $content;
		}

		$rendered = true;

		return ethnic_ios_page_render();
	}

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