-
UK Data Services
+ UK AI Automation
403
Access Forbidden
diff --git a/404.php b/404.php
index 2243410..5c278e6 100644
--- a/404.php
+++ b/404.php
@@ -1,7 +1,7 @@
@@ -41,7 +41,7 @@ $page_description = "The page you're looking for doesn't exist. Explore our data
.error-code {
font-size: 8rem;
font-weight: 700;
- color: #144784;
+ color: #7c3aed;
margin-bottom: 20px;
line-height: 1;
}
diff --git a/500.php b/500.php
index deba5f7..d33d784 100644
--- a/500.php
+++ b/500.php
@@ -12,7 +12,7 @@ error_log('500 Error triggered: ' . date('Y-m-d H:i:s') . ' - IP: ' . $_SERVER['
-
Service Temporarily Unavailable - UK Data Services
+
Service Temporarily Unavailable - UK AI Automation
@@ -21,7 +21,7 @@ error_log('500 Error triggered: ' . date('Y-m-d H:i:s') . ' - IP: ' . $_SERVER['
font-family: 'Arial', sans-serif;
margin: 0;
padding: 0;
- background: linear-gradient(135deg, #144784 0%, #179e83 100%);
+ background: linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%);
color: white;
min-height: 100vh;
display: flex;
@@ -87,7 +87,7 @@ error_log('500 Error triggered: ' . date('Y-m-d H:i:s') . ' - IP: ' . $_SERVER['
-
UK Data Services
+ UK AI Automation
500
Service Temporarily Unavailable
@@ -95,13 +95,13 @@ error_log('500 Error triggered: ' . date('Y-m-d H:i:s') . ' - IP: ' . $_SERVER['
diff --git a/META_TAGS_TEMPLATE.php b/META_TAGS_TEMPLATE.php
deleted file mode 100644
index fb032ec..0000000
--- a/META_TAGS_TEMPLATE.php
+++ /dev/null
@@ -1,422 +0,0 @@
- tag
- * Replace variables with page-specific content
- * Ensure character limits are respected:
- * - Title: 50-60 characters
- * - Description: 150-160 characters
- */
-
-// ===========================================================================
-// HOMEPAGE / MAIN PAGES TEMPLATE
-// ===========================================================================
-?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
| UK Data Services Blog
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "https://schema.org",
- "@type" => "Organization",
- "@id" => "https://ukdataservices.co.uk#organization",
- "name" => "UK Data Services",
- "url" => "https://ukdataservices.co.uk",
- "logo" => "https://ukdataservices.co.uk/assets/images/ukds-main-logo.png",
- "description" => "Professional web scraping and data analytics services",
- "sameAs" => [
- "https://twitter.com/ukdataservices",
- "https://www.linkedin.com/company/uk-data-services",
- "https://www.facebook.com/ukdataservices"
- ]
-];
-?>
-
-
-
-
-
-
-
-
-
-
diff --git a/about.php b/about.php
index 5d087bf..f582bb9 100644
--- a/about.php
+++ b/about.php
@@ -2,9 +2,9 @@
// Enhanced security headers
header('Strict-Transport-Security: max-age=31536000; includeSubDomains');
-$page_title = "About Our UK Web Scraping Company | UK Data Services";
-$page_description = "Meet the experts at UK Data Services, a leading UK web scraping company. We are GDPR compliant, and committed to delivering 99.8% accura...";
-$canonical_url = "https://ukdataservices.co.uk/about";
+$page_title = "About | UK AI Automation - Python & AI Automation Consultant";
+$page_description = "Peter Foster â UK-based AI automation consultant with 10+ years experience. I help legal and consultancy firms automate manual data and research workflows.";
+$canonical_url = "https://ukaiautomation.co.uk/about";
// Breadcrumb navigation
$breadcrumbs = [
@@ -19,8 +19,8 @@ $breadcrumbs = [
-
-
+
+
@@ -29,7 +29,7 @@ $breadcrumbs = [
-
+
@@ -37,7 +37,7 @@ $breadcrumbs = [
-
+
@@ -51,14 +51,14 @@ $breadcrumbs = [
{
"@context": "https://schema.org",
"@type": "AboutPage",
- "@id": "https://ukdataservices.co.uk/about#webpage",
- "url": "https://ukdataservices.co.uk/about",
- "name": "About UK Data Services",
- "description": "Learn about UK Data Services, our expert team, values, and commitment to delivering professional data solutions since 2013.",
+ "@id": "https://ukaiautomation.co.uk/about#webpage",
+ "url": "https://ukaiautomation.co.uk/about",
+ "name": "About UK AI Automation",
+ "description": "Learn about UK AI Automation, our expert team, values, and commitment to delivering professional data solutions since 2013.",
"mainEntity": {
"@type": "Organization",
- "@id": "https://ukdataservices.co.uk#organization",
- "name": "UK Data Services",
+ "@id": "https://ukaiautomation.co.uk#organization",
+ "name": "UK AI Automation",
"foundingDate": "2013",
"description": "Professional data solutions provider specializing in web scraping, data extraction, and business intelligence services.",
"knowsAbout": [
@@ -86,7 +86,7 @@ $breadcrumbs = [
"name": "Senior Data Engineers",
"jobTitle": "Data Engineering Team",
"worksFor": {
- "@id": "https://ukdataservices.co.uk#organization"
+ "@id": "https://ukaiautomation.co.uk#organization"
}
}
]
@@ -99,7 +99,7 @@ $breadcrumbs = [
\ No newline at end of file
diff --git a/admin/spam-dashboard.php b/admin/spam-dashboard.php
index 2e41725..d7348f9 100644
--- a/admin/spam-dashboard.php
+++ b/admin/spam-dashboard.php
@@ -83,16 +83,16 @@ $spamPatterns['top_ips'] = array_slice($ipCounts, 0, 10, true);
-
Spam Analysis Dashboard - UK Data Services
+
Spam Analysis Dashboard - UK AI Automation
diff --git a/admin/view-submissions.php b/admin/view-submissions.php
index 76ca5ae..89f63a4 100644
--- a/admin/view-submissions.php
+++ b/admin/view-submissions.php
@@ -26,7 +26,7 @@ if (!isset($_SESSION['authenticated']) || $_SESSION['authenticated'] !== true) {
body { font-family: Arial, sans-serif; background: #f5f5f5; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; }
.login-form { background: white; padding: 30px; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
input[type="password"] { padding: 10px; width: 200px; margin-bottom: 10px; }
- button { padding: 10px 20px; background: #179e83; color: white; border: none; border-radius: 4px; cursor: pointer; }
+ button { padding: 10px 20px; background: #6d28d9; color: white; border: none; border-radius: 4px; cursor: pointer; }
.error { color: red; margin-bottom: 10px; }
@@ -133,7 +133,7 @@ if (isset($_GET['export']) && $_GET['export'] === 'csv') {
.stat-value {
font-size: 36px;
font-weight: bold;
- color: #179e83;
+ color: #6d28d9;
}
.stat-label {
color: #666;
@@ -162,7 +162,7 @@ if (isset($_GET['export']) && $_GET['export'] === 'csv') {
font-size: 14px;
}
.submission-email {
- color: #179e83;
+ color: #6d28d9;
font-weight: 500;
}
.submission-details {
@@ -184,7 +184,7 @@ if (isset($_GET['export']) && $_GET['export'] === 'csv') {
}
.btn {
padding: 10px 20px;
- background: #179e83;
+ background: #6d28d9;
color: white;
text-decoration: none;
border-radius: 4px;
diff --git a/api/fetch-robots.php b/api/fetch-robots.php
index c082bba..4aa1f53 100644
--- a/api/fetch-robots.php
+++ b/api/fetch-robots.php
@@ -80,7 +80,7 @@ if (preg_match("/^(::1|fe80:|fc00:|fd00:)/i", $ip)) {
$context = stream_context_create([
"http" => [
"timeout" => 10,
- "user_agent" => "UK Data Services Robots Analyzer (+https://ukdataservices.co.uk/tools/robots-analyzer)",
+ "user_agent" => "UK AI Automation Robots Analyzer (+https://ukaiautomation.co.uk/tools/robots-analyzer)",
"follow_location" => true,
"max_redirects" => 3
],
diff --git a/api/lead-capture.php b/api/lead-capture.php
index 8ac39d7..ddfdd35 100644
--- a/api/lead-capture.php
+++ b/api/lead-capture.php
@@ -31,6 +31,6 @@ $log_entry = date("Y-m-d H:i:s") . " | $email | $source | $page\n";
file_put_contents("/var/www/ukds/api/leads.log", $log_entry, FILE_APPEND | LOCK_EX);
// Send notification email (optional - uncomment if you want email alerts)
-// mail("peter.foster@ukdataservices.co.uk", "New Lead: $email", "Source: $source\nPage: $page");
+// mail("peter.foster@ukaiautomation.co.uk", "New Lead: $email", "Source: $source\nPage: $page");
echo json_encode(["success" => true, "message" => "Lead captured"]);
diff --git a/assets/css/cro-enhancements.css b/assets/css/cro-enhancements.css
index 842134a..1ac891a 100644
--- a/assets/css/cro-enhancements.css
+++ b/assets/css/cro-enhancements.css
@@ -1,15 +1,15 @@
/* Mid-Article CTA Box */
.inline-cta {
- background: linear-gradient(135deg, #f0f7ff 0%, #e8f4fd 100%);
+ background: linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%);
padding: 24px 28px;
- border-left: 4px solid #0066cc;
+ border-left: 4px solid #4f46e5;
margin: 40px 0;
border-radius: 0 8px 8px 0;
box-shadow: 0 2px 8px rgba(0,102,204,0.1);
}
.inline-cta h4 {
margin: 0 0 12px 0;
- color: #0066cc;
+ color: #4f46e5;
font-size: 1.1em;
}
.inline-cta p {
@@ -19,7 +19,7 @@
}
.inline-cta .cta-link {
display: inline-block;
- background: #0066cc;
+ background: #4f46e5;
color: #fff !important;
padding: 12px 24px;
border-radius: 6px;
@@ -28,7 +28,7 @@
transition: all 0.2s;
}
.inline-cta .cta-link:hover {
- background: #0052a3;
+ background: #4338ca;
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(0,102,204,0.3);
}
@@ -39,7 +39,7 @@
bottom: 0;
left: 0;
right: 0;
- background: linear-gradient(90deg, #1a1a2e 0%, #16213e 100%);
+ background: linear-gradient(90deg, #1e1b4b 0%, #1e1b4b 100%);
padding: 12px 20px;
display: flex;
justify-content: center;
@@ -117,7 +117,7 @@
}
.exit-popup h3 {
margin: 0 0 15px 0;
- color: #1a1a2e;
+ color: #1e1b4b;
font-size: 1.5em;
}
.exit-popup p {
@@ -145,12 +145,12 @@
box-sizing: border-box;
}
.exit-popup input[type="email"]:focus {
- border-color: #0066cc;
+ border-color: #4f46e5;
outline: none;
}
.exit-popup .btn-primary {
width: 100%;
- background: #0066cc;
+ background: #4f46e5;
color: #fff;
padding: 14px;
border: none;
@@ -160,7 +160,7 @@
cursor: pointer;
}
.exit-popup .btn-primary:hover {
- background: #0052a3;
+ background: #4338ca;
}
.exit-popup .no-thanks {
display: block;
@@ -206,7 +206,7 @@
color: #333;
}
.case-study-inline .content a {
- color: #0066cc;
+ color: #4f46e5;
font-weight: 600;
}
diff --git a/assets/css/main.css b/assets/css/main.css
index 0ebeedb..bfd0001 100644
--- a/assets/css/main.css
+++ b/assets/css/main.css
@@ -64,19 +64,19 @@ input[type="number"], textarea, [contenteditable="true"] {
display: inline-flex;
align-items: center;
justify-content: center;
- background: #148069;
+ background: #4f46e5;
color: white;
}
.btn-primary {
- background: #148069;
+ background: #4f46e5;
color: white !important;
text-decoration: none !important;
}
.btn-primary:hover {
transform: translateY(-2px);
- background: #11725e;
+ background: #4338ca;
box-shadow: 0 4px 16px rgba(23, 158, 131, 0.3);
color: white !important;
text-decoration: none !important;
@@ -84,13 +84,13 @@ input[type="number"], textarea, [contenteditable="true"] {
.btn-secondary {
background: white;
- color: #144784 !important;
- border: 2px solid #144784;
+ color: #7c3aed !important;
+ border: 2px solid #7c3aed;
text-decoration: none !important;
}
.btn-secondary:hover {
- background: #144784;
+ background: #7c3aed;
color: white !important;
transform: translateY(-2px);
text-decoration: none !important;
@@ -101,7 +101,7 @@ input[type="number"], textarea, [contenteditable="true"] {
}
.highlight {
- background: linear-gradient(135deg, #179e83, #1bbc9b);
+ background: linear-gradient(135deg, #6d28d9, #1bbc9b);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
@@ -171,13 +171,13 @@ input[type="number"], textarea, [contenteditable="true"] {
transition: color 0.3s ease;
}
-.nav-link.active { color: #148069; font-weight: 600; border-bottom: 2px solid #148069; padding-bottom: 2px;}
+.nav-link.active { color: #4f46e5; font-weight: 600; border-bottom: 2px solid #4f46e5; padding-bottom: 2px;}
.nav-link:hover {
- color: #0d3a6e;
+ color: #1e1b4b;
}
.nav-link.cta-button {
- background: #148069;
+ background: #4f46e5;
color: white;
padding: 10px 20px;
border-radius: 6px;
@@ -186,7 +186,7 @@ input[type="number"], textarea, [contenteditable="true"] {
.nav-link.cta-button:hover {
transform: translateY(-2px);
- background: #11725e;
+ background: #4338ca;
box-shadow: 0 4px 16px rgba(23, 158, 131, 0.3);
}
@@ -214,7 +214,7 @@ input[type="number"], textarea, [contenteditable="true"] {
/* Hero Section */
.hero {
padding: 120px 0 80px;
- background: linear-gradient(135deg, #252d3b 0%, #144784 100%);
+ background: linear-gradient(135deg, #1e1b4b 0%, #7c3aed 100%);
min-height: 100vh;
display: flex;
align-items: center;
@@ -460,7 +460,7 @@ input[type="number"], textarea, [contenteditable="true"] {
content: 'â';
position: absolute;
left: 0;
- color: #148069;
+ color: #4f46e5;
font-weight: bold;
}
@@ -487,7 +487,7 @@ input[type="number"], textarea, [contenteditable="true"] {
}
.step-number {
- background: #148069;
+ background: #4f46e5;
color: white;
width: 60px;
height: 60px;
@@ -611,7 +611,7 @@ input[type="number"], textarea, [contenteditable="true"] {
}
.contact-item a {
- color: #148069;
+ color: #4f46e5;
text-decoration: none;
}
@@ -654,7 +654,7 @@ input[type="number"], textarea, [contenteditable="true"] {
.form-group select:focus,
.form-group textarea:focus {
outline: none;
- border-color: #148069;
+ border-color: #4f46e5;
box-shadow: 0 0 0 3px rgba(23, 158, 131, 0.1);
}
@@ -692,7 +692,7 @@ input[type="number"], textarea, [contenteditable="true"] {
/* Footer */
.footer {
- background: #151f25;
+ background: #1e1b4b;
color: white;
padding: 60px 0 30px;
}
@@ -726,7 +726,7 @@ input[type="number"], textarea, [contenteditable="true"] {
}
.footer-section a:hover {
- color: #148069;
+ color: #4f46e5;
}
.footer-logo img {
@@ -1120,7 +1120,7 @@ img {
}
.article-meta .category {
- background: #148069;
+ background: #4f46e5;
color: white;
padding: 5px 12px;
border-radius: 15px;
@@ -1162,7 +1162,7 @@ img {
}
.featured-article h3 a:hover {
- color: #148069;
+ color: #4f46e5;
}
.featured-article p {
@@ -1181,14 +1181,14 @@ img {
}
.article-footer .read-more {
- color: #148069;
+ color: #4f46e5;
text-decoration: none;
font-weight: 500;
transition: color 0.3s ease;
}
.article-footer .read-more:hover {
- color: #144784;
+ color: #7c3aed;
text-decoration: underline;
}
@@ -1240,7 +1240,7 @@ img {
}
.article-card h3 a:hover {
- color: #148069;
+ color: #4f46e5;
}
.article-card p {
@@ -1264,7 +1264,7 @@ img {
.blog-newsletter {
padding: 80px 0;
- background: linear-gradient(135deg, #144784 0%, #179e83 100%);
+ background: linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%);
color: white;
text-align: center;
}
@@ -1379,17 +1379,17 @@ img {
}
.article-share a {
- color: #148069;
+ color: #4f46e5;
text-decoration: none;
font-weight: 500;
padding: 8px 16px;
- border: 1px solid #179e83;
+ border: 1px solid #6d28d9;
border-radius: 6px;
transition: all 0.3s ease;
}
.article-share a:hover {
- background: #148069;
+ background: #4f46e5;
color: white;
}
@@ -1435,19 +1435,19 @@ img {
.article-toc li::before {
content: counter(toc-counter) ". ";
- color: #148069;
+ color: #4f46e5;
font-weight: 600;
}
.article-toc a {
- color: #144784;
+ color: #7c3aed;
text-decoration: none;
font-weight: 500;
transition: color 0.3s ease;
}
.article-toc a:hover {
- color: #0b6b54;
+ color: #3730a3;
text-decoration: underline;
}
@@ -1511,7 +1511,7 @@ img {
position: absolute;
top: 10px;
right: 10px;
- background: #148069;
+ background: #4f46e5;
color: white;
padding: 5px 10px;
border-radius: 4px;
@@ -1522,11 +1522,11 @@ img {
.article-content pre[data-copied]:hover::before {
content: 'â
Copied!';
- background: #10b981;
+ background: #818cf8;
}
.article-content pre:hover {
- border-color: #148069;
+ border-color: #4f46e5;
box-shadow: 0 2px 8px rgba(23, 158, 131, 0.1);
}
@@ -1535,7 +1535,7 @@ img {
font-weight: 600;
margin: 40px 0 20px;
color: #1a1a1a;
- border-bottom: 2px solid #179e83;
+ border-bottom: 2px solid #6d28d9;
padding-bottom: 10px;
}
@@ -1543,7 +1543,7 @@ img {
font-size: 1.5rem;
font-weight: 600;
margin: 30px 0 15px;
- color: #0d3a6e;
+ color: #1e1b4b;
}
.article-content p {
@@ -1563,18 +1563,18 @@ img {
}
.article-content a {
- color: #0b6b54;
+ color: #3730a3;
text-decoration: underline;
transition: color 0.3s ease;
}
.article-content a:hover {
- color: #0d3a6e;
+ color: #1e1b4b;
}
.callout-box {
background: #f8f9fa;
- border-left: 4px solid #179e83;
+ border-left: 4px solid #6d28d9;
padding: 20px;
margin: 30px 0;
border-radius: 0 8px 8px 0;
@@ -1610,13 +1610,13 @@ img {
.comparison-item h4 {
margin-bottom: 15px;
- color: #144784;
+ color: #7c3aed;
font-size: 1.2rem;
}
.best-practice-box {
background: linear-gradient(135deg, #e8f5f3 0%, #f0f9ff 100%);
- border: 1px solid #179e83;
+ border: 1px solid #6d28d9;
border-radius: 12px;
padding: 25px;
margin: 30px 0;
@@ -1624,7 +1624,7 @@ img {
.best-practice-box h3 {
margin-top: 0;
- color: #0d3a6e;
+ color: #1e1b4b;
}
/* Image optimization */
@@ -1654,7 +1654,7 @@ a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
- outline: 2px solid #179e83;
+ outline: 2px solid #6d28d9;
outline-offset: 2px;
box-shadow: 0 0 0 4px rgba(23, 158, 131, 0.1);
}
@@ -1666,14 +1666,14 @@ textarea:focus-visible {
left: 0;
width: 0%;
height: 3px;
- background: linear-gradient(90deg, #179e83, #144784);
+ background: linear-gradient(90deg, #6d28d9, #7c3aed);
z-index: 999;
transition: width 0.3s ease;
}
/* Category link styles */
.category-link {
- background: #148069;
+ background: #4f46e5;
color: white !important;
padding: 5px 12px;
border-radius: 15px;
@@ -1683,7 +1683,7 @@ textarea:focus-visible {
}
.category-link:hover {
- background: #144784;
+ background: #7c3aed;
color: white !important;
text-decoration: none;
}
@@ -1697,7 +1697,7 @@ textarea:focus-visible {
height: 20px;
margin: -10px 0 0 -10px;
border: 2px solid #f3f3f3;
- border-top: 2px solid #179e83;
+ border-top: 2px solid #6d28d9;
border-radius: 50%;
animation: spin 1s linear infinite;
}
@@ -1724,7 +1724,7 @@ textarea:focus-visible {
}
.notification-success {
- background: #10b981;
+ background: #818cf8;
}
.notification-error {
@@ -1768,7 +1768,7 @@ textarea:focus-visible {
height: 50px;
border: none;
border-radius: 50%;
- background: linear-gradient(135deg, #179e83 0%, #144784 100%);
+ background: linear-gradient(135deg, #6d28d9 0%, #7c3aed 100%);
color: white;
font-size: 20px;
cursor: pointer;
@@ -1809,7 +1809,7 @@ textarea:focus-visible {
.form-group.success input,
.form-group.success select,
.form-group.success textarea {
- border-color: #10b981;
+ border-color: #818cf8;
box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}
@@ -1914,7 +1914,7 @@ input:focus,
select:focus,
textarea:focus,
a:focus {
- outline: 2px solid #179e83;
+ outline: 2px solid #6d28d9;
outline-offset: 2px;
}
@@ -1960,7 +1960,7 @@ input:focus-visible,
select:focus-visible,
textarea:focus-visible,
a:focus-visible {
- outline: 2px solid #179e83;
+ outline: 2px solid #6d28d9;
outline-offset: 2px;
box-shadow: 0 0 0 4px rgba(23, 158, 131, 0.1);
}
@@ -1970,7 +1970,7 @@ a:focus-visible {
position: absolute;
top: -40px;
left: 6px;
- background: #148069;
+ background: #4f46e5;
color: white;
padding: 8px;
border-radius: 4px;
@@ -2013,7 +2013,7 @@ a:focus-visible {
.form-group input:focus + label,
.form-group select:focus + label,
.form-group textarea:focus + label {
- color: #148069;
+ color: #4f46e5;
}
/* Status indicators */
@@ -2026,7 +2026,7 @@ a:focus-visible {
}
.status-online {
- background: #10b981;
+ background: #818cf8;
box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.3);
animation: pulse-green 2s infinite;
}
@@ -2101,14 +2101,14 @@ a:focus-visible {
}
.breadcrumb a {
- color: #144784;
+ color: #7c3aed;
text-decoration: none;
font-weight: 500;
transition: color 0.3s ease;
}
.breadcrumb a:hover {
- color: #0b6b54;
+ color: #3730a3;
text-decoration: underline;
}
@@ -2119,7 +2119,7 @@ a:focus-visible {
/* Page Hero Section */
.page-hero {
- background: linear-gradient(135deg, #144784 0%, #179e83 100%);
+ background: linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%);
color: white;
padding: 120px 0 80px;
text-align: center;
@@ -2208,7 +2208,7 @@ a:focus-visible {
/* Service Hero Section */
.service-hero {
- background: linear-gradient(135deg, #144784 0%, #179e83 100%);
+ background: linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%);
color: white;
padding: 120px 0 80px;
text-align: center;
@@ -2319,7 +2319,7 @@ a:focus-visible {
content: 'â';
position: absolute;
left: 0;
- color: #148069;
+ color: #4f46e5;
font-weight: bold;
}
@@ -2362,7 +2362,7 @@ a:focus-visible {
font-size: 1.3rem;
font-weight: 600;
margin-bottom: 12px;
- color: #0d3a6e;
+ color: #1e1b4b;
}
.industry-card p {
@@ -2403,7 +2403,7 @@ a:focus-visible {
}
.pricing-card.featured {
- border-color: #148069;
+ border-color: #4f46e5;
transform: scale(1.05);
box-shadow: 0 8px 40px rgba(23, 158, 131, 0.15);
}
@@ -2414,7 +2414,7 @@ a:focus-visible {
top: -12px;
left: 50%;
transform: translateX(-50%);
- background: #148069;
+ background: #4f46e5;
color: white;
padding: 8px 20px;
border-radius: 20px;
@@ -2432,7 +2432,7 @@ a:focus-visible {
.pricing-card .price {
font-size: 3rem;
font-weight: 700;
- color: #148069;
+ color: #4f46e5;
margin-bottom: 30px;
line-height: 1;
}
@@ -2501,7 +2501,7 @@ a:focus-visible {
}
.faq-item h3 {
- background: #144784;
+ background: #7c3aed;
color: white;
padding: 20px;
margin: 0;
@@ -2559,7 +2559,7 @@ a:focus-visible {
font-size: 1.3rem;
font-weight: 600;
margin-bottom: 12px;
- color: #0d3a6e;
+ color: #1e1b4b;
}
.category-card p {
@@ -2583,7 +2583,7 @@ a:focus-visible {
font-weight: 600;
margin-bottom: 40px;
color: #1a1a1a;
- border-bottom: 3px solid #179e83;
+ border-bottom: 3px solid #6d28d9;
padding-bottom: 10px;
}
@@ -2613,7 +2613,7 @@ a:focus-visible {
.faq-question[aria-expanded="true"],
.faq-question.active {
- background: #148069;
+ background: #4f46e5;
color: white;
}
@@ -2663,7 +2663,7 @@ a:focus-visible {
.faq-cta {
padding: 80px 0;
- background: linear-gradient(135deg, #144784 0%, #179e83 100%);
+ background: linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%);
color: white;
text-align: center;
}
@@ -2732,7 +2732,7 @@ a:focus-visible {
/* CTA Section */
.cta {
padding: 80px 0;
- background: linear-gradient(135deg, #144784 0%, #179e83 100%);
+ background: linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%);
color: white;
text-align: center;
}
@@ -2771,7 +2771,7 @@ a:focus-visible {
}
.case-study.featured {
- border: 2px solid #179e83;
+ border: 2px solid #6d28d9;
box-shadow: 0 8px 40px rgba(23, 158, 131, 0.15);
}
@@ -2824,7 +2824,7 @@ a:focus-visible {
font-size: 1.2rem;
font-weight: 600;
margin-bottom: 15px;
- color: #0d3a6e;
+ color: #1e1b4b;
}
.results-grid {
@@ -2844,7 +2844,7 @@ a:focus-visible {
.result-number {
font-size: 2rem;
font-weight: 700;
- color: #148069;
+ color: #4f46e5;
display: block;
margin-bottom: 5px;
}
@@ -2860,7 +2860,7 @@ a:focus-visible {
padding: 30px;
border-radius: 12px;
margin-top: 30px;
- border-left: 4px solid #179e83;
+ border-left: 4px solid #6d28d9;
}
.testimonial p {
@@ -2940,13 +2940,13 @@ a:focus-visible {
font-size: 1.3rem;
font-weight: 600;
margin-bottom: 15px;
- color: #0d3a6e;
+ color: #1e1b4b;
}
.industry-stat .stat-number {
font-size: 2.5rem;
font-weight: 700;
- color: #148069;
+ color: #4f46e5;
display: block;
margin-bottom: 5px;
}
@@ -3021,11 +3021,11 @@ aside.related-articles {
.related-card h3 a:hover,
.related-card h4 a:hover {
- color: #148069;
+ color: #4f46e5;
}
.related-card .category {
- background: #148069;
+ background: #4f46e5;
color: white;
padding: 4px 12px;
border-radius: 20px;
@@ -3047,7 +3047,7 @@ aside.related-articles {
}
.related-card .read-time {
- color: #148069;
+ color: #4f46e5;
font-size: 14px;
font-weight: 500;
}
@@ -3110,7 +3110,7 @@ aside.related-articles {
/* Expert Consultation CTA */
.expert-consultation-cta {
background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
- border: 2px solid #179e83;
+ border: 2px solid #6d28d9;
border-radius: 12px;
padding: 40px;
text-align: center;
@@ -3121,7 +3121,7 @@ aside.related-articles {
}
.expert-consultation-cta h3 {
- color: #144784;
+ color: #7c3aed;
font-size: 1.5rem;
margin-bottom: 15px;
font-weight: 600;
@@ -3178,7 +3178,7 @@ aside.related-articles {
top: -10px;
left: 30px;
font-size: 4rem;
- color: #148069;
+ color: #4f46e5;
font-family: serif;
line-height: 1;
}
@@ -3412,10 +3412,10 @@ aside.related-articles {
.technology-showcase h2 {
text-align: center;
margin-bottom: 50px;
- color: #1a202c;
+ color: #1e1b4b;
font-size: 2.5rem;
font-weight: 700;
- background: linear-gradient(135deg, #144784 0%, #179e83 100%);
+ background: linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
@@ -3448,7 +3448,7 @@ aside.related-articles {
left: 0;
right: 0;
height: 4px;
- background: linear-gradient(135deg, #144784 0%, #179e83 100%);
+ background: linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%);
transform: scaleX(0);
transition: transform 0.3s ease;
}
@@ -3478,7 +3478,7 @@ aside.related-articles {
}
.tech-card h3 {
- color: #1a202c;
+ color: #1e1b4b;
font-size: 1.5rem;
font-weight: 600;
margin: 0 0 15px 0;
@@ -3486,7 +3486,7 @@ aside.related-articles {
}
.tech-card:hover h3 {
- color: #0d3a6e;
+ color: #1e1b4b;
}
.tech-card p {
@@ -3540,7 +3540,7 @@ aside.related-articles {
padding: 30px;
border-radius: 12px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
- border-left: 4px solid #179e83;
+ border-left: 4px solid #6d28d9;
transition: all 0.3s ease;
position: relative;
overflow: hidden;
@@ -3549,11 +3549,11 @@ aside.related-articles {
.capability-card:hover {
transform: translateY(-4px);
box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
- border-left-color: #0d3a6e;
+ border-left-color: #1e1b4b;
}
.capability-card h3 {
- color: #1a202c;
+ color: #1e1b4b;
font-size: 1.3rem;
font-weight: 600;
margin: 0 0 15px 0;
@@ -3561,7 +3561,7 @@ aside.related-articles {
}
.capability-card:hover h3 {
- color: #0d3a6e;
+ color: #1e1b4b;
}
.capability-card p {
@@ -3588,7 +3588,7 @@ aside.related-articles {
content: 'â';
position: absolute;
left: 0;
- color: #148069;
+ color: #4f46e5;
font-weight: bold;
font-size: 1rem;
}
@@ -3596,7 +3596,7 @@ aside.related-articles {
/* Technology badges/tags styling */
.tech-tag {
display: inline-block;
- background: #148069;
+ background: #4f46e5;
color: white;
padding: 6px 12px;
border-radius: 20px;
@@ -3607,7 +3607,7 @@ aside.related-articles {
}
.tech-tag:hover {
- background: #11725e;
+ background: #4338ca;
transform: translateY(-2px);
box-shadow: 0 2px 8px rgba(23, 158, 131, 0.3);
}
@@ -3720,14 +3720,14 @@ main > .project-types-hero:first-child {
/* CSS Variables for Brand Consistency */
:root {
- --color-primary: #148069;
- --color-primary-dark: #11725e;
- --color-secondary: #144784;
- --color-secondary-light: #1a5a9e;
- --color-accent: #1a5a9e;
- --gradient-hero: linear-gradient(135deg, #144784 0%, #179e83 100%);
- --gradient-hero-alt: linear-gradient(135deg, #144784 0%, #1a5a9e 100%);
- --gradient-cta: linear-gradient(135deg, #144784 0%, #179e83 100%);
+ --color-primary: #4f46e5;
+ --color-primary-dark: #4338ca;
+ --color-secondary: #7c3aed;
+ --color-secondary-light: #8b5cf6;
+ --color-accent: #6d28d9;
+ --gradient-hero: linear-gradient(135deg, #1e1b4b 0%, #4f46e5 100%);
+ --gradient-hero-alt: linear-gradient(135deg, #1e1b4b 0%, #7c3aed 100%);
+ --gradient-cta: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
--color-text: #444444;
--color-text-dark: #1a1a1a;
--color-text-light: #666666;
@@ -4068,7 +4068,7 @@ main > .project-types-hero:first-child {
.certifications-section .section-header h2 {
font-size: 2.5rem;
- color: #144784;
+ color: #7c3aed;
margin-bottom: 16px;
}
@@ -4115,7 +4115,7 @@ main > .project-types-hero:first-child {
.certification-badge h3 {
font-size: 1.3rem;
- color: #144784;
+ color: #7c3aed;
margin-bottom: 12px;
font-weight: 600;
}
@@ -4279,7 +4279,7 @@ body { font-size: 17px; }
/* Fix 1: Trust badges as styled pills */
.trust-signals-hero .trust-badges .badge {
- background: linear-gradient(135deg, #144784, #1a5298);
+ background: linear-gradient(135deg, #7c3aed, #8b5cf6);
color: #fff;
border: none;
padding: 0.65rem 1.5rem;
@@ -4371,7 +4371,7 @@ body { font-size: 17px; }
/* Override the big teal quote mark on sidebar testimonial-card */
.quote-sidebar .testimonial-card {
background: #f8f9fa;
- border-left: 4px solid #144784;
+ border-left: 4px solid #7c3aed;
border-top: none;
border-right: none;
border-bottom: none;
@@ -4440,10 +4440,10 @@ body { font-size: 17px; }
.footer-bottom p,
.footer-bottom .company-details,
.trust-badge-text span {
- color: #d1d5db; /* ~9:1 on #151f25 */
+ color: #d1d5db; /* ~9:1 on #1e1b4b */
}
.footer-section a {
- color: #93c5fd; /* light blue â ~7.5:1 on #151f25 */
+ color: #93c5fd; /* light blue â ~7.5:1 on #1e1b4b */
}
.footer-section a:hover {
color: #bfdbfe;
@@ -4620,7 +4620,7 @@ body { font-size: 17px; }
background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
border-radius: 12px;
margin: 40px 0;
- border-left: 4px solid #179e83;
+ border-left: 4px solid #6d28d9;
}
.bio-avatar img {
@@ -4628,7 +4628,7 @@ body { font-size: 17px; }
height: 80px;
border-radius: 50%;
object-fit: cover;
- border: 3px solid #179e83;
+ border: 3px solid #6d28d9;
}
.bio-info {
@@ -4639,7 +4639,7 @@ body { font-size: 17px; }
font-size: 0.85rem;
text-transform: uppercase;
letter-spacing: 0.5px;
- color: #144784;
+ color: #7c3aed;
margin: 0 0 8px 0;
font-weight: 600;
}
@@ -4736,6 +4736,6 @@ body { font-size: 17px; }
font-weight: 700;
letter-spacing: 2px;
text-transform: uppercase;
- color: #148069;
+ color: #4f46e5;
margin-bottom: 8px;
}
diff --git a/assets/css/main.min.css b/assets/css/main.min.css
index 522becb..bc5abdd 100644
--- a/assets/css/main.min.css
+++ b/assets/css/main.min.css
@@ -1,4547 +1 @@
-/* CSS Reset and Base Styles */
-* {
- margin: 0;
- padding: 0;
- box-sizing: border-box;
-}
-
-html {
- scroll-behavior: smooth;
- cursor: default;
-}
-
-body {
- font-family: 'Roboto Slab', 'Lato', sans-serif;
- line-height: 1.6;
- color: #333333;
- background-color: #ffffff;
- cursor: default;
-}
-
-
-/* Force cursor inheritance - guarantees arrow cursor cross-browser */
-*, *::before, *::after {
- cursor: inherit;
-}
-
-/* Restore pointer for interactive elements */
-a, button, [role="button"], label, select,
-input[type="submit"], input[type="button"], input[type="reset"],
-input[type="checkbox"], input[type="radio"],
-.btn, summary {
- cursor: pointer;
-}
-
-/* Restore text cursor for inputs */
-input[type="text"], input[type="email"], input[type="search"],
-input[type="password"], input[type="url"], input[type="tel"],
-input[type="number"], textarea, [contenteditable="true"] {
- cursor: text;
-}
-/* Utility Classes */
-.container {
- max-width: 1200px;
- margin: 0 auto;
- padding: 0 20px;
-}
-
-.btn {
- display: inline-block;
- padding: 14px 28px;
- border: none;
- border-radius: 8px;
- text-decoration: none;
- font-weight: 500;
- font-size: 16px;
- text-align: center;
- cursor: pointer;
- transition: all 0.3s ease;
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
- font-family: inherit;
- line-height: 1.4;
- white-space: nowrap;
- min-height: 48px;
- display: inline-flex;
- align-items: center;
- justify-content: center;
- background: #148069;
- color: white;
-}
-
-.btn-primary {
- background: #148069;
- color: white !important;
- text-decoration: none !important;
-}
-
-.btn-primary:hover {
- transform: translateY(-2px);
- background: #11725e;
- box-shadow: 0 4px 16px rgba(23, 158, 131, 0.3);
- color: white !important;
- text-decoration: none !important;
-}
-
-.btn-secondary {
- background: white;
- color: #144784 !important;
- border: 2px solid #144784;
- text-decoration: none !important;
-}
-
-.btn-secondary:hover {
- background: #144784;
- color: white !important;
- transform: translateY(-2px);
- text-decoration: none !important;
-}
-
-.btn-full {
- width: 100%;
-}
-
-.highlight {
- background: linear-gradient(135deg, #179e83, #1bbc9b);
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- background-clip: text;
-}
-
-.section-header {
- text-align: center;
- margin-bottom: 60px;
-}
-
-.section-header h2 {
- font-size: 2.5rem;
- font-weight: 600;
- margin-bottom: 16px;
- color: #1a1a1a;
-}
-
-.section-header p {
- font-size: 1.2rem;
- color: #555;
- max-width: 600px;
- margin: 0 auto;
-}
-
-/* Navigation */
-.navbar {
- position: fixed;
- top: 0;
- width: 100%;
- background: rgba(255, 255, 255, 0.95);
- backdrop-filter: blur(10px);
- border-bottom: 1px solid rgba(0, 0, 0, 0.1);
- z-index: 1000;
- transition: all 0.3s ease;
-}
-
-.navbar.scrolled {
- background: rgba(255, 255, 255, 0.98);
- box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
-}
-
-.nav-container {
- max-width: 1200px;
- margin: 0 auto;
- padding: 0 20px;
- display: flex;
- justify-content: space-between;
- align-items: center;
- height: 70px;
-}
-
-.nav-logo img {
- height: 40px;
- width: auto;
-}
-
-.nav-menu {
- display: flex;
- align-items: center;
- gap: 30px;
-}
-
-.nav-link {
- text-decoration: none;
- color: #1a1a1a;
- font-weight: 500;
- transition: color 0.3s ease;
-}
-
-.nav-link.active { color: #148069; font-weight: 600; border-bottom: 2px solid #148069; padding-bottom: 2px;}
-.nav-link:hover {
- color: #144784;
-}
-
-.nav-link.cta-button {
- background: #148069;
- color: white;
- padding: 10px 20px;
- border-radius: 6px;
- transition: all 0.3s ease;
-}
-
-.nav-link.cta-button:hover {
- transform: translateY(-2px);
- background: #11725e;
- box-shadow: 0 4px 16px rgba(23, 158, 131, 0.3);
-}
-
-.nav-toggle {
- display: none;
- flex-direction: column;
- cursor: pointer;
- background: none;
- border: none;
- padding: 8px;
- min-width: 48px;
- min-height: 48px;
- justify-content: center;
- align-items: center;
-}
-
-.bar {
- width: 25px;
- height: 3px;
- background: #1a1a1a;
- margin: 3px 0;
- transition: 0.3s;
-}
-
-/* Hero Section */
-.hero {
- padding: 120px 0 80px;
- background: linear-gradient(135deg, #252d3b 0%, #144784 100%);
- min-height: 100vh;
- display: flex;
- align-items: center;
- color: white;
- position: relative;
- overflow: hidden;
-}
-
-.hero::before {
- content: '';
- position: absolute;
- top: 0;
- right: 0;
- width: 50%;
- height: 100%;
- background: url('data:image/svg+xml,
') no-repeat center;
- background-size: contain;
- animation: float 6s ease-in-out infinite;
-}
-
-@keyframes float {
- 0%, 100% { transform: translateY(0px); }
- 50% { transform: translateY(-20px); }
-}
-
-.hero-container {
- max-width: 1200px;
- margin: 0 auto;
- padding: 0 20px;
- display: grid;
- grid-template-columns: 1fr 1fr;
- gap: 60px;
- align-items: center;
-}
-
-.hero-content {
- animation: fadeInUp 1s ease;
-}
-
-.hero-title {
- font-size: 3.5rem;
- font-weight: 700;
- line-height: 1.2;
- margin-bottom: 24px;
- color: #ffffff;
-}
-
-.hero-subtitle {
- font-size: 1.3rem;
- font-weight: 500;
- color: #ffffff;
- margin-bottom: 40px;
- line-height: 1.6;
- opacity: 0.9;
-}
-
-.hero-buttons {
- display: flex;
- gap: 20px;
- margin-bottom: 60px;
-}
-
-.hero-stats {
- display: flex;
- gap: 40px;
-}
-
-.stat {
- text-align: center;
-}
-
-.stat-number {
- display: block;
- font-size: 2rem;
- font-weight: 700;
- color: #ffffff;
-}
-
-.stat-label {
- display: block;
- font-size: 0.9rem;
- color: #ffffff;
- font-weight: 500;
-}
-
-.hero-image {
- animation: fadeInRight 1s ease;
- position: relative;
- z-index: 2;
-}
-
-.hero-graphic {
- width: 100%;
- height: auto;
- max-width: 500px;
- animation: float 6s ease-in-out infinite;
-}
-
-.hero-graphic svg {
- width: 100%;
- height: auto;
- filter: drop-shadow(0 10px 30px rgba(0, 0, 0, 0.1));
-}
-
-/* Hero Graphic Animations */
-.hero-graphic .bg-circle-1 {
- animation: rotate 20s linear infinite;
- transform-origin: center;
-}
-
-.hero-graphic .bg-circle-2 {
- animation: rotate 15s linear infinite reverse;
- transform-origin: center;
-}
-
-.hero-graphic .browser-main {
- animation: pulse 4s ease-in-out infinite;
-}
-
-.hero-graphic .database {
- animation: pulse 6s ease-in-out infinite;
-}
-
-.hero-graphic .dashboard {
- animation: pulse 5s ease-in-out infinite;
-}
-
-.hero-graphic .chart-bar-1 {
- animation: grow-bar 3s ease-in-out infinite;
-}
-
-.hero-graphic .chart-bar-2 {
- animation: grow-bar 3s ease-in-out infinite 0.5s;
-}
-
-.hero-graphic .chart-bar-3 {
- animation: grow-bar 3s ease-in-out infinite 1s;
-}
-
-.hero-graphic .chart-bar-4 {
- animation: grow-bar 3s ease-in-out infinite 1.5s;
-}
-
-.hero-graphic .chart-bar-5 {
- animation: grow-bar 3s ease-in-out infinite 2s;
-}
-
-.hero-graphic .extraction-path {
- stroke-dasharray: 200;
- stroke-dashoffset: 200;
- animation: draw-line 4s ease-in-out infinite;
-}
-
-@keyframes rotate {
- from { transform: rotate(0deg); }
- to { transform: rotate(360deg); }
-}
-
-@keyframes grow-bar {
- 0%, 100% { transform: scaleY(1); }
- 50% { transform: scaleY(1.3); }
-}
-
-@keyframes draw-line {
- 0% { stroke-dashoffset: 200; }
- 50% { stroke-dashoffset: 0; }
- 100% { stroke-dashoffset: -200; }
-}
-
-@keyframes data-pulse {
- 0%, 100% { opacity: 0.7; transform: scale(1); }
- 50% { opacity: 1; transform: scale(1.1); }
-}
-
-.hero-img {
- width: 100%;
- height: auto;
- max-width: 500px;
-}
-
-/* Services Section */
-.services {
- padding: 100px 0;
- background: white;
-}
-
-.services-grid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
- gap: 30px;
-}
-
-.service-card {
- background: white;
- padding: 40px;
- border-radius: 16px;
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
- transition: all 0.3s ease;
- border: 1px solid #f0f0f0;
-}
-
-.service-card:hover {
- transform: translateY(-8px);
- box-shadow: 0 8px 40px rgba(0, 0, 0, 0.12);
-}
-
-.service-icon {
- width: 60px;
- height: 60px;
- margin-bottom: 24px;
-}
-
-.service-icon img {
- width: 100%;
- height: 100%;
-}
-
-.service-card h3 {
- font-size: 1.5rem;
- font-weight: 600;
- margin-bottom: 16px;
- color: #1a1a1a;
-}
-
-.service-card p {
- color: #555;
- margin-bottom: 20px;
- line-height: 1.6;
-}
-
-.service-card ul {
- list-style: none;
-}
-
-.service-card li {
- padding: 8px 0;
- color: #555;
- position: relative;
- padding-left: 20px;
-}
-
-.service-card li:before {
- content: 'â';
- position: absolute;
- left: 0;
- color: #148069;
- font-weight: bold;
-}
-
-/* Process Section */
-.process {
- padding: 100px 0;
- background: #f8f9fa;
-}
-
-.process-steps {
- max-width: 800px;
- margin: 0 auto;
-}
-
-.step {
- display: flex;
- align-items: flex-start;
- margin-bottom: 50px;
- animation: fadeInUp 0.6s ease;
-}
-
-.step:last-child {
- margin-bottom: 0;
-}
-
-.step-number {
- background: #148069;
- color: white;
- width: 60px;
- height: 60px;
- border-radius: 50%;
- display: flex;
- align-items: center;
- justify-content: center;
- font-weight: 700;
- font-size: 1.2rem;
- margin-right: 30px;
- flex-shrink: 0;
-}
-
-.step-content h3 {
- font-size: 1.4rem;
- font-weight: 600;
- margin-bottom: 12px;
- color: #1a1a1a;
-}
-
-.step-content p {
- color: #555;
- line-height: 1.6;
-}
-
-/* Why Us Section */
-.why-us {
- padding: 100px 0;
- background: white;
-}
-
-.features-grid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
- gap: 40px;
-}
-
-.feature {
- text-align: center;
- padding: 30px;
- animation: fadeInUp 0.6s ease;
-}
-
-.feature-icon {
- width: 80px;
- height: 80px;
- margin: 0 auto 24px;
-}
-
-.feature-icon img {
- width: 100%;
- height: 100%;
-}
-
-.feature h3 {
- font-size: 1.3rem;
- font-weight: 600;
- margin-bottom: 16px;
- color: #1a1a1a;
-}
-
-.feature p {
- color: #555;
- line-height: 1.6;
-}
-
-/* Contact Section */
-.contact {
- padding: 100px 0;
- background: #f8f9fa;
-}
-
-.contact-content {
- display: grid;
- grid-template-columns: 1fr 1fr;
- gap: 60px;
- align-items: start;
-}
-
-.contact-info h2 {
- font-size: 2.5rem;
- font-weight: 600;
- margin-bottom: 20px;
- color: #1a1a1a;
-}
-
-.contact-info p {
- font-size: 1.2rem;
- color: #555;
- margin-bottom: 40px;
- line-height: 1.6;
-}
-
-.contact-details {
- display: flex;
- flex-direction: column;
- gap: 30px;
-}
-
-.contact-item {
- display: flex;
- align-items: center;
- gap: 20px;
-}
-
-.contact-item img {
- width: 40px;
- height: 40px;
-}
-
-.contact-item strong {
- display: block;
- font-weight: 600;
- color: #1a1a1a;
- margin-bottom: 4px;
-}
-
-.contact-item p {
- margin: 0;
- color: #555;
-}
-
-.contact-item a {
- color: #148069;
- text-decoration: none;
-}
-
-.contact-item a:hover {
- text-decoration: underline;
-}
-
-/* Form Styles */
-.contact-form {
- background: white;
- padding: 40px;
- border-radius: 16px;
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
-}
-
-.form-group {
- margin-bottom: 24px;
-}
-
-.form-group label {
- display: block;
- font-weight: 500;
- margin-bottom: 8px;
- color: #1a1a1a;
-}
-
-.form-group input,
-.form-group select,
-.form-group textarea {
- width: 100%;
- padding: 14px 16px;
- border: 2px solid #e1e5e9;
- border-radius: 8px;
- font-size: 16px;
- transition: border-color 0.3s ease;
- background: white;
-}
-
-.form-group input:focus,
-.form-group select:focus,
-.form-group textarea:focus {
- outline: none;
- border-color: #148069;
- box-shadow: 0 0 0 3px rgba(23, 158, 131, 0.1);
-}
-
-.form-group textarea {
- resize: vertical;
- min-height: 120px;
-}
-
-/* Form validation states */
-.form-group input[aria-invalid="true"],
-.form-group select[aria-invalid="true"],
-.form-group textarea[aria-invalid="true"] {
- border-color: #dc2626;
- box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1);
-}
-
-.form-group input[aria-invalid="true"]:focus,
-.form-group select[aria-invalid="true"]:focus,
-.form-group textarea[aria-invalid="true"]:focus {
- border-color: #dc2626;
- box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.2);
-}
-
-.form-error {
- display: block;
- color: #dc2626;
- font-size: 0.875rem;
- margin-top: 6px;
- min-height: 1.25rem;
-}
-
-.form-error:empty {
- display: none;
-}
-
-/* Footer */
-.footer {
- background: #151f25;
- color: white;
- padding: 60px 0 30px;
-}
-
-.footer-content {
- display: grid;
- grid-template-columns: 2fr 1fr 1fr 1fr;
- gap: 40px;
- margin-bottom: 40px;
-}
-
-.footer-section h3 {
- font-size: 1.2rem;
- font-weight: 600;
- margin-bottom: 20px;
- color: white;
-}
-
-.footer-section ul {
- list-style: none;
-}
-
-.footer-section li {
- margin-bottom: 12px;
-}
-
-.footer-section a {
- color: #ccc;
- text-decoration: none;
- transition: color 0.3s ease;
-}
-
-.footer-section a:hover {
- color: #148069;
-}
-
-.footer-logo img {
- height: 40px;
- margin-bottom: 20px;
-}
-
-.footer-section p {
- color: #ccc;
- line-height: 1.6;
-}
-
-.footer-bottom {
- border-top: 1px solid #333;
- padding-top: 30px;
- display: flex;
- justify-content: space-between;
- align-items: center;
-}
-
-.social-links {
- display: flex;
- gap: 20px;
-}
-
-.social-links a {
- display: block;
- width: 40px;
- height: 40px;
-}
-
-.social-links img {
- width: 100%;
- height: 100%;
- filter: invert(1);
- transition: filter 0.3s ease;
-}
-
-.social-links a:hover img {
- filter: invert(0.7) sepia(1) saturate(2) hue-rotate(240deg);
-}
-
-/* Animations */
-@keyframes fadeInUp {
- from {
- opacity: 0;
- transform: translateY(30px);
- }
- to {
- opacity: 1;
- transform: translateY(0);
- }
-}
-
-@keyframes fadeInRight {
- from {
- opacity: 0;
- transform: translateX(30px);
- }
- to {
- opacity: 1;
- transform: translateX(0);
- }
-}
-
-@keyframes fadeInLeft {
- from {
- opacity: 0;
- transform: translateX(-30px);
- }
- to {
- opacity: 1;
- transform: translateX(0);
- }
-}
-
-@keyframes float {
- 0%, 100% { transform: translateY(0px); }
- 50% { transform: translateY(-20px); }
-}
-
-@keyframes pulse {
- 0%, 100% { transform: scale(1); }
- 50% { transform: scale(1.05); }
-}
-
-@keyframes slideInFromBottom {
- from {
- opacity: 0;
- transform: translateY(50px);
- }
- to {
- opacity: 1;
- transform: translateY(0);
- }
-}
-
-/* Animation Classes */
-.animate-on-scroll {
- opacity: 0;
- transform: translateY(30px);
- transition: all 0.8s ease-out;
-}
-
-.animate-on-scroll.animated {
- opacity: 1;
- transform: translateY(0);
-}
-
-.service-card {
- animation: slideInFromBottom 0.6s ease-out forwards;
- animation-delay: var(--animation-delay, 0s);
-}
-
-.feature {
- animation: fadeInUp 0.6s ease-out forwards;
- animation-delay: var(--animation-delay, 0s);
-}
-
-.step {
- animation: fadeInLeft 0.6s ease-out forwards;
- animation-delay: var(--animation-delay, 0s);
-}
-
-/* Blog responsive styles */
-@media (max-width: 768px) {
- .featured-grid {
- grid-template-columns: 1fr;
- }
-
- .featured-article.main-feature {
- grid-row: span 1;
- }
-
- .articles-grid {
- grid-template-columns: 1fr;
- }
-
- .newsletter-form .form-group {
- flex-direction: column;
- }
-
- .article-title {
- font-size: 2.2rem;
- }
-
- .article-author {
- flex-direction: column;
- text-align: center;
- gap: 15px;
- }
-
- .blog-categories h2,
- .blog-featured h2,
- .blog-recent h2 {
- font-size: 2rem;
- }
-}
-
-/* Responsive Design */
-@media (max-width: 768px) {
- .nav-menu {
- position: fixed;
- left: -100%;
- top: 70px;
- flex-direction: column;
- background-color: white;
- width: 100%;
- text-align: center;
- transition: 0.3s;
- box-shadow: 0 10px 27px rgba(0, 0, 0, 0.05);
- padding: 40px 0;
- gap: 20px;
- }
-
- .nav-menu.active {
- left: 0;
- }
-
- .nav-toggle {
- display: flex;
- }
-
- .nav-toggle.active .bar:nth-child(2) {
- opacity: 0;
- }
-
- .nav-toggle.active .bar:nth-child(1) {
- transform: translateY(8px) rotate(45deg);
- }
-
- .nav-toggle.active .bar:nth-child(3) {
- transform: translateY(-8px) rotate(-45deg);
- }
-
- .hero-container {
- grid-template-columns: 1fr;
- gap: 40px;
- text-align: center;
- }
-
- .hero-title {
- font-size: 2.5rem;
- }
-
- .hero-buttons {
- flex-direction: column;
- align-items: center;
- }
-
- .hero-stats {
- justify-content: center;
- gap: 30px;
- }
-
- .section-header h2 {
- font-size: 2rem;
- }
-
- .services-grid {
- grid-template-columns: 1fr;
- }
-
- .features-grid {
- grid-template-columns: 1fr;
- }
-
- .contact-content {
- grid-template-columns: 1fr;
- gap: 40px;
- }
-
- .footer-content {
- grid-template-columns: 1fr;
- gap: 30px;
- text-align: center;
- }
-
- .footer-bottom {
- flex-direction: column;
- gap: 20px;
- text-align: center;
- }
-}
-
-@media (max-width: 480px) {
- .container {
- padding: 0 15px;
- }
-
- .hero {
- padding: 100px 0 60px;
- }
-
- .hero-title {
- font-size: 2rem;
- }
-
- .hero-subtitle {
- font-size: 1.1rem;
- }
-
- .btn {
- padding: 12px 24px;
- font-size: 14px;
- }
-
- .service-card,
- .contact-form {
- padding: 30px 20px;
- }
-
- .step {
- flex-direction: column;
- text-align: center;
- }
-
- .step-number {
- margin: 0 0 20px 0;
- }
-}
-
-/* Performance Optimizations */
-img {
- max-width: 100%;
- height: auto;
- loading: lazy;
-}
-
-/* Logo specific styles */
-.logo {
- height: auto;
- max-height: 50px;
- width: auto;
-}
-
-.footer-logo img {
- height: 40px;
- width: auto;
-}
-
-/* Favicon links don't need display properties */
-
-/* Loading states */
-.loading {
- opacity: 0.6;
- pointer-events: none;
-}
-
-/* Blog-specific styles */
-.blog-categories {
- padding: 80px 0;
- background: #f8f9fa;
-}
-
-.blog-categories h2 {
- text-align: center;
- font-size: 2.5rem;
- font-weight: 600;
- margin-bottom: 60px;
- color: #1a1a1a;
-}
-
-.blog-featured {
- padding: 80px 0;
- background: white;
-}
-
-.blog-featured h2 {
- text-align: center;
- font-size: 2.5rem;
- font-weight: 600;
- margin-bottom: 60px;
- color: #1a1a1a;
-}
-
-.featured-grid {
- display: grid;
- grid-template-columns: 2fr 1fr 1fr;
- gap: 30px;
-}
-
-.featured-article {
- background: white;
- border-radius: 16px;
- overflow: hidden;
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
- border: 1px solid #f0f0f0;
- transition: all 0.3s ease;
-}
-
-.featured-article:hover {
- transform: translateY(-5px);
- box-shadow: 0 8px 40px rgba(0, 0, 0, 0.12);
-}
-
-.featured-article.main-feature {
- grid-row: span 2;
-}
-
-.featured-article .article-image {
- height: 200px;
- overflow: hidden;
-}
-
-.featured-article.main-feature .article-image {
- height: 300px;
-}
-
-.featured-article .article-image img {
- width: 100%;
- height: 100%;
- object-fit: cover;
- transition: transform 0.3s ease;
-}
-
-.featured-article:hover .article-image img {
- transform: scale(1.05);
-}
-
-.featured-article .article-content {
- padding: 30px;
-}
-
-.article-meta {
- display: flex;
- align-items: center;
- gap: 15px;
- margin-bottom: 15px;
- font-size: 14px;
-}
-
-.article-meta .category {
- background: #148069;
- color: white;
- padding: 5px 12px;
- border-radius: 15px;
- font-weight: 500;
- text-decoration: none;
-}
-
-.article-meta .category a {
- color: white;
- text-decoration: none;
-}
-
-.article-meta .category a:hover {
- color: white;
- text-decoration: none;
-}
-
-.article-meta time {
- color: #555;
- font-weight: 500;
-}
-
-.article-meta .read-time {
- color: #555;
- font-weight: 500;
-}
-
-.featured-article h3 {
- font-size: 1.4rem;
- font-weight: 600;
- margin-bottom: 15px;
- line-height: 1.3;
-}
-
-.featured-article h3 a {
- color: #1a1a1a;
- text-decoration: none;
- transition: color 0.3s ease;
-}
-
-.featured-article h3 a:hover {
- color: #148069;
-}
-
-.featured-article p {
- color: #555;
- line-height: 1.6;
- margin-bottom: 20px;
-}
-
-.article-footer {
- display: flex;
- justify-content: space-between;
- align-items: center;
- border-top: 1px solid #f0f0f0;
- padding-top: 15px;
- margin-top: 15px;
-}
-
-.article-footer .read-more {
- color: #148069;
- text-decoration: none;
- font-weight: 500;
- transition: color 0.3s ease;
-}
-
-.article-footer .read-more:hover {
- color: #144784;
- text-decoration: underline;
-}
-
-.blog-recent {
- padding: 80px 0;
- background: #f8f9fa;
-}
-
-.blog-recent h2 {
- text-align: center;
- font-size: 2.5rem;
- font-weight: 600;
- margin-bottom: 60px;
- color: #1a1a1a;
-}
-
-.articles-grid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
- gap: 30px;
- margin-bottom: 50px;
-}
-
-.article-card {
- background: white;
- padding: 30px;
- border-radius: 12px;
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
- border: 1px solid #f0f0f0;
- transition: all 0.3s ease;
-}
-
-.article-card:hover {
- transform: translateY(-5px);
- box-shadow: 0 8px 40px rgba(0, 0, 0, 0.12);
-}
-
-.article-card h3 {
- font-size: 1.3rem;
- font-weight: 600;
- margin-bottom: 15px;
- line-height: 1.3;
-}
-
-.article-card h3 a {
- color: #1a1a1a;
- text-decoration: none;
- transition: color 0.3s ease;
-}
-
-.article-card h3 a:hover {
- color: #148069;
-}
-
-.article-card p {
- color: #555;
- line-height: 1.6;
- margin-bottom: 20px;
-}
-
-.blog-pagination {
- display: flex;
- justify-content: center;
- align-items: center;
- gap: 20px;
- margin-top: 40px;
-}
-
-.pagination-info {
- color: #555;
- font-weight: 500;
-}
-
-.blog-newsletter {
- padding: 80px 0;
- background: linear-gradient(135deg, #144784 0%, #179e83 100%);
- color: white;
- text-align: center;
-}
-
-.newsletter-content h2 {
- font-size: 2.5rem;
- font-weight: 600;
- margin-bottom: 20px;
- color: white;
-}
-
-.newsletter-content p {
- font-size: 1.2rem;
- margin-bottom: 40px;
- opacity: 0.95;
- max-width: 600px;
- margin-left: auto;
- margin-right: auto;
-}
-
-.newsletter-form .form-group {
- display: flex;
- max-width: 500px;
- margin: 0 auto 20px;
- gap: 15px;
-}
-
-.newsletter-form input {
- flex: 1;
- padding: 15px 20px;
- border: none;
- border-radius: 50px;
- font-size: 16px;
- background: rgba(255, 255, 255, 0.95);
- color: #333;
-}
-
-.newsletter-form .btn {
- padding: 15px 30px;
- border-radius: 50px;
- white-space: nowrap;
-}
-
-.newsletter-privacy {
- font-size: 14px;
- opacity: 0.8;
- max-width: 400px;
- margin: 0 auto;
-}
-
-.newsletter-privacy a {
- color: white;
- text-decoration: underline;
-}
-
-/* Blog article styles */
-.blog-article {
- padding: 110px 0 80px;
- background: white;
- position: relative;
- clear: both;
- width: 100%;
-}
-
-.blog-article .container {
- max-width: 1200px;
- margin: 0 auto;
- padding: 0 20px;
- position: relative;
-}
-
-.article-header {
- max-width: 800px;
- margin: 0 auto 40px;
- text-align: center;
-}
-
-.article-title {
- font-size: 3rem;
- font-weight: 700;
- margin-bottom: 20px;
- color: #1a1a1a;
- line-height: 1.2;
-}
-
-.article-subtitle {
- font-size: 1.3rem;
- color: #555;
- margin-bottom: 30px;
- line-height: 1.6;
-}
-
-.article-author {
- display: flex;
- justify-content: space-between;
- align-items: center;
- margin-top: 30px;
- text-align: left;
-}
-
-.author-info strong {
- color: #1a1a1a;
- font-weight: 600;
- display: block;
- margin-bottom: 5px;
-}
-
-.author-info p {
- color: #555;
- margin: 0;
- font-size: 14px;
-}
-
-.article-share a {
- color: #148069;
- text-decoration: none;
- font-weight: 500;
- padding: 8px 16px;
- border: 1px solid #179e83;
- border-radius: 6px;
- transition: all 0.3s ease;
-}
-
-.article-share a:hover {
- background: #148069;
- color: white;
-}
-
-.article-image {
- max-width: 1000px;
- margin: 0 auto 40px;
- border-radius: 16px;
- overflow: hidden;
- box-shadow: 0 8px 40px rgba(0, 0, 0, 0.12);
-}
-
-.article-image img {
- width: 100%;
- height: auto;
- display: block;
-}
-
-.article-toc {
- max-width: 800px;
- margin: 0 auto 40px;
- background: #f8f9fa;
- padding: 30px;
- border-radius: 12px;
- border: 1px solid #e1e5e9;
-}
-
-.article-toc h2 {
- font-size: 1.3rem;
- font-weight: 600;
- margin-bottom: 20px;
- color: #1a1a1a;
-}
-
-.article-toc ol {
- list-style: none;
- counter-reset: toc-counter;
-}
-
-.article-toc li {
- counter-increment: toc-counter;
- margin-bottom: 10px;
-}
-
-.article-toc li::before {
- content: counter(toc-counter) ". ";
- color: #148069;
- font-weight: 600;
-}
-
-.article-toc a {
- color: #144784;
- text-decoration: none;
- font-weight: 500;
- transition: color 0.3s ease;
-}
-
-.article-toc a:hover {
- color: #148069;
- text-decoration: underline;
-}
-
-.article-content {
- max-width: 800px;
- margin: 0 auto;
- line-height: 1.7;
- background: white;
- position: relative;
- z-index: 1;
-}
-
-.article-content pre {
- background: #f8f9fa;
- border: 1px solid #e9ecef;
- border-radius: 8px;
- padding: 0;
- margin: 25px 0;
- overflow-x: auto;
- position: relative;
-}
-
-.article-content pre code {
- display: block;
- background: transparent;
- border: none;
- border-radius: 0;
- padding: 20px;
- font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'Courier New', monospace;
- font-size: 14px;
- line-height: 1.6;
- color: #495057;
- white-space: pre;
- overflow-x: auto;
- margin: 0;
-}
-
-.article-content code {
- background: #f1f3f4;
- padding: 2px 6px;
- border-radius: 4px;
- font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'Courier New', monospace;
- font-size: 0.9em;
- color: #d63384;
-}
-
-.article-content pre code {
- background: transparent;
- padding: 20px;
- color: #495057;
-}
-
-/* Code block copy button */
-.article-content pre {
- position: relative;
- cursor: pointer;
-}
-
-.article-content pre:hover::before {
- content: 'đ Copy';
- position: absolute;
- top: 10px;
- right: 10px;
- background: #148069;
- color: white;
- padding: 5px 10px;
- border-radius: 4px;
- font-size: 12px;
- cursor: pointer;
- z-index: 10;
-}
-
-.article-content pre[data-copied]:hover::before {
- content: 'â
Copied!';
- background: #10b981;
-}
-
-.article-content pre:hover {
- border-color: #148069;
- box-shadow: 0 2px 8px rgba(23, 158, 131, 0.1);
-}
-
-.article-content h2 {
- font-size: 2rem;
- font-weight: 600;
- margin: 40px 0 20px;
- color: #1a1a1a;
- border-bottom: 2px solid #179e83;
- padding-bottom: 10px;
-}
-
-.article-content h3 {
- font-size: 1.5rem;
- font-weight: 600;
- margin: 30px 0 15px;
- color: #144784;
-}
-
-.article-content p {
- margin-bottom: 20px;
- color: #444;
-}
-
-.article-content ul,
-.article-content ol {
- margin-bottom: 20px;
- padding-left: 25px;
-}
-
-.article-content li {
- margin-bottom: 8px;
- color: #444;
-}
-
-.article-content a {
- color: #148069;
- text-decoration: underline;
- transition: color 0.3s ease;
-}
-
-.article-content a:hover {
- color: #144784;
-}
-
-.callout-box {
- background: #f8f9fa;
- border-left: 4px solid #179e83;
- padding: 20px;
- margin: 30px 0;
- border-radius: 0 8px 8px 0;
-}
-
-.callout-box.legal-warning {
- background: #fff3cd;
- border-left-color: #f59e0b;
-}
-
-.callout-box h3 {
- margin-top: 0;
- margin-bottom: 15px;
- color: #1a1a1a;
-}
-
-.comparison-grid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
- gap: 20px;
- margin: 30px 0;
- width: 100%;
- clear: both;
-}
-
-.comparison-item {
- background: white;
- padding: 25px;
- border-radius: 12px;
- border: 1px solid #e1e5e9;
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
-}
-
-.comparison-item h4 {
- margin-bottom: 15px;
- color: #144784;
- font-size: 1.2rem;
-}
-
-.best-practice-box {
- background: linear-gradient(135deg, #e8f5f3 0%, #f0f9ff 100%);
- border: 1px solid #179e83;
- border-radius: 12px;
- padding: 25px;
- margin: 30px 0;
-}
-
-.best-practice-box h3 {
- margin-top: 0;
- color: #144784;
-}
-
-/* Image optimization */
-img {
- height: auto;
- max-width: 100%;
-}
-
-/* Lazy loading support */
-img[loading="lazy"] {
- opacity: 0;
- transition: opacity 0.3s ease;
-}
-
-img[loading="lazy"].loaded {
- opacity: 1;
-}
-
-/* WebP support with fallbacks */
-picture img {
- width: 100%;
- height: auto;
-}
-
-/* Focus improvements for keyboard navigation */
-a:focus-visible,
-button:focus-visible,
-input:focus-visible,
-textarea:focus-visible {
- outline: 2px solid #179e83;
- outline-offset: 2px;
- box-shadow: 0 0 0 4px rgba(23, 158, 131, 0.1);
-}
-
-/* Reading progress bar */
-.reading-progress {
- position: fixed;
- top: 70px;
- left: 0;
- width: 0%;
- height: 3px;
- background: linear-gradient(90deg, #179e83, #144784);
- z-index: 999;
- transition: width 0.3s ease;
-}
-
-/* Category link styles */
-.category-link {
- background: #148069;
- color: white !important;
- padding: 5px 12px;
- border-radius: 15px;
- font-weight: 500;
- text-decoration: none;
- transition: background 0.3s ease;
-}
-
-.category-link:hover {
- background: #144784;
- color: white !important;
- text-decoration: none;
-}
-
-.loading::after {
- content: '';
- position: absolute;
- top: 50%;
- left: 50%;
- width: 20px;
- height: 20px;
- margin: -10px 0 0 -10px;
- border: 2px solid #f3f3f3;
- border-top: 2px solid #179e83;
- border-radius: 50%;
- animation: spin 1s linear infinite;
-}
-
-@keyframes spin {
- 0% { transform: rotate(0deg); }
- 100% { transform: rotate(360deg); }
-}
-
-/* Notification styles */
-.notification {
- position: fixed;
- top: 20px;
- right: 20px;
- z-index: 10000;
- max-width: 400px;
- padding: 16px 20px;
- border-radius: 8px;
- color: white;
- font-family: 'Roboto Slab', sans-serif;
- font-size: 14px;
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
- transition: all 0.3s ease;
-}
-
-.notification-success {
- background: #10b981;
-}
-
-.notification-error {
- background: #ef4444;
-}
-
-.notification-info {
- background: #3b82f6;
-}
-
-.notification-content {
- display: flex;
- justify-content: space-between;
- align-items: center;
- gap: 12px;
-}
-
-.notification-close {
- background: none;
- border: none;
- color: white;
- font-size: 18px;
- cursor: pointer;
- padding: 12px;
- width: 48px;
- height: 48px;
- min-width: 48px;
- min-height: 48px;
- display: flex;
- align-items: center;
- justify-content: center;
- margin: -12px -12px -12px 0;
-}
-
-/* Scroll to top button */
-.scroll-top-btn {
- position: fixed;
- bottom: 30px;
- right: 30px;
- width: 50px;
- height: 50px;
- border: none;
- border-radius: 50%;
- background: linear-gradient(135deg, #179e83 0%, #144784 100%);
- color: white;
- font-size: 20px;
- cursor: pointer;
- opacity: 0;
- visibility: hidden;
- transition: all 0.3s ease;
- z-index: 1000;
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
-}
-
-.scroll-top-btn:hover {
- transform: translateY(-3px);
- box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
-}
-
-/* Tooltip styles */
-.tooltip {
- position: absolute;
- background: #1a1a1a;
- color: white;
- padding: 8px 12px;
- border-radius: 6px;
- font-size: 14px;
- white-space: nowrap;
- z-index: 10000;
- pointer-events: none;
- transition: opacity 0.3s ease;
-}
-
-/* Form validation states */
-.form-group.error input,
-.form-group.error select,
-.form-group.error textarea {
- border-color: #ef4444;
- box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
-}
-
-.form-group.success input,
-.form-group.success select,
-.form-group.success textarea {
- border-color: #10b981;
- box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
-}
-
-.form-error-message {
- color: #ef4444;
- font-size: 12px;
- margin-top: 4px;
- display: block;
-}
-
-/* Image loading states */
-img.loading {
- background: #f0f0f0;
- opacity: 0.7;
-}
-
-img.loaded {
- transition: opacity 0.3s ease;
- opacity: 1;
-}
-
-/* Enhanced button hover effects */
-.btn {
- position: relative;
- overflow: hidden;
-}
-
-.btn::before {
- content: '';
- position: absolute;
- top: 0;
- left: -100%;
- width: 100%;
- height: 100%;
- background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
- transition: left 0.5s;
-}
-
-.btn:not(.btn-primary):not(.btn-secondary):not(.cta-btn):hover {
- transform: translateY(-2px);
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
- text-decoration: none;
-}
-
-.btn:hover::before {
- left: 100%;
-}
-
-/* Print styles */
-@media print {
- .navbar,
- .footer,
- .scroll-top-btn,
- .notification {
- display: none !important;
- }
-
- .hero {
- background: white !important;
- color: black !important;
- }
-
- .page-hero,
- .service-hero {
- background: white !important;
- color: black !important;
- }
-
- body {
- font-size: 12pt;
- line-height: 1.4;
- }
-
- h1, h2, h3, h4, h5, h6 {
- color: black !important;
- page-break-after: avoid;
- }
-
- .container {
- max-width: none;
- margin: 0;
- padding: 0;
- }
-}
-
-/* Accessibility */
-.sr-only {
- position: absolute;
- width: 1px;
- height: 1px;
- padding: 0;
- margin: -1px;
- overflow: hidden;
- clip: rect(0, 0, 0, 0);
- white-space: nowrap;
- border: 0;
-}
-
-/* Focus styles for accessibility */
-button:focus,
-input:focus,
-select:focus,
-textarea:focus,
-a:focus {
- outline: 2px solid #179e83;
- outline-offset: 2px;
-}
-
-/* High contrast mode support */
-@media (prefers-contrast: high) {
- .btn-primary {
- background: #000;
- border: 2px solid #000;
- }
-
- .highlight {
- background: #000;
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- }
-}
-
-/* Reduced motion support */
-@media (prefers-reduced-motion: reduce) {
- *,
- *::before,
- *::after {
- animation-duration: 0.01ms !important;
- animation-iteration-count: 1 !important;
- transition-duration: 0.01ms !important;
- scroll-behavior: auto !important;
- }
-}
-
-/* Dark mode support */
-@media (prefers-color-scheme: dark) {
- :root {
- --bg-primary: #1a1a1a;
- --bg-secondary: #2d2d2d;
- --text-primary: #ffffff;
- --text-secondary: #cccccc;
- }
-}
-
-/* Focus visible improvements */
-.btn:focus-visible,
-input:focus-visible,
-select:focus-visible,
-textarea:focus-visible,
-a:focus-visible {
- outline: 2px solid #179e83;
- outline-offset: 2px;
- box-shadow: 0 0 0 4px rgba(23, 158, 131, 0.1);
-}
-
-/* Skip to content link for accessibility */
-.skip-to-content {
- position: absolute;
- top: -40px;
- left: 6px;
- background: #148069;
- color: white;
- padding: 8px;
- border-radius: 4px;
- text-decoration: none;
- z-index: 100000;
- transition: top 0.3s;
-}
-
-.skip-to-content:focus {
- top: 6px;
-}
-
-/* Screen reader only content */
-.visually-hidden {
- position: absolute !important;
- width: 1px !important;
- height: 1px !important;
- padding: 0 !important;
- margin: -1px !important;
- overflow: hidden !important;
- clip: rect(0, 0, 0, 0) !important;
- white-space: nowrap !important;
- border: 0 !important;
-}
-
-/* Error page specific improvements */
-.error-container {
- position: relative;
-}
-
-/* Improved form styling */
-.form-group {
- position: relative;
-}
-
-.form-group label {
- transition: all 0.3s ease;
-}
-
-.form-group input:focus + label,
-.form-group select:focus + label,
-.form-group textarea:focus + label {
- color: #148069;
-}
-
-/* Status indicators */
-.status-indicator {
- display: inline-block;
- width: 12px;
- height: 12px;
- border-radius: 50%;
- margin-right: 8px;
-}
-
-.status-online {
- background: #10b981;
- box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.3);
- animation: pulse-green 2s infinite;
-}
-
-.status-offline {
- background: #ef4444;
-}
-
-.status-pending {
- background: #f59e0b;
- animation: pulse-yellow 2s infinite;
-}
-
-@keyframes pulse-green {
- 0% {
- box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
- }
- 70% {
- box-shadow: 0 0 0 6px rgba(16, 185, 129, 0);
- }
- 100% {
- box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
- }
-}
-
-@keyframes pulse-yellow {
- 0% {
- box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.7);
- }
- 70% {
- box-shadow: 0 0 0 6px rgba(245, 158, 11, 0);
- }
- 100% {
- box-shadow: 0 0 0 0 rgba(245, 158, 11, 0);
- }
-}
-
-/* NEW COMPONENT STYLES - Missing CSS for enhanced pages */
-
-/* Breadcrumb Navigation */
-.breadcrumb {
- background: #f8f9fa;
- padding: 20px 0;
- border-bottom: 1px solid #e1e5e9;
-}
-
-.breadcrumb nav {
- max-width: 1200px;
- margin: 0 auto;
- padding: 0 20px;
-}
-
-.breadcrumb ol {
- display: flex;
- list-style: none;
- margin: 0;
- padding: 0;
- align-items: center;
- gap: 8px;
-}
-
-.breadcrumb li {
- display: flex;
- align-items: center;
-}
-
-.breadcrumb li:not(:last-child)::after {
- content: '>';
- margin-left: 8px;
- color: #555;
- font-weight: 500;
-}
-
-.breadcrumb a {
- color: #144784;
- text-decoration: none;
- font-weight: 500;
- transition: color 0.3s ease;
-}
-
-.breadcrumb a:hover {
- color: #148069;
- text-decoration: underline;
-}
-
-.breadcrumb li[aria-current="page"] span {
- color: #555;
- font-weight: 500;
-}
-
-/* Page Hero Section */
-.page-hero {
- background: linear-gradient(135deg, #144784 0%, #179e83 100%);
- color: white;
- padding: 120px 0 80px;
- text-align: center;
- position: relative;
- overflow: hidden;
-}
-
-.page-hero::before {
- content: '';
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- background: url('data:image/svg+xml,
') no-repeat bottom;
- background-size: cover;
-}
-
-.page-hero .hero-content {
- position: relative;
- z-index: 2;
- max-width: 800px;
- margin: 0 auto;
-}
-
-.page-hero h1 {
- font-size: 3rem;
- font-weight: 700;
- margin-bottom: 20px;
- color: white;
- line-height: 1.2;
-}
-
-.page-hero .hero-subtitle {
- font-size: 1.25rem;
- margin-bottom: 30px;
- opacity: 0.95;
- line-height: 1.6;
-}
-
-.page-hero .hero-stats {
- display: flex;
- justify-content: center;
- gap: 40px;
- margin-top: 40px;
-}
-
-.page-hero .hero-search {
- max-width: 500px;
- margin: 30px auto 0;
- position: relative;
-}
-
-.page-hero .hero-search form {
- position: relative;
- display: block;
-}
-
-.page-hero .hero-search input {
- width: 100%;
- padding: 15px 50px 15px 20px;
- border: none;
- border-radius: 50px;
- font-size: 16px;
- background: rgba(255, 255, 255, 0.95);
- color: #333;
- box-sizing: border-box;
-}
-
-.page-hero .hero-search button {
- position: absolute;
- right: 15px;
- top: 50%;
- transform: translateY(-50%);
- background: none;
- border: none;
- font-size: 18px;
- cursor: pointer;
- color: #555;
- transition: color 0.3s ease;
-}
-
-.page-hero .hero-search button:hover {
- color: #333;
-}
-
-/* Service Hero Section */
-.service-hero {
- background: linear-gradient(135deg, #144784 0%, #179e83 100%);
- color: white;
- padding: 120px 0 80px;
- text-align: center;
- position: relative;
-}
-
-.service-hero .hero-content {
- max-width: 900px;
- margin: 0 auto;
-}
-
-.service-hero h1 {
- font-size: 3rem;
- font-weight: 700;
- margin-bottom: 20px;
- line-height: 1.2;
-}
-
-.service-hero .hero-subtitle {
- font-size: 1.25rem;
- margin-bottom: 40px;
- opacity: 0.95;
- line-height: 1.6;
-}
-
-.service-hero .hero-stats {
- display: flex;
- justify-content: center;
- gap: 40px;
- margin: 40px 0;
-}
-
-.service-hero .hero-cta {
- display: flex;
- justify-content: center;
- gap: 20px;
- flex-wrap: wrap;
-}
-
-/* Service Features Section */
-.service-features {
- padding: 80px 0;
- background: #f8f9fa;
-}
-
-.service-features h2 {
- text-align: center;
- font-size: 2.5rem;
- font-weight: 600;
- margin-bottom: 60px;
- color: #1a1a1a;
-}
-
-.service-features .features-grid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
- gap: 30px;
- max-width: 1200px;
- margin: 0 auto;
-}
-
-.feature-card {
- background: white;
- padding: 40px;
- border-radius: 16px;
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
- transition: all 0.3s ease;
- border: 1px solid #f0f0f0;
-}
-
-.feature-card:hover {
- transform: translateY(-8px);
- box-shadow: 0 8px 40px rgba(0, 0, 0, 0.12);
-}
-
-.feature-card .feature-icon {
- font-size: 3rem;
- margin-bottom: 20px;
- display: block;
-}
-
-.feature-card h3 {
- font-size: 1.5rem;
- font-weight: 600;
- margin-bottom: 16px;
- color: #1a1a1a;
-}
-
-.feature-card p {
- color: #555;
- margin-bottom: 20px;
- line-height: 1.6;
-}
-
-.feature-card ul {
- list-style: none;
- padding: 0;
-}
-
-.feature-card li {
- padding: 8px 0;
- color: #555;
- position: relative;
- padding-left: 20px;
-}
-
-.feature-card li:before {
- content: 'â';
- position: absolute;
- left: 0;
- color: #148069;
- font-weight: bold;
-}
-
-/* Industries Section */
-.industries {
- padding: 80px 0;
- background: white;
-}
-
-.industries h2 {
- text-align: center;
- font-size: 2.5rem;
- font-weight: 600;
- margin-bottom: 60px;
- color: #1a1a1a;
-}
-
-.industries-grid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
- gap: 30px;
- max-width: 1200px;
- margin: 0 auto;
-}
-
-.industry-card {
- background: #f8f9fa;
- padding: 30px;
- border-radius: 12px;
- transition: all 0.3s ease;
- border: 1px solid #e1e5e9;
-}
-
-.industry-card:hover {
- transform: translateY(-5px);
- box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
-}
-
-.industry-card h3 {
- font-size: 1.3rem;
- font-weight: 600;
- margin-bottom: 12px;
- color: #144784;
-}
-
-.industry-card p {
- color: #555;
- line-height: 1.6;
-}
-
-/* Pricing Section */
-.pricing {
- padding: 80px 0;
- background: #f8f9fa;
-}
-
-.pricing h2 {
- text-align: center;
- font-size: 2.5rem;
- font-weight: 600;
- margin-bottom: 60px;
- color: #1a1a1a;
-}
-
-.pricing-grid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
- gap: 30px;
- max-width: 1000px;
- margin: 0 auto;
-}
-
-.pricing-card {
- background: white;
- padding: 40px 30px;
- border-radius: 16px;
- text-align: center;
- position: relative;
- border: 2px solid #e1e5e9;
- transition: all 0.3s ease;
-}
-
-.pricing-card.featured {
- border-color: #148069;
- transform: scale(1.05);
- box-shadow: 0 8px 40px rgba(23, 158, 131, 0.15);
-}
-
-.pricing-card.featured::before {
- content: 'Most Popular';
- position: absolute;
- top: -12px;
- left: 50%;
- transform: translateX(-50%);
- background: #148069;
- color: white;
- padding: 8px 20px;
- border-radius: 20px;
- font-size: 14px;
- font-weight: 600;
-}
-
-.pricing-card h3 {
- font-size: 1.5rem;
- font-weight: 600;
- margin-bottom: 20px;
- color: #1a1a1a;
-}
-
-.pricing-card .price {
- font-size: 3rem;
- font-weight: 700;
- color: #148069;
- margin-bottom: 30px;
- line-height: 1;
-}
-
-.pricing-card .price span {
- font-size: 1rem;
- color: #555;
- font-weight: 400;
-}
-
-.pricing-card ul {
- list-style: none;
- padding: 0;
- margin-bottom: 30px;
-}
-
-.pricing-card li {
- padding: 10px 0;
- color: #555;
- border-bottom: 1px solid #f0f0f0;
-}
-
-.pricing-card li:last-child {
- border-bottom: none;
-}
-
-.pricing-card .pricing-note {
- font-size: 14px;
- color: #999;
- margin-top: 20px;
- font-style: italic;
-}
-
-.pricing-cta {
- text-align: center;
- margin-top: 50px;
-}
-
-/* FAQ Sections */
-.faq {
- padding: 80px 0;
- background: white;
-}
-
-.faq h2 {
- text-align: center;
- font-size: 2.5rem;
- font-weight: 600;
- margin-bottom: 60px;
- color: #1a1a1a;
-}
-
-.faq-grid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
- gap: 30px;
- max-width: 1200px;
- margin: 0 auto;
-}
-
-.faq-item {
- background: #f8f9fa;
- border-radius: 12px;
- overflow: hidden;
- border: 1px solid #e1e5e9;
-}
-
-.faq-item h3 {
- background: #144784;
- color: white;
- padding: 20px;
- margin: 0;
- font-size: 1.2rem;
- font-weight: 600;
-}
-
-.faq-item p {
- padding: 20px;
- margin: 0;
- color: #555;
- line-height: 1.6;
-}
-
-/* Enhanced FAQ Components */
-.faq-categories {
- padding: 60px 0;
- background: white;
-}
-
-.categories-grid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
- gap: 30px;
- max-width: 1200px;
- margin: 0 auto;
-}
-
-.category-card {
- background: #f8f9fa;
- padding: 30px;
- border-radius: 12px;
- text-align: center;
- text-decoration: none;
- color: inherit;
- transition: all 0.3s ease;
- border: 1px solid #e1e5e9;
-}
-
-.category-card:hover {
- transform: translateY(-5px);
- background: white;
- box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
- color: inherit;
- text-decoration: none;
-}
-
-.category-icon {
- font-size: 3rem;
- margin-bottom: 20px;
- display: block;
-}
-
-.category-card h3 {
- font-size: 1.3rem;
- font-weight: 600;
- margin-bottom: 12px;
- color: #144784;
-}
-
-.category-card p {
- color: #555;
- line-height: 1.4;
- margin: 0;
-}
-
-.faq-content {
- padding: 60px 0;
- background: #f8f9fa;
-}
-
-.faq-section {
- max-width: 1000px;
- margin: 0 auto 60px;
-}
-
-.faq-section h2 {
- font-size: 2rem;
- font-weight: 600;
- margin-bottom: 40px;
- color: #1a1a1a;
- border-bottom: 3px solid #179e83;
- padding-bottom: 10px;
-}
-
-.faq-question {
- width: 100%;
- background: white;
- border: none;
- padding: 20px;
- text-align: left;
- cursor: pointer;
- display: flex;
- justify-content: space-between;
- align-items: center;
- font-size: 1.1rem;
- font-weight: 600;
- color: #1a1a1a;
- border-radius: 8px;
- margin-bottom: 2px;
- transition: all 0.3s ease;
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
-}
-
-.faq-question:hover {
- background: #f8f9fa;
- transform: translateX(5px);
-}
-
-.faq-question[aria-expanded="true"],
-.faq-question.active {
- background: #148069;
- color: white;
-}
-
-.faq-icon {
- font-size: 1.5rem;
- font-weight: bold;
- transition: transform 0.3s ease;
-}
-
-.faq-question[aria-expanded="true"] .faq-icon,
-.faq-question.active .faq-icon {
- transform: rotate(180deg);
-}
-
-.faq-answer {
- background: white;
- padding: 0 20px;
- max-height: 0;
- overflow: hidden;
- transition: max-height 0.3s ease, padding 0.3s ease;
- border-radius: 0 0 8px 8px;
- border-top: 1px solid #e1e5e9;
- margin-bottom: 20px;
-}
-
-.faq-answer.active {
- padding: 20px;
- max-height: 1000px;
-}
-
-.faq-answer p {
- margin-bottom: 15px;
- color: #555;
- line-height: 1.6;
-}
-
-.faq-answer ul {
- margin-left: 20px;
- margin-bottom: 15px;
-}
-
-.faq-answer li {
- margin-bottom: 8px;
- color: #555;
- line-height: 1.5;
-}
-
-.faq-cta {
- padding: 80px 0;
- background: linear-gradient(135deg, #144784 0%, #179e83 100%);
- color: white;
- text-align: center;
-}
-
-.faq-cta h2 {
- font-size: 2.5rem;
- font-weight: 600;
- margin-bottom: 20px;
- color: white;
-}
-
-.faq-cta p {
- font-size: 1.2rem;
- margin-bottom: 40px;
- opacity: 0.95;
-}
-
-.faq-cta .cta-buttons {
- display: flex;
- justify-content: center;
- gap: 20px;
- margin-bottom: 50px;
- flex-wrap: wrap;
-}
-
-.contact-options {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
- gap: 30px;
- max-width: 800px;
- margin: 0 auto;
-}
-
-.contact-option {
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 15px;
- text-align: left;
-}
-
-.contact-icon {
- font-size: 2rem;
-}
-
-.contact-option strong {
- display: block;
- margin-bottom: 5px;
- color: white;
-}
-
-.contact-option p {
- margin: 0;
- opacity: 0.9;
-}
-
-.contact-option a {
- color: white;
- text-decoration: none;
-}
-
-.contact-option a:hover {
- text-decoration: underline;
-}
-
-/* CTA Section */
-.cta {
- padding: 80px 0;
- background: linear-gradient(135deg, #144784 0%, #179e83 100%);
- color: white;
- text-align: center;
-}
-
-.cta-content h2 {
- font-size: 2.5rem;
- font-weight: 600;
- margin-bottom: 20px;
- color: white;
-}
-
-.cta-content p {
- font-size: 1.2rem;
- margin-bottom: 40px;
- opacity: 0.95;
- max-width: 600px;
- margin-left: auto;
- margin-right: auto;
-}
-
-.cta-buttons {
- display: flex;
- justify-content: center;
- gap: 20px;
- flex-wrap: wrap;
-}
-
-/* Case Studies Specific */
-.case-study {
- background: white;
- border-radius: 16px;
- padding: 40px;
- margin-bottom: 40px;
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
- border: 1px solid #f0f0f0;
-}
-
-.case-study.featured {
- border: 2px solid #179e83;
- box-shadow: 0 8px 40px rgba(23, 158, 131, 0.15);
-}
-
-.case-study-content {
- display: grid;
- grid-template-columns: 2fr 1fr;
- gap: 40px;
- align-items: start;
-}
-
-.case-study-meta {
- display: flex;
- gap: 15px;
- margin-bottom: 20px;
-}
-
-.case-study-meta span {
- background: #f0f0f0;
- color: #555;
- padding: 5px 12px;
- border-radius: 15px;
- font-size: 14px;
- font-weight: 500;
-}
-
-.case-study h3 {
- font-size: 1.8rem;
- font-weight: 600;
- margin-bottom: 15px;
- color: #1a1a1a;
- line-height: 1.3;
-}
-
-.case-study-intro {
- font-size: 1.1rem;
- color: #555;
- margin-bottom: 30px;
- line-height: 1.6;
-}
-
-.challenge,
-.solution,
-.results {
- margin-bottom: 30px;
-}
-
-.challenge h4,
-.solution h4,
-.results h4 {
- font-size: 1.2rem;
- font-weight: 600;
- margin-bottom: 15px;
- color: #144784;
-}
-
-.results-grid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
- gap: 20px;
- margin: 20px 0;
-}
-
-.result-item {
- text-align: center;
- padding: 20px;
- background: #f8f9fa;
- border-radius: 12px;
-}
-
-.result-number {
- font-size: 2rem;
- font-weight: 700;
- color: #148069;
- display: block;
- margin-bottom: 5px;
-}
-
-.result-label {
- font-size: 14px;
- color: #555;
- font-weight: 500;
-}
-
-.testimonial {
- background: #f8f9fa;
- padding: 30px;
- border-radius: 12px;
- margin-top: 30px;
- border-left: 4px solid #179e83;
-}
-
-.testimonial p {
- font-style: italic;
- font-size: 1.1rem;
- color: #444;
- margin-bottom: 20px;
- line-height: 1.6;
-}
-
-.testimonial cite {
- display: block;
- font-style: normal;
-}
-
-.testimonial cite strong {
- color: #1a1a1a;
- font-weight: 600;
- display: block;
- margin-bottom: 5px;
-}
-
-.testimonial cite span {
- color: #555;
- font-size: 14px;
-}
-
-.case-study-visual {
- background: #f8f9fa;
- padding: 30px;
- border-radius: 12px;
- text-align: center;
-}
-
-.chart-container h5 {
- font-size: 1.1rem;
- font-weight: 600;
- margin-bottom: 20px;
- color: #1a1a1a;
-}
-
-/* Industries Overview */
-.industries-overview {
- padding: 80px 0;
- background: white;
-}
-
-.industries-overview h2 {
- text-align: center;
- font-size: 2.5rem;
- font-weight: 600;
- margin-bottom: 60px;
- color: #1a1a1a;
-}
-
-.industry-stat {
- text-align: center;
- padding: 30px;
- background: #f8f9fa;
- border-radius: 12px;
- transition: all 0.3s ease;
-}
-
-.industry-stat:hover {
- transform: translateY(-5px);
- background: white;
- box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
-}
-
-.industry-icon {
- font-size: 3rem;
- margin-bottom: 20px;
- display: block;
-}
-
-.industry-stat h3 {
- font-size: 1.3rem;
- font-weight: 600;
- margin-bottom: 15px;
- color: #144784;
-}
-
-.industry-stat .stat-number {
- font-size: 2.5rem;
- font-weight: 700;
- color: #148069;
- display: block;
- margin-bottom: 5px;
-}
-
-.industry-stat .stat-label {
- font-size: 14px;
- color: #555;
- font-weight: 500;
-}
-
-/* Related Articles Section */
-.related-articles {
- padding: 60px 0;
- background: #f8f9fa;
- border-top: 1px solid #e1e5e9;
- margin-top: 60px;
-}
-
-.related-articles h2,
-.related-articles h3 {
- font-size: 2rem;
- font-weight: 600;
- margin-bottom: 40px;
- color: #1a1a1a;
- text-align: center;
-}
-
-/* Handle both aside and section elements */
-aside.related-articles {
- padding: 40px 0;
- background: #f8f9fa;
- border-top: 1px solid #e1e5e9;
- margin-top: 40px;
-}
-
-.related-grid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
- gap: 30px;
- max-width: 1000px;
- margin: 0 auto;
-}
-
-.related-card {
- background: white;
- padding: 30px;
- border-radius: 12px;
- box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
- border: 1px solid #e1e5e9;
- transition: all 0.3s ease;
-}
-
-.related-card:hover {
- transform: translateY(-5px);
- box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
-}
-
-.related-card h3,
-.related-card h4 {
- font-size: 1.3rem;
- font-weight: 600;
- margin-bottom: 15px;
- line-height: 1.3;
-}
-
-.related-card h3 a,
-.related-card h4 a {
- color: #1a1a1a;
- text-decoration: none;
- transition: color 0.3s ease;
-}
-
-.related-card h3 a:hover,
-.related-card h4 a:hover {
- color: #148069;
-}
-
-.related-card .category {
- background: #148069;
- color: white;
- padding: 4px 12px;
- border-radius: 20px;
- font-size: 0.8rem;
- font-weight: 500;
- display: inline-block;
- margin-bottom: 12px;
-}
-
-.related-card span.category {
- display: inline-block;
- margin-bottom: 12px;
-}
-
-.related-card p {
- color: #555;
- line-height: 1.6;
- margin-bottom: 15px;
-}
-
-.related-card .read-time {
- color: #148069;
- font-size: 14px;
- font-weight: 500;
-}
-
-/* Category links section */
-.category-links {
- display: flex;
- gap: 1rem;
- justify-content: center;
- flex-wrap: wrap;
- margin-top: 2rem;
- width: 100%;
-}
-
-.category-links .btn {
- min-width: 200px;
-}
-
-/* Mobile responsive for category links */
-@media (max-width: 768px) {
- .category-links {
- flex-direction: column;
- align-items: center;
- }
-
- .category-links .btn {
- width: 100%;
- max-width: 300px;
- }
-}
-
-/* Button text visibility fix */
-.btn * {
- color: inherit;
- text-decoration: inherit;
-}
-
-.btn:visited,
-.btn:link,
-.btn:active,
-.btn:hover {
- color: white;
- text-decoration: none;
-}
-
-.btn-primary,
-.btn-primary:visited,
-.btn-primary:link,
-.btn-primary:active {
- color: white !important;
- text-decoration: none !important;
-}
-
-.btn-primary:hover,
-.btn-primary:focus {
- color: white !important;
- text-decoration: none !important;
-}
-
-/* Expert Consultation CTA */
-.expert-consultation-cta {
- background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
- border: 2px solid #179e83;
- border-radius: 12px;
- padding: 40px;
- text-align: center;
- margin: 40px 0;
- clear: both;
- width: 100%;
- box-sizing: border-box;
-}
-
-.expert-consultation-cta h3 {
- color: #144784;
- font-size: 1.5rem;
- margin-bottom: 15px;
- font-weight: 600;
-}
-
-.expert-consultation-cta p {
- color: #555;
- margin-bottom: 25px;
- font-size: 1.1rem;
- line-height: 1.6;
-}
-
-.expert-consultation-cta .btn {
- font-size: 1.1rem;
- padding: 15px 30px;
- min-width: 200px;
- font-weight: 600;
-}
-
-/* Testimonials Grid */
-.testimonials {
- padding: 80px 0;
- background: #f8f9fa;
-}
-
-.testimonials h2 {
- text-align: center;
- font-size: 2.5rem;
- font-weight: 600;
- margin-bottom: 60px;
- color: #1a1a1a;
-}
-
-.testimonials-grid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
- gap: 30px;
- max-width: 1200px;
- margin: 0 auto;
-}
-
-.testimonial-card {
- background: white;
- padding: 40px;
- border-radius: 16px;
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
- border: 1px solid #f0f0f0;
- position: relative;
-}
-
-.testimonial-card::before {
- content: '"';
- position: absolute;
- top: -10px;
- left: 30px;
- font-size: 4rem;
- color: #148069;
- font-family: serif;
- line-height: 1;
-}
-
-.testimonial-content p {
- font-style: italic;
- font-size: 1.1rem;
- color: #444;
- margin-bottom: 30px;
- line-height: 1.6;
-}
-
-.testimonial-author {
- display: flex;
- justify-content: space-between;
- align-items: center;
-}
-
-.author-info strong {
- color: #1a1a1a;
- font-weight: 600;
- display: block;
- margin-bottom: 5px;
-}
-
-.author-info span {
- color: #555;
- font-size: 14px;
-}
-
-.company-logo {
- width: 60px;
- height: 40px;
- display: flex;
- align-items: center;
- justify-content: center;
-}
-
-.company-logo img {
- max-width: 100%;
- max-height: 100%;
- filter: grayscale(100%);
- opacity: 0.7;
-}
-
-/* Social Proof Section */
-.social-proof {
- padding: 80px 0;
- background: white;
-}
-
-.social-proof h2 {
- text-align: center;
- font-size: 2.5rem;
- font-weight: 600;
- margin-bottom: 60px;
- color: #1a1a1a;
-}
-
-.client-logos {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
- gap: 30px;
- margin: 40px 0 60px;
- padding: 40px 0;
- border-top: 1px solid #e1e5e9;
- border-bottom: 1px solid #e1e5e9;
-}
-
-.logo-item {
- display: flex;
- align-items: center;
- justify-content: center;
- padding: 20px;
- background: #f8f9fa;
- border-radius: 8px;
- min-height: 80px;
- color: #999;
- font-weight: 500;
- text-align: center;
- transition: all 0.3s ease;
-}
-
-.logo-item:hover {
- background: white;
- box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
- transform: translateY(-2px);
-}
-
-/* Responsive Updates for New Components */
-@media (max-width: 768px) {
- .case-study-content {
- grid-template-columns: 1fr;
- gap: 30px;
- }
-
- .results-grid {
- grid-template-columns: repeat(2, 1fr);
- gap: 15px;
- }
-
- .pricing-grid {
- grid-template-columns: 1fr;
- }
-
- .pricing-card.featured {
- transform: none;
- margin: 20px 0;
- }
-
- .categories-grid {
- grid-template-columns: repeat(2, 1fr);
- gap: 20px;
- }
-
- .contact-options {
- grid-template-columns: 1fr;
- gap: 20px;
- }
-
- .contact-option {
- justify-content: flex-start;
- }
-
- .faq-grid {
- grid-template-columns: 1fr;
- }
-
- .page-hero h1,
- .service-hero h1 {
- font-size: 2.2rem;
- }
-
- .breadcrumb ol {
- flex-wrap: wrap;
- }
-
- .client-logos {
- grid-template-columns: repeat(2, 1fr);
- gap: 20px;
- }
-}
-
-@media (max-width: 480px) {
- .categories-grid {
- grid-template-columns: 1fr;
- }
-
- .results-grid {
- grid-template-columns: 1fr;
- }
-
- .case-study {
- padding: 30px 20px;
- }
-
- .service-hero .hero-stats,
- .page-hero .hero-stats {
- flex-direction: column;
- gap: 20px;
- }
-
- .hero-cta {
- flex-direction: column;
- align-items: center;
- }
-
- .cta-buttons {
- flex-direction: column;
- align-items: center;
- }
-
- .related-grid {
- grid-template-columns: 1fr;
- gap: 20px;
- }
-
- .related-card {
- padding: 25px 20px;
- }
-
- .expert-consultation-cta {
- padding: 30px 20px;
- margin: 30px 0;
- }
-
- .article-content pre {
- margin: 20px -20px;
- border-radius: 0;
- border-left: none;
- border-right: none;
- }
-
- .article-content pre code {
- padding: 15px 20px;
- font-size: 13px;
- }
-
- .article-content pre:hover::before {
- top: 5px;
- right: 5px;
- font-size: 11px;
- padding: 4px 8px;
- }
-}
-
-/* Technology Showcase Section */
-.technology-showcase {
- padding: 80px 0;
- background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
- position: relative;
-}
-
-.technology-showcase::before {
- content: '';
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- background: url('data:image/svg+xml,
');
- opacity: 0.3;
- pointer-events: none;
-}
-
-.technology-showcase .container {
- position: relative;
- z-index: 1;
-}
-
-.technology-showcase h2 {
- text-align: center;
- margin-bottom: 50px;
- color: #1a202c;
- font-size: 2.5rem;
- font-weight: 700;
- background: linear-gradient(135deg, #144784 0%, #179e83 100%);
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- background-clip: text;
-}
-
-.tech-grid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
- gap: 30px;
- max-width: 1000px;
- margin: 0 auto;
-}
-
-.tech-card {
- background: white;
- padding: 40px 30px;
- border-radius: 16px;
- text-align: center;
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
- transition: all 0.3s ease;
- border: 1px solid #e2e8f0;
- position: relative;
- overflow: hidden;
-}
-
-.tech-card::before {
- content: '';
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- height: 4px;
- background: linear-gradient(135deg, #144784 0%, #179e83 100%);
- transform: scaleX(0);
- transition: transform 0.3s ease;
-}
-
-.tech-card:hover::before {
- transform: scaleX(1);
-}
-
-.tech-card:hover {
- transform: translateY(-8px);
- box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
- border-color: #cbd5e0;
-}
-
-.tech-icon {
- font-size: 3rem;
- margin-bottom: 20px;
- display: block;
- line-height: 1;
- filter: grayscale(0.2);
- transition: all 0.3s ease;
-}
-
-.tech-card:hover .tech-icon {
- transform: scale(1.1);
- filter: grayscale(0);
-}
-
-.tech-card h3 {
- color: #1a202c;
- font-size: 1.5rem;
- font-weight: 600;
- margin: 0 0 15px 0;
- transition: color 0.3s ease;
-}
-
-.tech-card:hover h3 {
- color: #144784;
-}
-
-.tech-card p {
- color: #64748b;
- font-size: 1rem;
- line-height: 1.6;
- margin: 0;
- font-weight: 500;
-}
-
-/* Responsive Design for Technology Showcase */
-@media (max-width: 768px) {
- .technology-showcase {
- padding: 60px 0;
- }
-
- .technology-showcase h2 {
- font-size: 2rem;
- margin-bottom: 40px;
- }
-
- .tech-grid {
- grid-template-columns: 1fr;
- gap: 20px;
- }
-
- .tech-card {
- padding: 30px 20px;
- }
-
- .tech-icon {
- font-size: 2.5rem;
- margin-bottom: 15px;
- }
-
- .tech-card h3 {
- font-size: 1.3rem;
- }
-}
-
-/* Capabilities Grid (used in project-types.php) */
-.capabilities-grid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
- gap: 40px;
- margin: 40px 0;
-}
-
-.capability-card {
- background: white;
- padding: 30px;
- border-radius: 12px;
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
- border-left: 4px solid #179e83;
- transition: all 0.3s ease;
- position: relative;
- overflow: hidden;
-}
-
-.capability-card:hover {
- transform: translateY(-4px);
- box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
- border-left-color: #144784;
-}
-
-.capability-card h3 {
- color: #1a202c;
- font-size: 1.3rem;
- font-weight: 600;
- margin: 0 0 15px 0;
- transition: color 0.3s ease;
-}
-
-.capability-card:hover h3 {
- color: #144784;
-}
-
-.capability-card p {
- color: #64748b;
- line-height: 1.6;
- margin: 0 0 20px 0;
-}
-
-.capability-card ul {
- list-style: none;
- padding: 0;
- margin: 0;
-}
-
-.capability-card li {
- color: #4a5568;
- margin: 8px 0;
- padding-left: 20px;
- position: relative;
- font-size: 0.95rem;
-}
-
-.capability-card li::before {
- content: 'â';
- position: absolute;
- left: 0;
- color: #148069;
- font-weight: bold;
- font-size: 1rem;
-}
-
-/* Technology badges/tags styling */
-.tech-tag {
- display: inline-block;
- background: #148069;
- color: white;
- padding: 6px 12px;
- border-radius: 20px;
- font-size: 0.9rem;
- margin: 4px 8px 4px 0;
- font-weight: 500;
- transition: all 0.3s ease;
-}
-
-.tech-tag:hover {
- background: #11725e;
- transform: translateY(-2px);
- box-shadow: 0 2px 8px rgba(23, 158, 131, 0.3);
-}
-
-/* Responsive design for capabilities grid */
-@media (max-width: 768px) {
- .capabilities-grid {
- grid-template-columns: 1fr;
- gap: 20px;
- margin: 30px 0;
- }
-
- .capability-card {
- padding: 25px 20px;
- }
-
- .capability-card h3 {
- font-size: 1.2rem;
- }
-}
-
-/* ===== NAVBAR SPACING FIX (consistent across all pages) ===== */
-/* Navbar is position:fixed, height 70px */
-
-/* Hero pages: all hero variants get 120px top padding (70px navbar + 50px space) */
-.hero,
-.page-hero,
-.about-hero,
-.faq-hero,
-.service-hero,
-.project-types-hero,
-.tools-hero,
-.quote-hero {
- padding-top: 120px !important;
-}
-
-/* Non-hero pages with
: push content below navbar */
-main {
- padding-top: 90px; /* 70px navbar + 20px breathing room */
-}
-
-/* But if main contains a hero, don't double-pad */
-main > .hero:first-child,
-main > .page-hero:first-child,
-main > .about-hero:first-child,
-main > .faq-hero:first-child,
-main > .service-hero:first-child,
-main > .project-types-hero:first-child {
- margin-top: -90px; /* Cancel out the main padding */
-}
-
-/* Legal content pages (no hero, text-heavy) */
-.legal-content {
- padding-top: 100px !important; /* 70px navbar + 30px breathing room */
-}
-
-/* Tool sub-pages and standalone pages (no , no hero) */
-.calculator-container,
-.analyzer-container,
-.converter-container,
-.checker-container,
-.thank-you-container {
- padding-top: 100px !important; /* 70px navbar + 30px breathing room */
-}
-
-/* Generic page-content class */
-.page-content {
- padding-top: 90px;
-}
-
-/* Hide reCAPTCHA badge */
-.grecaptcha-badge {
- visibility: hidden !important;
-}
-
-/* Additional hero graphic animations */
-.hero-graphic .data-line-1,
-.hero-graphic .data-line-2,
-.hero-graphic .data-line-3,
-.hero-graphic .data-line-4,
-.hero-graphic .data-line-5,
-.hero-graphic .data-line-6 {
- animation: data-pulse 3s ease-in-out infinite;
-}
-
-.hero-graphic .data-line-2 {
- animation-delay: 0.5s;
-}
-
-.hero-graphic .data-line-3 {
- animation-delay: 1s;
-}
-
-.hero-graphic .data-line-4 {
- animation-delay: 1.5s;
-}
-
-.hero-graphic .data-line-5 {
- animation-delay: 2s;
-}
-
-.hero-graphic .data-line-6 {
- animation-delay: 2.5s;
-}
-
-/* ============================================
- UNIFIED COMPONENT STYLES
- Added for UI consistency across all pages
- ============================================ */
-
-/* CSS Variables for Brand Consistency */
-:root {
- --color-primary: #148069;
- --color-primary-dark: #11725e;
- --color-secondary: #144784;
- --color-secondary-light: #1a5a9e;
- --color-accent: #1a5a9e;
- --gradient-hero: linear-gradient(135deg, #144784 0%, #179e83 100%);
- --gradient-hero-alt: linear-gradient(135deg, #144784 0%, #1a5a9e 100%);
- --gradient-cta: linear-gradient(135deg, #144784 0%, #179e83 100%);
- --color-text: #444444;
- --color-text-dark: #1a1a1a;
- --color-text-light: #666666;
- --color-border: #e1e5e9;
- --color-bg-light: #f8f9fa;
- --star-color: #f0c14b;
-}
-
-/* Dark Testimonials Section (Homepage) */
-.testimonials-section-dark {
- padding: 80px 0;
- background: var(--gradient-hero-alt);
- color: white;
-}
-
-.testimonials-section-dark .section-header {
- text-align: center;
- margin-bottom: 50px;
-}
-
-.testimonials-section-dark .section-header h2 {
- color: white;
- font-size: 2.2rem;
- margin-bottom: 16px;
-}
-
-.testimonials-section-dark .section-header p {
- color: rgba(255, 255, 255, 0.9);
- max-width: 600px;
- margin: 0 auto;
-}
-
-.testimonials-dark-grid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
- gap: 30px;
-}
-
-.testimonial-card-dark {
- background: rgba(255, 255, 255, 0.1);
- padding: 35px;
- border-radius: 12px;
- backdrop-filter: blur(10px);
- transition: all 0.3s ease;
-}
-
-.testimonial-card-dark:hover {
- background: rgba(255, 255, 255, 0.15);
- transform: translateY(-5px);
-}
-
-.testimonial-stars {
- display: flex;
- gap: 5px;
- margin-bottom: 20px;
-}
-
-.testimonial-stars .star {
- color: var(--star-color);
- font-size: 1.3rem;
-}
-
-.testimonial-card-dark .testimonial-text {
- font-style: italic;
- margin-bottom: 25px;
- line-height: 1.7;
- font-size: 1.05rem;
- color: white;
-}
-
-.testimonial-author-dark {
- display: flex;
- align-items: center;
- gap: 15px;
-}
-
-.testimonial-avatar {
- width: 50px;
- height: 50px;
- background: var(--color-primary);
- border-radius: 50%;
- display: flex;
- align-items: center;
- justify-content: center;
- font-weight: 700;
- font-size: 1.2rem;
- color: white;
-}
-
-.testimonial-author-info .author-name {
- font-weight: 600;
- margin: 0;
- color: white;
-}
-
-.testimonial-author-info .author-role {
- opacity: 0.8;
- margin: 0;
- font-size: 0.9rem;
- color: white;
-}
-
-.testimonials-cta {
- text-align: center;
- margin-top: 40px;
-}
-
-.testimonials-cta .btn-white {
- background: white;
- color: var(--color-secondary);
- padding: 14px 28px;
- border-radius: 8px;
- text-decoration: none;
- font-weight: 600;
- display: inline-block;
- transition: all 0.3s ease;
-}
-
-.testimonials-cta .btn-white:hover {
- transform: translateY(-2px);
- box-shadow: 0 4px 16px rgba(255, 255, 255, 0.3);
-}
-
-/* Unified Location Hero (for location pages) */
-.location-hero {
- background: var(--gradient-hero);
- color: white;
- padding: 120px 0 80px;
- text-align: center;
- position: relative;
-}
-
-.location-hero .hero-content {
- max-width: 900px;
- margin: 0 auto;
- position: relative;
- z-index: 2;
-}
-
-.location-hero h1 {
- font-size: 3rem;
- font-weight: 700;
- margin-bottom: 20px;
- line-height: 1.2;
-}
-
-.location-hero .hero-subtitle {
- font-size: 1.25rem;
- margin-bottom: 40px;
- opacity: 0.95;
- line-height: 1.6;
-}
-
-.location-hero .hero-stats {
- display: flex;
- justify-content: center;
- gap: 40px;
- margin: 40px 0;
-}
-
-.location-hero .hero-cta {
- display: flex;
- justify-content: center;
- gap: 20px;
- flex-wrap: wrap;
-}
-
-/* Unified Breadcrumb Styling */
-.breadcrumb-nav {
- background: var(--color-bg-light);
- padding: 15px 0;
- border-bottom: 1px solid var(--color-border);
-}
-
-.breadcrumb-nav .breadcrumb-list {
- display: flex;
- list-style: none;
- margin: 0;
- padding: 0;
- align-items: center;
- gap: 8px;
- max-width: 1200px;
- margin: 0 auto;
- padding: 0 20px;
-}
-
-.breadcrumb-nav .breadcrumb-item {
- display: flex;
- align-items: center;
-}
-
-.breadcrumb-nav .breadcrumb-item:not(:last-child)::after {
- content: '>';
- margin-left: 8px;
- color: var(--color-text-light);
- font-weight: 500;
-}
-
-.breadcrumb-nav .breadcrumb-link {
- color: var(--color-secondary);
- text-decoration: none;
- font-weight: 500;
- transition: color 0.3s ease;
-}
-
-.breadcrumb-nav .breadcrumb-link:hover {
- color: var(--color-primary);
- text-decoration: underline;
-}
-
-.breadcrumb-nav .breadcrumb-current {
- color: var(--color-text-light);
- font-weight: 500;
-}
-
-/* Unified Card Styles with Top Border Accent */
-.unified-card {
- background: white;
- padding: 40px;
- border-radius: 16px;
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
- border: 1px solid #f0f0f0;
- border-top: 4px solid var(--color-primary);
- transition: all 0.3s ease;
-}
-
-.unified-card:hover {
- transform: translateY(-8px);
- box-shadow: 0 8px 40px rgba(0, 0, 0, 0.12);
-}
-
-.unified-card h3 {
- font-size: 1.5rem;
- font-weight: 600;
- margin-bottom: 16px;
- color: var(--color-text-dark);
-}
-
-.unified-card p {
- color: var(--color-text-light);
- margin-bottom: 20px;
- line-height: 1.6;
-}
-
-/* Unified CTA Section */
-.unified-cta {
- padding: 80px 0;
- background: var(--gradient-cta);
- color: white;
- text-align: center;
-}
-
-.unified-cta h2 {
- font-size: 2.5rem;
- font-weight: 600;
- margin-bottom: 20px;
- color: white;
-}
-
-.unified-cta p {
- font-size: 1.2rem;
- margin-bottom: 40px;
- opacity: 0.95;
- max-width: 600px;
- margin-left: auto;
- margin-right: auto;
-}
-
-.unified-cta .cta-buttons {
- display: flex;
- justify-content: center;
- gap: 20px;
- flex-wrap: wrap;
-}
-
-/* Responsive adjustments for unified components */
-@media (max-width: 768px) {
- .testimonials-dark-grid {
- grid-template-columns: 1fr;
- }
-
- .testimonials-section-dark {
- padding: 60px 0;
- }
-
- .testimonials-section-dark .section-header h2 {
- font-size: 1.8rem;
- }
-
- .location-hero h1 {
- font-size: 2.2rem;
- }
-
- .location-hero .hero-stats {
- flex-direction: column;
- gap: 20px;
- }
-
- .location-hero .hero-cta {
- flex-direction: column;
- align-items: center;
- }
-
- .unified-cta h2 {
- font-size: 2rem;
- }
-
- .unified-cta .cta-buttons {
- flex-direction: column;
- align-items: center;
- }
-}
-
-@media (max-width: 480px) {
- .testimonial-card-dark {
- padding: 25px;
- }
-
- .testimonial-card-dark .testimonial-text {
- font-size: 1rem;
- }
-
- .unified-card {
- padding: 30px 20px;
- }
-}
-
-/* Certifications & Trust Badges Section */
-.certifications-section {
- padding: 80px 0;
- background: #f8f9fa;
-}
-
-.certifications-section .section-header {
- text-align: center;
- margin-bottom: 60px;
-}
-
-.certifications-section .section-header h2 {
- font-size: 2.5rem;
- color: #144784;
- margin-bottom: 16px;
-}
-
-.certifications-section .section-header p {
- color: #555;
- max-width: 700px;
- margin: 0 auto;
- font-size: 1.1rem;
-}
-
-.certifications-grid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
- gap: 40px;
- max-width: 1100px;
- margin: 0 auto;
-}
-
-.certification-badge {
- text-align: center;
- padding: 40px 30px;
- background: white;
- border-radius: 12px;
- box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
- transition: all 0.3s ease;
-}
-
-.certification-badge:hover {
- transform: translateY(-8px);
- box-shadow: 0 8px 25px rgba(20, 71, 132, 0.15);
-}
-
-.certification-badge .badge-icon {
- margin-bottom: 25px;
- display: flex;
- justify-content: center;
- align-items: center;
-}
-
-.certification-badge .badge-icon svg {
- width: 80px;
- height: 80px;
-}
-
-.certification-badge h3 {
- font-size: 1.3rem;
- color: #144784;
- margin-bottom: 12px;
- font-weight: 600;
-}
-
-.certification-badge p {
- color: #555;
- font-size: 0.95rem;
- line-height: 1.6;
- margin: 0;
-}
-
-/* Responsive Design for Certifications */
-@media (max-width: 1024px) {
- .certifications-grid {
- grid-template-columns: repeat(2, 1fr);
- gap: 30px;
- }
-}
-
-@media (max-width: 768px) {
- .certifications-section {
- padding: 60px 0;
- }
-
- .certifications-section .section-header h2 {
- font-size: 2rem;
- }
-
- .certifications-grid {
- grid-template-columns: 1fr;
- gap: 25px;
- }
-
- .certification-badge {
- padding: 30px 25px;
- }
-}
-
-@media (max-width: 480px) {
- .certifications-section .section-header h2 {
- font-size: 1.75rem;
- }
-
- .certification-badge h3 {
- font-size: 1.15rem;
- }
-
- .certification-badge p {
- font-size: 0.9rem;
- }
-}
-
-/* Trust Signals Below Hero */
-.trust-signals-hero {
- background: #f8f9fa;
- padding: 2rem 0;
- text-align: center;
-}
-.trust-signals-hero .trust-heading {
- font-size: 0.95rem;
- color: #5c6370;
- text-transform: uppercase;
- letter-spacing: 1px;
- margin-bottom: 1.5rem;
-}
-.trust-signals-hero .trust-logos {
- display: flex;
- justify-content: center;
- align-items: center;
- gap: 2rem;
- flex-wrap: wrap;
- margin-bottom: 1.5rem;
-}
-.trust-signals-hero .trust-logo-placeholder {
- width: 120px;
- height: 50px;
- background: #e9ecef;
- border-radius: 6px;
-}
-.trust-signals-hero .trust-badges {
- display: flex;
- justify-content: center;
- gap: 1.5rem;
- flex-wrap: wrap;
-}
-.trust-signals-hero .trust-badges .badge {
- background: #fff;
- border: 1px solid #dee2e6;
- padding: 0.5rem 1rem;
- border-radius: 20px;
- font-size: 0.9rem;
- color: #495057;
-}
-
-/* Quote Page Layout */
-.quote-page-layout {
- display: grid;
- grid-template-columns: 1fr 350px;
- gap: 2rem;
- max-width: 1100px;
- margin: 0 auto;
- padding: 2rem 0;
-}
-@media (max-width: 768px) {
- .quote-page-layout {
- grid-template-columns: 1fr;
- }
-}
-.quote-sidebar {
- position: sticky;
- top: 100px;
- align-self: start;
-}
-.quote-sidebar .testimonial-card {
- background: #f8f9fa;
- border-left: 4px solid #0d6efd;
- padding: 1.5rem;
- border-radius: 8px;
- margin-bottom: 1.5rem;
-}
-.quote-sidebar .testimonial-card blockquote p {
- font-style: italic;
- margin-bottom: 0.5rem;
-}
-.quote-sidebar .what-happens-next {
- background: #fff;
- border: 1px solid #dee2e6;
- padding: 1.5rem;
- border-radius: 8px;
-}
-.quote-sidebar .what-happens-next ol {
- padding-left: 1.2rem;
-}
-.quote-sidebar .what-happens-next li {
- margin-bottom: 0.75rem;
-}
-.optional {
- color: #5c6370;
- font-weight: normal;
- font-size: 0.85em;
-}
-.form-group input.error,
-.form-group select.error {
- border-color: #dc3545;
-}
-.form-buttons {
- display: flex;
- gap: 1rem;
- margin-top: 1.5rem;
-}
-}
-
-
-/* ===== VISUAL FIXES 2026-02-08 v2 ===== */
-
-/* Fix 10: Increase base font size */
-body { font-size: 17px; }
-
-/* Fix 11: Widen containers */
-.container { max-width: 1320px; }
-
-/* Fix 1: Trust badges as styled pills */
-.trust-signals-hero .trust-badges .badge {
- background: linear-gradient(135deg, #144784, #1a5298);
- color: #fff;
- border: none;
- padding: 0.65rem 1.5rem;
- font-size: 0.95rem;
- font-weight: 600;
- letter-spacing: 0.5px;
- border-radius: 24px;
- box-shadow: 0 2px 8px rgba(20, 71, 132, 0.25);
- display: inline-flex;
- align-items: center;
- gap: 0.4rem;
-}
-.trust-signals-hero .trust-badges .badge::before {
- content: 'â';
- font-weight: 700;
- font-size: 0.85rem;
-}
-.trust-signals-hero .trust-badges {
- gap: 1.2rem;
- margin-top: 0.5rem;
-}
-.trust-signals-hero .trust-heading {
- margin-bottom: 1rem;
- font-size: 1rem;
-}
-
-/* Fix 2: Service cards breathing room */
-.service-card { padding: 42px; }
-.service-card p {
- font-size: 1.05rem;
- line-height: 1.75;
- margin-bottom: 22px;
-}
-.service-card li {
- padding: 9px 0;
- font-size: 1.02rem;
- padding-left: 24px;
- line-height: 1.55;
-}
-.service-card ul { margin-top: 8px; }
-.service-card h3 { font-size: 1.4rem; }
-
-/* Fix 3: Stats row labels bigger */
-.hero-stats .stat-label { font-size: 1.05rem; }
-.hero-stats .stat-number { font-size: 2.4rem; }
-
-/* Fix 4: Consistent card heights */
-.services-grid {
- grid-template-columns: repeat(3, 1fr);
-}
-.services-grid .service-card {
- display: flex;
- flex-direction: column;
-}
-.services-grid .service-card p { flex-shrink: 0; }
-.services-grid .service-card ul { flex-grow: 1; }
-@media (max-width: 1100px) {
- .services-grid { grid-template-columns: repeat(2, 1fr); }
-}
-@media (max-width: 700px) {
- .services-grid { grid-template-columns: 1fr; }
-}
-
-/* Fix 5: About values grid 3-col */
-.values-grid {
- grid-template-columns: repeat(3, 1fr);
- justify-items: stretch;
-}
-@media (max-width: 900px) {
- .values-grid { grid-template-columns: repeat(2, 1fr); }
-}
-@media (max-width: 600px) {
- .values-grid { grid-template-columns: 1fr; }
-}
-
-/* Fix 6: About stats grid 3-col */
-.stats-grid { grid-template-columns: repeat(3, 1fr); }
-@media (max-width: 768px) {
- .stats-grid { grid-template-columns: repeat(2, 1fr); }
-}
-
-/* Fix 7: Team bio cards equal height */
-.values-grid .value-card {
- display: flex;
- flex-direction: column;
-}
-
-/* Fix 8: Consistent testimonial style on quote page */
-/* Override the big teal quote mark on sidebar testimonial-card */
-.quote-sidebar .testimonial-card {
- background: #f8f9fa;
- border-left: 4px solid #144784;
- border-top: none;
- border-right: none;
- border-bottom: none;
- padding: 1.5rem;
- border-radius: 8px;
- margin-bottom: 1.5rem;
- box-shadow: none;
-}
-.quote-sidebar .testimonial-card::before {
- display: none;
-}
-.quote-sidebar .testimonial-card blockquote p {
- font-style: italic;
- margin-bottom: 0.5rem;
- line-height: 1.6;
- color: #333;
-}
-.quote-sidebar .testimonial-card blockquote cite {
- color: #555;
- font-size: 0.9rem;
-}
-
-/* Fix 9: FAQ full width below form & sidebar */
-.quote-faq-section {
- grid-column: 1 / -1;
- margin-top: 2rem;
- padding-top: 2rem;
- border-top: 1px solid #e0e0e0;
-}
-
-/* Features grid improvements */
-.features-grid {
- grid-template-columns: repeat(3, 1fr);
-}
-@media (max-width: 1100px) {
- .features-grid { grid-template-columns: repeat(2, 1fr); }
-}
-@media (max-width: 700px) {
- .features-grid { grid-template-columns: 1fr; }
-}
-
-/* ===== END VISUAL FIXES ===== */
-
-
-/* ===== VISUAL FIXES 2026-02-11 ===== */
-
-/* 1. Equal-height capability cards on project-types page */
-.capabilities-grid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
- gap: 30px;
- align-items: stretch;
-}
-.capability-card {
- display: flex;
- flex-direction: column;
- height: 100%;
-}
-.capability-card p {
- flex-grow: 1;
-}
-
-/* 2. Footer contrast improvements â WCAG AA */
-.footer-section p,
-.footer-section li,
-.footer-bottom p,
-.footer-bottom .company-details,
-.trust-badge-text span {
- color: #d1d5db; /* ~9:1 on #151f25 */
-}
-.footer-section a {
- color: #93c5fd; /* light blue â ~7.5:1 on #151f25 */
-}
-.footer-section a:hover {
- color: #bfdbfe;
-}
-.footer-section h3 {
- color: #f3f4f6;
-}
-.footer-bottom p,
-.footer-bottom .company-details {
- color: #9ca3af; /* muted but still 4.6:1 */
-}
-.footer-logo img {
- filter: brightness(1.2);
-}
-
-/* 3. Mobile text sizing & layout */
-@media (max-width: 768px) {
- body {
- font-size: 16px;
- }
-
- /* Project-types hero */
- .project-types-hero h1 {
- font-size: 1.8rem;
- line-height: 1.3;
- }
- .project-types-hero p {
- font-size: 1rem;
- }
-
- /* Capability cards single column on mobile */
- .capabilities-grid {
- grid-template-columns: 1fr;
- }
-
- /* Industry grid single column */
- .industry-grid {
- grid-template-columns: 1fr;
- }
-
- /* Project category headings */
- .project-category h2 {
- font-size: 1.6rem;
- }
- .project-category h3 {
- font-size: 1.2rem;
- }
- .project-description {
- font-size: 1rem;
- }
-
- /* Footer content single column (already done but ensure) */
- .footer-content {
- grid-template-columns: 1fr;
- }
-
- /* Footer bottom stack */
- .footer-bottom,
- .footer-bottom .footer-bottom-content {
- flex-direction: column;
- gap: 15px;
- text-align: center;
- }
-}
-
-@media (max-width: 480px) {
- .project-types-hero h1 {
- font-size: 1.5rem;
- }
- .project-types-hero {
- padding: 100px 0 40px;
- }
- .project-category {
- padding: 40px 0;
- }
- .project-category h2 {
- font-size: 1.4rem;
- }
-}
-
-/* 4. General polish */
-/* project-types-hero padding now in unified block above */
-
-/* Tech tags wrapping fix */
-.tech-tags {
- display: flex;
- flex-wrap: wrap;
- gap: 8px;
-}
-
-/* ===== END VISUAL FIXES 2026-02-11 ===== */
-
-/* Fix: constrain author-bio and article-footer outside .container (Feb 2026) */
-.blog-article .author-bio,
-.blog-article .article-cta,
-.blog-article .related-articles {
- max-width: 1200px;
- margin-left: auto;
- margin-right: auto;
- box-sizing: border-box;
-}
+*{margin:0;padding:0;box-sizing:border-box;}html{scroll-behavior:smooth;cursor:default;}body{font-family:'Roboto Slab','Lato',sans-serif;line-height:1.6;color:#333333;background-color:#ffffff;cursor:default;}*,*::before,*::after{cursor:inherit;}a,button,[role="button"],label,select,input[type="submit"],input[type="button"],input[type="reset"],input[type="checkbox"],input[type="radio"],.btn,summary{cursor:pointer;}input[type="text"],input[type="email"],input[type="search"],input[type="password"],input[type="url"],input[type="tel"],input[type="number"],textarea,[contenteditable="true"]{cursor:text;}.container{max-width:1200px;margin:0 auto;padding:0 20px;}.btn{display:inline-block;padding:14px 28px;border:none;border-radius:8px;text-decoration:none;font-weight:500;font-size:16px;text-align:center;cursor:pointer;transition:all 0.3s ease;box-shadow:0 2px 8px rgba(0,0,0,0.1);font-family:inherit;line-height:1.4;white-space:nowrap;min-height:48px;display:inline-flex;align-items:center;justify-content:center;background:#4f46e5;color:white;}.btn-primary{background:#4f46e5;color:white !important;text-decoration:none !important;}.btn-primary:hover{transform:translateY(-2px);background:#4338ca;box-shadow:0 4px 16px rgba(23,158,131,0.3);color:white !important;text-decoration:none !important;}.btn-secondary{background:white;color:#7c3aed !important;border:2px solid #7c3aed;text-decoration:none !important;}.btn-secondary:hover{background:#7c3aed;color:white !important;transform:translateY(-2px);text-decoration:none !important;}.btn-full{width:100%;}.highlight{background:linear-gradient(135deg,#6d28d9,#1bbc9b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}.section-header{text-align:center;margin-bottom:60px;}.section-header h2{font-size:2.5rem;font-weight:600;margin-bottom:16px;color:#1a1a1a;}.section-header p{font-size:1.2rem;color:#555;max-width:600px;margin:0 auto;}.navbar{position:fixed;top:0;width:100%;background:rgba(255,255,255,0.95);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,0.1);z-index:1000;transition:all 0.3s ease;}.navbar.scrolled{background:rgba(255,255,255,0.98);box-shadow:0 2px 20px rgba(0,0,0,0.1);}.nav-container{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center;height:70px;}.nav-logo img{height:40px;width:auto;}.nav-menu{display:flex;align-items:center;gap:30px;}.nav-link{text-decoration:none;color:#1a1a1a;font-weight:500;transition:color 0.3s ease;}.nav-link.active{color:#4f46e5;font-weight:600;border-bottom:2px solid #4f46e5;padding-bottom:2px;}.nav-link:hover{color:#1e1b4b;}.nav-link.cta-button{background:#4f46e5;color:white;padding:10px 20px;border-radius:6px;transition:all 0.3s ease;}.nav-link.cta-button:hover{transform:translateY(-2px);background:#4338ca;box-shadow:0 4px 16px rgba(23,158,131,0.3);}.nav-toggle{display:none;flex-direction:column;cursor:pointer;background:none;border:none;padding:8px;min-width:48px;min-height:48px;justify-content:center;align-items:center;}.bar{width:25px;height:3px;background:#1a1a1a;margin:3px 0;transition:0.3s;}.hero{padding:120px 0 80px;background:linear-gradient(135deg,#1e1b4b 0%,#7c3aed 100%);min-height:100vh;display:flex;align-items:center;color:white;position:relative;overflow:hidden;}.hero::before{content:'';position:absolute;top:0;right:0;width:50%;height:100%;background:url('data:image/svg+xml, ') no-repeat center;background-size:contain;animation:float 6s ease-in-out infinite;}@keyframes float{0%,100%{transform:translateY(0px);}50%{transform:translateY(-20px);}}.hero-container{max-width:1200px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}.hero-content{animation:fadeInUp 1s ease;}.hero-title{font-size:3.5rem;font-weight:700;line-height:1.2;margin-bottom:24px;color:#ffffff;}.hero-subtitle{font-size:1.3rem;font-weight:500;color:#ffffff;margin-bottom:40px;line-height:1.6;opacity:0.9;}.hero-buttons{display:flex;gap:20px;margin-bottom:60px;}.hero-stats{display:flex;gap:40px;}.stat{text-align:center;}.stat-number{display:block;font-size:2rem;font-weight:700;color:#ffffff;}.stat-label{display:block;font-size:0.9rem;color:#ffffff;font-weight:500;}.hero-image{animation:fadeInRight 1s ease;position:relative;z-index:2;}.hero-graphic{width:100%;height:auto;max-width:500px;animation:float 6s ease-in-out infinite;}.hero-graphic svg{width:100%;height:auto;filter:drop-shadow(0 10px 30px rgba(0,0,0,0.1));}.hero-graphic .bg-circle-1{animation:rotate 20s linear infinite;transform-origin:center;}.hero-graphic .bg-circle-2{animation:rotate 15s linear infinite reverse;transform-origin:center;}.hero-graphic .browser-main{animation:pulse 4s ease-in-out infinite;}.hero-graphic .database{animation:pulse 6s ease-in-out infinite;}.hero-graphic .dashboard{animation:pulse 5s ease-in-out infinite;}.hero-graphic .chart-bar-1{animation:grow-bar 3s ease-in-out infinite;}.hero-graphic .chart-bar-2{animation:grow-bar 3s ease-in-out infinite 0.5s;}.hero-graphic .chart-bar-3{animation:grow-bar 3s ease-in-out infinite 1s;}.hero-graphic .chart-bar-4{animation:grow-bar 3s ease-in-out infinite 1.5s;}.hero-graphic .chart-bar-5{animation:grow-bar 3s ease-in-out infinite 2s;}.hero-graphic .extraction-path{stroke-dasharray:200;stroke-dashoffset:200;animation:draw-line 4s ease-in-out infinite;}@keyframes rotate{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}@keyframes grow-bar{0%,100%{transform:scaleY(1);}50%{transform:scaleY(1.3);}}@keyframes draw-line{0%{stroke-dashoffset:200;}50%{stroke-dashoffset:0;}100%{stroke-dashoffset:-200;}}@keyframes data-pulse{0%,100%{opacity:0.7;transform:scale(1);}50%{opacity:1;transform:scale(1.1);}}.hero-img{width:100%;height:auto;max-width:500px;}.services{padding:100px 0;background:white;}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:30px;}.service-card{background:white;padding:40px;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,0.08);transition:all 0.3s ease;border:1px solid #f0f0f0;}.service-card:hover{transform:translateY(-8px);box-shadow:0 8px 40px rgba(0,0,0,0.12);}.service-icon{width:60px;height:60px;margin-bottom:24px;}.service-icon img{width:100%;height:100%;}.service-card h3,.service-card h2{font-size:1.5rem;font-weight:600;margin-bottom:16px;color:#1a1a1a;}.service-card p{color:#555;margin-bottom:20px;line-height:1.6;}.service-card ul{list-style:none;}.service-card li{padding:8px 0;color:#555;position:relative;padding-left:20px;}.service-card li:before{content:'â';position:absolute;left:0;color:#4f46e5;font-weight:bold;}.process{padding:100px 0;background:#f8f9fa;}.process-steps{max-width:800px;margin:0 auto;}.step{display:flex;align-items:flex-start;margin-bottom:50px;animation:fadeInUp 0.6s ease;}.step:last-child{margin-bottom:0;}.step-number{background:#4f46e5;color:white;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;margin-right:30px;flex-shrink:0;}.step-content h3{font-size:1.4rem;font-weight:600;margin-bottom:12px;color:#1a1a1a;}.step-content p{color:#555;line-height:1.6;}.why-us{padding:100px 0;background:white;}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;}.feature{text-align:center;padding:30px;animation:fadeInUp 0.6s ease;}.feature-icon{width:80px;height:80px;margin:0 auto 24px;}.feature-icon img{width:100%;height:100%;}.feature h3,.feature h2{font-size:1.3rem;font-weight:600;margin-bottom:16px;color:#1a1a1a;}.feature p{color:#555;line-height:1.6;}.contact{padding:100px 0;background:#f8f9fa;}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}.contact-info h2{font-size:2.5rem;font-weight:600;margin-bottom:20px;color:#1a1a1a;}.contact-info p{font-size:1.2rem;color:#555;margin-bottom:40px;line-height:1.6;}.contact-details{display:flex;flex-direction:column;gap:30px;}.contact-item{display:flex;align-items:center;gap:20px;}.contact-item img{width:40px;height:40px;}.contact-item strong{display:block;font-weight:600;color:#1a1a1a;margin-bottom:4px;}.contact-item p{margin:0;color:#555;}.contact-item a{color:#4f46e5;text-decoration:none;}.contact-item a:hover{text-decoration:underline;}.contact-form{background:white;padding:40px;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,0.08);}.form-group{margin-bottom:24px;}.form-group label{display:block;font-weight:500;margin-bottom:8px;color:#1a1a1a;}.form-group input,.form-group select,.form-group textarea{width:100%;padding:14px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:16px;transition:border-color 0.3s ease;background:white;}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px rgba(23,158,131,0.1);}.form-group textarea{resize:vertical;min-height:120px;}.form-group input[aria-invalid="true"],.form-group select[aria-invalid="true"],.form-group textarea[aria-invalid="true"]{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,0.1);}.form-group input[aria-invalid="true"]:focus,.form-group select[aria-invalid="true"]:focus,.form-group textarea[aria-invalid="true"]:focus{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,0.2);}.form-error{display:block;color:#dc2626;font-size:0.875rem;margin-top:6px;min-height:1.25rem;}.form-error:empty{display:none;}.footer{background:#1e1b4b;color:white;padding:60px 0 30px;}.footer-content{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px;}.footer-section h3{font-size:1.2rem;font-weight:600;margin-bottom:20px;color:white;}.footer-section ul{list-style:none;}.footer-section li{margin-bottom:12px;}.footer-section a{color:#ccc;text-decoration:none;transition:color 0.3s ease;}.footer-section a:hover{color:#4f46e5;}.footer-logo img{height:40px;margin-bottom:20px;}.footer-section p{color:#ccc;line-height:1.6;}.footer-bottom{border-top:1px solid #333;padding-top:30px;display:flex;justify-content:space-between;align-items:center;}.social-links{display:flex;gap:20px;}.social-links a{display:block;width:40px;height:40px;}.social-links img{width:100%;height:100%;filter:invert(1);transition:filter 0.3s ease;}.social-links a:hover img{filter:invert(0.7) sepia(1) saturate(2) hue-rotate(240deg);}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}@keyframes fadeInRight{from{opacity:0;transform:translateX(30px);}to{opacity:1;transform:translateX(0);}}@keyframes fadeInLeft{from{opacity:0;transform:translateX(-30px);}to{opacity:1;transform:translateX(0);}}@keyframes float{0%,100%{transform:translateY(0px);}50%{transform:translateY(-20px);}}@keyframes pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.05);}}@keyframes slideInFromBottom{from{opacity:0;transform:translateY(50px);}to{opacity:1;transform:translateY(0);}}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:all 0.8s ease-out;}.animate-on-scroll.animated{opacity:1;transform:translateY(0);}.service-card{animation:slideInFromBottom 0.6s ease-out forwards;animation-delay:var(--animation-delay,0s);}.feature{animation:fadeInUp 0.6s ease-out forwards;animation-delay:var(--animation-delay,0s);}.step{animation:fadeInLeft 0.6s ease-out forwards;animation-delay:var(--animation-delay,0s);}@media (max-width:768px){.featured-grid{grid-template-columns:1fr;}.featured-article.main-feature{grid-row:span 1;}.articles-grid{grid-template-columns:1fr;}.newsletter-form .form-group{flex-direction:column;}.article-title{font-size:2.2rem;}.article-author{flex-direction:column;text-align:center;gap:15px;}.blog-categories h2,.blog-featured h2,.blog-recent h2{font-size:2rem;}}@media (max-width:768px){.nav-menu{position:fixed;left:-100%;top:70px;flex-direction:column;background-color:white;width:100%;text-align:center;transition:0.3s;box-shadow:0 10px 27px rgba(0,0,0,0.05);padding:40px 0;gap:20px;}.nav-menu.active{left:0;}.nav-toggle{display:flex;}.nav-toggle.active .bar:nth-child(2){opacity:0;}.nav-toggle.active .bar:nth-child(1){transform:translateY(8px) rotate(45deg);}.nav-toggle.active .bar:nth-child(3){transform:translateY(-8px) rotate(-45deg);}.hero-container{grid-template-columns:1fr;gap:40px;text-align:center;}.hero-title{font-size:2.5rem;}.hero-buttons{flex-direction:column;align-items:center;}.hero-stats{justify-content:center;gap:30px;}.section-header h2{font-size:2rem;}.services-grid{grid-template-columns:1fr;}.features-grid{grid-template-columns:1fr;}.contact-content{grid-template-columns:1fr;gap:40px;}.footer-content{grid-template-columns:1fr;gap:30px;text-align:center;}.footer-bottom{flex-direction:column;gap:20px;text-align:center;}}@media (max-width:480px){.container{padding:0 15px;}.hero{padding:100px 0 60px;}.hero-title{font-size:2rem;}.hero-subtitle{font-size:1.1rem;}.btn{padding:12px 24px;font-size:14px;}.service-card,.contact-form{padding:30px 20px;}.step{flex-direction:column;text-align:center;}.step-number{margin:0 0 20px 0;}}img{max-width:100%;height:auto;loading:lazy;}.logo{height:auto;max-height:50px;width:auto;}.footer-logo img{height:40px;width:auto;}.loading{opacity:0.6;pointer-events:none;}.blog-categories{padding:80px 0;background:#f8f9fa;}.blog-categories h2{text-align:center;font-size:2.5rem;font-weight:600;margin-bottom:60px;color:#1a1a1a;}.blog-featured{padding:80px 0;background:white;}.blog-featured h2{text-align:center;font-size:2.5rem;font-weight:600;margin-bottom:60px;color:#1a1a1a;}.featured-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;}.featured-article{background:white;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,0.08);border:1px solid #f0f0f0;transition:all 0.3s ease;}.featured-article:hover{transform:translateY(-5px);box-shadow:0 8px 40px rgba(0,0,0,0.12);}.featured-article.main-feature{grid-row:span 2;}.featured-article .article-image{height:200px;overflow:hidden;}.featured-article.main-feature .article-image{height:300px;}.featured-article .article-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s ease;}.featured-article:hover .article-image img{transform:scale(1.05);}.featured-article .article-content{padding:30px;}.article-meta{display:flex;align-items:center;gap:15px;margin-bottom:15px;font-size:14px;}.article-meta .category{background:#4f46e5;color:white;padding:5px 12px;border-radius:15px;font-weight:500;text-decoration:none;}.article-meta .category a{color:white;text-decoration:none;}.article-meta .category a:hover{color:white;text-decoration:none;}.article-meta time{color:#555;font-weight:500;}.article-meta .read-time{color:#555;font-weight:500;}.featured-article h3{font-size:1.4rem;font-weight:600;margin-bottom:15px;line-height:1.3;}.featured-article h3 a{color:#1a1a1a;text-decoration:none;transition:color 0.3s ease;}.featured-article h3 a:hover{color:#4f46e5;}.featured-article p{color:#555;line-height:1.6;margin-bottom:20px;}.article-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #f0f0f0;padding-top:15px;margin-top:15px;}.article-footer .read-more{color:#4f46e5;text-decoration:none;font-weight:500;transition:color 0.3s ease;}.article-footer .read-more:hover{color:#7c3aed;text-decoration:underline;}.blog-recent{padding:80px 0;background:#f8f9fa;}.blog-recent h2{text-align:center;font-size:2.5rem;font-weight:600;margin-bottom:60px;color:#1a1a1a;}.articles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:30px;margin-bottom:50px;}.article-card{background:white;padding:30px;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,0.08);border:1px solid #f0f0f0;transition:all 0.3s ease;}.article-card:hover{transform:translateY(-5px);box-shadow:0 8px 40px rgba(0,0,0,0.12);}.article-card h3{font-size:1.3rem;font-weight:600;margin-bottom:15px;line-height:1.3;}.article-card h3 a{color:#1a1a1a;text-decoration:none;transition:color 0.3s ease;}.article-card h3 a:hover{color:#4f46e5;}.article-card p{color:#555;line-height:1.6;margin-bottom:20px;}.blog-pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:40px;}.pagination-info{color:#555;font-weight:500;}.blog-newsletter{padding:80px 0;background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%);color:white;text-align:center;}.newsletter-content h2{font-size:2.5rem;font-weight:600;margin-bottom:20px;color:white;}.newsletter-content p{font-size:1.2rem;margin-bottom:40px;opacity:0.95;max-width:600px;margin-left:auto;margin-right:auto;}.newsletter-form .form-group{display:flex;max-width:500px;margin:0 auto 20px;gap:15px;}.newsletter-form input{flex:1;padding:15px 20px;border:none;border-radius:50px;font-size:16px;background:rgba(255,255,255,0.95);color:#333;}.newsletter-form .btn{padding:15px 30px;border-radius:50px;white-space:nowrap;}.newsletter-privacy{font-size:14px;opacity:0.8;max-width:400px;margin:0 auto;}.newsletter-privacy a{color:white;text-decoration:underline;}.blog-article{padding:110px 0 80px;background:white;position:relative;clear:both;width:100%;}.blog-article .container{max-width:1200px;margin:0 auto;padding:0 20px;position:relative;}.article-header{max-width:800px;margin:0 auto 40px;text-align:center;}.article-title{font-size:3rem;font-weight:700;margin-bottom:20px;color:#1a1a1a;line-height:1.2;}.article-subtitle{font-size:1.3rem;color:#555;margin-bottom:30px;line-height:1.6;}.article-author{display:flex;justify-content:space-between;align-items:center;margin-top:30px;text-align:left;}.author-info strong{color:#1a1a1a;font-weight:600;display:block;margin-bottom:5px;}.author-info p{color:#555;margin:0;font-size:14px;}.article-share a{color:#4f46e5;text-decoration:none;font-weight:500;padding:8px 16px;border:1px solid #6d28d9;border-radius:6px;transition:all 0.3s ease;}.article-share a:hover{background:#4f46e5;color:white;}.article-image{max-width:1000px;margin:0 auto 40px;border-radius:16px;overflow:hidden;box-shadow:0 8px 40px rgba(0,0,0,0.12);}.article-image img{width:100%;height:auto;display:block;}.article-toc{max-width:800px;margin:0 auto 40px;background:#f8f9fa;padding:30px;border-radius:12px;border:1px solid #e1e5e9;}.article-toc h2{font-size:1.3rem;font-weight:600;margin-bottom:20px;color:#1a1a1a;}.article-toc ol{list-style:none;counter-reset:toc-counter;}.article-toc li{counter-increment:toc-counter;margin-bottom:10px;}.article-toc li::before{content:counter(toc-counter) ". ";color:#4f46e5;font-weight:600;}.article-toc a{color:#7c3aed;text-decoration:none;font-weight:500;transition:color 0.3s ease;}.article-toc a:hover{color:#3730a3;text-decoration:underline;}.article-content{max-width:800px;margin:0 auto;line-height:1.7;background:white;position:relative;z-index:1;}.article-content pre{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:0;margin:25px 0;overflow-x:auto;position:relative;}.article-content pre code{display:block;background:transparent;border:none;border-radius:0;padding:20px;font-family:'Monaco','Menlo','Ubuntu Mono','Consolas','Courier New',monospace;font-size:14px;line-height:1.6;color:#495057;white-space:pre;overflow-x:auto;margin:0;}.article-content code{background:#f1f3f4;padding:2px 6px;border-radius:4px;font-family:'Monaco','Menlo','Ubuntu Mono','Consolas','Courier New',monospace;font-size:0.9em;color:#d63384;}.article-content pre code{background:transparent;padding:20px;color:#495057;}.article-content pre{position:relative;cursor:pointer;}.article-content pre:hover::before{content:'đ Copy';position:absolute;top:10px;right:10px;background:#4f46e5;color:white;padding:5px 10px;border-radius:4px;font-size:12px;cursor:pointer;z-index:10;}.article-content pre[data-copied]:hover::before{content:'â Copied!';background:#818cf8;}.article-content pre:hover{border-color:#4f46e5;box-shadow:0 2px 8px rgba(23,158,131,0.1);}.article-content h2{font-size:2rem;font-weight:600;margin:40px 0 20px;color:#1a1a1a;border-bottom:2px solid #6d28d9;padding-bottom:10px;}.article-content h3{font-size:1.5rem;font-weight:600;margin:30px 0 15px;color:#1e1b4b;}.article-content p{margin-bottom:20px;color:#444;}.article-content ul,.article-content ol{margin-bottom:20px;padding-left:25px;}.article-content li{margin-bottom:8px;color:#444;}.article-content a{color:#3730a3;text-decoration:underline;transition:color 0.3s ease;}.article-content a:hover{color:#1e1b4b;}.callout-box{background:#f8f9fa;border-left:4px solid #6d28d9;padding:20px;margin:30px 0;border-radius:0 8px 8px 0;}.callout-box.legal-warning{background:#fff3cd;border-left-color:#f59e0b;}.callout-box h3{margin-top:0;margin-bottom:15px;color:#1a1a1a;}.comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin:30px 0;width:100%;clear:both;}.comparison-item{background:white;padding:25px;border-radius:12px;border:1px solid #e1e5e9;box-shadow:0 2px 8px rgba(0,0,0,0.05);}.comparison-item h4{margin-bottom:15px;color:#7c3aed;font-size:1.2rem;}.best-practice-box{background:linear-gradient(135deg,#e8f5f3 0%,#f0f9ff 100%);border:1px solid #6d28d9;border-radius:12px;padding:25px;margin:30px 0;}.best-practice-box h3{margin-top:0;color:#1e1b4b;}img{height:auto;max-width:100%;}img[loading="lazy"]{opacity:0;transition:opacity 0.3s ease;}img[loading="lazy"].loaded{opacity:1;}picture img{width:100%;height:auto;}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #6d28d9;outline-offset:2px;box-shadow:0 0 0 4px rgba(23,158,131,0.1);}.reading-progress{position:fixed;top:70px;left:0;width:0%;height:3px;background:linear-gradient(90deg,#6d28d9,#7c3aed);z-index:999;transition:width 0.3s ease;}.category-link{background:#4f46e5;color:white !important;padding:5px 12px;border-radius:15px;font-weight:500;text-decoration:none;transition:background 0.3s ease;}.category-link:hover{background:#7c3aed;color:white !important;text-decoration:none;}.loading::after{content:'';position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid #f3f3f3;border-top:2px solid #6d28d9;border-radius:50%;animation:spin 1s linear infinite;}@keyframes spin{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}.notification{position:fixed;top:20px;right:20px;z-index:10000;max-width:400px;padding:16px 20px;border-radius:8px;color:white;font-family:'Roboto Slab',sans-serif;font-size:14px;box-shadow:0 4px 12px rgba(0,0,0,0.15);transition:all 0.3s ease;}.notification-success{background:#818cf8;}.notification-error{background:#ef4444;}.notification-info{background:#3b82f6;}.notification-content{display:flex;justify-content:space-between;align-items:center;gap:12px;}.notification-close{background:none;border:none;color:white;font-size:18px;cursor:pointer;padding:12px;width:48px;height:48px;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center;margin:-12px -12px -12px 0;}.scroll-top-btn{position:fixed;bottom:30px;right:30px;width:50px;height:50px;border:none;border-radius:50%;background:linear-gradient(135deg,#6d28d9 0%,#7c3aed 100%);color:white;font-size:20px;cursor:pointer;opacity:0;visibility:hidden;transition:all 0.3s ease;z-index:1000;box-shadow:0 4px 12px rgba(0,0,0,0.15);}.scroll-top-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,0.2);}.tooltip{position:absolute;background:#1a1a1a;color:white;padding:8px 12px;border-radius:6px;font-size:14px;white-space:nowrap;z-index:10000;pointer-events:none;transition:opacity 0.3s ease;}.form-group.error input,.form-group.error select,.form-group.error textarea{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,0.1);}.form-group.success input,.form-group.success select,.form-group.success textarea{border-color:#818cf8;box-shadow:0 0 0 3px rgba(16,185,129,0.1);}.form-error-message{color:#ef4444;font-size:12px;margin-top:4px;display:block;}img.loading{background:#f0f0f0;opacity:0.7;}img.loaded{transition:opacity 0.3s ease;opacity:1;}.btn{position:relative;overflow:hidden;}.btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);transition:left 0.5s;}.btn:not(.btn-primary):not(.btn-secondary):not(.cta-btn):hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,0.2);text-decoration:none;}.btn:hover::before{left:100%;}@media print{.navbar,.footer,.scroll-top-btn,.notification{display:none !important;}.hero{background:white !important;color:black !important;}.page-hero,.service-hero{background:white !important;color:black !important;}body{font-size:12pt;line-height:1.4;}h1,h2,h3,h4,h5,h6{color:black !important;page-break-after:avoid;}.container{max-width:none;margin:0;padding:0;}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}button:focus,input:focus,select:focus,textarea:focus,a:focus{outline:2px solid #6d28d9;outline-offset:2px;}@media (prefers-contrast:high){.btn-primary{background:#000;border:2px solid #000;}.highlight{background:#000;-webkit-background-clip:text;-webkit-text-fill-color:transparent;}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}}@media (prefers-color-scheme:dark){:root{--bg-primary:#1a1a1a;--bg-secondary:#2d2d2d;--text-primary:#ffffff;--text-secondary:#cccccc;}}.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid #6d28d9;outline-offset:2px;box-shadow:0 0 0 4px rgba(23,158,131,0.1);}.skip-to-content{position:absolute;top:-40px;left:6px;background:#4f46e5;color:white;padding:8px;border-radius:4px;text-decoration:none;z-index:100000;transition:top 0.3s;}.skip-to-content:focus{top:6px;}.visually-hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important;}.error-container{position:relative;}.form-group{position:relative;}.form-group label{transition:all 0.3s ease;}.form-group input:focus+label,.form-group select:focus+label,.form-group textarea:focus+label{color:#4f46e5;}.status-indicator{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px;}.status-online{background:#818cf8;box-shadow:0 0 0 2px rgba(16,185,129,0.3);animation:pulse-green 2s infinite;}.status-offline{background:#ef4444;}.status-pending{background:#f59e0b;animation:pulse-yellow 2s infinite;}@keyframes pulse-green{0%{box-shadow:0 0 0 0 rgba(16,185,129,0.7);}70%{box-shadow:0 0 0 6px rgba(16,185,129,0);}100%{box-shadow:0 0 0 0 rgba(16,185,129,0);}}@keyframes pulse-yellow{0%{box-shadow:0 0 0 0 rgba(245,158,11,0.7);}70%{box-shadow:0 0 0 6px rgba(245,158,11,0);}100%{box-shadow:0 0 0 0 rgba(245,158,11,0);}}.breadcrumb{background:#f8f9fa;padding:20px 0;border-bottom:1px solid #e1e5e9;}.breadcrumb nav{max-width:1200px;margin:0 auto;padding:0 20px;}.breadcrumb ol{display:flex;list-style:none;margin:0;padding:0;align-items:center;gap:8px;}.breadcrumb li{display:flex;align-items:center;}.breadcrumb li:not(:last-child)::after{content:'>';margin-left:8px;color:#555;font-weight:500;}.breadcrumb a{color:#7c3aed;text-decoration:none;font-weight:500;transition:color 0.3s ease;}.breadcrumb a:hover{color:#3730a3;text-decoration:underline;}.breadcrumb li[aria-current="page"] span{color:#555;font-weight:500;}.page-hero{background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%);color:white;padding:120px 0 80px;text-align:center;position:relative;overflow:hidden;}.page-hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml, ') no-repeat bottom;background-size:cover;}.page-hero .hero-content{position:relative;z-index:2;max-width:800px;margin:0 auto;}.page-hero h1{font-size:3rem;font-weight:700;margin-bottom:20px;color:white;line-height:1.2;}.page-hero .hero-subtitle{font-size:1.25rem;margin-bottom:30px;opacity:0.95;line-height:1.6;}.page-hero .hero-stats{display:flex;justify-content:center;gap:40px;margin-top:40px;}.page-hero .hero-search{max-width:500px;margin:30px auto 0;position:relative;}.page-hero .hero-search form{position:relative;display:block;}.page-hero .hero-search input{width:100%;padding:15px 50px 15px 20px;border:none;border-radius:50px;font-size:16px;background:rgba(255,255,255,0.95);color:#333;box-sizing:border-box;}.page-hero .hero-search button{position:absolute;right:15px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:18px;cursor:pointer;color:#555;transition:color 0.3s ease;}.page-hero .hero-search button:hover{color:#333;}.service-hero{background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%);color:white;padding:120px 0 80px;text-align:center;position:relative;}.service-hero .hero-content{max-width:900px;margin:0 auto;}.service-hero h1{font-size:3rem;font-weight:700;margin-bottom:20px;line-height:1.2;}.service-hero .hero-subtitle{font-size:1.25rem;margin-bottom:40px;opacity:0.95;line-height:1.6;}.service-hero .hero-stats{display:flex;justify-content:center;gap:40px;margin:40px 0;}.service-hero .hero-cta{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;}.service-features{padding:80px 0;background:#f8f9fa;}.service-features h2{text-align:center;font-size:2.5rem;font-weight:600;margin-bottom:60px;color:#1a1a1a;}.service-features .features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:30px;max-width:1200px;margin:0 auto;}.feature-card{background:white;padding:40px;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,0.08);transition:all 0.3s ease;border:1px solid #f0f0f0;}.feature-card:hover{transform:translateY(-8px);box-shadow:0 8px 40px rgba(0,0,0,0.12);}.feature-card .feature-icon{font-size:3rem;margin-bottom:20px;display:block;}.feature-card h3{font-size:1.5rem;font-weight:600;margin-bottom:16px;color:#1a1a1a;}.feature-card p{color:#555;margin-bottom:20px;line-height:1.6;}.feature-card ul{list-style:none;padding:0;}.feature-card li{padding:8px 0;color:#555;position:relative;padding-left:20px;}.feature-card li:before{content:'â';position:absolute;left:0;color:#4f46e5;font-weight:bold;}.industries{padding:80px 0;background:white;}.industries h2{text-align:center;font-size:2.5rem;font-weight:600;margin-bottom:60px;color:#1a1a1a;}.industries-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;max-width:1200px;margin:0 auto;}.industry-card{background:#f8f9fa;padding:30px;border-radius:12px;transition:all 0.3s ease;border:1px solid #e1e5e9;}.industry-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px rgba(0,0,0,0.15);}.industry-card h3{font-size:1.3rem;font-weight:600;margin-bottom:12px;color:#1e1b4b;}.industry-card p{color:#555;line-height:1.6;}.pricing{padding:80px 0;background:#f8f9fa;}.pricing h2{text-align:center;font-size:2.5rem;font-weight:600;margin-bottom:60px;color:#1a1a1a;}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;max-width:1000px;margin:0 auto;}.pricing-card{background:white;padding:40px 30px;border-radius:16px;text-align:center;position:relative;border:2px solid #e1e5e9;transition:all 0.3s ease;}.pricing-card.featured{border-color:#4f46e5;transform:scale(1.05);box-shadow:0 8px 40px rgba(23,158,131,0.15);}.pricing-card.featured::before{content:'Most Popular';position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:#4f46e5;color:white;padding:8px 20px;border-radius:20px;font-size:14px;font-weight:600;}.pricing-card h3{font-size:1.5rem;font-weight:600;margin-bottom:20px;color:#1a1a1a;}.pricing-card .price{font-size:3rem;font-weight:700;color:#4f46e5;margin-bottom:30px;line-height:1;}.pricing-card .price span{font-size:1rem;color:#555;font-weight:400;}.pricing-card ul{list-style:none;padding:0;margin-bottom:30px;}.pricing-card li{padding:10px 0;color:#555;border-bottom:1px solid #f0f0f0;}.pricing-card li:last-child{border-bottom:none;}.pricing-card .pricing-note{font-size:14px;color:#6b7280;margin-top:20px;font-style:italic;}.pricing-cta{text-align:center;margin-top:50px;}.faq{padding:80px 0;background:white;}.faq h2{text-align:center;font-size:2.5rem;font-weight:600;margin-bottom:60px;color:#1a1a1a;}.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:30px;max-width:1200px;margin:0 auto;}.faq-item{background:#f8f9fa;border-radius:12px;overflow:hidden;border:1px solid #e1e5e9;}.faq-item h3{background:#7c3aed;color:white;padding:20px;margin:0;font-size:1.2rem;font-weight:600;}.faq-item p{padding:20px;margin:0;color:#555;line-height:1.6;}.faq-categories{padding:60px 0;background:white;}.categories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;max-width:1200px;margin:0 auto;}.category-card{background:#f8f9fa;padding:30px;border-radius:12px;text-align:center;text-decoration:none;color:inherit;transition:all 0.3s ease;border:1px solid #e1e5e9;}.category-card:hover{transform:translateY(-5px);background:white;box-shadow:0 8px 25px rgba(0,0,0,0.1);color:inherit;text-decoration:none;}.category-icon{font-size:3rem;margin-bottom:20px;display:block;}.category-card h3{font-size:1.3rem;font-weight:600;margin-bottom:12px;color:#1e1b4b;}.category-card p{color:#555;line-height:1.4;margin:0;}.faq-content{padding:60px 0;background:#f8f9fa;}.faq-section{max-width:1000px;margin:0 auto 60px;}.faq-section h2{font-size:2rem;font-weight:600;margin-bottom:40px;color:#1a1a1a;border-bottom:3px solid #6d28d9;padding-bottom:10px;}.faq-question{width:100%;background:white;border:none;padding:20px;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:1.1rem;font-weight:600;color:#1a1a1a;border-radius:8px;margin-bottom:2px;transition:all 0.3s ease;box-shadow:0 2px 4px rgba(0,0,0,0.05);}.faq-question:hover{background:#f8f9fa;transform:translateX(5px);}.faq-question[aria-expanded="true"],.faq-question.active{background:#4f46e5;color:white;}.faq-icon{font-size:1.5rem;font-weight:bold;transition:transform 0.3s ease;}.faq-question[aria-expanded="true"] .faq-icon,.faq-question.active .faq-icon{transform:rotate(180deg);}.faq-answer{background:white;padding:0 20px;max-height:0;overflow:hidden;transition:max-height 0.3s ease,padding 0.3s ease;border-radius:0 0 8px 8px;border-top:1px solid #e1e5e9;margin-bottom:20px;}.faq-answer.active{padding:20px;max-height:1000px;}.faq-answer p{margin-bottom:15px;color:#555;line-height:1.6;}.faq-answer ul{margin-left:20px;margin-bottom:15px;}.faq-answer li{margin-bottom:8px;color:#555;line-height:1.5;}.faq-cta{padding:80px 0;background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%);color:white;text-align:center;}.faq-cta h2{font-size:2.5rem;font-weight:600;margin-bottom:20px;color:white;}.faq-cta p{font-size:1.2rem;margin-bottom:40px;opacity:0.95;}.faq-cta .cta-buttons{display:flex;justify-content:center;gap:20px;margin-bottom:50px;flex-wrap:wrap;}.contact-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px;max-width:800px;margin:0 auto;}.contact-option{display:flex;align-items:center;justify-content:center;gap:15px;text-align:left;}.contact-icon{font-size:2rem;}.contact-option strong{display:block;margin-bottom:5px;color:white;}.contact-option p{margin:0;opacity:0.9;}.contact-option a{color:white;text-decoration:none;}.contact-option a:hover{text-decoration:underline;}.cta{padding:80px 0;background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%);color:white;text-align:center;}.cta-content h2{font-size:2.5rem;font-weight:600;margin-bottom:20px;color:white;}.cta-content p{font-size:1.2rem;margin-bottom:40px;opacity:0.95;max-width:600px;margin-left:auto;margin-right:auto;}.cta-buttons{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;}.case-study{background:white;border-radius:16px;padding:40px;margin-bottom:40px;box-shadow:0 4px 20px rgba(0,0,0,0.08);border:1px solid #f0f0f0;}.case-study.featured{border:2px solid #6d28d9;box-shadow:0 8px 40px rgba(23,158,131,0.15);}.case-study-content{display:grid;grid-template-columns:2fr 1fr;gap:40px;align-items:start;}.case-study-meta{display:flex;gap:15px;margin-bottom:20px;}.case-study-meta span{background:#f0f0f0;color:#555;padding:5px 12px;border-radius:15px;font-size:14px;font-weight:500;}.case-study h3{font-size:1.8rem;font-weight:600;margin-bottom:15px;color:#1a1a1a;line-height:1.3;}.case-study-intro{font-size:1.1rem;color:#555;margin-bottom:30px;line-height:1.6;}.challenge,.solution,.results{margin-bottom:30px;}.challenge h4,.solution h4,.results h4{font-size:1.2rem;font-weight:600;margin-bottom:15px;color:#1e1b4b;}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:20px;margin:20px 0;}.result-item{text-align:center;padding:20px;background:#f8f9fa;border-radius:12px;}.result-number{font-size:2rem;font-weight:700;color:#4f46e5;display:block;margin-bottom:5px;}.result-label{font-size:14px;color:#555;font-weight:500;}.testimonial{background:#f8f9fa;padding:30px;border-radius:12px;margin-top:30px;border-left:4px solid #6d28d9;}.testimonial p{font-style:italic;font-size:1.1rem;color:#444;margin-bottom:20px;line-height:1.6;}.testimonial cite{display:block;font-style:normal;}.testimonial cite strong{color:#1a1a1a;font-weight:600;display:block;margin-bottom:5px;}.testimonial cite span{color:#555;font-size:14px;}.case-study-visual{background:#f8f9fa;padding:30px;border-radius:12px;text-align:center;}.chart-container h5{font-size:1.1rem;font-weight:600;margin-bottom:20px;color:#1a1a1a;}.industries-overview{padding:80px 0;background:white;}.industries-overview h2{text-align:center;font-size:2.5rem;font-weight:600;margin-bottom:60px;color:#1a1a1a;}.industry-stat{text-align:center;padding:30px;background:#f8f9fa;border-radius:12px;transition:all 0.3s ease;}.industry-stat:hover{transform:translateY(-5px);background:white;box-shadow:0 8px 25px rgba(0,0,0,0.1);}.industry-icon{font-size:3rem;margin-bottom:20px;display:block;}.industry-stat h3{font-size:1.3rem;font-weight:600;margin-bottom:15px;color:#1e1b4b;}.industry-stat .stat-number{font-size:2.5rem;font-weight:700;color:#4f46e5;display:block;margin-bottom:5px;}.industry-stat .stat-label{font-size:14px;color:#555;font-weight:500;}.related-articles{padding:60px 0;background:#f8f9fa;border-top:1px solid #e1e5e9;margin-top:60px;}.related-articles h2,.related-articles h3{font-size:2rem;font-weight:600;margin-bottom:40px;color:#1a1a1a;text-align:center;}aside.related-articles{padding:40px 0;background:#f8f9fa;border-top:1px solid #e1e5e9;margin-top:40px;}.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;max-width:1000px;margin:0 auto;}.related-card{background:white;padding:30px;border-radius:12px;box-shadow:0 4px 15px rgba(0,0,0,0.08);border:1px solid #e1e5e9;transition:all 0.3s ease;}.related-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px rgba(0,0,0,0.12);}.related-card h3,.related-card h4{font-size:1.3rem;font-weight:600;margin-bottom:15px;line-height:1.3;}.related-card h3 a,.related-card h4 a{color:#1a1a1a;text-decoration:none;transition:color 0.3s ease;}.related-card h3 a:hover,.related-card h4 a:hover{color:#4f46e5;}.related-card .category{background:#4f46e5;color:white;padding:4px 12px;border-radius:20px;font-size:0.8rem;font-weight:500;display:inline-block;margin-bottom:12px;}.related-card span.category{display:inline-block;margin-bottom:12px;}.related-card p{color:#555;line-height:1.6;margin-bottom:15px;}.related-card .read-time{color:#4f46e5;font-size:14px;font-weight:500;}.category-links{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2rem;width:100%;}.category-links .btn{min-width:200px;}@media (max-width:768px){.category-links{flex-direction:column;align-items:center;}.category-links .btn{width:100%;max-width:300px;}}.btn *{color:inherit;text-decoration:inherit;}.btn:visited,.btn:link,.btn:active,.btn:hover{color:white;text-decoration:none;}.btn-primary,.btn-primary:visited,.btn-primary:link,.btn-primary:active{color:white !important;text-decoration:none !important;}.btn-primary:hover,.btn-primary:focus{color:white !important;text-decoration:none !important;}.expert-consultation-cta{background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);border:2px solid #6d28d9;border-radius:12px;padding:40px;text-align:center;margin:40px 0;clear:both;width:100%;box-sizing:border-box;}.expert-consultation-cta h3{color:#7c3aed;font-size:1.5rem;margin-bottom:15px;font-weight:600;}.expert-consultation-cta p{color:#555;margin-bottom:25px;font-size:1.1rem;line-height:1.6;}.expert-consultation-cta .btn{font-size:1.1rem;padding:15px 30px;min-width:200px;font-weight:600;}.testimonials{padding:80px 0;background:#f8f9fa;}.testimonials h2{text-align:center;font-size:2.5rem;font-weight:600;margin-bottom:60px;color:#1a1a1a;}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:30px;max-width:1200px;margin:0 auto;}.testimonial-card{background:white;padding:40px;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,0.08);border:1px solid #f0f0f0;position:relative;}.testimonial-card::before{content:'"';position:absolute;top:-10px;left:30px;font-size:4rem;color:#4f46e5;font-family:serif;line-height:1;}.testimonial-content p{font-style:italic;font-size:1.1rem;color:#444;margin-bottom:30px;line-height:1.6;}.testimonial-author{display:flex;justify-content:space-between;align-items:center;}.author-info strong{color:#1a1a1a;font-weight:600;display:block;margin-bottom:5px;}.author-info span{color:#555;font-size:14px;}.company-logo{width:60px;height:40px;display:flex;align-items:center;justify-content:center;}.company-logo img{max-width:100%;max-height:100%;filter:grayscale(100%);opacity:0.7;}.social-proof{padding:80px 0;background:white;}.social-proof h2{text-align:center;font-size:2.5rem;font-weight:600;margin-bottom:60px;color:#1a1a1a;}.client-logos{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:30px;margin:40px 0 60px;padding:40px 0;border-top:1px solid #e1e5e9;border-bottom:1px solid #e1e5e9;}.logo-item{display:flex;align-items:center;justify-content:center;padding:20px;background:#f8f9fa;border-radius:8px;min-height:80px;color:#6b7280;font-weight:500;text-align:center;transition:all 0.3s ease;}.logo-item:hover{background:white;box-shadow:0 4px 15px rgba(0,0,0,0.1);transform:translateY(-2px);}@media (max-width:768px){.case-study-content{grid-template-columns:1fr;gap:30px;}.results-grid{grid-template-columns:repeat(2,1fr);gap:15px;}.pricing-grid{grid-template-columns:1fr;}.pricing-card.featured{transform:none;margin:20px 0;}.categories-grid{grid-template-columns:repeat(2,1fr);gap:20px;}.contact-options{grid-template-columns:1fr;gap:20px;}.contact-option{justify-content:flex-start;}.faq-grid{grid-template-columns:1fr;}.page-hero h1,.service-hero h1{font-size:2.2rem;}.breadcrumb ol{flex-wrap:wrap;}.client-logos{grid-template-columns:repeat(2,1fr);gap:20px;}}@media (max-width:480px){.categories-grid{grid-template-columns:1fr;}.results-grid{grid-template-columns:1fr;}.case-study{padding:30px 20px;}.service-hero .hero-stats,.page-hero .hero-stats{flex-direction:column;gap:20px;}.hero-cta{flex-direction:column;align-items:center;}.cta-buttons{flex-direction:column;align-items:center;}.related-grid{grid-template-columns:1fr;gap:20px;}.related-card{padding:25px 20px;}.expert-consultation-cta{padding:30px 20px;margin:30px 0;}.article-content pre{margin:20px -20px;border-radius:0;border-left:none;border-right:none;}.article-content pre code{padding:15px 20px;font-size:13px;}.article-content pre:hover::before{top:5px;right:5px;font-size:11px;padding:4px 8px;}}.technology-showcase{padding:80px 0;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);position:relative;}.technology-showcase::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml, ');opacity:0.3;pointer-events:none;}.technology-showcase .container{position:relative;z-index:1;}.technology-showcase h2{text-align:center;margin-bottom:50px;color:#1e1b4b;font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}.tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;max-width:1000px;margin:0 auto;}.tech-card{background:white;padding:40px 30px;border-radius:16px;text-align:center;box-shadow:0 4px 20px rgba(0,0,0,0.08);transition:all 0.3s ease;border:1px solid #e2e8f0;position:relative;overflow:hidden;}.tech-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%);transform:scaleX(0);transition:transform 0.3s ease;}.tech-card:hover::before{transform:scaleX(1);}.tech-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px rgba(0,0,0,0.15);border-color:#cbd5e0;}.tech-icon{font-size:3rem;margin-bottom:20px;display:block;line-height:1;filter:grayscale(0.2);transition:all 0.3s ease;}.tech-card:hover .tech-icon{transform:scale(1.1);filter:grayscale(0);}.tech-card h3{color:#1e1b4b;font-size:1.5rem;font-weight:600;margin:0 0 15px 0;transition:color 0.3s ease;}.tech-card:hover h3{color:#1e1b4b;}.tech-card p{color:#64748b;font-size:1rem;line-height:1.6;margin:0;font-weight:500;}@media (max-width:768px){.technology-showcase{padding:60px 0;}.technology-showcase h2{font-size:2rem;margin-bottom:40px;}.tech-grid{grid-template-columns:1fr;gap:20px;}.tech-card{padding:30px 20px;}.tech-icon{font-size:2.5rem;margin-bottom:15px;}.tech-card h3{font-size:1.3rem;}}.capabilities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;margin:40px 0;}.capability-card{background:white;padding:30px;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,0.08);border-left:4px solid #6d28d9;transition:all 0.3s ease;position:relative;overflow:hidden;}.capability-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,0,0,0.12);border-left-color:#1e1b4b;}.capability-card h3{color:#1e1b4b;font-size:1.3rem;font-weight:600;margin:0 0 15px 0;transition:color 0.3s ease;}.capability-card:hover h3{color:#1e1b4b;}.capability-card p{color:#64748b;line-height:1.6;margin:0 0 20px 0;}.capability-card ul{list-style:none;padding:0;margin:0;}.capability-card li{color:#4a5568;margin:8px 0;padding-left:20px;position:relative;font-size:0.95rem;}.capability-card li::before{content:'â';position:absolute;left:0;color:#4f46e5;font-weight:bold;font-size:1rem;}.tech-tag{display:inline-block;background:#4f46e5;color:white;padding:6px 12px;border-radius:20px;font-size:0.9rem;margin:4px 8px 4px 0;font-weight:500;transition:all 0.3s ease;}.tech-tag:hover{background:#4338ca;transform:translateY(-2px);box-shadow:0 2px 8px rgba(23,158,131,0.3);}@media (max-width:768px){.capabilities-grid{grid-template-columns:1fr;gap:20px;margin:30px 0;}.capability-card{padding:25px 20px;}.capability-card h3{font-size:1.2rem;}}.hero,.page-hero,.about-hero,.faq-hero,.service-hero,.project-types-hero,.tools-hero,.quote-hero{padding-top:120px !important;}main{padding-top:90px;}main>.hero:first-child,main>.page-hero:first-child,main>.about-hero:first-child,main>.faq-hero:first-child,main>.service-hero:first-child,main>.project-types-hero:first-child{margin-top:-90px;}.legal-content{padding-top:100px !important;}.calculator-container,.analyzer-container,.converter-container,.checker-container,.thank-you-container{padding-top:100px !important;}.page-content{padding-top:90px;}.grecaptcha-badge{visibility:hidden !important;}.hero-graphic .data-line-1,.hero-graphic .data-line-2,.hero-graphic .data-line-3,.hero-graphic .data-line-4,.hero-graphic .data-line-5,.hero-graphic .data-line-6{animation:data-pulse 3s ease-in-out infinite;}.hero-graphic .data-line-2{animation-delay:0.5s;}.hero-graphic .data-line-3{animation-delay:1s;}.hero-graphic .data-line-4{animation-delay:1.5s;}.hero-graphic .data-line-5{animation-delay:2s;}.hero-graphic .data-line-6{animation-delay:2.5s;}:root{--color-primary:#4f46e5;--color-primary-dark:#4338ca;--color-secondary:#7c3aed;--color-secondary-light:#8b5cf6;--color-accent:#6d28d9;--gradient-hero:linear-gradient(135deg,#1e1b4b 0%,#4f46e5 100%);--gradient-hero-alt:linear-gradient(135deg,#1e1b4b 0%,#7c3aed 100%);--gradient-cta:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);--color-text:#444444;--color-text-dark:#1a1a1a;--color-text-light:#666666;--color-border:#e1e5e9;--color-bg-light:#f8f9fa;--star-color:#f0c14b;}.testimonials-section-dark{padding:80px 0;background:var(--gradient-hero-alt);color:white;}.testimonials-section-dark .section-header{text-align:center;margin-bottom:50px;}.testimonials-section-dark .section-header h2{color:white;font-size:2.2rem;margin-bottom:16px;}.testimonials-section-dark .section-header p{color:rgba(255,255,255,0.9);max-width:600px;margin:0 auto;}.testimonials-dark-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:30px;}.testimonial-card-dark{background:rgba(255,255,255,0.1);padding:35px;border-radius:12px;backdrop-filter:blur(10px);transition:all 0.3s ease;}.testimonial-card-dark:hover{background:rgba(255,255,255,0.15);transform:translateY(-5px);}.testimonial-stars{display:flex;gap:5px;margin-bottom:20px;}.testimonial-stars .star{color:var(--star-color);font-size:1.3rem;}.testimonial-card-dark .testimonial-text{font-style:italic;margin-bottom:25px;line-height:1.7;font-size:1.05rem;color:white;}.testimonial-author-dark{display:flex;align-items:center;gap:15px;}.testimonial-avatar{width:50px;height:50px;background:var(--color-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;color:white;}.testimonial-author-info .author-name{font-weight:600;margin:0;color:white;}.testimonial-author-info .author-role{opacity:0.8;margin:0;font-size:0.9rem;color:white;}.testimonials-cta{text-align:center;margin-top:40px;}.testimonials-cta .btn-white{background:white;color:var(--color-secondary);padding:14px 28px;border-radius:8px;text-decoration:none;font-weight:600;display:inline-block;transition:all 0.3s ease;}.testimonials-cta .btn-white:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(255,255,255,0.3);}.location-hero{background:var(--gradient-hero);color:white;padding:120px 0 80px;text-align:center;position:relative;}.location-hero .hero-content{max-width:900px;margin:0 auto;position:relative;z-index:2;}.location-hero h1{font-size:3rem;font-weight:700;margin-bottom:20px;line-height:1.2;}.location-hero .hero-subtitle{font-size:1.25rem;margin-bottom:40px;opacity:0.95;line-height:1.6;}.location-hero .hero-stats{display:flex;justify-content:center;gap:40px;margin:40px 0;}.location-hero .hero-cta{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;}.breadcrumb-nav{background:var(--color-bg-light);padding:15px 0;border-bottom:1px solid var(--color-border);}.breadcrumb-nav .breadcrumb-list{display:flex;list-style:none;margin:0;padding:0;align-items:center;gap:8px;max-width:1200px;margin:0 auto;padding:0 20px;}.breadcrumb-nav .breadcrumb-item{display:flex;align-items:center;}.breadcrumb-nav .breadcrumb-item:not(:last-child)::after{content:'>';margin-left:8px;color:var(--color-text-light);font-weight:500;}.breadcrumb-nav .breadcrumb-link{color:var(--color-secondary);text-decoration:none;font-weight:500;transition:color 0.3s ease;}.breadcrumb-nav .breadcrumb-link:hover{color:var(--color-primary);text-decoration:underline;}.breadcrumb-nav .breadcrumb-current{color:var(--color-text-light);font-weight:500;}.unified-card{background:white;padding:40px;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,0.08);border:1px solid #f0f0f0;border-top:4px solid var(--color-primary);transition:all 0.3s ease;}.unified-card:hover{transform:translateY(-8px);box-shadow:0 8px 40px rgba(0,0,0,0.12);}.unified-card h3{font-size:1.5rem;font-weight:600;margin-bottom:16px;color:var(--color-text-dark);}.unified-card p{color:var(--color-text-light);margin-bottom:20px;line-height:1.6;}.unified-cta{padding:80px 0;background:var(--gradient-cta);color:white;text-align:center;}.unified-cta h2{font-size:2.5rem;font-weight:600;margin-bottom:20px;color:white;}.unified-cta p{font-size:1.2rem;margin-bottom:40px;opacity:0.95;max-width:600px;margin-left:auto;margin-right:auto;}.unified-cta .cta-buttons{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;}@media (max-width:768px){.testimonials-dark-grid{grid-template-columns:1fr;}.testimonials-section-dark{padding:60px 0;}.testimonials-section-dark .section-header h2{font-size:1.8rem;}.location-hero h1{font-size:2.2rem;}.location-hero .hero-stats{flex-direction:column;gap:20px;}.location-hero .hero-cta{flex-direction:column;align-items:center;}.unified-cta h2{font-size:2rem;}.unified-cta .cta-buttons{flex-direction:column;align-items:center;}}@media (max-width:480px){.testimonial-card-dark{padding:25px;}.testimonial-card-dark .testimonial-text{font-size:1rem;}.unified-card{padding:30px 20px;}}.certifications-section{padding:80px 0;background:#f8f9fa;}.certifications-section .section-header{text-align:center;margin-bottom:60px;}.certifications-section .section-header h2{font-size:2.5rem;color:#7c3aed;margin-bottom:16px;}.certifications-section .section-header p{color:#555;max-width:700px;margin:0 auto;font-size:1.1rem;}.certifications-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:40px;max-width:1100px;margin:0 auto;}.certification-badge{text-align:center;padding:40px 30px;background:white;border-radius:12px;box-shadow:0 4px 15px rgba(0,0,0,0.08);transition:all 0.3s ease;}.certification-badge:hover{transform:translateY(-8px);box-shadow:0 8px 25px rgba(20,71,132,0.15);}.certification-badge .badge-icon{margin-bottom:25px;display:flex;justify-content:center;align-items:center;}.certification-badge .badge-icon svg{width:80px;height:80px;}.certification-badge h3{font-size:1.3rem;color:#7c3aed;margin-bottom:12px;font-weight:600;}.certification-badge p{color:#555;font-size:0.95rem;line-height:1.6;margin:0;}@media (max-width:1024px){.certifications-grid{grid-template-columns:repeat(2,1fr);gap:30px;}}@media (max-width:768px){.certifications-section{padding:60px 0;}.certifications-section .section-header h2{font-size:2rem;}.certifications-grid{grid-template-columns:1fr;gap:25px;}.certification-badge{padding:30px 25px;}}@media (max-width:480px){.certifications-section .section-header h2{font-size:1.75rem;}.certification-badge h3{font-size:1.15rem;}.certification-badge p{font-size:0.9rem;}}.trust-signals-hero{background:#f8f9fa;padding:2rem 0;text-align:center;}.trust-signals-hero .trust-heading{font-size:0.95rem;color:#5c6370;text-transform:uppercase;letter-spacing:1px;margin-bottom:1.5rem;}.trust-signals-hero .trust-logos{display:flex;justify-content:center;align-items:center;gap:2rem;flex-wrap:wrap;margin-bottom:1.5rem;}.trust-signals-hero .trust-logo-placeholder{width:120px;height:50px;background:#e9ecef;border-radius:6px;}.trust-signals-hero .trust-badges{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;}.trust-signals-hero .trust-badges .badge{background:#fff;border:1px solid #dee2e6;padding:0.5rem 1rem;border-radius:20px;font-size:0.9rem;color:#495057;}.quote-page-layout{display:grid;grid-template-columns:1fr 350px;gap:2rem;max-width:1100px;margin:0 auto;padding:2rem 0;}@media (max-width:768px){.quote-page-layout{grid-template-columns:1fr;}}.quote-sidebar{position:sticky;top:100px;align-self:start;}.quote-sidebar .testimonial-card{background:#f8f9fa;border-left:4px solid #0d6efd;padding:1.5rem;border-radius:8px;margin-bottom:1.5rem;}.quote-sidebar .testimonial-card blockquote p{font-style:italic;margin-bottom:0.5rem;}.quote-sidebar .what-happens-next{background:#fff;border:1px solid #dee2e6;padding:1.5rem;border-radius:8px;}.quote-sidebar .what-happens-next ol{padding-left:1.2rem;}.quote-sidebar .what-happens-next li{margin-bottom:0.75rem;}.optional{color:#5c6370;font-weight:normal;font-size:0.85em;}.form-group input.error,.form-group select.error{border-color:#dc3545;}.form-buttons{display:flex;gap:1rem;margin-top:1.5rem;}}body{font-size:17px;}.container{max-width:1320px;}.trust-signals-hero .trust-badges .badge{background:linear-gradient(135deg,#7c3aed,#8b5cf6);color:#fff;border:none;padding:0.65rem 1.5rem;font-size:0.95rem;font-weight:600;letter-spacing:0.5px;border-radius:24px;box-shadow:0 2px 8px rgba(20,71,132,0.25);display:inline-flex;align-items:center;gap:0.4rem;}.trust-signals-hero .trust-badges .badge::before{content:'â';font-weight:700;font-size:0.85rem;}.trust-signals-hero .trust-badges{gap:1.2rem;margin-top:0.5rem;}.trust-signals-hero .trust-heading{margin-bottom:1rem;font-size:1rem;}.service-card{padding:42px;}.service-card p{font-size:1.05rem;line-height:1.75;margin-bottom:22px;}.service-card li{padding:9px 0;font-size:1.02rem;padding-left:24px;line-height:1.55;}.service-card ul{margin-top:8px;}.service-card h3,.service-card h2{font-size:1.4rem;}.hero-stats .stat-label{font-size:1.05rem;}.hero-stats .stat-number{font-size:2.4rem;}.services-grid{grid-template-columns:repeat(3,1fr);}.services-grid .service-card{display:flex;flex-direction:column;}.services-grid .service-card p{flex-shrink:0;}.services-grid .service-card ul{flex-grow:1;}@media (max-width:1100px){.services-grid{grid-template-columns:repeat(2,1fr);}}@media (max-width:700px){.services-grid{grid-template-columns:1fr;}}.values-grid{grid-template-columns:repeat(3,1fr);justify-items:stretch;}@media (max-width:900px){.values-grid{grid-template-columns:repeat(2,1fr);}}@media (max-width:600px){.values-grid{grid-template-columns:1fr;}}.stats-grid{grid-template-columns:repeat(3,1fr);}@media (max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr);}}.values-grid .value-card{display:flex;flex-direction:column;}.quote-sidebar .testimonial-card{background:#f8f9fa;border-left:4px solid #7c3aed;border-top:none;border-right:none;border-bottom:none;padding:1.5rem;border-radius:8px;margin-bottom:1.5rem;box-shadow:none;}.quote-sidebar .testimonial-card::before{display:none;}.quote-sidebar .testimonial-card blockquote p{font-style:italic;margin-bottom:0.5rem;line-height:1.6;color:#333;}.quote-sidebar .testimonial-card blockquote cite{color:#555;font-size:0.9rem;}.quote-faq-section{grid-column:1 / -1;margin-top:2rem;padding-top:2rem;border-top:1px solid #e0e0e0;}.features-grid{grid-template-columns:repeat(3,1fr);}@media (max-width:1100px){.features-grid{grid-template-columns:repeat(2,1fr);}}@media (max-width:700px){.features-grid{grid-template-columns:1fr;}}.capabilities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;align-items:stretch;}.capability-card{display:flex;flex-direction:column;height:100%;}.capability-card p{flex-grow:1;}.footer-section p,.footer-section li,.footer-bottom p,.footer-bottom .company-details,.trust-badge-text span{color:#d1d5db;}.footer-section a{color:#93c5fd;}.footer-section a:hover{color:#bfdbfe;}.footer-section h3{color:#f3f4f6;}.footer-bottom p,.footer-bottom .company-details{color:#9ca3af;}.footer-logo img{filter:brightness(1.2);}@media (max-width:768px){body{font-size:16px;}.project-types-hero h1{font-size:1.8rem;line-height:1.3;}.project-types-hero p{font-size:1rem;}.capabilities-grid{grid-template-columns:1fr;}.industry-grid{grid-template-columns:1fr;}.project-category h2{font-size:1.6rem;}.project-category h3{font-size:1.2rem;}.project-description{font-size:1rem;}.footer-content{grid-template-columns:1fr;}.footer-bottom,.footer-bottom .footer-bottom-content{flex-direction:column;gap:15px;text-align:center;}}@media (max-width:480px){.project-types-hero h1{font-size:1.5rem;}.project-types-hero{padding:100px 0 40px;}.project-category{padding:40px 0;}.project-category h2{font-size:1.4rem;}}.tech-tags{display:flex;flex-wrap:wrap;gap:8px;}.article-cta{background:linear-gradient(135deg,#1a3c5e 0%,#2a5f8f 100%);border-radius:12px;margin:2.5rem 0;padding:2rem 2.5rem;}.article-cta .cta-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;}.article-cta .cta-text h3{color:#fff;font-size:1.4rem;margin:0 0 0.5rem;}.article-cta .cta-text p{color:rgba(255,255,255,0.85);font-size:0.95rem;margin:0;max-width:520px;}.article-cta .cta-actions{display:flex;gap:1rem;flex-shrink:0;flex-wrap:wrap;}.cta-btn{display:inline-flex;align-items:center;justify-content:center;padding:0.75rem 1.5rem;border-radius:6px;font-weight:700;font-size:0.95rem;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background 0.2s,border-color 0.2s;line-height:1.2;}.cta-btn-primary{background:#f59e0b;color:#1a1a1a;border:2px solid #f59e0b;}.cta-btn-primary:hover{background:#fbbf24;border-color:#fbbf24;color:#1a1a1a;text-decoration:none;}.cta-btn-outline{background:transparent;color:#ffffff;border:2px solid rgba(255,255,255,0.8);}.cta-btn-outline:hover{background:rgba(255,255,255,0.12);border-color:#ffffff;color:#ffffff;text-decoration:none;}@media (max-width:640px){.article-cta{padding:1.5rem;}.article-cta .cta-inner{flex-direction:column;}.article-cta .cta-actions{width:100%;}.cta-btn{text-align:center;flex:1;width:100%;}}.author-bio{display:flex;gap:20px;padding:24px;background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);border-radius:12px;margin:40px 0;border-left:4px solid #6d28d9;}.bio-avatar img{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid #6d28d9;}.bio-info{flex:1;}.bio-header{font-size:0.85rem;text-transform:uppercase;letter-spacing:0.5px;color:#7c3aed;margin:0 0 8px 0;font-weight:600;}.bio-name{font-size:1.25rem;font-weight:700;color:#1a1a1a;margin:0 0 4px 0;}.bio-role{font-size:0.95rem;color:#666;margin:0 0 12px 0;font-weight:500;}.bio-description{font-size:0.95rem;color:#444;line-height:1.6;margin:0 0 16px 0;}.bio-expertise{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px;}.expertise-label{font-size:0.85rem;font-weight:600;color:#555;}.expertise-tag{font-size:0.8rem;padding:4px 10px;background:#fff;border:1px solid #ddd;border-radius:16px;color:#555;}.bio-social .linkedin-link{display:inline-flex;align-items:center;gap:6px;color:#0077b5;text-decoration:none;font-size:0.9rem;font-weight:500;transition:color 0.2s;}.bio-social .linkedin-link:hover{color:#005885;text-decoration:underline;}@media (max-width:600px){.author-bio{flex-direction:column;text-align:center;}.bio-avatar{margin:0 auto;}.bio-expertise{justify-content:center;}}.blog-article .author-bio,.blog-article .article-cta,.blog-article .related-articles{max-width:1200px;margin-left:auto;margin-right:auto;box-sizing:border-box;}.section-label{font-size:0.85rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#4f46e5;margin-bottom:8px;}
\ No newline at end of file
diff --git a/assets/images/ukaiautomation-logo-white.svg b/assets/images/ukaiautomation-logo-white.svg
new file mode 100644
index 0000000..7c46421
--- /dev/null
+++ b/assets/images/ukaiautomation-logo-white.svg
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UK AI
+ AUTOMATION
+
diff --git a/assets/images/ukaiautomation-logo.svg b/assets/images/ukaiautomation-logo.svg
new file mode 100644
index 0000000..81874a2
--- /dev/null
+++ b/assets/images/ukaiautomation-logo.svg
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UK AI
+ AUTOMATION
+
diff --git a/backup-db-commit.sh b/backup-db-commit.sh
deleted file mode 100755
index 0767199..0000000
--- a/backup-db-commit.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/bash
-
-# Database configuration
-DB_USER="root"
-DB_PASS="Piglet1969!!"
-DB_NAME="ukdataservices"
-DB_HOST="localhost"
-
-# Backup filename with timestamp
-BACKUP_FILE="db_backup_$(date +%y%m%d_%H%M%S).sql"
-
-echo "Starting database backup..."
-
-# Create database backup
-mysqldump -u"$DB_USER" -p"$DB_PASS" -h"$DB_HOST" "$DB_NAME" > "$BACKUP_FILE"
-
-if [ $? -eq 0 ]; then
- echo "Database backup created: $BACKUP_FILE"
-
- # Add all changes to git
- echo "Adding changes to git..."
- git add -A
-
- # Commit with timestamp
- COMMIT_MSG="Backup database and code changes - $(date '+%Y-%m-%d %H:%M:%S')"
- git commit -m "$COMMIT_MSG"
-
- if [ $? -eq 0 ]; then
- echo "Changes committed successfully!"
- echo "Commit message: $COMMIT_MSG"
- else
- echo "No changes to commit or commit failed"
- fi
-else
- echo "Database backup failed!"
- exit 1
-fi
-
-echo "Script completed."
diff --git a/backups/.htaccess.pre-csrf-fix b/backups/.htaccess.pre-csrf-fix
deleted file mode 100644
index 8e88e9f..0000000
--- a/backups/.htaccess.pre-csrf-fix
+++ /dev/null
@@ -1,171 +0,0 @@
-# Security Rules for UK Data Services
-
-# Protect sensitive files and configs
-
- Require all denied
-
-
-# Protect contact handlers from direct browser access (POST only)
-
-
- Require all denied
-
-
-
-
-
- Require all denied
-
-
-
-# Security headers
-
- Header always set X-Content-Type-Options "nosniff"
- Header always set X-Frame-Options "SAMEORIGIN"
- Header always set X-XSS-Protection "1; mode=block"
- Header always set Referrer-Policy "strict-origin-when-cross-origin"
-
-
-# Enhanced Gzip compression
-
- # Enable compression for all text-based files
- AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript
- AddOutputFilterByType DEFLATE application/javascript application/x-javascript
- AddOutputFilterByType DEFLATE application/xml application/xhtml+xml application/rss+xml
- AddOutputFilterByType DEFLATE application/json application/ld+json
- AddOutputFilterByType DEFLATE image/svg+xml
- AddOutputFilterByType DEFLATE font/ttf font/otf font/eot font/woff font/woff2
-
- # Remove browser bugs for older browsers
- BrowserMatch ^Mozilla/4 gzip-only-text/html
- BrowserMatch ^Mozilla/4\.0[678] no-gzip
- BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
- Header append Vary User-Agent
-
-
-# Enable Brotli compression if available
-
- AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript
- AddOutputFilterByType BROTLI_COMPRESS application/javascript application/x-javascript
- AddOutputFilterByType BROTLI_COMPRESS application/xml application/xhtml+xml application/rss+xml
- AddOutputFilterByType BROTLI_COMPRESS application/json application/ld+json
- AddOutputFilterByType BROTLI_COMPRESS image/svg+xml
- AddOutputFilterByType BROTLI_COMPRESS font/ttf font/otf font/woff font/woff2
-
-
-# Browser Caching Headers
-
- ExpiresActive On
-
- # Images - 1 year
- ExpiresByType image/jpeg "access plus 1 year"
- ExpiresByType image/jpg "access plus 1 year"
- ExpiresByType image/gif "access plus 1 year"
- ExpiresByType image/png "access plus 1 year"
- ExpiresByType image/webp "access plus 1 year"
- ExpiresByType image/svg+xml "access plus 1 year"
- ExpiresByType image/x-icon "access plus 1 year"
- ExpiresByType image/ico "access plus 1 year"
-
- # Fonts - 1 year
- ExpiresByType font/ttf "access plus 1 year"
- ExpiresByType font/otf "access plus 1 year"
- ExpiresByType font/woff "access plus 1 year"
- ExpiresByType font/woff2 "access plus 1 year"
- ExpiresByType application/font-woff "access plus 1 year"
- ExpiresByType application/font-woff2 "access plus 1 year"
-
- # CSS and JavaScript - 1 month
- ExpiresByType text/css "access plus 1 month"
- ExpiresByType application/javascript "access plus 1 month"
- ExpiresByType text/javascript "access plus 1 month"
- ExpiresByType application/x-javascript "access plus 1 month"
-
- # HTML and PHP - 1 hour
- ExpiresByType text/html "access plus 1 hour"
- ExpiresByType application/xhtml+xml "access plus 1 hour"
-
- # Data - no cache
- ExpiresByType application/json "access plus 0 seconds"
- ExpiresByType application/xml "access plus 0 seconds"
- ExpiresByType text/xml "access plus 0 seconds"
-
- # Default - 1 week
- ExpiresDefault "access plus 1 week"
-
-
-# Cache-Control Headers
-
- # Static assets - 1 year
-
- Header set Cache-Control "max-age=31536000, public, immutable"
-
-
- # CSS and JS - 1 month
-
- Header set Cache-Control "max-age=2592000, public"
-
-
- # HTML/PHP - 1 hour
-
- Header set Cache-Control "max-age=3600, public, must-revalidate"
-
-
- # Keep-alive
- Header set Connection keep-alive
-
-
-# HTTP/2 Server Push
-
- # Push critical resources
-
- Header add Link "; rel=preload; as=style"
- Header add Link "; rel=preload; as=image"
- Header add Link "; rel=preload; as=script"
-
-
-
-# ETags
-FileETag None
-Header unset ETag
-
-# Disable directory browsing
-Options -Indexes
-
-# Prevent access to logs and database directories
-
- RewriteEngine On
-
- # Skip already processed .php files
- RewriteCond %{REQUEST_FILENAME} -f
- RewriteRule ^services/.*\.php$ - [L]
-
- # Explicitly allow existing service pages (skip redirects)
- RewriteRule ^services/competitive-intelligence/?$ /services/competitive-intelligence.php [L]
- RewriteRule ^services/data-cleaning/?$ /services/data-cleaning.php [L]
- RewriteRule ^services/financial-data-services/?$ /services/financial-data-services.php [L]
- RewriteRule ^services/price-monitoring/?$ /services/price-monitoring.php [L]
- RewriteRule ^services/property-data-extraction/?$ /services/property-data-extraction.php [L]
- RewriteRule ^services/web-scraping/?$ /services/web-scraping.php [L]
-
- # Redirect /services index to project-types
- RewriteRule ^services/?$ /project-types [R=301,L]
-
- # Redirect unknown service pages to project-types
- RewriteRule ^services/(.+)$ /project-types [R=301,L]
-
- # Clean URL rewriting - remove .php extension
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_FILENAME}.php -f
- RewriteRule ^(.+?)/?$ $1.php [L]
-
- # Security rules
- RewriteRule ^logs(/.*)?$ - [F,L]
- RewriteRule ^database(/.*)?$ - [F,L]
- RewriteRule ^\.git(/.*)?$ - [F,L]
- RewriteRule ^docker(/.*)?$ - [F,L]
-
-
-# Disable server signature
-ServerSignature Off
\ No newline at end of file
diff --git a/blog/articles/5-industries-benefit-most-web-scraping-uk.php b/blog/articles/5-industries-benefit-most-web-scraping-uk.php
index ec1563a..c177b92 100644
--- a/blog/articles/5-industries-benefit-most-web-scraping-uk.php
+++ b/blog/articles/5-industries-benefit-most-web-scraping-uk.php
@@ -8,14 +8,14 @@ header('Strict-Transport-Security: max-age=31536000; includeSubDomains');
header('Referrer-Policy: strict-origin-when-cross-origin');
// SEO and performance optimisations
-$page_title = "5 Industries That Benefit Most from Web Scraping in the UK | UK Data Services";
+$page_title = "5 Industries That Benefit Most from Web Scraping in the UK | UK AI Automation";
$page_description = "Discover which UK industries get the biggest competitive advantage from web scraping â from property and e-commerce to energy and financial services.";
-$canonical_url = "https://ukdataservices.co.uk/blog/articles/5-industries-benefit-most-web-scraping-uk";
+$canonical_url = "https://ukaiautomation.co.uk/blog/articles/5-industries-benefit-most-web-scraping-uk";
$keywords = "web scraping industries UK, property data scraping, e-commerce price monitoring UK, financial data scraping, energy price scraping UK";
-$author = "UK Data Services Editorial Team";
+$author = "UK AI Automation Editorial Team";
$published_date = "2026-02-27";
$modified_date = "2026-02-27";
-$og_image = "https://ukdataservices.co.uk/assets/images/blog/industries-web-scraping-uk.png";
+$og_image = "https://ukaiautomation.co.uk/assets/images/blog/industries-web-scraping-uk.png";
?>
@@ -44,7 +44,7 @@ $og_image = "https://ukdataservices.co.uk/assets/images/blog/industries-web-scra
-
+
@@ -74,14 +74,14 @@ $og_image = "https://ukdataservices.co.uk/assets/images/blog/industries-web-scra
"image": "",
"author": {
"@type": "Organization",
- "name": "UK Data Services"
+ "name": "UK AI Automation"
},
"publisher": {
"@type": "Organization",
- "name": "UK Data Services",
+ "name": "UK AI Automation",
"logo": {
"@type": "ImageObject",
- "url": "https://ukdataservices.co.uk/assets/images/ukds-main-logo.png"
+ "url": "https://ukaiautomation.co.uk/assets/images/ukds-main-logo.png"
}
},
"datePublished": "T09:00:00+00:00",
@@ -130,7 +130,7 @@ $og_image = "https://ukdataservices.co.uk/assets/images/blog/industries-web-scra
Learn more about our financial data services .
Learn more about our price monitoring service .
- By UK Data Services Editorial Team
+ By UK AI Automation Editorial Team
•
Updated
@@ -245,7 +245,7 @@ $og_image = "https://ukdataservices.co.uk/assets/images/blog/industries-web-scra
About the Author
-
The UK Data Services editorial team combines years of experience in web scraping, data analytics, and UK compliance to provide authoritative insights for British businesses.
+
The UK AI Automation editorial team combines years of experience in AI automation, data pipelines, and UK compliance to provide authoritative insights for British businesses.
diff --git a/blog/articles/ai-powered-data-extraction.php b/blog/articles/ai-powered-data-extraction.php
index 7964826..0bd4751 100644
--- a/blog/articles/ai-powered-data-extraction.php
+++ b/blog/articles/ai-powered-data-extraction.php
@@ -28,7 +28,7 @@ $breadcrumbs = [
-
| UK Data Services Blog
+
| UK AI Automation Blog
@@ -36,8 +36,8 @@ $breadcrumbs = [
-
-
+
+
@@ -45,9 +45,9 @@ $breadcrumbs = [
-
+
-
+
@@ -62,7 +62,7 @@ $breadcrumbs = [
"@type": "BlogPosting",
"headline": "",
"description": "",
- "image": "https://ukdataservices.co.uk",
+ "image": "https://ukaiautomation.co.uk",
"datePublished": "T09:00:00+00:00",
"dateModified": "T09:00:00+00:00",
"author": {
@@ -71,15 +71,15 @@ $breadcrumbs = [
},
"publisher": {
"@type": "Organization",
- "name": "UK Data Services",
+ "name": "UK AI Automation",
"logo": {
"@type": "ImageObject",
- "url": "https://ukdataservices.co.uk/assets/images/logo.svg"
+ "url": "https://ukaiautomation.co.uk/assets/images/logo.svg"
}
},
"mainEntityOfPage": {
"@type": "WebPage",
- "@id": "https://ukdataservices.co.uk/blog/articles/"
+ "@id": "https://ukaiautomation.co.uk/blog/articles/"
},
"keywords": ""
}
@@ -353,7 +353,7 @@ $breadcrumbs = [
Advanced AI Extraction Solutions
- Implementing AI-powered data extraction requires expertise in machine learning, data engineering, and domain-specific requirements. UK Data Services provides comprehensive AI extraction solutions, from custom model development to enterprise platform integration, helping organisations unlock the value in their unstructured data.
+ Implementing AI-powered data extraction requires expertise in machine learning, data engineering, and domain-specific requirements. UK AI Automation provides comprehensive AI extraction solutions, from custom model development to enterprise platform integration, helping organisations unlock the value in their unstructured data.
Explore AI Extraction
diff --git a/blog/articles/ai-web-scraping-2026.php b/blog/articles/ai-web-scraping-2026.php
index 9da3f71..03e5a18 100644
--- a/blog/articles/ai-web-scraping-2026.php
+++ b/blog/articles/ai-web-scraping-2026.php
@@ -5,10 +5,10 @@ $article_title = 'AI-Powered Web Scraping in 2026: How LLMs Are Changing Data Co
$article_description = 'How large language models are transforming web scraping in 2026. Covers AI extraction, unstructured data parsing, anti-bot evasion, and what it means for UK businesses.';
$article_keywords = 'AI web scraping, LLM data extraction, AI data collection 2026, machine learning scraping, intelligent web scrapers UK';
$article_author = 'Alex Kumar';
-$canonical_url = 'https://ukdataservices.co.uk/blog/articles/ai-web-scraping-2026';
+$canonical_url = 'https://ukaiautomation.co.uk/blog/articles/ai-web-scraping-2026';
$article_published = '2026-03-08T09:00:00+00:00';
$article_modified = '2026-03-08T09:00:00+00:00';
-$og_image = 'https://ukdataservices.co.uk/assets/images/ukds-social-card.png';
+$og_image = 'https://ukaiautomation.co.uk/assets/images/ukds-social-card.png';
$read_time = 10;
?>
@@ -16,7 +16,7 @@ $read_time = 10;
-
| UK Data Services Blog
+
| UK AI Automation Blog
@@ -55,10 +55,10 @@ $read_time = 10;
},
"publisher": {
"@type": "Organization",
- "name": "UK Data Services",
+ "name": "UK AI Automation",
"logo": {
"@type": "ImageObject",
- "url": "https://ukdataservices.co.uk/assets/images/ukds-main-logo.png"
+ "url": "https://ukaiautomation.co.uk/assets/images/ukds-main-logo.png"
}
},
"image": "",
@@ -70,26 +70,26 @@ $read_time = 10;
@@ -163,7 +163,7 @@ $read_time = 10;
On Ethical Anti-Bot Approaches
-
UK Data Services does not assist with bypassing CAPTCHAs on sites that deploy them to protect private or access-controlled content. Our web scraping service operates within the terms of service of target sites and focuses on publicly available data sources. Where a site actively blocks automated access, we treat that as a signal that the data is not intended for public extraction.
+
UK AI Automation does not assist with bypassing CAPTCHAs on sites that deploy them to protect private or access-controlled content. Our web scraping service operates within the terms of service of target sites and focuses on publicly available data sources. Where a site actively blocks automated access, we treat that as a signal that the data is not intended for public extraction.
The second category â using AI to solve CAPTCHAs or actively circumvent security mechanisms on sites that have deployed them specifically to restrict automated access â is legally and ethically more complex. The Computer Misuse Act 1990 has potential relevance for scraping that involves bypassing technical access controls, and we advise clients to treat CAPTCHA-protected content as out of scope unless they have a specific authorisation from the site operator.
@@ -243,7 +243,7 @@ $read_time = 10;
diff --git a/blog/articles/airflow-alternatives-python.php b/blog/articles/airflow-alternatives-python.php
index b65a48d..3b40e6d 100644
--- a/blog/articles/airflow-alternatives-python.php
+++ b/blog/articles/airflow-alternatives-python.php
@@ -18,11 +18,11 @@ header('Content-Security-Policy: default-src \'self\'; script-src \'self\' \'uns
// SEO and performance optimizations
$page_title = "Top 5 Airflow Alternatives for Python in 2025 | UK Guide";
$page_description = "Looking for Python alternatives to Airflow? We review the top 5 tools like Prefect, Dagster, and Flyte for modern data pipelines. Find your best fit.";
-$canonical_url = "https://ukdataservices.co.uk/blog/articles/python-airflow-alternatives";
+$canonical_url = "https://ukaiautomation.co.uk/blog/articles/python-airflow-alternatives";
$keywords = "airflow alternatives python, prefect vs airflow, dagster vs airflow, python data orchestration, modern data stack, data pipeline tools uk, flyte, mage";
-$author = "UK Data Services";
-$og_image = "https://ukdataservices.co.uk/assets/images/ukds-main-logo.png";
-$twitter_card_image = "https://ukdataservices.co.uk/assets/images/ukds-main-logo.png";
+$author = "UK AI Automation";
+$og_image = "https://ukaiautomation.co.uk/assets/images/ukds-main-logo.png";
+$twitter_card_image = "https://ukaiautomation.co.uk/assets/images/ukds-main-logo.png";
?>
@@ -83,7 +83,7 @@ $twitter_card_image = "https://ukdataservices.co.uk/assets/images/ukds-main-logo
Conclusion: Which Airflow Alternative is Right for You?
The best alternative to Airflow depends entirely on your team's specific needs. For a better developer experience, look at Prefect. For a focus on data assets and lineage, consider Dagster. For large-scale ML on Kubernetes, Flyte is a top choice. For a more detailed technical breakdown, see our Airflow vs Prefect vs Dagster vs Flyte comparison .
- At UK Data Services, we help businesses design, build, and manage high-performance data pipelines using the best tools for the job. Whether you're migrating from Airflow or building from scratch, our expertise can accelerate your data strategy. Contact us today to discuss your project.
+ At UK AI Automation, we help businesses design, build, and manage high-performance data pipelines using the best tools for the job. Whether you're migrating from Airflow or building from scratch, our expertise can accelerate your data strategy. Contact us today to discuss your project.
diff --git a/blog/articles/business-intelligence-consultants-uk-selection-guide.php b/blog/articles/business-intelligence-consultants-uk-selection-guide.php
index 7ba6ef3..c9a78f1 100644
--- a/blog/articles/business-intelligence-consultants-uk-selection-guide.php
+++ b/blog/articles/business-intelligence-consultants-uk-selection-guide.php
@@ -4,12 +4,12 @@
header('Strict-Transport-Security: max-age=31536000; includeSubDomains');
// SEO and performance optimizations
-$page_title = "Business Intelligence Consultants UK: How to Choose the Right Partner 2025 | UK Data Services";
+$page_title = "Business Intelligence Consultants UK: How to Choose the Right Partner 2025 | UK AI Automation";
$page_description = "Expert guide to selecting business intelligence consultants in the UK. Compare providers, understand pricing, ROI expectations, and implementation best practices for BI success.";
-$canonical_url = "https://ukdataservices.co.uk/blog/articles/business-intelligence-consultants-uk-selection-guide";
+$canonical_url = "https://ukaiautomation.co.uk/blog/articles/business-intelligence-consultants-uk-selection-guide";
$keywords = "business intelligence consultants UK, BI consultants, data warehouse consultants, business intelligence firms, BI implementation services";
-$author = "UK Data Services Editorial Team";
-$og_image = "https://ukdataservices.co.uk/assets/images/blog/business-intelligence-consultants-uk.png";
+$author = "UK AI Automation Editorial Team";
+$og_image = "https://ukaiautomation.co.uk/assets/images/blog/business-intelligence-consultants-uk.png";
$published_date = "2025-08-08";
$modified_date = "2025-08-08";
?>
@@ -71,14 +71,14 @@ $modified_date = "2025-08-08";
"image": "",
"author": {
"@type": "Organization",
- "name": "UK Data Services"
+ "name": "UK AI Automation"
},
"publisher": {
"@type": "Organization",
- "name": "UK Data Services",
+ "name": "UK AI Automation",
"logo": {
"@type": "ImageObject",
- "url": "https://ukdataservices.co.uk/assets/images/ukds-main-logo.png"
+ "url": "https://ukaiautomation.co.uk/assets/images/ukds-main-logo.png"
}
},
"datePublished": "T09:00:00+00:00",
@@ -126,7 +126,7 @@ $modified_date = "2025-08-08";
Business Intelligence Consultants UK: How to Choose the Right Partner
Master the selection process with our comprehensive guide to choosing BI consultants. Learn evaluation criteria, ROI expectations, and implementation best practices.
- By UK Data Services Editorial Team
+ By UK AI Automation Editorial Team
âą
Updated
diff --git a/blog/articles/business-intelligence-dashboard-design.php b/blog/articles/business-intelligence-dashboard-design.php
index cf8aab7..c97096c 100644
--- a/blog/articles/business-intelligence-dashboard-design.php
+++ b/blog/articles/business-intelligence-dashboard-design.php
@@ -7,10 +7,10 @@ $article_title = "BI Dashboard Design: 2025 UX Best Practices";
$article_description = "How to design effective business intelligence dashboards that turn complex data into clear decisions. Practical guide for UK data teams.";
$article_keywords = "business intelligence dashboard, BI dashboard design, data visualisation, dashboard UX, analytics dashboard, KPI dashboard";
$article_author = "David Martinez";
-$canonical_url = "https://ukdataservices.co.uk/blog/articles/business-intelligence-dashboard-design.php";
+$canonical_url = "https://ukaiautomation.co.uk/blog/articles/business-intelligence-dashboard-design.php";
$article_published = "2025-06-08T09:00:00+00:00";
$article_modified = "2025-06-08T14:30:00+00:00";
-$og_image = "https://ukdataservices.co.uk/assets/images/ukds-social-card.png";
+$og_image = "https://ukaiautomation.co.uk/assets/images/ukds-social-card.png";
$read_time = 12;
?>
@@ -18,7 +18,7 @@ $read_time = 12;
-
| UK Data Services Blog
+
| UK AI Automation Blog
@@ -80,14 +80,14 @@ $read_time = 12;
"author": {
"@type": "Organization",
"name": "",
- "url": "https://ukdataservices.co.uk"
+ "url": "https://ukaiautomation.co.uk"
},
"publisher": {
"@type": "Organization",
- "name": "UK Data Services",
+ "name": "UK AI Automation",
"logo": {
"@type": "ImageObject",
- "url": "https://ukdataservices.co.uk/assets/images/ukds-main-logo.png",
+ "url": "https://ukaiautomation.co.uk/assets/images/ukds-main-logo.png",
"width": 300,
"height": 100
}
@@ -1220,9 +1220,9 @@ $read_time = 12;