feat(home): conversion-rate optimization pass on homepage
E2E Test Suite / Smoke Tests (P0) (push) Failing after 9m26s
E2E Test Suite / Critical User Journeys (push) Has been skipped
E2E Test Suite / API Integration Tests (push) Has been skipped
E2E Test Suite / Form Interaction Tests (push) Has been cancelled
E2E Test Suite / Destructive & Chaos Tests (push) Has been cancelled
E2E Test Suite / Cross-Browser Regression (chromium) (push) Has been cancelled
E2E Test Suite / Cross-Browser Regression (firefox) (push) Has been cancelled
E2E Test Suite / Cross-Browser Regression (webkit) (push) Has been cancelled
E2E Test Suite / Mobile Device Tests (push) Has been cancelled
E2E Test Suite / Security Header Tests (push) Has been cancelled
E2E Test Suite / Test Report Summary (push) Has been cancelled
Ping Search Engines / Notify Search Engines (push) Failing after 12m53s
Deploy to Production / Build & Verify (push) Blocked by required conditions
Deploy to Production / Pre-Deploy Tests (push) Blocked by required conditions
Deploy to Production / Deploy to Railway (push) Has been cancelled
Deploy to Production / Deploy to Render (push) Has been cancelled
Deploy to Production / Deploy to VPS (PM2) (push) Has been cancelled
Deploy to Production / Deploy to Fly.io (push) Has been cancelled
Deploy to Production / Post-Deploy Verification (push) Has been cancelled
Deploy to Production / Notify on Failure (push) Has been cancelled

Hero
- Tightened H1 to a benefit-led, audience-first value prop
  ("Custom Software That Powers Enterprises & Governments")
- Replaced generic subhead with a ~135-char outcome line that names
  the audience (startups, enterprises, government bodies)
- Swapped primary CTA copy to an action verb ("Get a free consultation")
  and secondary to "See our work"; added source query params + data-cta
  hooks so analytics can attribute CTA clicks
- Added a micro-trust line under the CTAs (free 30-min call, reply within
  1 business day, no commitment)

Social proof
- New ClientLogos.astro component rendered below the hero. Grayscale
  strip with hover pop, image+wordmark fallback, TODO documenting the
  five required SVG assets in public/images/clients/
- Default roster sourced from the live portfolio (PLNR, RENTEC, IIT
  Patna, MOC Soft Technologies, Govt. of Bihar)
- Existing testimonials carousel left intact (3 quotes with name/role)

Services preview
- Reframed the 4 cards around outcome headlines and added deep links
  to /services#<slug> for each service detail section
- Renamed "Learn More" to "Learn more" and made it a real <a> link
  with aria-label for screen readers

Final CTA band
- New conversion-focused headline ("Ready to ship your next production
  system?") and a one-line offer with explicit response SLA
- Added a "what you'll get" reassurance row (discovery call, fixed-price
  scope, NDA on request)
- Primary CTA now "Get my free consultation" with source attribution;
  secondary "See case studies" preserved
- Process-section CTA renamed to "Book a discovery call" and tagged

SEO
- Updated meta description on BaseLayout invocation to match the new
  positioning; FAQPage schema and existing structured data untouched
This commit is contained in:
platform-mcp
2026-06-17 11:13:03 +05:30
parent bf59e4f3bb
commit 347efa6742
2 changed files with 234 additions and 36 deletions
+144
View File
@@ -0,0 +1,144 @@
---
/**
* ClientLogos Component
*
* Social-proof strip of client/partner logos shown beneath the hero on the
* homepage. Renders as a grayscale, lazy-loaded grid that pops to full colour
* on hover so the section stays subtle but credible.
*
* The component accepts an optional `clients` prop. Each entry can carry:
* - name: display name and accessible alt text (required)
* - logo: path to a logo image asset (optional). When provided the
* image is lazy-loaded and rendered grayscale; otherwise the
* name is rendered as a typographic wordmark fallback so the
* strip still renders intentionally while real assets are
* being collected.
* - href: optional outbound URL or internal anchor (e.g. a portfolio
* case study). Omitted entries render as non-interactive items.
* - subtitle: optional one-liner under the wordmark (e.g. "11 districts").
*
* If no `clients` prop is supplied the component uses a sensible default set
* sourced from the active WorkRoot portfolio (PLNR, RENTEC, IIT Patna, MOC
* Soft Technologies, Government of Bihar). When the real logo assets land
* in `public/images/clients/<slug>.svg` simply add the `logo` field to the
* matching entry (see TODO block in this file) and the component will swap
* the wordmark for the image automatically.
*
* @prop {Array<{ name: string; logo?: string; href?: string; subtitle?: string }>} [clients]
* @prop {string} [heading] - Eyebrow text rendered above the strip
* @prop {'light' | 'dark'} [theme] - 'light' for white sections, 'dark' for
* dark/hero adjacent placement
* @prop {string} [class] - Extra classes merged onto the wrapper section
*/
interface ClientEntry {
name: string;
logo?: string;
href?: string;
subtitle?: string;
}
interface Props {
clients?: ClientEntry[];
heading?: string;
theme?: 'light' | 'dark';
class?: string;
}
const {
clients,
heading = 'Trusted by teams shipping production software',
theme = 'light',
class: extraClass = '',
} = Astro.props;
// -----------------------------------------------------------------------------
// Default client roster — sourced from the live portfolio and testimonials.
// TODO(frontend-specialist): drop real SVG/PNG wordmarks into
// public/images/clients/<slug>.svg
// and populate the `logo` field below. Required asset slugs:
// - plnr.svg (PLNR Financing platform)
// - rentec.svg (RENTEC / FPC Cart)
// - iit-patna.svg (IIT Patna University Management)
// - moc-soft.svg (MOC Soft Technologies)
// - gov-bihar.svg (Government of Bihar — Police Management / SCMS)
// Logos should be supplied as monochrome SVG on a transparent background and
// sized roughly 160 × 48 — the grayscale filter handles the rest.
// -----------------------------------------------------------------------------
const defaultClients: ClientEntry[] = [
{ name: 'PLNR', subtitle: 'Financing Platform' },
{ name: 'RENTEC', subtitle: 'FPC Cart' },
{ name: 'IIT Patna', subtitle: 'University System' },
{ name: 'MOC Soft Technologies', subtitle: 'Enterprise Partner' },
{ name: 'Govt. of Bihar', subtitle: '11 Districts' },
];
const items: ClientEntry[] = clients && clients.length > 0 ? clients : defaultClients;
const isDark = theme === 'dark';
const sectionClass = [
'relative',
isDark
? 'bg-secondary-900'
: 'bg-white dark:bg-secondary-900',
extraClass,
].filter(Boolean).join(' ');
const eyebrowClass = isDark
? 'text-xs sm:text-sm uppercase tracking-[0.2em] text-secondary-400 font-semibold'
: 'text-xs sm:text-sm uppercase tracking-[0.2em] text-secondary-500 dark:text-secondary-400 font-semibold';
const wordmarkClass = isDark
? 'text-lg sm:text-xl font-bold text-white/80 group-hover:text-white transition-colors'
: 'text-lg sm:text-xl font-bold text-secondary-700 dark:text-secondary-200 group-hover:text-secondary-900 dark:group-hover:text-white transition-colors';
const subtitleClass = isDark
? 'block text-[11px] uppercase tracking-wider text-secondary-500 mt-1'
: 'block text-[11px] uppercase tracking-wider text-secondary-400 dark:text-secondary-500 mt-1';
const imageFilter = 'grayscale opacity-70 group-hover:grayscale-0 group-hover:opacity-100 transition-all duration-300';
---
<section class={sectionClass} aria-label="Clients and partners">
<div class="container-wrapper py-12 sm:py-16">
<p class={`text-center mb-8 ${eyebrowClass}`}>{heading}</p>
<ul
class="grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-5 gap-x-8 gap-y-10 items-center justify-items-center"
role="list"
>
{items.map((client) => {
const Wrapper = client.href ? 'a' : 'div';
const wrapperProps = client.href
? { href: client.href, 'aria-label': `Learn more about ${client.name}` }
: { 'aria-label': client.name };
return (
<li class="w-full flex justify-center">
<Wrapper
{...wrapperProps}
class={`group flex flex-col items-center justify-center text-center w-full max-w-[180px] min-h-[64px] focus:outline-none focus:ring-2 focus:ring-primary-400 rounded-md ${client.href ? 'cursor-pointer' : ''}`}
>
{client.logo ? (
<img
src={client.logo}
alt={`${client.name} logo`}
loading="lazy"
decoding="async"
width="160"
height="48"
class={`h-10 sm:h-12 w-auto object-contain ${imageFilter}`}
/>
) : (
<span class={wordmarkClass}>{client.name}</span>
)}
{client.subtitle && (
<span class={subtitleClass}>{client.subtitle}</span>
)}
</Wrapper>
</li>
);
})}
</ul>
</div>
</section>
+90 -36
View File
@@ -2,6 +2,7 @@
// Home page - WorkRoot IT Solutions
import BaseLayout from '../layouts/BaseLayout.astro';
import SEO from '../components/SEO.astro';
import ClientLogos from '../components/ClientLogos.astro';
// Benefits/Features data
const benefits = [
@@ -27,30 +28,39 @@ const benefits = [
},
];
// Services data
// Services data — outcome-led headlines with anchor slugs that deep-link
// into the matching detail sections on /services.
const services = [
{
icon: 'code',
slug: 'web-development',
title: 'Web Development',
description: 'Custom web applications built with Angular, React, Next.js, Astro, and Spring Boot.',
outcome: 'Ship a fast, SEO-ready web product your customers actually convert on.',
description: 'Angular, React, Next.js, Astro frontends backed by Spring Boot APIs — built for speed, scale, and search visibility.',
features: ['Angular/React/Next.js', 'Spring Boot APIs', 'Astro Static Sites'],
},
{
icon: 'smartphone',
slug: 'mobile-development',
title: 'Mobile Apps',
description: 'Cross-platform and native mobile applications for iOS and Android.',
outcome: 'Launch on iOS and Android from a single codebase — without the native-team overhead.',
description: 'Cross-platform React Native and Expo apps with offline-first sync, push notifications, and store-ready builds.',
features: ['React Native / Expo', 'iOS & Android', 'Offline-First Apps'],
},
{
icon: 'brain',
slug: 'erp-solutions',
title: 'ERP & Enterprise Systems',
description: 'Custom ERP, CRM, and management systems for enterprises and government bodies.',
outcome: 'Replace spreadsheets and ageing tools with one system your operations team trusts.',
description: 'Custom ERP, CRM, and admin platforms designed around your real workflows — already running in universities and government bodies.',
features: ['University Management', 'Police Management', 'Crematorium SCMS'],
},
{
icon: 'cloud',
slug: 'government-systems',
title: 'Government IT Solutions',
description: 'Scalable technology solutions deployed across government departments and districts.',
outcome: 'Roll out secure, compliant platforms across districts without rewriting them for each one.',
description: 'Multi-district deployments with role-based access, audit trails, and the uptime public services require.',
features: ['Multi-District Deployments', 'Secure & Compliant', 'High Availability'],
},
];
@@ -143,7 +153,7 @@ const faqs = [
<BaseLayout
title="Home"
description="WorkRoot IT Solutions LLP — Expert software development, web & mobile apps, ERP systems, and government IT solutions. 20+ projects delivered, 100% client satisfaction. Founded 2022."
description="WorkRoot IT Solutions LLP builds production-grade web, mobile, ERP, and government IT systems for enterprises and growing teams. Free consultation, reply within 1 business day."
>
<SEO
slot="head"
@@ -171,44 +181,60 @@ const faqs = [
<svg class="w-5 h-5 text-accent-400" fill="currentColor" viewBox="0 0 20 20" aria-hidden="true">
<path fill-rule="evenodd" d="M6.267 3.455a3.066 3.066 0 001.745-.723 3.066 3.066 0 013.976 0 3.066 3.066 0 001.745.723 3.066 3.066 0 012.812 2.812c.051.643.304 1.254.723 1.745a3.066 3.066 0 010 3.976 3.066 3.066 0 00-.723 1.745 3.066 3.066 0 01-2.812 2.812 3.066 3.066 0 00-1.745.723 3.066 3.066 0 01-3.976 0 3.066 3.066 0 00-1.745-.723 3.066 3.066 0 01-2.812-2.812 3.066 3.066 0 00-.723-1.745 3.066 3.066 0 010-3.976 3.066 3.066 0 00.723-1.745 3.066 3.066 0 012.812-2.812zm7.44 5.252a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"/>
</svg>
<span class="text-sm font-medium text-white">Trusted Software Partner Since 2022</span>
<span class="text-sm font-medium text-white">Trusted by 20+ teams · Deployed across 11 districts</span>
</div>
<!-- Main heading with gradient -->
<!-- Main heading — benefit-led: outcome + audience -->
<h1 class="text-5xl sm:text-6xl lg:text-7xl xl:text-8xl font-bold text-white leading-[1.1] tracking-tight">
<span class="block opacity-0 animate-slide-up" style="animation-delay: 0.2s;">Build Software</span>
<span class="block opacity-0 animate-slide-up" style="animation-delay: 0.4s;">That <span class="text-transparent bg-clip-text bg-gradient-to-r from-primary-400 via-primary-300 to-accent-400">Scales</span></span>
<span class="block opacity-0 animate-slide-up" style="animation-delay: 0.2s;">Custom Software That</span>
<span class="block opacity-0 animate-slide-up" style="animation-delay: 0.4s;">Powers <span class="text-transparent bg-clip-text bg-gradient-to-r from-primary-400 via-primary-300 to-accent-400">Enterprises &amp; Governments</span></span>
</h1>
<p class="mt-8 text-xl sm:text-2xl text-secondary-200 max-w-3xl mx-auto opacity-0 animate-slide-up leading-relaxed" style="animation-delay: 0.6s;">
Expert software development for web, mobile, ERP, and government systems. We transform your ideas into production-ready solutions that deliver real business value.
WorkRoot designs, builds, and runs production-grade web, mobile, and ERP systems for startups, enterprises, and government bodies.
</p>
<!-- Dual CTA Buttons -->
<!-- Dual CTA Buttons — action verb + clear secondary -->
<div class="mt-12 flex flex-wrap justify-center gap-4 opacity-0 animate-slide-up" style="animation-delay: 0.8s;">
<a
href="/contact"
href="/contact?source=hero"
data-cta="hero-primary"
class="group inline-flex items-center justify-center rounded-xl bg-gradient-to-r from-primary-500 to-primary-600 px-10 py-5 text-lg font-bold text-white transition-all hover:shadow-2xl hover:shadow-primary/50 hover:scale-105 focus:outline-none focus:ring-2 focus:ring-primary-400 focus:ring-offset-2 focus:ring-offset-secondary-900"
>
Start Your Project
<svg class="ml-2 w-5 h-5 group-hover:translate-x-1 transition-transform" fill="none" stroke="currentColor" viewBox="0 0 24 24">
Get a free consultation
<svg class="ml-2 w-5 h-5 group-hover:translate-x-1 transition-transform" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 8l4 4m0 0l-4 4m4-4H3"></path>
</svg>
</a>
<a
href="/portfolio"
data-cta="hero-secondary"
class="group inline-flex items-center justify-center rounded-xl border-2 border-white/30 bg-white/5 backdrop-blur-sm px-10 py-5 text-lg font-bold text-white transition-all hover:bg-white/10 hover:border-white/50 focus:outline-none focus:ring-2 focus:ring-white/50 focus:ring-offset-2 focus:ring-offset-secondary-900"
>
<svg class="mr-2 w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<svg class="mr-2 w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"></path>
</svg>
View Our Work
See our work
</a>
</div>
<!-- Social Proof Logos/Stats -->
<div class="mt-20 opacity-0 animate-slide-up" style="animation-delay: 1s;">
<!-- Micro-trust line under CTAs -->
<p class="mt-6 text-sm sm:text-base text-secondary-300 opacity-0 animate-slide-up flex flex-wrap items-center justify-center gap-x-3 gap-y-2" style="animation-delay: 0.9s;" aria-label="Trust signals">
<span class="inline-flex items-center gap-2">
<svg class="w-4 h-4 text-accent-400" fill="currentColor" viewBox="0 0 20 20" aria-hidden="true">
<path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"/>
</svg>
Free 30-min discovery call
</span>
<span class="hidden sm:inline text-secondary-500" aria-hidden="true">·</span>
<span>Reply within 1 business day</span>
<span class="hidden sm:inline text-secondary-500" aria-hidden="true">·</span>
<span>No commitment</span>
</p>
<!-- Tech stack proof strip -->
<div class="mt-16 opacity-0 animate-slide-up" style="animation-delay: 1s;">
<p class="text-sm text-secondary-400 uppercase tracking-wider mb-8">Powered By Industry Leaders</p>
<div class="flex flex-wrap justify-center items-center gap-12 opacity-60" role="list" aria-label="Technologies we use">
<div class="text-2xl font-bold text-white" role="listitem">Angular</div>
@@ -223,7 +249,7 @@ const faqs = [
<!-- Scroll indicator -->
<div class="absolute bottom-8 left-1/2 -translate-x-1/2 opacity-0 animate-fade-in" style="animation-delay: 1.2s;">
<a href="#benefits" class="flex flex-col items-center text-white/60 hover:text-white transition-colors group" aria-label="Scroll to benefits">
<a href="#client-logos" class="flex flex-col items-center text-white/60 hover:text-white transition-colors group" aria-label="Scroll to clients">
<span class="text-sm mb-2">Discover More</span>
<svg class="w-6 h-6 animate-bounce" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 14l-7 7m0 0l-7-7m7 7V3"></path>
@@ -232,6 +258,11 @@ const faqs = [
</div>
</section>
<!-- Client Logos / Social Proof Strip -->
<div id="client-logos">
<ClientLogos />
</div>
<!-- Benefits Section - NEW -->
<section id="benefits" class="py-24 bg-white dark:bg-secondary-900">
<div class="container-wrapper">
@@ -323,8 +354,9 @@ const faqs = [
)}
</div>
<h3 class="text-2xl font-bold text-secondary-900 dark:text-secondary-100 mb-4">{service.title}</h3>
<p class="text-secondary-600 dark:text-secondary-400 text-lg mb-6 leading-relaxed">{service.description}</p>
<h3 class="text-2xl font-bold text-secondary-900 dark:text-secondary-100 mb-3">{service.title}</h3>
<p class="text-lg font-semibold text-primary-700 dark:text-primary-300 mb-4 leading-snug">{service.outcome}</p>
<p class="text-secondary-600 dark:text-secondary-400 text-base mb-6 leading-relaxed">{service.description}</p>
<!-- Features list -->
<ul class="space-y-3">
@@ -339,12 +371,16 @@ const faqs = [
</ul>
<!-- Learn more arrow -->
<div class="mt-6 flex items-center text-primary-600 dark:text-primary-400 font-semibold group-hover:text-primary-700 dark:group-hover:text-primary-300 transition-colors">
<span>Learn More</span>
<svg class="w-5 h-5 ml-2 group-hover:translate-x-2 transition-transform" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<a
href={`/services#${service.slug}`}
class="mt-6 inline-flex items-center text-primary-600 dark:text-primary-400 font-semibold group-hover:text-primary-700 dark:group-hover:text-primary-300 transition-colors focus:outline-none focus:underline"
aria-label={`Learn more about ${service.title}`}
>
<span>Learn more</span>
<svg class="w-5 h-5 ml-2 group-hover:translate-x-2 transition-transform" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 8l4 4m0 0l-4 4m4-4H3"></path>
</svg>
</div>
</a>
</div>
<!-- Number badge -->
@@ -407,8 +443,8 @@ const faqs = [
</div>
<div class="text-center mt-16">
<a href="/contact" class="inline-flex items-center justify-center rounded-xl bg-white px-10 py-5 text-lg font-bold text-secondary-900 transition-all hover:shadow-2xl hover:scale-105 focus:outline-none focus:ring-2 focus:ring-white focus:ring-offset-2 focus:ring-offset-secondary-900">
Start Your Journey
<a href="/contact?source=process" data-cta="process-cta" class="inline-flex items-center justify-center rounded-xl bg-white px-10 py-5 text-lg font-bold text-secondary-900 transition-all hover:shadow-2xl hover:scale-105 focus:outline-none focus:ring-2 focus:ring-white focus:ring-offset-2 focus:ring-offset-secondary-900">
Book a discovery call
<svg class="ml-2 w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 8l4 4m0 0l-4 4m4-4H3"></path>
</svg>
@@ -611,30 +647,48 @@ const faqs = [
<div class="container-wrapper text-center relative z-10">
<div class="max-w-4xl mx-auto" data-animate="fade-up">
<h2 class="text-4xl sm:text-5xl lg:text-6xl font-bold text-white mb-8 leading-tight">
Ready to Build Something <span class="text-transparent bg-clip-text bg-gradient-to-r from-primary-300 to-accent-400">Amazing?</span>
Ready to ship your next <span class="text-transparent bg-clip-text bg-gradient-to-r from-primary-300 to-accent-400">production system?</span>
</h2>
<p class="text-xl sm:text-2xl text-secondary-200 mb-12 max-w-2xl mx-auto leading-relaxed">
Let's turn your vision into reality. Get in touch and we'll schedule a free consultation to discuss your project.
<p class="text-xl sm:text-2xl text-secondary-200 mb-10 max-w-2xl mx-auto leading-relaxed">
Tell us about your project and we'll send back a free, no-obligation scope and timeline within one business day.
</p>
<!-- What you'll get — reduces signup friction -->
<ul class="flex flex-wrap justify-center gap-x-6 gap-y-3 mb-10 text-secondary-200 text-sm sm:text-base" aria-label="What you get when you reach out">
<li class="inline-flex items-center gap-2">
<svg class="w-5 h-5 text-accent-400" fill="currentColor" viewBox="0 0 20 20" aria-hidden="true"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"/></svg>
Free 30-min discovery call
</li>
<li class="inline-flex items-center gap-2">
<svg class="w-5 h-5 text-accent-400" fill="currentColor" viewBox="0 0 20 20" aria-hidden="true"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"/></svg>
Fixed-price scope &amp; timeline
</li>
<li class="inline-flex items-center gap-2">
<svg class="w-5 h-5 text-accent-400" fill="currentColor" viewBox="0 0 20 20" aria-hidden="true"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"/></svg>
NDA on request
</li>
</ul>
<div class="flex flex-wrap justify-center gap-6">
<a
href="/contact"
href="/contact?source=final-cta"
data-cta="final-primary"
class="group inline-flex items-center justify-center rounded-xl bg-white px-12 py-6 text-lg font-bold text-secondary-900 transition-all hover:shadow-2xl hover:shadow-white/30 hover:scale-105 focus:outline-none focus:ring-2 focus:ring-white focus:ring-offset-2 focus:ring-offset-primary-900"
>
Get Started Today
<svg class="ml-2 w-5 h-5 group-hover:translate-x-1 transition-transform" fill="none" stroke="currentColor" viewBox="0 0 24 24">
Get my free consultation
<svg class="ml-2 w-5 h-5 group-hover:translate-x-1 transition-transform" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M17 8l4 4m0 0l-4 4m4-4H3"></path>
</svg>
</a>
<a
href="/portfolio"
data-cta="final-secondary"
class="inline-flex items-center justify-center rounded-xl border-2 border-white/30 bg-white/5 backdrop-blur-sm px-12 py-6 text-lg font-bold text-white transition-all hover:bg-white/10 hover:border-white/50 focus:outline-none focus:ring-2 focus:ring-white/50 focus:ring-offset-2 focus:ring-offset-primary-900"
>
<svg class="mr-2 w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<svg class="mr-2 w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"></path>
</svg>
View Case Studies
See case studies
</a>
</div>