/*!
Theme Name: ceyshore-consulting
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: ceyshore-consulting
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

ceyshore-consulting is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
# Google Fonts - Optimized Loading
--------------------------------------------------------------*/
/* Preconnect for performance */
@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@700;800;900&family=Figtree:wght@400;500;600;700&display=swap');

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Color System - Ceyshore Consulting
--------------------------------------------------------------*/

:root {
  /* Primary Brand Colors */
  --color-primary: #FF4500;
  --color-primary-rgb: 255, 69, 0;
  --color-primary-hsl: 16, 100%, 50%;
  --color-primary-light: #FF6B35;
  --color-primary-dark: #E63E00;

  --color-secondary: #0F4C81;
  --color-secondary-hsl: 203, 78%, 28%;
  --color-secondary-light: #1E88E5;
  --color-secondary-dark: #0D3B63;

  /* Neutral Colors */
  --color-white: #FFFFFF;
  --color-white-hsl: 0, 0%, 100%;

  --color-gray-50: #F8F9FA;
  --color-gray-50-hsl: 210, 17%, 98%;

  --color-gray-500: #6C757D;
  --color-gray-500-hsl: 208, 7%, 46%;

  --color-gray-900: #2C3E50;
  --color-gray-900-hsl: 210, 29%, 24%;

  /* Spacing System */
  --space-xs: 0.5rem;    /* 8px */
  --space-sm: 1rem;      /* 16px */
  --space-md: 1.5rem;    /* 24px */
  --space-lg: 2rem;      /* 32px */
  --space-xl: 3rem;      /* 48px */
  --space-2xl: 4rem;     /* 64px */
  --space-3xl: 6rem;     /* 96px */

  /* Section Spacing */
  --section-padding: 5rem 0;
  --section-padding-sm: 3rem 0;
  --element-gap: 2rem;

  /* Semantic Color Assignments */
  --color-text-primary: var(--color-gray-900);
  --color-text-secondary: var(--color-gray-500);
  --color-text-inverse: var(--color-white);

  --color-bg-primary: var(--color-white);
  --color-bg-secondary: var(--color-gray-50);

  --color-border: rgba(0, 0, 0, 0.1);
  --color-border-focus: var(--color-primary);

  /* Interactive States */
  --color-link: var(--color-primary);
  --color-link-hover: var(--color-primary-light);
  --color-link-visited: var(--color-white);

  /* Button States - Primary (Orange) */
  --btn-primary-bg: var(--color-primary);
  --btn-primary-text: var(--color-white);
  --btn-primary-hover-bg: var(--color-primary-light);
  --btn-primary-active-bg: var(--color-primary-dark);

  /* Button States - Secondary (Navy) */
  --btn-secondary-bg: var(--color-secondary);
  --btn-secondary-text: var(--color-white);
  --btn-secondary-hover-bg: var(--color-secondary-light);
  --btn-secondary-active-bg: var(--color-secondary-dark);

  /* Form States */
  --input-border: var(--color-gray-500);
  --input-border-focus: var(--color-primary);
  --input-bg: var(--color-white);
  --input-bg-disabled: var(--color-gray-50);

  /* Navigation */
  --nav-text: var(--color-gray-900);
  --nav-text-hover: var(--color-primary);
  --nav-bg-hover: var(--color-gray-50);
}

/* Accessibility - WCAG AA Compliant Combinations
   ============================================================
   APPROVED TEXT COMBINATIONS (contrast ratio ≥ 4.5:1):
   ✓ Navy (#1E3A8A) on White (#FFFFFF) - 8.59:1
   ✓ Dark Charcoal (#2C3E50) on White (#FFFFFF) - 8.43:1
   ✓ White (#FFFFFF) on Orange (#FF4500) - 4.74:1
   ✓ White (#FFFFFF) on Navy (#1E3A8A) - 8.59:1
   ✓ Dark Charcoal (#2C3E50) on Light Gray (#F8F9FA) - 8.12:1
   ✓ Medium Gray (#6C757D) on White (#FFFFFF) - 4.68:1

   AVOID:
   ✗ Orange (#FF4500) on White backgrounds for body text
   ✗ Medium Gray (#6C757D) on Light Gray (#F8F9FA) - insufficient contrast
   ============================================================ */

/*--------------------------------------------------------------
# Typography System - Ceyshore Consulting
--------------------------------------------------------------*/

/* Font Families */
:root {
  /* Font Stack Hierarchy - 2025 Corporate Professional */
  --font-heading-primary: 'Raleway', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;    /* Site title/logo only */
  --font-heading-secondary: 'Figtree', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;  /* All headings */
  --font-body: 'Figtree', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;               /* Body text */

  /* Legacy support - defaults to body font */
  --font-primary: var(--font-body);

  /* Font Weights - Optimized for loaded fonts */
  --font-weight-regular: 400;      /* Body text */
  --font-weight-medium: 500;       /* Emphasized body text */
  --font-weight-semibold: 600;     /* Secondary headings, buttons */
  --font-weight-bold: 700;         /* Primary headings, strong emphasis */
  --font-weight-extrabold: 800;    /* Hero headings (reduced from 900) */
  --font-weight-black: 900;        /* Site title only (Raleway) */

  /* Modular Scale - Base 16px, Ratio 1.25 (Major Third) */
  --font-size-xs: 0.75rem;      /* 12px - Legal text, captions */
  --font-size-sm: 0.875rem;     /* 14px - Small text, metadata */
  --font-size-base: 1rem;       /* 16px - Body text default */
  --font-size-md: 1.125rem;     /* 18px - Large body text, comfortable reading */
  --font-size-lg: 1.25rem;      /* 20px - Subheadings, lead text */
  --font-size-xl: 1.5rem;       /* 24px - H4 */
  --font-size-2xl: 2rem;        /* 32px - H3 */
  --font-size-3xl: 2.5rem;      /* 40px - H2 */
  --font-size-4xl: 3rem;        /* 48px - H1 */
  --font-size-5xl: 4rem;        /* 64px - Hero headings */

  /* Line Heights - Optimized for readability */
  --line-height-tight: 1.2;     /* Large headings (48px+) */
  --line-height-snug: 1.4;      /* Medium headings (24px-40px) */
  --line-height-normal: 1.6;    /* Body text (16px-18px) */
  --line-height-relaxed: 1.8;   /* Long-form reading */

  /* Letter Spacing - Professional refinement */
  --letter-spacing-tight: -0.02em;   /* Large display headings */
  --letter-spacing-normal: 0;        /* Body text */
  --letter-spacing-wide: 0.02em;     /* Buttons, small caps */
}

/* Responsive Typography - Mobile First */
@media screen and (max-width: 768px) {
  :root {
    --font-size-4xl: 2.5rem;    /* 40px - H1 on mobile */
    --font-size-5xl: 3rem;      /* 48px - Hero on mobile */
  }
}

@media screen and (max-width: 480px) {
  :root {
    --font-size-3xl: 2rem;      /* 32px - H2 on small mobile */
    --font-size-4xl: 2rem;      /* 32px - H1 on small mobile */
    --font-size-5xl: 2.5rem;    /* 40px - Hero on small mobile */
  }
}

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html,
body {
	min-height: 100%;
}

body {
	margin: 0;
	padding: 0;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: var(--color-text-primary);
	font-family: var(--font-body);
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-normal);
	letter-spacing: var(--letter-spacing-normal);
}

/* Enhanced body text readability */
body {
	font-size: var(--font-size-md);  /* 18px for comfortable reading */
	line-height: var(--line-height-normal);
}

@media screen and (max-width: 768px) {
	body {
		font-size: var(--font-size-base);  /* 16px on mobile */
	}
}

/* Heading Hierarchy - Professional Corporate 2025 */
h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	color: var(--color-text-primary);
	margin-top: 0;
	margin-bottom: 0.5em;
}

/* H1 - Primary Page Titles - Figtree Bold */
h1 {
	font-family: var(--font-heading-secondary);
	font-size: var(--font-size-4xl);     /* 48px */
	font-weight: var(--font-weight-bold);  /* 700 (reduced from 900) */
	line-height: var(--line-height-tight);
	letter-spacing: var(--letter-spacing-tight);
}

/* H2 - Major Section Headings - Figtree Bold */
h2 {
	font-family: var(--font-heading-secondary);
	font-size: var(--font-size-3xl);     /* 40px */
	font-weight: var(--font-weight-bold);   /* 700 */
	line-height: var(--line-height-tight);
	letter-spacing: var(--letter-spacing-tight);
}

/* H3 - Subsection Headings - Figtree Semibold */
h3 {
	font-family: var(--font-heading-secondary);
	font-size: var(--font-size-2xl);     /* 32px */
	font-weight: var(--font-weight-semibold); /* 600 */
	line-height: var(--line-height-snug);
}

/* H4 - Card Titles - Figtree Semibold */
h4 {
	font-family: var(--font-heading-secondary);
	font-size: var(--font-size-xl);      /* 24px */
	font-weight: var(--font-weight-semibold);
	line-height: var(--line-height-snug);
}

/* H5 - Small Headings - Figtree Semibold */
h5 {
	font-family: var(--font-body);
	font-size: var(--font-size-lg);      /* 20px */
	font-weight: var(--font-weight-semibold);
	line-height: var(--line-height-snug);
}

/* H6 - Labels & Tags - Figtree Semibold Uppercase */
h6 {
	font-family: var(--font-body);
	font-size: var(--font-size-base);    /* 16px */
	font-weight: var(--font-weight-semibold);
	line-height: var(--line-height-snug);
	text-transform: uppercase;
	letter-spacing: var(--letter-spacing-wide);
}

/* Hero heading class for extra large titles - Figtree Bold */
.hero-heading,
.page-title,
.hero-title {
	font-family: var(--font-heading-secondary);
	font-size: var(--font-size-5xl);     /* 64px */
	font-weight: var(--font-weight-bold);  /* 700 (reduced from 900) */
	line-height: var(--line-height-tight);
	letter-spacing: var(--letter-spacing-tight);
}

/* Lead text / intro paragraphs - Figtree Medium */
.lead,
.hero-subtitle {
	font-family: var(--font-body);
	font-size: var(--font-size-md);      /* 18px */
	font-weight: var(--font-weight-medium);  /* 500 */
	line-height: var(--line-height-relaxed);
	color: var(--color-text-primary);
}

/* Section titles - Figtree Bold */
.section-title {
	font-family: var(--font-heading-secondary);
	font-size: var(--font-size-3xl);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-tight);
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: var(--color-link);
	text-decoration: none;
	transition: color 0.2s ease;
}

a:visited {
	color: var(--color-link-visited);
}

a:hover,
a:focus,
a:active {
	color: var(--color-link-hover);
}

a:focus {
	outline: 2px solid var(--color-border-focus);
	outline-offset: 2px;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: none;
	border-radius: 4px;
	background: var(--btn-primary-bg);
	color: var(--btn-primary-text);
	font-family: var(--font-primary);
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-semibold);
	line-height: 1;
	padding: 0.875em 1.75em;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.1s ease;
	letter-spacing: var(--letter-spacing-wide);
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	background: var(--btn-primary-hover-bg);
	transform: translateY(-1px);
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	background: var(--btn-primary-active-bg);
	outline: 2px solid var(--color-border-focus);
	outline-offset: 2px;
}

/* Secondary Button Style */
.button-secondary,
button.secondary {
	background: var(--btn-secondary-bg);
	color: var(--btn-secondary-text);
}

.button-secondary:hover,
button.secondary:hover {
	background: var(--btn-secondary-hover-bg);
}

.button-secondary:active,
.button-secondary:focus,
button.secondary:active,
button.secondary:focus {
	background: var(--btn-secondary-active-bg);
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: var(--color-text-primary);
	background: var(--input-bg);
	border: 1px solid var(--input-border);
	border-radius: 4px;
	padding: 0.625em 0.875em;
	font-family: var(--font-primary);
	font-size: var(--font-size-base);
	line-height: var(--line-height-normal);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	border-color: var(--input-border-focus);
	outline: none;
	box-shadow: 0 0 0 3px hsla(var(--color-primary-hsl), 0.1);
}

input[type="text"]:disabled,
input[type="email"]:disabled,
input[type="url"]:disabled,
input[type="password"]:disabled,
input[type="search"]:disabled,
input[type="number"]:disabled,
input[type="tel"]:disabled,
textarea:disabled {
	background: var(--input-bg-disabled);
	cursor: not-allowed;
	opacity: 0.6;
}

select {
	border: 1px solid var(--input-border);
	border-radius: 4px;
	padding: 0.625em 0.875em;
	font-family: var(--font-primary);
	font-size: var(--font-size-base);
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Top Bar
--------------------------------------------- */
.top-bar {
	background: var(--color-secondary);
	color: var(--color-white);
	font-size: 0.875rem;
	padding: 0.75rem 0;
	position: relative;
	z-index: 1000;
}

.top-bar-container {
	max-width: 100%;
	margin: 0 auto;
	padding: 0 2rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.top-bar-left,
.top-bar-right {
	display: flex;
	align-items: center;
	gap: 2rem;
}

.top-bar-item {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--color-white);
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.top-bar-item svg {
	flex-shrink: 0;
	opacity: 0.9;
}

.top-bar-item:hover {
	opacity: 0.8;
}

/* Header
--------------------------------------------- */
.site-header {
	background: var(--color-white);
	border-bottom: 1px solid var(--color-border);
	position: sticky;
	top: 0;
	z-index: 1000;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.header-container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 2rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	height: 80px;
}

/* Mobile Top Bar Adjustments */
@media screen and (max-width: 768px) {
	.top-bar {
		font-size: 0.75rem;
		padding: 0.5rem 0;
	}

	.top-bar-container {
		padding: 0 1rem;
		flex-direction: column;
		gap: 0.5rem;
	}

	.top-bar-left,
	.top-bar-right {
		gap: 1rem;
		font-size: 0.75rem;
	}

	.top-bar-item {
		gap: 0.35rem;
	}

	.top-bar-item svg {
		width: 14px;
		height: 14px;
	}

	/* Hide business hours on very small screens */
	.top-bar-hours {
		display: none;
	}
}

/* Mobile Header Adjustments - Standardized breakpoint */
@media screen and (max-width: 991.98px) {
	.top-bar {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		z-index: 1002; /* Higher than header */
	}

	.site-header {
		position: fixed;
		top: 44px; /* Height of top bar */
		left: 0;
		right: 0;
		width: 100%;
		z-index: 1001; /* Consistent with updated z-index */
	}

	/* Add padding to body to account for fixed header + top bar */
	body {
		padding-top: 114px; /* 44px top bar + 70px header */
	}

	.header-container {
		padding: 0 1rem 0 0.5rem;
		height: 70px;
		gap: 0.75rem;
	}

	/* Logo sits flush to viewport edge with minimal left margin */
	.site-branding {
		margin-left: 0;
		gap: 0.5rem;
	}

	/* Adjust logo size on mobile */
	.custom-logo {
		max-height: 50px;
		max-width: 150px;
	}

	/* Smaller site title on mobile */
	.site-title {
		font-size: 1.5rem;
	}

	.site-title-wrapper.has-tagline .site-title {
		font-size: 1.125rem;
	}

	.site-description {
		font-size: 0.75rem;
		max-width: 200px;
	}
}

/* Extra small mobile adjustments */
@media screen and (max-width: 480px) {
	body {
		padding-top: 65px;
	}

	.header-container {
		padding: 0 0.75rem 0 0.25rem;
		min-height: 65px;
		gap: 0.5rem;
	}

	.custom-logo {
		max-height: 45px;
		max-width: 130px;
	}

	.site-title {
		font-size: 1.125rem;
	}

	.site-title-wrapper.has-tagline .site-title {
		font-size: 1rem;
	}

	.site-description {
		font-size: 0.7rem;
	}
}

/* Site Branding / Logo
--------------------------------------------- */
.site-branding {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	gap: 1rem;
}

.custom-logo-link {
	display: block;
	line-height: 0;
}

.custom-logo {
	height: auto;
	max-height: 60px;
	width: auto;
	max-width: 200px;
	transition: opacity 0.2s ease;
}

.custom-logo:hover {
	opacity: 0.85;
}

/* Site title and description alongside logo */
.site-branding .site-title-wrapper {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	justify-content: center;
}

.site-title {
	margin: 0;
	font-size: 1.125rem;
	font-family: var(--font-heading-primary);
	line-height: 1.2;
	transition: font-size 0.3s ease;
}

/* Smaller title when tagline is active */
.site-title-wrapper.has-tagline .site-title {
	font-size: 1.5rem;
}

.site-title a {
	color: var(--color-text-primary);
	text-decoration: none;
	transition: color 0.2s ease;
}

.site-title a:hover {
	color: var(--color-primary);
}

/* Split font weights for site title */
.site-title-first {
	font-weight: 900;
}

.site-title-second {
	font-weight: 600;
}

.site-description {
	margin: 0;
	font-size: 0.875rem;
	color: var(--color-text-secondary);
	font-weight: var(--font-weight-regular);
	line-height: 1.4;
	max-width: 300px;
}

/* Header CTA Button
--------------------------------------------- */
.header-cta {
	display: none;
	flex-shrink: 0;
}

.btn-cta,
.btn-cta:visited,
.btn-cta:focus,
.btn-cta:active {
	display: inline-block;
	padding: 0.5rem 1.25rem;
	background: var(--color-primary);
	color: var(--color-white) !important;
	font-family: var(--font-primary);
	font-size: 0.9375rem;
	font-weight: 500;
	text-decoration: none !important;
	border-radius: 50px;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	white-space: nowrap;
}

.btn-cta:hover {
	background: var(--color-primary-dark);
	color: var(--color-white) !important;
	transform: translateY(-1px);
	text-decoration: none !important;
}

/* Navigation
--------------------------------------------- */
.main-navigation {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-left: auto;
}

/* Mobile Menu Toggle Button */
.menu-toggle {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	background: transparent;
	border: none;
	padding: 0.5rem;
	cursor: pointer;
	color: var(--color-text-primary);
	font-weight: var(--font-weight-medium);
	font-size: var(--font-size-base);
}

.menu-toggle:hover {
	color: var(--color-primary);
	background: transparent;
	transform: none;
}

/* Hide "Menu" text on mobile */
.menu-toggle-text {
	display: none;
}

@media screen and (min-width: 768px) and (max-width: 991px) {
	/* Show "Menu" text on tablet if there's space */
	.menu-toggle-text {
		display: inline;
	}
}

.menu-toggle-icon {
	display: flex;
	flex-direction: column;
	gap: 4px;
	width: 24px;
}

.menu-toggle-icon .bar {
	display: block;
	width: 100%;
	height: 2px;
	background: currentColor;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

/* Hamburger animation when menu is open */
.main-navigation.toggled .menu-toggle-icon .bar:nth-child(1) {
	transform: translateY(6px) rotate(45deg);
}

.main-navigation.toggled .menu-toggle-icon .bar:nth-child(2) {
	opacity: 0;
}

.main-navigation.toggled .menu-toggle-icon .bar:nth-child(3) {
	transform: translateY(-6px) rotate(-45deg);
}

/* Navigation Menu - Mobile First */
.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding: 0;
}

.main-navigation.toggled > ul {
	display: block;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: var(--color-white);
	border-top: 1px solid var(--color-border);
	box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
	max-height: calc(100vh - 80px);
	overflow-y: auto;
}

/* Keep submenus hidden by default in mobile */
.main-navigation.toggled ul ul {
	display: none;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
	color: var(--nav-text);
	font-weight: var(--font-weight-medium);
	padding: 1rem 1.5rem;
	transition: color 0.2s ease, background-color 0.2s ease;
	border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.main-navigation a:hover,
.main-navigation a:focus {
	color: var(--nav-text-hover);
	background-color: var(--nav-bg-hover);
	text-decoration: none;
}

.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a {
	color: var(--color-primary);
	font-weight: var(--font-weight-semibold);
}

/* Dropdown Menus - Mobile - Enhanced with animation and accessibility */
@media screen and (max-width: 991.98px) {
	.main-navigation ul ul {
		display: none;
		background: var(--color-gray-50);
		position: static;
		opacity: 0;
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.3s ease, opacity 0.3s ease;
	}

	.main-navigation ul ul a {
		padding-left: 2.5rem;
		font-size: var(--font-size-sm);
		opacity: 0;
		transform: translateX(-10px);
		transition: opacity 0.2s ease, transform 0.2s ease;
	}

	.main-navigation ul ul ul a {
		padding-left: 3.5rem;
	}

	/* Enhanced submenu display with animations for mobile */
	.main-navigation li.focus > ul {
		display: block !important;
		opacity: 1;
		max-height: 500px; /* Sufficient for most submenus */
	}

	.main-navigation li.focus > ul > li > a {
		opacity: 1;
		transform: translateX(0);
		transition-delay: 0.1s;
	}

	.main-navigation li.focus > ul > li:nth-child(2) > a {
		transition-delay: 0.15s;
	}

	.main-navigation li.focus > ul > li:nth-child(3) > a {
		transition-delay: 0.2s;
	}

	.main-navigation li.focus > ul > li:nth-child(4) > a {
		transition-delay: 0.25s;
	}
}

/* Prevent text overlap on mobile menu items */
.main-navigation.toggled li {
	display: block;
	width: 100%;
}

/* Tablet submenu indicator - Enhanced with accessibility */
@media screen and (min-width: 768px) and (max-width: 991.98px) {
	.main-navigation .menu-item-has-children > a {
		position: relative;
		padding-right: 3rem;
	}

	.main-navigation .menu-item-has-children > a::after {
		content: '';
		position: absolute;
		right: 1.5rem;
		top: 50%;
		transform: translateY(-50%);
		width: 0;
		height: 0;
		border-left: 5px solid transparent;
		border-right: 5px solid transparent;
		border-top: 5px solid currentColor;
		transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
		/* Accessibility enhancement */
		opacity: 0.7;
	}

	.main-navigation .menu-item-has-children:hover > a::after,
	.main-navigation .menu-item-has-children:focus-within > a::after {
		opacity: 1;
	}

	.main-navigation li.focus > a::after {
		transform: translateY(-50%) rotate(-180deg);
		opacity: 1;
	}

	/* Add visual feedback for touch targets */
	.main-navigation .menu-item-has-children > a {
		min-height: 48px; /* WCAG touch target size */
		display: flex;
		align-items: center;
	}
}

/* Desktop Navigation - 992px and up */
@media screen and (min-width: 992px) {
	.menu-toggle {
		display: none;
	}

	.header-container {
		padding: 0 3rem;
	}

	.main-navigation ul {
		display: flex;
		align-items: center;
		gap: 0.25rem;
	}

	.main-navigation.toggled ul {
		position: static;
		box-shadow: none;
		border: none;
		max-height: none;
		overflow: visible;
	}

	.main-navigation a {
		padding: 0.625rem 1rem;
		border: none;
		border-radius: 6px;
		font-size: 0.9375rem;
		font-weight: 500;
		transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	}

	.main-navigation a:hover {
		background: rgba(var(--color-primary-rgb, 13, 110, 253), 0.08);
		color: var(--color-primary);
	}

	.main-navigation li {
		margin: 0;
		position: relative;
	}

	/* Desktop Dropdown Menus */
	.main-navigation ul ul,
	.main-navigation .sub-menu {
		display: flex;
		flex-direction: column;
		position: absolute;
		top: 100%;
		left: 0;
		min-width: 280px;
		background: #FFFFFF;
		box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.08);
		border-radius: 12px;
		padding: 0.75rem 0;
		z-index: 1001;
		opacity: 0;
		visibility: hidden;
		transform: translateY(-8px);
		transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
		border: 1px solid rgba(0, 0, 0, 0.1);
		margin-top: 0;
		pointer-events: none;
	}

	/* Make submenu visible on hover/focus */
	.main-navigation li:hover > ul,
	.main-navigation li:hover > .sub-menu,
	.main-navigation li.focus > ul,
	.main-navigation li.focus > .sub-menu {
		opacity: 1 !important;
		visibility: visible !important;
		transform: translateY(0);
		-webkit-transform: translateY(0);
		pointer-events: auto;
	}

	.main-navigation ul ul a {
		padding: 0.625rem 1.25rem;
		font-size: 0.875rem;
		font-weight: 500;
		color: #2C3E50 !important;
		background: transparent;
		border-radius: 6px;
		margin: 0 0.5rem;
		display: block;
	}

	.main-navigation ul ul a:hover {
		background: rgba(var(--color-primary-rgb, 13, 110, 253), 0.06);
		color: var(--color-primary);
		transform: translateX(4px);
	}

	.main-navigation ul ul li {
		margin: 0.125rem 0;
	}

	.main-navigation ul ul ul {
		left: 100%;
		top: 0;
	}

	/* Add dropdown indicator */
	.main-navigation .menu-item-has-children > a::after {
		content: '';
		display: inline-block;
		width: 0;
		height: 0;
		margin-left: 0.375rem;
		vertical-align: middle;
		border-left: 4px solid transparent;
		border-right: 4px solid transparent;
		border-top: 4px solid currentColor;
		transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	}

	.main-navigation .menu-item-has-children:hover > a::after {
		transform: rotate(-180deg);
	}

	.header-cta {
		display: block;
	}
}

/* Tablet - Show menu but hide CTA - Standardized breakpoint with enhancements */
@media screen and (min-width: 768px) and (max-width: 991.98px) {
	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
		align-items: center;
		gap: 0.25rem;
	}

	.main-navigation a {
		padding: 0.5rem 0.75rem;
		font-size: var(--font-size-sm);
		border: none;
		/* Enhanced touch targets for tablet */
		min-height: 44px;
		display: flex;
		align-items: center;
	}

	/* Tablet dropdown positioning */
	.main-navigation ul ul {
		min-width: 220px;
		padding: 0.5rem 0;
		/* Ensure proper positioning on tablet */
		left: 50%;
		transform: translateX(-50%) translateY(-8px);
	}

	.main-navigation li:hover > ul,
	.main-navigation li.focus > ul {
		transform: translateX(-50%) translateY(0);
	}
}

/* Mobile/Desktop Menu Differentiation */
/* Hide mobile menu on desktop and tablet */
@media screen and (min-width: 768px) {
	.nav-menu-mobile {
		display: none !important;
	}
}

/* Hide desktop menu on mobile, show mobile menu */
@media screen and (max-width: 767.98px) {
	.nav-menu-desktop {
		display: none !important;
	}

	/* Mobile menu specific styles */
	.main-navigation.toggled .nav-menu-mobile {
		display: block;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
	}

	/* Override general navigation styles for cleaner mobile menu */
	.nav-menu-mobile li a {
		border-bottom: none !important;
	}

	/* Add subtle separator between main menu items only */
	.nav-menu-mobile > li:not(:last-child) {
		border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	}

	/* First level submenu (Services dropdown) */
	.nav-menu-mobile > .menu-item-has-children > a {
		position: relative;
		padding-right: 2.5rem;
	}

	/* Add toggle indicator for Services */
	.nav-menu-mobile > .menu-item-has-children > a::after {
		content: "\25BC";
		position: absolute;
		right: 1.5rem;
		top: 50%;
		transform: translateY(-50%);
		font-size: 0.9rem;
		font-weight: bold;
		transition: transform 0.3s ease;
		color: var(--color-primary);
	}

	/* Rotate arrow when Services is expanded */
	.nav-menu-mobile > .menu-item-has-children.focus > a::after {
		transform: translateY(-50%) rotate(180deg);
	}

	/* First level submenu - Services container - Clean unified box */
	.nav-menu-mobile > li > .sub-menu {
		display: none;
		background: #fafafa;
		padding: 0.5rem 0;
		border: none;
		box-shadow: none;
	}

	/* Show Services submenu when clicked */
	.nav-menu-mobile > .menu-item-has-children.focus > .sub-menu {
		display: block;
	}

	/* Override any rules hiding nested submenus */
	.nav-menu-mobile .sub-menu,
	.nav-menu-mobile .sub-menu .sub-menu {
		position: static !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		max-height: none !important;
		overflow: visible !important;
		border: none !important;
		box-shadow: none !important;
	}

	/* Ensure all nested links are visible */
	.nav-menu-mobile .sub-menu a,
	.nav-menu-mobile .sub-menu .sub-menu a {
		opacity: 1 !important;
		transform: translateX(0) !important;
	}

	/* Remove any list item borders or backgrounds */
	.nav-menu-mobile .sub-menu li,
	.nav-menu-mobile .sub-menu .sub-menu li {
		border: none !important;
		border-bottom: none !important;
		border-top: none !important;
		margin: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	/* Second level items - Business, Real Estate, Immigration as simple text headers */
	.nav-menu-mobile .sub-menu > .menu-item-has-children > a {
		font-size: 0.6875rem;
		font-weight: var(--font-weight-semibold);
		color: var(--color-text-primary);
		text-transform: uppercase;
		letter-spacing: 0.05em;
		padding: 0.5rem 1.5rem 0.25rem 1.5rem;
		border: none !important;
		background: transparent !important;
	}

	/* Remove arrows from subcategory headers */
	.nav-menu-mobile .sub-menu > .menu-item-has-children > a::after {
		display: none !important;
		content: none !important;
	}

	.nav-menu-mobile .sub-menu > .menu-item-has-children > a:hover {
		color: var(--color-primary);
		background: transparent !important;
	}

	/* Second level submenus - always visible and expanded */
	.nav-menu-mobile .sub-menu .sub-menu {
		display: block !important;
		background: transparent !important;
		padding: 0 !important;
		margin: 0 !important;
		border: none !important;
	}

	/* Third level items - actual service links */
	.nav-menu-mobile .sub-menu .sub-menu li {
		border: none !important;
		margin: 0 !important;
	}

	.nav-menu-mobile .sub-menu .sub-menu a {
		padding: 0.35rem 1.5rem 0.35rem 2rem;
		font-size: 0.8125rem;
		color: var(--color-text-secondary);
		border: none !important;
		font-weight: var(--font-weight-normal);
		background: transparent !important;
	}

	.nav-menu-mobile .sub-menu .sub-menu a:hover {
		color: var(--color-primary);
		background: transparent !important;
	}

	/* Remove all separators, borders, shadows - completely clean */
	.nav-menu-mobile .sub-menu > .menu-item-has-children {
		margin: 0 !important;
		padding: 0 !important;
		border: none !important;
		box-shadow: none !important;
	}

	/* Current active items */
	.nav-menu-mobile .current-menu-item > a,
	.nav-menu-mobile .current_page_item > a {
		color: var(--color-primary);
	}
}

/* Plugin compatibility fixes */

/* WooCommerce cart icon in navigation */
.main-navigation .cart-contents {
	position: relative;
	z-index: 1;
}

/* Elementor compatibility */
.elementor-location-header .main-navigation ul ul {
	z-index: 1001 !important;
}

/* WPML language switcher compatibility */
.main-navigation .wpml-language-switcher {
	z-index: 1;
}

/* Yoast SEO breadcrumbs compatibility */
.main-navigation + .yoast-breadcrumb {
	margin-top: 1rem;
}

/* Contact Form 7 modal compatibility */
.wpcf7-modal-active .site-header {
	z-index: 999 !important;
}

/* Popular plugin z-index management */
.main-navigation ul ul {
	z-index: 1001 !important; /* Higher than most plugins */
}

/* Ensure dropdowns work with lazy loading plugins */
.main-navigation ul ul img[data-src] {
	opacity: 0;
	transition: opacity 0.3s ease;
}

.main-navigation ul ul img[data-src].loaded {
	opacity: 1;
}

/* Enhanced focus management for screen readers */
.main-navigation a:focus {
	position: relative;
	z-index: 1002;
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
	background: rgba(var(--color-primary-rgb, 255, 69, 0), 0.1);
}

/* Skip link improvements for navigation */
.skip-link:focus {
	z-index: 10000 !important;
}

/* Touch device optimizations */
@media (hover: none) and (pointer: coarse) {
	.main-navigation a {
		min-height: 48px; /* iOS/Android touch target guidelines */
		padding: 0.75rem 1rem;
	}
	
	.main-navigation ul ul a {
		min-height: 44px;
		padding: 0.75rem 1.25rem;
	}
	
	/* Remove hover effects on pure touch devices */
	.main-navigation a:hover {
		background: transparent;
		color: inherit;
	}
}

/* Hybrid device optimizations */
@media (hover: hover) and (pointer: coarse) {
	/* Devices that can hover but have coarse pointers (e.g., stylus) */
	.main-navigation ul ul {
		min-width: 300px; /* Larger targets for coarse pointers */
	}
	
	.main-navigation ul ul a {
		padding: 0.875rem 1.5rem;
	}
}

/* Print styles - hide navigation dropdowns */
@media print {
	.main-navigation ul ul {
		display: none !important;
	}
}

/* Dark mode support (if theme supports it) */
@media (prefers-color-scheme: dark) {
	.main-navigation ul ul {
		background: #1a1a1a;
		border-color: #333;
		box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 2px 8px rgba(0, 0, 0, 0.4);
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Footer
--------------------------------------------- */
.site-footer {
	background: #0F4C81;
	background: var(--color-secondary);
	color: #FFFFFF;
	color: var(--color-white);
	margin-top: 4rem;
	margin-bottom: 0;
	padding-bottom: 0;
}

.footer-container {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 1.5rem;
}

/* Footer Widgets
--------------------------------------------- */
.footer-widgets {
	padding: 4rem 0 3rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-widget-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem;
}

.footer-widget-column {
	color: rgba(255, 255, 255, 0.9);
}

.footer-widget-column * {
	color: inherit;
}

.footer-widget-title {
	color: var(--color-white);
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-bold);
	margin-bottom: 1.25rem;
	margin-top: 0;
}

.footer-widget {
	margin-bottom: 1.5rem;
}

.footer-widget p {
	color: rgba(255, 255, 255, 0.85);
	line-height: var(--line-height-relaxed);
	margin-bottom: 1rem;
}

.footer-widget a {
	color: rgba(255, 255, 255, 0.9);
	text-decoration: none;
	transition: color 0.2s ease;
}

.footer-widget a:hover {
	color: var(--color-primary);
	text-decoration: none;
}

.footer-widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-widget ul li {
	margin-bottom: 0.75rem;
	padding-left: 1.25rem;
	position: relative;
}

.footer-widget ul li::before {
	content: "›";
	position: absolute;
	left: 0;
	color: var(--color-primary);
	font-weight: var(--font-weight-bold);
	font-size: 1.25em;
}

/* WordPress Block Styles in Footer */
.footer-widget .wp-block-heading {
	color: var(--color-white) !important;
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-bold);
	margin-bottom: 1.25rem;
	margin-top: 0;
}

.footer-widget .wp-block-list {
	color: rgba(255, 255, 255, 0.9);
}

.footer-widget p {
	color: rgba(255, 255, 255, 0.85) !important;
}

/* Footer Branding - matches header structure */
.footer-branding {
	margin-bottom: 1.5rem;
	margin-top: 0;
	display: flex;
	align-items: center;
	gap: 1rem;
}

.footer-logo-link {
	display: block;
	line-height: 0;
	flex-shrink: 0;
}

.footer-logo {
	max-width: 150px;
	height: auto;
	display: block;
}

/* Footer text wrapper - stacks title and tagline */
.footer-branding > div {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.footer-site-title {
	color: var(--color-white);
	font-size: 1.5rem;
	font-family: var(--font-heading-primary);
	margin: 0;
	line-height: 1.2;
}

.footer-site-title a {
	color: var(--color-white);
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.footer-site-title a:hover {
	opacity: 0.85;
}

/* Split font weights for footer title - inherits from header settings */
.footer-title-first {
	font-weight: inherit;
}

.footer-title-second {
	font-weight: inherit;
}

.footer-site-description {
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.85rem;
	margin: 0;
	line-height: 1.3;
}

/* Hide widget logo when custom footer branding is used */
.footer-branding ~ .footer-widget .wp-block-image:first-of-type {
	display: none;
}

.footer-widget-1 .wp-block-image {
	margin-bottom: 1.5rem;
	margin-top: 0;
}

.footer-widget-1 .wp-block-image img {
	max-width: 200px;
	height: auto;
	display: block;
}

/* Tablet - 2 columns */
@media screen and (min-width: 768px) {
	.footer-widget-row {
		grid-template-columns: repeat(2, 1fr);
		gap: 3rem;
	}
}

/* Desktop - 4 columns */
@media screen and (min-width: 992px) {
	.footer-widget-row {
		grid-template-columns: repeat(4, 1fr);
		gap: 2rem;
	}
}

/* Footer Social Media
--------------------------------------------- */
.footer-social {
	padding: 2rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.social-links {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1rem;
}

.social-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	background: rgba(255, 255, 255, 0.1);
	border-radius: 50%;
	color: var(--color-white);
	transition: all 0.3s ease;
}

.social-link:hover {
	background: var(--color-primary);
	color: var(--color-white);
	transform: translateY(-3px);
}

.social-link svg {
	width: 20px;
	height: 20px;
}

/* Footer Bottom
--------------------------------------------- */
.footer-bottom {
	padding: 2rem 0;
}

.footer-bottom-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	text-align: center;
}

.footer-copyright {
	color: rgba(255, 255, 255, 0.8);
	font-size: var(--font-size-sm);
}

.footer-copyright p {
	margin: 0;
}

.footer-copyright a {
	color: var(--color-primary);
	text-decoration: none;
	transition: color 0.2s ease;
}

.footer-copyright a:hover {
	color: var(--color-primary-light);
	text-decoration: underline;
}

/* Footer Navigation
--------------------------------------------- */
.footer-navigation {
	width: 100%;
}

.footer-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.5rem 1.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-menu li {
	margin: 0;
}

.footer-menu a {
	color: rgba(255, 255, 255, 0.8);
	text-decoration: none;
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-medium);
	transition: color 0.2s ease;
}

.footer-menu a:hover {
	color: var(--color-primary);
}

.footer-menu .current-menu-item > a {
	color: var(--color-primary);
}

/* Desktop Footer Bottom */
@media screen and (min-width: 768px) {
	.footer-bottom-content {
		flex-direction: row;
		justify-content: space-between;
		text-align: left;
	}

	.footer-navigation {
		width: auto;
	}
}

/*--------------------------------------------------------------
# Landing Page - Front Page Template
--------------------------------------------------------------*/

/* Common Section Styles
--------------------------------------------- */
.landing-page {
	margin: 0;
}

.section-container {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 1.5rem;
}

.section-header {
	text-align: center;
	margin-bottom: 3rem;
}

.section-title {
	font-size: var(--font-size-3xl);
	font-weight: var(--font-weight-bold);  /* 700 (reduced from 900) */
	color: var(--color-text-primary);
	margin-bottom: 1rem;
}

.section-subtitle {
	font-size: var(--font-size-md);
	color: var(--color-text-secondary);
	max-width: 600px;
	margin: 0 auto;
}

/* Buttons
--------------------------------------------- */
.btn {
	display: inline-block;
	padding: 0.875em 1.75em;
	font-family: var(--font-body);
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-semibold);
	text-decoration: none !important;
	border-radius: 50px;
	transition: all 0.3s ease;
	letter-spacing: var(--letter-spacing-wide);
	border: none;
	cursor: pointer;
	text-align: center;
	text-transform: uppercase;
}

/* Primary Button - White text, Blue on hover */
.btn-primary,
.btn-primary:visited,
.btn-primary:focus,
.btn-primary:active {
	background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%);
	color: var(--color-white) !important;
	box-shadow: 0 2px 8px rgba(255, 69, 0, 0.2);
	text-decoration: none !important;
}

.btn-primary:hover {
	background: linear-gradient(135deg, var(--color-primary-light) 0%, var(--color-primary) 100%);
	color: var(--color-secondary) !important;
	transform: translateY(-2px);
	box-shadow: 0 4px 16px rgba(255, 69, 0, 0.4);
	text-decoration: none !important;
}

/* Secondary Button - White text, Blue on hover */
.btn-secondary,
.btn-secondary:visited,
.btn-secondary:focus,
.btn-secondary:active {
	background: var(--color-secondary);
	color: var(--color-white) !important;
	border: 2px solid var(--color-secondary);
	box-shadow: 0 2px 8px rgba(15, 76, 129, 0.2);
	text-decoration: none !important;
}

.btn-secondary:hover {
	background: var(--color-white);
	color: var(--color-secondary) !important;
	border-color: var(--color-secondary);
	transform: translateY(-2px);
	box-shadow: 0 4px 16px rgba(15, 76, 129, 0.4);
	text-decoration: none !important;
}

.btn-outline {
	background: transparent;
	color: var(--color-primary);
	border-color: var(--color-primary);
}

.btn-outline:hover {
	background: var(--color-primary);
	color: var(--color-white);
}

.btn-large {
	padding: 1.125em 2.25em;
	font-size: var(--font-size-lg);
}

/* Hero Section
--------------------------------------------- */
/* Hero Section - Modern Two-Column Layout */
.hero-section {
	position: relative;
	background: var(--color-white);
	padding: 4rem 0 3rem;
	overflow: hidden;
}

.hero-container {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 1.5rem;
}

.hero-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
	align-items: center;
	min-height: 500px;
}

.hero-content {
	max-width: 600px;
}

.hero-title {
	font-family: var(--font-heading-secondary);
	font-size: 2.5rem;
	font-weight: var(--font-weight-bold);  /* 700 (reduced from 900) */
	line-height: 1.2;
	margin-bottom: 1.5rem;
	color: var(--color-gray-900);
}

.hero-subtitle {
	font-family: var(--font-body);
	font-size: var(--font-size-md);
	line-height: var(--line-height-relaxed);
	margin-bottom: 2rem;
	color: var(--color-text-secondary);
}

.hero-actions {
	margin-bottom: 2rem;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: center;
}

/* Rounded Rectangle Button Style (like service page Learn More) */
.btn-rounded {
	padding: 0.75rem 1.5rem;
	font-size: var(--font-size-base);
	border-radius: 50px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: var(--font-weight-semibold);
}

.btn-large {
	padding: 1rem 2.5rem;
	font-size: var(--font-size-md);
}

/* Secondary Services Link */
.hero-secondary-link {
	margin-top: 1rem;
}

.services-link {
	color: var(--color-text-primary);
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-medium);
	text-decoration: none;
	transition: all 0.2s ease;
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
}

.services-link:hover {
	color: var(--color-primary);
	gap: 0.5rem;
}

/* Hero Image Wrapper */
.hero-image-wrapper {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 400px;
}

.hero-image {
	width: 100%;
	height: auto;
	max-width: 600px;
	object-fit: contain;
	position: relative;
	z-index: 2;
}

.hero-placeholder {
	width: 100%;
	max-width: 600px;
}

.hero-illustration {
	width: 100%;
	height: auto;
}

/* Floating Decorative Elements */
.hero-decoration {
	position: absolute;
	border-radius: 50%;
	opacity: 0.15;
	z-index: 1;
}

.hero-decoration-1 {
	width: 120px;
	height: 120px;
	background: var(--color-primary);
	top: 10%;
	right: 10%;
}

.hero-decoration-2 {
	width: 80px;
	height: 80px;
	background: var(--color-secondary);
	bottom: 20%;
	left: 5%;
}

.hero-decoration-3 {
	width: 60px;
	height: 60px;
	background: var(--color-primary-light);
	top: 40%;
	left: 15%;
}

/* Hero Floating Bubbles */
.hero-bubbles {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none; /* Don't block mouse events on parent container */
	z-index: 3;
}

.bubble {
	position: absolute;
	background: rgba(255, 255, 255, 0.9);
	backdrop-filter: blur(10px);
	border-radius: 50px;
	padding: 0.5rem 1rem;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
	border: 2px solid rgba(255, 255, 255, 0.3);
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	cursor: pointer;
	transition: all 0.3s ease;
	pointer-events: auto; /* Individual bubbles can receive mouse events */
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
}

.bubble::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	border-radius: 50px;
	border: 2px solid rgba(15, 76, 129, 0.4);
	transform: translate(-50%, -50%) scale(1);
	opacity: 0;
	pointer-events: none;
}

.bubble:hover {
	transform: scale(1.1);
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
	animation-play-state: paused;
}

.bubble:hover::before {
	animation: ripple 1s ease-out;
}

.bubble span {
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--color-secondary);
	white-space: nowrap;
	text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
}

/* Checkmark icon in bubbles */
.bubble-check {
	stroke: var(--color-primary);
	margin-right: 0.15rem;
	flex-shrink: 0;
	vertical-align: middle;
}

/* Ripple effect on hover */
@keyframes ripple {
	0% {
		transform: translate(-50%, -50%) scale(1);
		opacity: 0.6;
	}
	100% {
		transform: translate(-50%, -50%) scale(2);
		opacity: 0;
	}
}

/* Individual bubble positions and animations - better spacing */
.bubble-1 {
	top: 8%;
	left: 5%;
	animation: float-bubble-1 14s infinite;
}

.bubble-2 {
	top: 25%;
	right: 8%;
	animation: float-bubble-2 16s infinite;
	animation-delay: 2s;
}

.bubble-3 {
	top: 45%;
	left: 12%;
	animation: float-bubble-3 13s infinite;
	animation-delay: 4s;
}

.bubble-4 {
	top: 58%;
	right: 15%;
	animation: float-bubble-4 15s infinite;
	animation-delay: 1s;
}

.bubble-5 {
	bottom: 20%;
	left: 8%;
	animation: float-bubble-5 17s infinite;
	animation-delay: 3s;
}

.bubble-6 {
	bottom: 12%;
	right: 10%;
	animation: float-bubble-6 14s infinite;
	animation-delay: 5s;
}

.bubble-7 {
	top: 18%;
	left: 25%;
	animation: float-bubble-7 16s infinite;
	animation-delay: 6s;
}

.bubble-8 {
	bottom: 35%;
	right: 5%;
	animation: float-bubble-8 15s infinite;
	animation-delay: 2.5s;
}

/* Liquid-like floating animations */
@keyframes float-bubble-1 {
	0%, 100% {
		transform: translate(0, 0) rotate(0deg);
	}
	25% {
		transform: translate(15px, -20px) rotate(5deg);
	}
	50% {
		transform: translate(-10px, -35px) rotate(-3deg);
	}
	75% {
		transform: translate(20px, -15px) rotate(4deg);
	}
}

@keyframes float-bubble-2 {
	0%, 100% {
		transform: translate(0, 0) rotate(0deg);
	}
	33% {
		transform: translate(-20px, 25px) rotate(-4deg);
	}
	66% {
		transform: translate(15px, 15px) rotate(3deg);
	}
}

@keyframes float-bubble-3 {
	0%, 100% {
		transform: translate(0, 0) rotate(0deg);
	}
	30% {
		transform: translate(25px, 20px) rotate(6deg);
	}
	60% {
		transform: translate(-15px, -10px) rotate(-5deg);
	}
}

@keyframes float-bubble-4 {
	0%, 100% {
		transform: translate(0, 0) rotate(0deg);
	}
	40% {
		transform: translate(-18px, -25px) rotate(-4deg);
	}
	80% {
		transform: translate(12px, 18px) rotate(5deg);
	}
}

@keyframes float-bubble-5 {
	0%, 100% {
		transform: translate(0, 0) rotate(0deg);
	}
	35% {
		transform: translate(22px, -18px) rotate(4deg);
	}
	70% {
		transform: translate(-16px, 20px) rotate(-6deg);
	}
}

@keyframes float-bubble-6 {
	0%, 100% {
		transform: translate(0, 0) rotate(0deg);
	}
	45% {
		transform: translate(-20px, 22px) rotate(-3deg);
	}
	90% {
		transform: translate(18px, -12px) rotate(4deg);
	}
}

/* Animations */
@keyframes fadeUp {
	from {
		opacity: 0;
		transform: translateY(30px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes float {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-20px);
	}
}

.animate-fade-up {
	animation: fadeUp 0.8s ease-out forwards;
	opacity: 0;
}

.animate-fade-in {
	animation: fadeIn 1s ease-out forwards;
	opacity: 0;
}

.animate-float {
	animation: float 6s ease-in-out infinite;
}

.animation-delay-1 {
	animation-delay: 0.2s;
}

.animation-delay-2 {
	animation-delay: 0.4s;
}

.animation-delay-3 {
	animation-delay: 0.6s;
}

/* Responsive Hero */
@media screen and (min-width: 768px) {
	.hero-section {
		padding: 3rem 0 1rem;
	}

	.hero-grid {
		grid-template-columns: 1fr 1fr;
		gap: 4rem;
		min-height: 600px;
	}

	.hero-title {
		font-size: 3.5rem;
	}

	.hero-subtitle {
		font-size: var(--font-size-lg);
	}

	.hero-image-wrapper {
		min-height: 500px;
	}
}

@media screen and (min-width: 992px) {
	.hero-title {
		font-size: 4rem;
	}
}

/* Trusted By Section
--------------------------------------------- */
/* Registration Promo Section */
.registration-promo-section {
	margin-top: 4rem;
	text-align: center;
	padding: 0 1rem;
}

.promo-content {
	margin-bottom: 2.5rem;
}

.promo-title {
	font-size: clamp(1.5rem, 4vw, 2rem);
	font-weight: var(--font-weight-bold);
	color: var(--color-secondary);
	margin-bottom: 1rem;
	line-height: 1.2;
}

.promo-subtitle {
	font-size: clamp(0.95rem, 2vw, 1.1rem);
	color: var(--color-text-secondary);
	margin-bottom: 1.5rem;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.6;
}

.promo-cta {
	display: inline-block;
	margin-top: 0.5rem;
}

/* Rolling Trust Indicators */
.trust-indicators-slider {
	overflow: hidden;
	margin: 0 auto;
	max-width: 100%;
	position: relative;
	mask-image: linear-gradient(
		to right,
		transparent,
		black 10%,
		black 90%,
		transparent
	);
	-webkit-mask-image: linear-gradient(
		to right,
		transparent,
		black 10%,
		black 90%,
		transparent
	);
}

.trust-indicators-track {
	display: flex;
	gap: 3rem;
	animation: scroll-indicators 30s linear infinite;
	width: fit-content;
}

.trust-indicators-track:hover {
	animation-play-state: paused;
}

.trust-indicator {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	white-space: nowrap;
	color: var(--color-text-secondary);
	font-size: 0.95rem;
	font-weight: 500;
}

.trust-indicator svg {
	color: var(--color-primary);
	flex-shrink: 0;
}

.stars-inline {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	font-weight: var(--font-weight-bold);
	color: var(--color-primary);
}

@keyframes scroll-indicators {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
}

.trusted-logo {
	height: 30px;
	width: auto;
	object-fit: contain;
	filter: grayscale(100%) opacity(0.6);
	transition: all 0.3s ease;
	flex-shrink: 0;
}

.trusted-logo:hover {
	filter: grayscale(0%) opacity(1);
	transform: scale(1.05);
}

@keyframes scroll-logos {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
}

.trusted-rating {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	margin-top: 1rem;
}

.stars {
	display: flex;
	gap: 0.25rem;
}

.rating-text {
	font-family: var(--font-body);
	font-size: var(--font-size-sm);
	font-weight: 600;
	color: var(--color-text);
}

@media screen and (min-width: 768px) {
	.trusted-by-section {
		margin-top: 5rem;
	}

	.trusted-logo {
		height: 40px;
	}
}

/* Stats Section
--------------------------------------------- */
.stats-section {
	background: var(--color-gray-50);
	padding: 3rem 0;
	border-bottom: 1px solid var(--color-border);
}

.stats-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	text-align: center;
}

.stat-item {
	padding: 1.5rem;
}

.stat-number {
	font-size: var(--font-size-4xl);
	font-weight: var(--font-weight-bold);  /* 700 */
	color: var(--color-primary);
	line-height: 1;
	margin-bottom: 0.5rem;
}

.stat-label {
	font-size: var(--font-size-base);
	color: var(--color-text-secondary);
	font-weight: var(--font-weight-medium);
}

@media screen and (min-width: 768px) {
	.stats-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* Services Section
--------------------------------------------- */
.services-section {
	padding: 5rem 0;
	background: var(--color-white);
}

.services-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
}

.service-card {
	background: linear-gradient(135deg, #FAFBFC 0%, #FFFFFF 100%);
	padding: 1.75rem;
	border-radius: 24px;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	border: 1px solid rgba(0, 0, 0, 0.06);
	position: relative;
	overflow: hidden;
}

.service-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 5px;
	background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-secondary) 100%);
	opacity: 0;
	transition: opacity 0.4s ease;
}

.service-card:hover {
	transform: translateY(-12px);
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.12);
	border-color: rgba(0, 0, 0, 0.1);
}

.service-card:hover::before {
	opacity: 1;
}

.service-business,
.service-realestate,
.service-immigration {
	background: linear-gradient(135deg, #FAFBFC 0%, #FFFFFF 100%) !important;
	color: var(--color-text-primary) !important;
}

.service-business .service-title,
.service-realestate .service-title,
.service-immigration .service-title,
.service-business .service-features li,
.service-realestate .service-features li,
.service-immigration .service-features li {
	color: var(--color-text-primary) !important;
}

.service-business .service-link,
.service-realestate .service-link,
.service-immigration .service-link {
	background: #2D3748 !important;
	color: var(--color-white) !important;
}

.service-business:hover,
.service-realestate:hover,
.service-immigration:hover {
	border-color: rgba(0, 0, 0, 0.1);
}


.service-realestate .service-link {
	background: #2D3748 !important;
	color: var(--color-white) !important;
}

.service-realestate:hover {
	border-color: var(--color-secondary);
}

.service-icon {
	width: 64px;
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.5rem;
	color: currentColor;
}

.service-business .service-icon,
.service-realestate .service-icon,
.service-immigration .service-icon {
	color: var(--color-primary) !important;
}

.service-title {
	font-size: var(--font-size-2xl);
	font-weight: var(--font-weight-bold);
	margin-bottom: 1.25rem;
	color: currentColor;
}

.service-features {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
}

.service-features li {
	padding: 0.625rem 0;
	padding-left: 1.5rem;
	position: relative;
	color: currentColor;
	opacity: 0.9;
}

.service-features li::before {
	content: "✓";
	position: absolute;
	left: 0;
	font-weight: var(--font-weight-bold);
	opacity: 1;
}

.service-business .service-features li::before,
.service-realestate .service-features li::before,
.service-immigration .service-features li::before {
	color: var(--color-primary);
}

.service-link {
	background: #2D3748;
	color: var(--color-white);
	font-weight: var(--font-weight-semibold);
	text-decoration: none;
	display: inline-block;
	padding: 8px 20px;
	border-radius: 50px;
	transition: all 0.3s ease;
	border: none;
	cursor: pointer;
	font-size: 0.9rem;
	line-height: 1.5;
}

.service-link:hover {
	background: #1A202C;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(45, 55, 72, 0.3);
}

@media screen and (min-width: 768px) {
	.services-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (min-width: 992px) {
	.services-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* About Section
--------------------------------------------- */
.about-section {
	padding: 5rem 0;
	background: var(--color-gray-50);
}

.about-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
	align-items: center;
}

.about-content {
	max-width: 600px;
}

.about-text {
	font-size: var(--font-size-md);
	line-height: var(--line-height-relaxed);
	color: var(--color-text-secondary);
	margin-bottom: 2rem;
}

.about-image img {
	width: 100%;
	height: auto;
	
}

@media screen and (min-width: 992px) {
	.about-grid {
		grid-template-columns: 1fr 1fr;
	}
}

/* Testimonials Section
--------------------------------------------- */
.testimonials-section {
	padding: 5rem 0;
	background: var(--color-white);
}

.testimonials-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
}

.testimonial-card {
	background: var(--color-white);
	padding: 1.5rem;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	border-left: 4px solid var(--color-primary);
}

.testimonial-content {
	font-size: 0.875rem;
	line-height: 1.6;
	color: var(--color-text-secondary);
	margin-bottom: 1rem;
	font-style: italic;
}

.testimonial-author {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.testimonial-author strong {
	color: var(--color-text-primary);
	font-weight: var(--font-weight-bold);
	font-size: 0.875rem;
}

.testimonial-company {
	color: var(--color-text-secondary);
	font-size: 0.75rem;
}

@media screen and (min-width: 768px) {
	.testimonials-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (min-width: 992px) {
	.testimonials-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* Testimonials Carousel Styles */
.testimonials-carousel-wrapper {
	position: relative;
	margin-bottom: 2rem;
	padding: 0 3rem;
}

.testimonials-carousel {
	overflow: hidden;
	margin: 0;
	padding: 1rem 0;
}

.testimonials-carousel-track {
	display: flex;
	transition: transform 0.5s ease;
}

.testimonial-slide {
	min-width: 100%;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	padding: 0.5rem;
}

.testimonial-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: transparent;
	border: none;
	color: var(--color-secondary);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
	z-index: 10;
	padding: 0.5rem;
	opacity: 0.6;
}

.testimonial-nav:hover {
	color: var(--color-primary);
	opacity: 1;
	transform: translateY(-50%) scale(1.2);
}

.testimonial-nav svg {
	width: 32px;
	height: 32px;
	stroke-width: 2.5;
}

.testimonial-prev {
	left: 0;
}

.testimonial-next {
	right: 0;
}

.testimonial-nav:disabled {
	opacity: 0.2;
	cursor: not-allowed;
	pointer-events: none;
}

.testimonial-dots {
	display: flex;
	justify-content: center;
	gap: 0.75rem;
	margin-top: 2rem;
}

.testimonial-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--color-border);
	border: none;
	cursor: pointer;
	transition: all 0.3s ease;
	padding: 0;
}

.testimonial-dot:hover {
	background: var(--color-primary-light);
}

.testimonial-dot.active {
	background: var(--color-primary);
	width: 32px;
	border-radius: 6px;
}

.testimonial-quote-icon {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
}

.testimonial-quote-icon svg {
	width: 30px;
	height: 30px;
}

.testimonial-card {
	position: relative;
	transition: all 0.3s ease;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.testimonial-card:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	transform: translateY(-4px);
}

.testimonial-content p {
	margin-bottom: 0;
}

.testimonial-author {
	margin-top: auto;
}

.testimonial-company {
	color: var(--color-primary);
	font-weight: var(--font-weight-medium);
}

@media screen and (min-width: 768px) {
	.testimonial-slide {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.25rem;
		padding: 0.5rem;
	}

	.testimonials-carousel-wrapper {
		padding: 0 2rem;
	}
}

@media screen and (min-width: 992px) {
	.testimonial-slide {
		grid-template-columns: repeat(4, 1fr);
		gap: 1.5rem;
	}

	.testimonials-carousel-wrapper {
		padding: 0 4rem;
	}
}

@media screen and (max-width: 767px) {
	.testimonial-nav svg {
		width: 24px;
		height: 24px;
	}

	.testimonial-card {
		padding: 1.25rem;
	}

	.testimonial-content {
		font-size: 0.8rem;
	}
}

/* Modern Testimonial Card Styles */
.testimonial-card-modern {
	background: var(--color-white);
	border-radius: 16px;
	padding: 2rem;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	transition: all 0.3s ease;
	display: flex;
	flex-direction: column;
	height: 100%;
	border: 1px solid var(--color-gray-100);
}

.testimonial-card-modern:hover {
	transform: translateY(-8px);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
}

.testimonial-rating {
	display: flex;
	gap: 0.25rem;
	margin-bottom: 1.5rem;
}

.star-icon {
	flex-shrink: 0;
}

.testimonial-content-modern {
	flex-grow: 1;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--color-text-secondary);
	margin-bottom: 1.5rem;
}

.testimonial-content-modern p {
	margin: 0;
}

.testimonial-author-section {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-top: auto;
	padding-top: 1.5rem;
	border-top: 1px solid var(--color-gray-100);
}

.testimonial-avatar {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
	border: 3px solid var(--color-gray-100);
}

.testimonial-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.testimonial-avatar-placeholder {
	background: var(--color-gray-100);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-text-secondary);
}

.testimonial-author-info {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.testimonial-name {
	font-size: 1rem;
	font-weight: var(--font-weight-semibold);
	color: var(--color-text-primary);
}

.testimonial-position {
	font-size: 0.875rem;
	color: var(--color-primary);
	font-weight: var(--font-weight-medium);
}

.testimonial-nav-dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	margin-top: 3rem;
}

.testimonial-nav-dots .testimonial-dots {
	margin: 0;
}

@media screen and (min-width: 768px) {
	.testimonial-slide {
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 2rem;
	}

	/* Hide testimonials beyond 3 per slide on desktop */
	.testimonial-slide .testimonial-card-modern:nth-child(n+4) {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	.testimonials-section {
		padding: 3rem 0;
	}

	.testimonials-carousel-wrapper {
		margin-bottom: 0;
		padding: 0;
	}

	.testimonials-carousel {
		margin: 0;
		padding: 0.5rem 0;
		overflow: hidden;
	}

	.testimonial-slide {
		grid-template-columns: 1fr !important;
		gap: 1.5rem;
		padding: 0 var(--space-md);
	}

	/* Mobile: Hide 2nd and 3rd cards, show only 1 per slide */
	.testimonial-slide .testimonial-card-modern:nth-child(n+2) {
		display: none !important;
	}

	.testimonial-card-modern {
		padding: 2rem 1.5rem;
		margin: 0;
	}

	.testimonial-content-modern {
		font-size: 0.95rem;
	}

	.testimonial-nav-dots {
		margin-top: 2rem;
	}

	.testimonial-nav {
		display: none;
	}

	.testimonials-section .section-header {
		padding: 0 var(--space-md);
		margin-bottom: 2rem;
	}
}

/* Insights Section with Carousel
--------------------------------------------- */
.insights-section {
	padding: 5rem 0;
	background: var(--color-gray-50);
}

/* Carousel Wrapper */
.insights-carousel-wrapper {
	position: relative;
	margin-bottom: 2rem;
}

.insights-carousel {
	overflow: hidden;
	margin: 0;
}

.insights-carousel-track {
	display: flex;
	transition: transform 0.5s ease;
}

.carousel-slide {
	min-width: 100%;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	padding: 0rem;
}

/* Mobile: Hide posts 4-6 to show only 3 posts per slide (3 rows × 1 column) */
.carousel-slide article:nth-child(n+4) {
	display: none;
}

/* Carousel Navigation Buttons */
.carousel-nav {
	position: absolute;
	background: rgba(255, 255, 255, 0.95);
	border: none;
	border-radius: 50%;
	color: var(--color-secondary);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
	z-index: 10;
	padding: 0.75rem;
	width: 48px;
	height: 48px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	top: 50%;
	transform: translateY(-50%);
}

.carousel-nav:hover {
	background: var(--color-primary);
	color: var(--color-white);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
	transform: translateY(-50%) scale(1.1);
}

.carousel-nav svg {
	width: 24px;
	height: 24px;
	stroke-width: 2.5;
}

.carousel-prev {
	left: 1rem;
}

.carousel-next {
	right: 1rem;
}

.carousel-nav:disabled {
	opacity: 0.3;
	cursor: not-allowed;
	pointer-events: none;
}

/* Carousel Dots */
.carousel-dots {
	display: flex;
	justify-content: center;
	gap: 0.75rem;
	margin-bottom: 2rem;
}

.carousel-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--color-border);
	border: none;
	cursor: pointer;
	transition: all 0.3s ease;
	padding: 0;
}

.carousel-dot:hover {
	background: var(--color-primary-light);
}

.carousel-dot.active {
	background: var(--color-primary);
	width: 32px;
	border-radius: 6px;
}

/* Small Blog Cards for Carousel */
.insight-card-small {
	background: var(--color-white);
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	transition: all 0.3s ease;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.insight-card-small:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.insight-image-small {
	overflow: hidden;
	flex-shrink: 0;
}

.insight-image-small img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.insight-card-small:hover .insight-image-small img {
	transform: scale(1.05);
}

.insight-content-small {
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.insight-meta-small {
	font-size: 0.875rem;
	color: var(--color-text-secondary);
	margin-bottom: 0.75rem;
}

.insight-title-small {
	font-size: 1.25rem;
	font-weight: var(--font-weight-semibold);
	margin-bottom: 0.75rem;
	line-height: 1.4;
	flex-grow: 1;
}

.insight-title-small a {
	color: var(--color-text-primary);
	text-decoration: none;
	transition: color 0.2s ease;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.insight-title-small a:hover {
	color: var(--color-primary);
}

.insight-link-small {
	color: var(--color-primary);
	font-weight: var(--font-weight-semibold);
	font-size: var(--font-size-sm);
	text-decoration: none;
	transition: all 0.2s ease;
	align-self: flex-start;
}

.insight-link-small:hover {
	color: var(--color-primary-dark);
}

.insights-footer {
	text-align: center;
	margin-top: 2rem;
}

/* Modern Insights Card Styles */
.insight-card-modern {
	background: var(--color-white);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	transition: all 0.3s ease;
	display: flex;
	flex-direction: column;
	height: 100%;
	border: 1px solid var(--color-gray-100);
}

.insight-card-modern:hover {
	transform: translateY(-8px);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
}

.insight-image-modern {
	position: relative;
	overflow: hidden;
	flex-shrink: 0;
}

.insight-image-modern img {
	width: 100%;
	height: 280px;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.insight-card-modern:hover .insight-image-modern img {
	transform: scale(1.1);
}

.insight-category-badge {
	position: absolute;
	top: 1rem;
	left: 1rem;
	background: var(--color-primary);
	color: var(--color-white);
	padding: 0.5rem 1rem;
	border-radius: 50px;
	font-size: 0.75rem;
	font-weight: var(--font-weight-semibold);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.insight-content-modern {
	padding: 2rem;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.insight-meta-modern {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	color: var(--color-text-secondary);
	margin-bottom: 1rem;
}

.insight-meta-modern svg {
	flex-shrink: 0;
}

.insight-title-modern {
	font-size: 1.25rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.4;
	margin-bottom: 1rem;
}

.insight-title-modern a {
	color: var(--color-text-primary);
	text-decoration: none;
	transition: color 0.2s ease;
}

.insight-title-modern a:hover {
	color: var(--color-primary);
}

.insight-excerpt-modern {
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--color-text-secondary);
	margin-bottom: 1.5rem;
	flex-grow: 1;
}

.insight-link-modern {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--color-primary);
	font-weight: var(--font-weight-semibold);
	font-size: 0.9375rem;
	text-decoration: none;
	transition: all 0.2s ease;
	margin-top: auto;
}

.insight-link-modern:hover {
	gap: 0.75rem;
	color: var(--color-primary-dark);
}

.insight-link-modern svg {
	transition: transform 0.2s ease;
}

.insight-link-modern:hover svg {
	transform: translateX(4px);
}

.insights-nav-dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	margin-top: 3rem;
}

.insights-nav-dots .carousel-dots {
	margin: 0;
}

@media screen and (min-width: 768px) {
	.carousel-slide {
		grid-template-columns: repeat(3, 1fr) !important;
		grid-template-rows: 1fr !important;
		gap: 2rem;
	}

	/* Hide insights beyond 3 per slide on desktop */
	.carousel-slide .insight-card-modern:nth-child(n+4) {
		display: none !important;
	}
}

@media screen and (max-width: 767px) {
	.insights-section {
		padding: 3rem 0;
	}

	/* Reduce container padding for insights section on mobile */
	.insights-section .section-container {
		padding-left: 0;
		padding-right: 0;
	}

	.insights-carousel-wrapper {
		margin-bottom: 0;
		overflow: hidden;
	}

	.insights-carousel {
		margin: 0;
		padding: 0;
		overflow: hidden;
	}

	.carousel-slide {
		grid-template-columns: 1fr !important;
		gap: 2;
		padding: 1;
	}

	.carousel-slide article:nth-child(n+4) {
		display: flex !important;
	}

	.insight-card-modern {
		border-radius: 12px;
		margin: 0 1rem;
	}

	.insight-image-modern img {
		height: 240px;
	}

	.insight-content-modern {
		padding: 1.5rem;
	}

	.insight-title-modern {
		font-size: 1.125rem;
	}

	.insights-nav-dots {
		margin-top: 2rem;
	}

	.insights-nav-dots .carousel-nav {
		display: none;
	}

	.insights-section .section-header {
		padding: 0 1rem;
		margin-bottom: 2rem;
	}

	.insights-footer {
		padding: 0 1rem;
	}
}

/* Responsive Carousel Layouts */
@media screen and (min-width: 768px) {
	.carousel-slide {
		grid-template-columns: repeat(3, 1fr);
		grid-template-rows: repeat(2, 1fr);
	}

	/* Desktop: Show all 6 posts per slide (3 columns × 2 rows) */
	.carousel-slide article:nth-child(n+4) {
		display: flex;
	}

	.carousel-slide article:nth-child(n+7) {
		display: none;
	}

	.insights-carousel {
		margin: 0 4rem;
	}

	/* Desktop navigation buttons - restore side placement */
	.carousel-nav {
		background: transparent;
		width: auto;
		height: auto;
		padding: 0.5rem;
		box-shadow: none;
		opacity: 0.6;
	}

	.carousel-nav:hover {
		background: transparent;
		box-shadow: none;
		transform: translateY(-50%) scale(1.2);
		opacity: 1;
	}

	.carousel-nav svg {
		width: 32px;
		height: 32px;
	}

	.carousel-prev {
		left: 0;
	}

	.carousel-next {
		right: 0;
	}

	/* Desktop card styling - restore smaller size */
	.insight-image-small img {
		height: 120px;
	}

	.insight-content-small {
		padding: 0.875rem;
	}

	.insight-meta-small {
		font-size: 0.7rem;
		margin-bottom: 0.4rem;
	}

	.insight-title-small {
		font-size: 0.9rem;
		margin-bottom: 0.5rem;
		line-height: 1.3;
	}
}

@media screen and (min-width: 992px) {
	.insights-carousel {
		margin: 0 5rem;
	}
}

/* CTA Section
--------------------------------------------- */
.cta-section {
	padding: 6rem 0;
	background: var(--color-gray-50);
	color: var(--color-text-primary);
	overflow: hidden;
}

.cta-wrapper {
	position: relative;
	max-width: 1320px;
	margin: 0 auto;
	background: linear-gradient(135deg, var(--color-secondary) 0%, #0A3A5E 100%);
	border-radius: 20px;
	padding: 4rem 3rem;
	box-shadow: 0 20px 60px rgba(15, 76, 129, 0.25);
	overflow: hidden;
}

.cta-decoration {
	position: absolute;
	width: 300px;
	height: 300px;
	border-radius: 50%;
	opacity: 0.1;
	pointer-events: none;
}

.cta-decoration-left {
	top: -100px;
	left: -100px;
	background: var(--color-primary);
}

.cta-decoration-right {
	bottom: -100px;
	right: -100px;
	background: var(--color-white);
}

.cta-content {
	position: relative;
	z-index: 1;
	max-width: 800px;
	margin: 0 auto;
	text-align: center;
	color: var(--color-white);
}

.cta-title {
	font-size: var(--font-size-3xl);
	font-weight: var(--font-weight-bold);  /* 700 */
	margin-bottom: 1.5rem;
	color: var(--color-white);
	line-height: 1.2;
}

.cta-text {
	font-size: var(--font-size-lg);
	line-height: var(--line-height-relaxed);
	margin-bottom: 2.5rem;
	color: rgba(255, 255, 255, 0.95);
}

.cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: center;
	align-items: center;
}

@media screen and (min-width: 768px) {
	.cta-title {
		font-size: var(--font-size-4xl);
	}
}

/*--------------------------------------------------------------
# Single Post Template
--------------------------------------------------------------*/

/* Post Container
--------------------------------------------- */
.single-post-template {
	background: var(--color-white);
}

.post-container {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 1.5rem;
}

/* Breadcrumbs
--------------------------------------------- */
.post-breadcrumbs {
	background: var(--color-gray-50);
	padding: 1rem 0;
	border-bottom: 1px solid var(--color-border);
}

.post-breadcrumbs nav {
	font-size: var(--font-size-sm);
	color: var(--color-text-secondary);
}

.post-breadcrumbs a {
	color: var(--color-text-secondary);
	text-decoration: none;
	transition: color 0.2s ease;
}

.post-breadcrumbs a:hover {
	color: var(--color-primary);
}

.post-breadcrumbs .separator {
	margin: 0 0.5rem;
	color: var(--color-text-secondary);
}

.post-breadcrumbs .current {
	color: var(--color-text-primary);
	font-weight: var(--font-weight-medium);
}

/* Post Header
--------------------------------------------- */
.post-header {
	padding: 3rem 0 2rem;
	text-align: center;
}

.post-categories {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	margin-bottom: 1rem;
	flex-wrap: wrap;
}

.post-category {
	display: inline-block;
	padding: 0.375em 0.875em;
	background: var(--color-primary);
	color: var(--color-white);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-semibold);
	text-decoration: none;
	border-radius: 4px;
	transition: background-color 0.2s ease;
}

.post-category:hover {
	background: var(--color-primary-dark);
	color: var(--color-white);
}

.post-title {
	font-size: var(--font-size-3xl);
	font-weight: var(--font-weight-bold);  /* 700 */
	line-height: var(--line-height-tight);
	margin-bottom: 1.5rem;
	color: var(--color-text-primary);
}

.post-meta {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 1.5rem;
	font-size: var(--font-size-sm);
	color: var(--color-text-secondary);
}

.post-meta span {
	display: flex;
	align-items: center;
	gap: 0.375rem;
}

.post-meta svg {
	opacity: 0.7;
}

@media screen and (min-width: 768px) {
	.post-title {
		font-size: var(--font-size-4xl);
	}
}

/* Featured Image
--------------------------------------------- */
.post-featured-image {
	margin-bottom: 3rem;
}

.featured-image {
	width: 100%;
	height: auto;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Post Content
--------------------------------------------- */
.post-content-wrapper {
	padding: 2rem 0 4rem;
}

.post-content-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
}

.post-content {
	font-size: var(--font-size-md);
	line-height: var(--line-height-relaxed);
	color: var(--color-text-primary);
}

.post-content h2,
.post-content h3,
.post-content h4,
.post-content h5,
.post-content h6 {
	margin-top: 2rem;
	margin-bottom: 1rem;
	color: var(--color-text-primary);
}

.post-content h2 {
	font-size: var(--font-size-2xl);
	border-bottom: 2px solid var(--color-primary);
	padding-bottom: 0.5rem;
}

.post-content h3 {
	font-size: var(--font-size-xl);
}

.post-content p {
	margin-bottom: 1.5rem;
}

.post-content ul,
.post-content ol {
	margin: 1.5rem 0;
	padding-left: 2rem;
}

.post-content li {
	margin-bottom: 0.75rem;
}

.post-content blockquote {
	border-left: 4px solid var(--color-primary);
	padding: 1.5rem 2rem;
	margin: 2rem 0;
	background: var(--color-gray-50);
	font-style: italic;
	font-size: var(--font-size-lg);
	color: var(--color-text-secondary);
}

.post-content img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	margin: 2rem 0;
}

.post-content a {
	color: var(--color-primary);
	text-decoration: underline;
	transition: color 0.2s ease;
}

.post-content a:hover {
	color: var(--color-primary-dark);
}

.post-content code {
	background: var(--color-gray-50);
	padding: 0.25em 0.5em;
	border-radius: 4px;
	font-size: 0.9em;
	color: var(--color-secondary);
}

.post-content pre {
	background: var(--color-gray-900);
	color: var(--color-white);
	padding: 1.5rem;
	border-radius: 8px;
	overflow-x: auto;
	margin: 2rem 0;
}

.post-content pre code {
	background: transparent;
	padding: 0;
	color: inherit;
}

/* Tags
--------------------------------------------- */
.post-tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid var(--color-border);
}

.tags-label {
	font-weight: var(--font-weight-semibold);
	color: var(--color-text-primary);
}

.post-tag {
	display: inline-block;
	padding: 0.375em 0.875em;
	background: var(--color-gray-50);
	color: var(--color-text-secondary);
	font-size: var(--font-size-sm);
	text-decoration: none;
	border-radius: 4px;
	border: 1px solid var(--color-border);
	transition: all 0.2s ease;
}

.post-tag:hover {
	background: var(--color-secondary);
	color: var(--color-white);
	border-color: var(--color-secondary);
}

/* Social Sharing
--------------------------------------------- */
.post-sharing {
	margin-top: 3rem;
	padding: 2rem;
	background: var(--color-gray-50);
	border-radius: 8px;
}

.sharing-title {
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-bold);
	margin-bottom: 1rem;
	color: var(--color-text-primary);
}

.sharing-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.share-button {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.75em 1.5em;
	border-radius: 50px;
	text-decoration: none;
	font-weight: var(--font-weight-semibold);
	font-size: var(--font-size-sm);
	transition: all 0.2s ease;
}

.share-button.linkedin {
	background: #0077B5;
	color: var(--color-white);
}

.share-button.linkedin:hover {
	background: #005885;
	transform: translateY(-2px);
}

.share-button.facebook {
	background: #1877F2;
	color: var(--color-white);
}

.share-button.facebook:hover {
	background: #145dbf;
	transform: translateY(-2px);
}

.share-button.twitter {
	background: #1DA1F2;
	color: var(--color-white);
}

.share-button.twitter:hover {
	background: #0d8ecf;
	transform: translateY(-2px);
}

.share-button.email {
	background: var(--color-text-secondary);
	color: var(--color-white);
}

.share-button.email:hover {
	background: var(--color-text-primary);
	transform: translateY(-2px);
}

/* Post Sidebar
--------------------------------------------- */
.post-sidebar {
	display: none;
}

.author-box-sidebar {
	background: var(--color-white);
	border: 2px solid var(--color-border);
	border-radius: 8px;
	padding: 2rem;
	margin-bottom: 2rem;
	text-align: center;
}

.author-avatar {
	margin-bottom: 1rem;
}

.author-avatar img {
	border-radius: 50%;
	border: 3px solid var(--color-primary);
}

.author-name {
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-bold);
	margin-bottom: 0.5rem;
	color: var(--color-text-primary);
}

.author-bio {
	font-size: var(--font-size-sm);
	color: var(--color-text-secondary);
	margin-bottom: 1rem;
}

.author-link {
	color: var(--color-primary);
	font-weight: var(--font-weight-semibold);
	text-decoration: none;
	font-size: var(--font-size-sm);
}

.author-link:hover {
	text-decoration: underline;
}

.sidebar-cta {
	background: linear-gradient(135deg, var(--color-secondary) 0%, #163066 100%);
	color: var(--color-white);
	border-radius: 8px;
	padding: 2rem;
	text-align: center;
}

.sidebar-cta h3 {
	color: var(--color-white);
	font-size: var(--font-size-lg);
	margin-bottom: 1rem;
}

.sidebar-cta p {
	color: rgba(255, 255, 255, 0.9);
	margin-bottom: 1.5rem;
	font-size: var(--font-size-sm);
}

@media screen and (min-width: 992px) {
	.post-content-grid {
		grid-template-columns: 1fr 300px;
	}

	.post-sidebar {
		display: block;
	}
}

/* Post Navigation
--------------------------------------------- */
.post-navigation-wrapper {
	background: var(--color-gray-50);
	padding: 2rem 0;
	margin-top: 4rem;
}

.post-navigation {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}

.post-navigation .nav-links {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}

.post-navigation .nav-previous,
.post-navigation .nav-next {
	background: var(--color-white);
	padding: 1.5rem;
	border-radius: 8px;
	border: 2px solid transparent;
	transition: all 0.2s ease;
}

.post-navigation .nav-previous:hover,
.post-navigation .nav-next:hover {
	border-color: var(--color-primary);
}

.post-navigation .nav-subtitle {
	display: block;
	font-size: var(--font-size-sm);
	color: var(--color-text-secondary);
	margin-bottom: 0.5rem;
	font-weight: var(--font-weight-semibold);
}

.post-navigation .nav-title {
	display: block;
	font-size: var(--font-size-lg);
	color: var(--color-text-primary);
	font-weight: var(--font-weight-bold);
}

.post-navigation a {
	text-decoration: none;
}

@media screen and (min-width: 768px) {
	.post-navigation .nav-links {
		grid-template-columns: 1fr 1fr;
	}

	.post-navigation .nav-next {
		text-align: right;
	}
}

/*--------------------------------------------------------------
# Page Template
--------------------------------------------------------------*/

/* Page Container
--------------------------------------------- */
.page-template {
	background: var(--color-white);
}

.page-container {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 1.5rem;
}

/* Page Breadcrumbs
--------------------------------------------- */
.page-breadcrumbs {
	background: var(--color-gray-50);
	padding: 1rem 0;
	border-bottom: 1px solid var(--color-border);
}

.page-breadcrumbs nav {
	font-size: var(--font-size-sm);
	color: var(--color-text-secondary);
}

.page-breadcrumbs a {
	color: var(--color-text-secondary);
	text-decoration: none;
	transition: color 0.2s ease;
}

.page-breadcrumbs a:hover {
	color: var(--color-primary);
}

.page-breadcrumbs .separator {
	margin: 0 0.5rem;
	color: var(--color-text-secondary);
}

.page-breadcrumbs .current {
	color: var(--color-text-primary);
	font-weight: var(--font-weight-medium);
}

/* Page Header
--------------------------------------------- */
.page-header {
	padding: 3rem 0 2rem;
	text-align: center;
}

.page-featured-image {
	margin-bottom: 2rem;
}

.page-featured-image img {
	width: 100%;
	height: auto;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.page-title {
	font-size: var(--font-size-3xl);
	font-weight: var(--font-weight-bold);  /* 700 */
	line-height: var(--line-height-tight);
	margin: 0;
	color: var(--color-text-primary);
}

@media screen and (min-width: 768px) {
	.page-title {
		font-size: var(--font-size-4xl);
	}
}

/* Page Content
--------------------------------------------- */
.page-content-wrapper {
	padding: 3rem 0 5rem;
}

.page-content {
	/* Minimal styling - let WordPress editor handle content formatting */
	font-size: var(--font-size-base);
	line-height: var(--line-height-normal);
	color: var(--color-text-primary);
}

/* Only style essential elements, don't interfere with editor content */
.page-content > *:first-child {
	margin-top: 0;
}

.page-content > *:last-child {
	margin-bottom: 0;
}

/* Page Links (pagination for multi-page content) */
.page-content .page-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid var(--color-border);
	font-weight: var(--font-weight-semibold);
}

.page-content .page-links a,
.page-content .page-links > span {
	display: inline-block;
	padding: 0.5em 1em;
	background: var(--color-gray-50);
	color: var(--color-text-primary);
	text-decoration: none;
	border-radius: 4px;
	transition: all 0.2s ease;
}

.page-content .page-links a:hover {
	background: var(--color-primary);
	color: var(--color-white);
}

.page-content .page-links > span {
	background: var(--color-primary);
	color: var(--color-white);
}

/* Support for WordPress Gutenberg blocks - minimal overrides */
.page-content .wp-block-image img {
	max-width: 100%;
	height: auto;
}

/* Gutenberg Button Styles - Match Theme Design */
.wp-block-button__link,
.wp-block-button__link:visited,
.wp-block-button__link:focus,
.wp-block-button__link:active {
	display: inline-block;
	padding: 0.875em 1.75em;
	font-family: var(--font-body);
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-semibold);
	text-decoration: none !important;
	border-radius: 50px;
	transition: all 0.3s ease;
	letter-spacing: var(--letter-spacing-wide);
	border: none;
	cursor: pointer;
	text-align: center;
	text-transform: uppercase;
	background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%);
	color: var(--color-white) !important;
	box-shadow: 0 2px 8px rgba(255, 69, 0, 0.2);
}

.wp-block-button__link:hover {
	background: linear-gradient(135deg, var(--color-primary-light) 0%, var(--color-primary) 100%);
	color: var(--color-secondary) !important;
	transform: translateY(-2px);
	box-shadow: 0 4px 16px rgba(255, 69, 0, 0.4);
	text-decoration: none !important;
}

/* Outline Button Style */
.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link:visited,
.wp-block-button.is-style-outline .wp-block-button__link:focus,
.wp-block-button.is-style-outline .wp-block-button__link:active {
	background: transparent !important;
	color: var(--color-primary) !important;
	border: 2px solid var(--color-primary) !important;
	box-shadow: none;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--color-primary) !important;
	color: var(--color-white) !important;
	border-color: var(--color-primary) !important;
	transform: translateY(-2px);
	box-shadow: 0 4px 16px rgba(255, 69, 0, 0.3);
}

.page-content .alignwide,
.page-content .alignfull {
	max-width: 100%;
	
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/* ==================================================
   Enhanced Page Content Styling
   ================================================== */

/* Page Content Enhancements */
.page-content h2 {
	margin-top: var(--space-2xl);
	margin-bottom: var(--space-lg);
	font-size: var(--font-size-2xl);
	font-weight: var(--font-weight-bold);
	color: var(--color-text-primary);
}

.page-content h3 {
	margin-top: var(--space-xl);
	margin-bottom: var(--space-md);
	font-size: var(--font-size-xl);
	font-weight: var(--font-weight-bold);
	color: var(--color-secondary);
}

.page-content h4 {
	margin-top: var(--space-lg);
	margin-bottom: var(--space-sm);
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-semibold);
	color: var(--color-text-primary);
}

.page-content p {
	margin-bottom: var(--space-md);
	line-height: var(--line-height-relaxed);
}

.page-content ul,
.page-content ol {
	margin-bottom: var(--space-lg);
	padding-left: var(--space-lg);
}

.page-content li {
	margin-bottom: var(--space-sm);
	line-height: var(--line-height-relaxed);
}

.page-content .wp-block-columns {
	margin-bottom: var(--space-2xl);
	gap: var(--space-xl);
}

.page-content .wp-block-column {
	padding: var(--space-md);
}

/* Content Boxes & Cards */
.content-box {
	background: var(--color-white);
	border-radius: 12px;
	padding: var(--space-xl);
	margin-bottom: var(--element-gap);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.content-box:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.content-box-highlight {
	border-left: 4px solid var(--color-primary);
}

.content-box-blue {
	background: linear-gradient(135deg, #F0F7FF 0%, #E6F2FF 100%);
	border-left: 4px solid var(--color-secondary);
}

/* Feature Grid */
.feature-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--element-gap);
	margin-bottom: var(--space-2xl);
}

.feature-item {
	display: flex;
	align-items: flex-start;
	gap: var(--space-md);
	padding: var(--space-lg);
	background: var(--color-white);
	border-radius: 8px;
	border: 1px solid var(--color-gray-50);
	transition: all 0.3s ease;
}

.feature-item:hover {
	border-color: var(--color-primary);
	box-shadow: 0 4px 12px rgba(255, 69, 0, 0.1);
}

.feature-icon {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-white);
	font-size: 1.5rem;
	font-weight: bold;
}

.feature-content h4 {
	margin-top: 0;
	margin-bottom: var(--space-xs);
	color: var(--color-text-primary);
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-bold);
}

.feature-content p {
	margin: 0;
	color: var(--color-text-secondary);
	line-height: var(--line-height-relaxed);
}

/* Responsive */
@media screen and (min-width: 768px) {
	.feature-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (min-width: 992px) {
	.cta-wrapper {
		padding: 5rem 4rem;
	}
}

/* ==================================================
   Modern Services Page Template
   ================================================== */

.services-page-template {
	background: var(--color-white);
}

.services-container {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 var(--space-md);
}

/* Services Hero Section
--------------------------------------------- */
.services-hero-section {
	background: linear-gradient(135deg, #F0F7FF 0%, #E6F2FF 100%);
	padding: var(--space-3xl) 0;
	text-align: center;
	position: relative;
	overflow: hidden;
}

.services-hero-section::before {
	content: '';
	position: absolute;
	top: -50%;
	right: -10%;
	width: 600px;
	height: 600px;
	background: radial-gradient(circle, rgba(255, 69, 0, 0.08) 0%, transparent 70%);
	border-radius: 50%;
}

.services-hero-widget {
	position: relative;
	z-index: 1;
	max-width: 800px;
	margin: 0 auto;
}

.services-hero-title {
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-weight: var(--font-weight-bold);  /* 700 */
	color: var(--color-secondary);
	margin-bottom: var(--space-lg);
	line-height: 1.2;
}

.services-hero-widget p {
	font-size: var(--font-size-xl);
	color: var(--color-text-secondary);
	line-height: var(--line-height-relaxed);
	margin-bottom: 0;
}

/* Two-Column Hero Layout
--------------------------------------------- */
.hero-two-column {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4rem;
	align-items: center;
	position: relative;
	z-index: 1;
}

.hero-left {
	text-align: left;
}

.hero-title {
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-weight: var(--font-weight-bold);  /* 700 */
	color: var(--color-secondary);
	margin-bottom: var(--space-lg);
	line-height: 1.2;
}

.hero-subtitle {
	font-size: var(--font-size-xl);
	color: var(--color-text-secondary);
	line-height: var(--line-height-relaxed);
	margin-bottom: var(--space-xl);
}

.hero-left .wp-block-buttons {
	margin-top: var(--space-xl);
	justify-content: flex-start;
}

/* Hero section primary button - use secondary (blue) color */
.hero-left .wp-block-button.is-style-fill .wp-block-button__link,
.services-hero-section .wp-block-button.is-style-fill .wp-block-button__link {
	background: var(--color-secondary) !important;
	color: var(--color-white) !important;
	box-shadow: 0 2px 8px rgba(15, 76, 129, 0.2);
}

.hero-left .wp-block-button.is-style-fill .wp-block-button__link:hover,
.services-hero-section .wp-block-button.is-style-fill .wp-block-button__link:hover {
	background: var(--color-secondary-light) !important;
	color: var(--color-white) !important;
	box-shadow: 0 4px 16px rgba(15, 76, 129, 0.4);
}

.hero-right {
	position: relative;
}

.hero-right .wp-block-image {
	margin: 0;
}

.hero-right img {
	width: 100%;
	height: auto;
	border-radius: 16px;
	box-shadow: 0 20px 60px rgba(15, 76, 129, 0.15);
}

/* Mobile responsive - stack vertically */
@media screen and (max-width: 991px) {
	.hero-two-column {
		grid-template-columns: 1fr;
		gap: 2rem;
		text-align: center;
	}

	.hero-left {
		text-align: center;
		order: 2;
	}

	.hero-right {
		order: 1;
	}

	.hero-left .wp-block-buttons {
		justify-content: center;
	}
}

/* Services Cards Grid
--------------------------------------------- */
.services-cards-section {
	padding: var(--space-3xl) 0;
	background: var(--color-white);
}

.services-cards-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-xl);
}

.service-card {
	background: var(--color-white);
	border-radius: 24px;
	padding: 1.75rem;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(0, 0, 0, 0.06);
}

.service-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 5px;
	background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-secondary) 100%);
	opacity: 0;
	transition: opacity 0.4s ease;
}

.service-card:hover {
	transform: translateY(-12px);
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.12);
	border-color: rgba(0, 0, 0, 0.1);
}

.service-card:hover::before {
	opacity: 1;
}

.service-card-title {
	font-size: 1.5rem;
	font-weight: var(--font-weight-bold);
	color: var(--color-secondary);
	margin-bottom: 0.75rem;
	margin-top:1.25rem;
	line-height: 1.3;
}

.service-card p {
	color: var(--color-text-secondary);
	line-height: 1.7;
	margin-bottom: 1rem;
	font-size: 0.95rem;
}

.service-card ul {
	list-style: none;
	padding: 0;
	margin: 1rem 0;
}

.service-card li {
	padding-left: 1.75rem;
	margin-bottom: 0.5rem;
	position: relative;
	color: var(--color-text-primary);
	line-height: 1.6;
	font-size: 0.95rem;
}

.service-card li::before {
	content: '✓';
	position: absolute;
	left: 0;
	color: var(--color-primary);
	font-weight: var(--font-weight-bold);
	font-size: 1.1rem;
}

.service-card .wp-block-button {
	margin-top: var(--space-lg);
}

.service-card .wp-block-button__link,
.service-card .wp-block-button__link:visited,
.service-card .wp-block-button__link:focus,
.service-card .wp-block-button__link:active {
	color: var(--color-white) !important;
	text-decoration: none;
}

.wp-block-button__link,
.wp-block-button__link:visited,
.wp-block-button__link:focus,
.wp-block-button__link:active {
	text-decoration: none;
}

/* Service Card Variations - Light neutral background */
.service-card:nth-child(3n+1),
.service-card:nth-child(3n+2),
.service-card:nth-child(3n+3) {
	background: linear-gradient(135deg, #FAFBFC 0%, #FFFFFF 100%) !important;
}

/* Services Features Section
--------------------------------------------- */
.services-features-section {
	padding: var(--space-3xl) 0;
	background: var(--color-gray-50);
}

.services-section-header {
	text-align: center;
	margin-bottom: var(--space-2xl);
}

.services-section-header .section-title {
	font-size: var(--font-size-3xl);
	font-weight: var(--font-weight-bold);  /* 700 */
	color: var(--color-text-primary);
	margin-bottom: var(--space-sm);
}

.services-section-header .section-subtitle {
	font-size: var(--font-size-lg);
	color: var(--color-text-secondary);
	margin: 0;
}

.services-features-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-xl);
}

.service-feature {
	background: var(--color-white);
	padding: var(--space-xl);
	border-radius: 12px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
	transition: all 0.3s ease;
	display: flex;
	gap: var(--space-lg);
	align-items: flex-start;
}

.service-feature:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	transform: translateY(-4px);
}

.service-feature-icon {
	flex-shrink: 0;
	width: 64px;
	height: 64px;
	background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-white);
	font-size: 2rem;
	font-weight: bold;
	box-shadow: 0 4px 12px rgba(255, 69, 0, 0.3);
}

.service-feature-content {
	flex: 1;
}

.service-feature-title {
	font-size: var(--font-size-xl);
	font-weight: var(--font-weight-bold);
	color: var(--color-text-primary);
	margin: 0 0 var(--space-sm) 0;
}

.service-feature p {
	color: var(--color-text-secondary);
	line-height: var(--line-height-relaxed);
	margin: 0;
}

/* Process Steps Section
--------------------------------------------- */
.services-process-section {
	padding: var(--space-3xl) 0;
	background: var(--color-white);
}

.process-steps {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-xl);
	margin-top: var(--space-2xl);
}

.process-step {
	text-align: center;
	padding: var(--space-2xl);
	background: linear-gradient(135deg, #F8F9FA 0%, #FFFFFF 100%);
	border-radius: 16px;
	border: 2px solid var(--color-gray-50);
	transition: all 0.3s ease;
	position: relative;
}

.process-step:hover {
	border-color: var(--color-primary);
	transform: scale(1.05);
	box-shadow: 0 8px 24px rgba(255, 69, 0, 0.15);
}

.process-number {
	width: 80px;
	height: 80px;
	margin: 0 auto var(--space-lg);
	background: linear-gradient(135deg, var(--color-secondary) 0%, #0A3A5E 100%);
	color: var(--color-white);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: var(--font-size-2xl);
	font-weight: var(--font-weight-bold);  /* 700 */
	box-shadow: 0 6px 20px rgba(15, 76, 129, 0.3);
}

.process-step h3 {
	font-size: var(--font-size-xl);
	font-weight: var(--font-weight-bold);
	color: var(--color-text-primary);
	margin-bottom: var(--space-sm);
}

.process-step p {
	color: var(--color-text-secondary);
	line-height: var(--line-height-relaxed);
	margin: 0;
}

/* Services CTA Section
--------------------------------------------- */
.services-cta-section {
	padding: var(--space-3xl) 0;
	background: var(--color-gray-50);
}

.services-cta-wrapper {
	position: relative;
	background: linear-gradient(135deg, var(--color-secondary) 0%, #0A3A5E 100%);
	border-radius: 20px;
	padding: var(--space-2xl) var(--space-xl);
	box-shadow: 0 20px 60px rgba(15, 76, 129, 0.25);
	overflow: hidden;
	text-align: center;
}

.services-cta-content {
	position: relative;
	z-index: 1;
	color: var(--color-white)!important;
}

.services-cta-title {
	font-size: var(--font-size-3xl);
	font-weight: var(--font-weight-bold);  /* 700 */
	color: var(--color-white) !important;
	margin-bottom: var(--space-md);
	line-height: 1.2;
}

.services-cta-section .widget-title,
.services-cta-wrapper h2 {
	color: var(--color-white) !important;
}

.services-cta-content p {
	font-size: var(--font-size-lg);
	color: rgba(255, 255, 255, 0.95);
	line-height: var(--line-height-relaxed);
	margin-bottom: var(--space-xl);
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}

.services-cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-md);
	justify-content: center;
	margin-top: var(--space-xl);
}

/* Responsive Design
--------------------------------------------- */
@media screen and (min-width: 768px) {
	.services-cards-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.services-features-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.process-steps {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (min-width: 992px) {
	.services-cards-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.process-steps {
		grid-template-columns: repeat(4, 1fr);
	}

	.services-cta-wrapper {
		padding: var(--space-3xl) var(--space-2xl);
	}
}

/* ==================================================
   Modern About Page Template
   ================================================== */

.about-page-template {
	background: var(--color-white);
}

.about-container {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 var(--space-md);
}

/* About Hero Section
--------------------------------------------- */
.about-hero-section {
	background: linear-gradient(135deg, #FFF9F5 0%, #FFE8DD 100%);
	padding: var(--space-3xl) 0;
	text-align: center;
	position: relative;
	overflow: hidden;
}

.about-hero-section::before {
	content: '';
	position: absolute;
	top: -30%;
	left: -10%;
	width: 500px;
	height: 500px;
	background: radial-gradient(circle, rgba(15, 76, 129, 0.08) 0%, transparent 70%);
	border-radius: 50%;
}

.about-hero-widget {
	position: relative;
	z-index: 1;
	max-width: 100%;
	margin: 0 auto;
}

.about-hero-title {
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-weight: var(--font-weight-bold);  /* 700 */
	color: var(--color-secondary);
	margin-bottom: var(--space-lg);
	line-height: 1.2;
}

.about-hero-widget p {
	font-size: var(--font-size-xl);
	color: var(--color-text-secondary);
	line-height: var(--line-height-relaxed);
	margin-bottom: 0;
}

/* About Stats Section
--------------------------------------------- */
.about-stats-section {
	padding: var(--space-3xl) 0;
	background: var(--color-gray-50);
	position: relative;
}

.stats-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: var(--space-xl);
	position: relative;
	z-index: 1;
}

.stat-item,
.stat-box {
	text-align: center;
	padding: var(--space-2xl) var(--space-xl);
	background: var(--color-white);
	border-radius: 16px;
	border: 2px solid transparent;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	transition: all 0.3s ease;
}

.stat-item:hover,
.stat-box:hover {
	transform: translateY(-8px);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
	border-color: var(--color-primary);
}

.stat-number {
	font-size: clamp(2.5rem, 5vw, 4rem);
	font-weight: var(--font-weight-extrabold);
	line-height: 1;
	margin-bottom: var(--space-sm);
	background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.stat-label,
.stat-box p {
	font-size: var(--font-size-base);
	color: var(--color-text-primary);
	font-weight: var(--font-weight-semibold);
	margin: 0;
	line-height: var(--line-height-normal);
}

/* Mission & Vision Section
--------------------------------------------- */
.about-mission-section {
	padding: var(--space-3xl) 0;
	background: var(--color-gray-50);
}

.mission-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-xl);
}

.mission-card {
	background: var(--color-white);
	padding: var(--space-2xl);
	border-radius: 16px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	text-align: center;
	transition: all 0.3s ease;
}

.mission-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
}

.mission-icon {
	font-size: 4rem;
	margin-bottom: var(--space-lg);
	display: inline-block;
	animation: float 3s ease-in-out infinite;
}

@keyframes float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-10px); }
}

.mission-card h2 {
	font-size: var(--font-size-2xl);
	font-weight: var(--font-weight-bold);
	color: var(--color-secondary);
	margin-bottom: var(--space-md);
}

.mission-card p {
	font-size: var(--font-size-base);
	color: var(--color-text-secondary);
	line-height: var(--line-height-relaxed);
	margin: 0;
}

/* About Values Section
--------------------------------------------- */
.about-values-section {
	padding: var(--space-3xl) 0;
	background: var(--color-white);
}

.about-section-header {
	text-align: center;
	margin-bottom: var(--space-2xl);
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	padding: 0 var(--space-md);
}

.about-section-header .section-title {
	font-size: var(--font-size-3xl);
	font-weight: var(--font-weight-bold);  /* 700 */
	color: var(--color-text-primary);
	margin-bottom: var(--space-sm);
	line-height: var(--line-height-tight);
	position: relative;
	display: block;
}

.about-section-header .section-title::after {
	content: '';
	display: block;
	width: 60px;
	height: 4px;
	background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-light) 100%);
	margin: var(--space-md) auto;
	border-radius: 2px;
}

.about-section-header .section-subtitle {
	font-size: var(--font-size-lg);
	color: var(--color-text-secondary);
	margin: 0 auto;
	line-height: var(--line-height-relaxed);
	font-weight: var(--font-weight-normal);
	max-width: 700px;
	position: relative;
	padding: 0 var(--space-xl);
}

.about-section-header .section-subtitle::before,
.about-section-header .section-subtitle::after {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	height: 2px;
	background: linear-gradient(90deg, transparent 0%, var(--color-primary) 50%, transparent 100%);
}

.about-section-header .section-subtitle::before {
	left: 0;
}

.about-section-header .section-subtitle::after {
	right: 0;
}

/* Mobile adjustments for subtitle decorations */
@media screen and (max-width: 767px) {
	.about-section-header .section-subtitle {
		padding: 0 var(--space-md);
	}

	.about-section-header .section-subtitle::before,
	.about-section-header .section-subtitle::after {
		width: 24px;
	}
}

.values-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-xl);
}

.value-card {
	background: linear-gradient(135deg, #FFFFFF 0%, #F8F9FA 100%);
	padding: var(--space-2xl);
	border-radius: 12px;
	border-left: 4px solid var(--color-primary);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
	transition: all 0.3s ease;
}

.value-card:hover {
	transform: translateX(8px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	border-left-width: 6px;
}

.value-card-title {
	font-size: var(--font-size-xl);
	font-weight: var(--font-weight-bold);
	color: var(--color-secondary);
	margin-bottom: var(--space-md);
	display: flex;
	align-items: center;
	gap: var(--space-sm);
}

.value-card-title::before {
	content: '◆';
	color: var(--color-primary);
	font-size: 1.2rem;
}

.value-card p {
	color: var(--color-text-secondary);
	line-height: var(--line-height-relaxed);
	margin: 0;
}

/* Team Section
--------------------------------------------- */
.about-team-section {
	padding: var(--space-3xl) 0;
	background: var(--color-gray-50);
}

.team-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-xl);
}

.team-member {
	background: var(--color-white);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	transition: all 0.3s ease;
	text-align: center;
}

.team-member:hover {
	transform: translateY(-8px);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
}

.team-member img {
	width: 100%;
	height: 300px;
	object-fit: cover;
}

.team-member-content {
	padding: var(--space-xl);
}

.team-member-name {
	font-size: var(--font-size-xl);
	font-weight: var(--font-weight-bold);
	color: var(--color-text-primary);
	margin-bottom: var(--space-xs);
}

.team-member p {
	color: var(--color-text-secondary);
	line-height: var(--line-height-relaxed);
	margin: 0;
}

/* Why Choose Us Section
--------------------------------------------- */
.about-why-section {
	padding: var(--space-3xl) 0;
	background: var(--color-white);
}

.why-choose-wrapper {
	position: relative;
	background: linear-gradient(135deg, var(--color-secondary) 0%, #0A3A5E 100%);
	border-radius: 20px;
	padding: var(--space-2xl) var(--space-xl);
	box-shadow: 0 20px 60px rgba(15, 76, 129, 0.25);
	overflow: hidden;
}

.why-choose-content {
	position: relative;
	z-index: 1;
	color: var(--color-white);
}

.why-choose-content h2 {
	font-size: var(--font-size-3xl);
	font-weight: var(--font-weight-bold);  /* 700 */
	color: var(--color-white);
	margin-bottom: var(--space-xl);
	text-align: center;
}

.why-reasons {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-lg);
	margin-bottom: var(--space-2xl);
}

.why-reason {
	display: flex;
	align-items: flex-start;
	gap: var(--space-md);
	padding: var(--space-lg);
	background: rgba(255, 255, 255, 0.1);
	border-radius: 12px;
	transition: all 0.3s ease;
}

.why-reason:hover {
	background: rgba(255, 255, 255, 0.15);
	transform: translateX(8px);
}

.why-icon {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	background: var(--color-primary);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-white);
	font-weight: bold;
	font-size: 1.5rem;
}

.why-reason h3 {
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-bold);
	color: var(--color-white);
	margin: 0 0 var(--space-xs) 0;
}

.why-reason p {
	color: rgba(255, 255, 255, 0.9);
	margin: 0;
	line-height: var(--line-height-relaxed);
}

.why-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-md);
	justify-content: center;
}

/* Responsive for About Page
--------------------------------------------- */
@media screen and (min-width: 768px) {
	.mission-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.values-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.team-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.why-reasons {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (min-width: 992px) {
	.team-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.why-choose-wrapper {
		padding: var(--space-3xl) var(--space-2xl);
	}
}

/* Process Section
---------------------------------------------- */
.about-process-section {
	padding: var(--space-3xl) 0;
	background: var(--color-white);
}

.process-timeline {
	max-width: 1000px;
	margin: 0 auto;
	position: relative;
}

/* Vertical line connecting steps */
.process-timeline::before {
	content: '';
	position: absolute;
	left: 40px;
	top: 80px;
	bottom: 80px;
	width: 2px;
	background: linear-gradient(180deg, var(--color-primary) 0%, var(--color-secondary) 100%);
	z-index: 0;
}

@media screen and (max-width: 767px) {
	.process-timeline::before {
		left: 20px;
	}
}

.process-step {
	position: relative;
	display: grid;
	grid-template-columns: 80px 1fr auto;
	gap: var(--space-xl);
	align-items: start;
	margin-bottom: var(--space-3xl);
	padding-left: var(--space-md);
}

.process-step:last-child {
	margin-bottom: 0;
}

.step-number {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%);
	color: var(--color-white);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: var(--font-size-3xl);
	font-weight: var(--font-weight-bold);
	position: relative;
	z-index: 1;
	box-shadow: 0 4px 20px rgba(255, 69, 0, 0.3);
	flex-shrink: 0;
}

.step-content {
	padding-top: var(--space-md);
}

.step-content h3 {
	font-size: var(--font-size-2xl);
	font-weight: var(--font-weight-bold);
	color: var(--color-text-primary);
	margin-bottom: var(--space-md);
}

.step-content p {
	font-size: var(--font-size-base);
	color: var(--color-text-secondary);
	line-height: var(--line-height-relaxed);
	margin: 0;
}

.step-icon {
	width: 100px;
	height: 100px;
	background: linear-gradient(135deg, #F0F7FF 0%, #E6F2FF 100%);
	border-radius: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-secondary);
	flex-shrink: 0;
	border: 2px solid var(--color-gray-50);
	transition: all 0.3s ease;
}

.process-step:hover .step-icon {
	transform: scale(1.05);
	border-color: var(--color-primary);
	box-shadow: 0 8px 24px rgba(15, 76, 129, 0.15);
}

/* Responsive Process Timeline */
@media screen and (max-width: 991px) {
	.process-step {
		grid-template-columns: 60px 1fr;
		gap: var(--space-lg);
	}

	.step-number {
		width: 60px;
		height: 60px;
		font-size: var(--font-size-2xl);
	}

	.step-icon {
		display: none;
	}

	.step-content {
		padding-top: 0;
	}
}

@media screen and (max-width: 767px) {
	.process-step {
		grid-template-columns: 50px 1fr;
		gap: var(--space-md);
		margin-bottom: var(--space-2xl);
	}

	.step-number {
		width: 50px;
		height: 50px;
		font-size: var(--font-size-xl);
	}

	.step-content h3 {
		font-size: var(--font-size-xl);
	}

	.step-content p {
		font-size: var(--font-size-sm);
	}
}

/* Pillars Section
---------------------------------------------- */
.about-pillars-section {
	padding: var(--space-3xl) 0;
	background: var(--color-white);
}

.pillars-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-xl);
	margin-top: var(--space-2xl);
}

.pillar-card {
	background: linear-gradient(135deg, #FAFBFC 0%, #FFFFFF 100%);
	padding: var(--space-2xl);
	border-radius: 20px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	text-align: center;
}

.pillar-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
}

.pillar-icon {
	width: 80px;
	height: 80px;
	margin: 0 auto var(--space-lg);
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%);
	border-radius: 20px;
	color: var(--color-white);
}

.pillar-card h3 {
	font-size: var(--font-size-2xl);
	font-weight: var(--font-weight-bold);
	color: var(--color-text-primary);
	margin-bottom: var(--space-md);
}

.pillar-card p {
	color: var(--color-text-secondary);
	line-height: var(--line-height-relaxed);
	margin-bottom: var(--space-lg);
}

.pillar-link {
	display: inline-flex;
	align-items: center;
	color: var(--color-primary);
	font-weight: var(--font-weight-semibold);
	text-decoration: none;
	transition: all 0.3s ease;
}

.pillar-link:hover {
	color: var(--color-primary-dark);
	transform: translateX(4px);
}

/* Philosophy Section
---------------------------------------------- */
.about-philosophy-section {
	padding: var(--space-3xl) 0;
	background: var(--color-gray-50);
}

.philosophy-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-xl);
	margin-top: var(--space-2xl);
}

.philosophy-card {
	background: var(--color-white);
	padding: var(--space-2xl);
	border-radius: 16px;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
	transition: all 0.3s ease;
}

.philosophy-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
}

.philosophy-icon {
	width: 64px;
	height: 64px;
	margin-bottom: var(--space-lg);
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(var(--color-primary-rgb), 0.1);
	border-radius: 12px;
	color: var(--color-primary);
}

.philosophy-card h3 {
	font-size: var(--font-size-xl);
	font-weight: var(--font-weight-bold);
	color: var(--color-text-primary);
	margin-bottom: var(--space-md);
}

.philosophy-card p {
	color: var(--color-text-secondary);
	line-height: var(--line-height-relaxed);
	margin: 0;
}

/* Team Content Styles
---------------------------------------------- */
.team-content {
	max-width: 900px;
	margin: 0 auto;
}

.team-description {
	font-size: var(--font-size-md);
	color: var(--color-text-secondary);
	line-height: var(--line-height-relaxed);
	margin-bottom: var(--space-lg);
	text-align: center;
}

.team-highlights {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-xl);
	margin-top: var(--space-2xl);
}

.team-highlight {
	background: var(--color-white);
	padding: var(--space-xl);
	border-radius: 16px;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
	text-align: center;
}

.highlight-icon {
	width: 60px;
	height: 60px;
	margin: 0 auto var(--space-md);
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--color-secondary) 0%, var(--color-secondary-light) 100%);
	border-radius: 12px;
	color: var(--color-white);
}

.team-highlight h4 {
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-bold);
	color: var(--color-text-primary);
	margin-bottom: var(--space-sm);
}

.team-highlight p {
	color: var(--color-text-secondary);
	line-height: var(--line-height-relaxed);
	margin: 0;
}

/* CTA Section
---------------------------------------------- */
.about-cta-section {
	padding: var(--space-3xl) 0;
	background: var(--color-white);
}

.cta-wrapper {
	position: relative;
	background: linear-gradient(135deg, var(--color-secondary) 0%, #0A3A5E 100%);
	border-radius: 20px;
	padding: var(--space-2xl) var(--space-xl);
	box-shadow: 0 20px 60px rgba(15, 76, 129, 0.25);
	overflow: hidden;
}

.cta-content {
	position: relative;
	z-index: 1;
	color: var(--color-white);
	text-align: center;
}

.cta-content h2 {
	font-size: var(--font-size-3xl);
	font-weight: var(--font-weight-bold);
	color: var(--color-white);
	margin-bottom: var(--space-lg);
}

.cta-content > p {
	font-size: var(--font-size-md);
	color: rgba(255, 255, 255, 0.9);
	line-height: var(--line-height-relaxed);
	margin-bottom: var(--space-2xl);
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}

.cta-actions {
	margin-bottom: var(--space-2xl);
}

.cta-divisions {
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	padding-top: var(--space-xl);
	margin-top: var(--space-xl);
}

.divisions-label {
	display: block;
	font-size: var(--font-size-sm);
	color: rgba(255, 255, 255, 0.7);
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: var(--space-md);
}

.division-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-md);
	justify-content: center;
}

.division-link {
	display: inline-flex;
	align-items: center;
	gap: var(--space-xs);
	padding: var(--space-sm) var(--space-lg);
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 8px;
	color: var(--color-white) !important;
	text-decoration: none !important;
	font-weight: var(--font-weight-medium);
	transition: all 0.3s ease;
}

.division-link:visited {
	color: var(--color-white) !important;
}

.division-link:hover,
.division-link:focus {
	background: rgba(255, 255, 255, 0.2);
	border-color: rgba(255, 255, 255, 0.3);
	transform: translateY(-2px);
	color: var(--color-white) !important;
}

.division-link svg {
	flex-shrink: 0;
}

/* Responsive About Page Sections
---------------------------------------------- */
@media screen and (min-width: 768px) {
	.pillars-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.philosophy-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.team-highlights {
		grid-template-columns: repeat(3, 1fr);
	}

	.cta-wrapper {
		padding: var(--space-3xl) var(--space-2xl);
	}
}

/* ==================================================
   Modern Contact Page Template
   ================================================== */

.contact-page-template {
	background: var(--color-white);
}

.contact-container {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 var(--space-md);
}

/* Contact Hero Section
--------------------------------------------- */
.contact-hero-section {
	background: linear-gradient(135deg, #F0F7FF 0%, #E6F2FF 100%);
	padding: var(--space-3xl) 0;
	text-align: center;
	position: relative;
	overflow: hidden;
}

.contact-hero-section::before {
	content: '';
	position: absolute;
	bottom: -50%;
	right: -10%;
	width: 600px;
	height: 600px;
	background: radial-gradient(circle, rgba(255, 69, 0, 0.08) 0%, transparent 70%);
	border-radius: 50%;
}

.contact-hero-widget {
	position: relative;
	z-index: 1;
	max-width: 800px;
	margin: 0 auto;
}

.contact-hero-title {
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-weight: var(--font-weight-bold);  /* 700 */
	color: var(--color-secondary);
	margin-bottom: var(--space-lg);
	line-height: 1.2;
}

.contact-hero-widget p {
	font-size: var(--font-size-xl);
	color: var(--color-text-secondary);
	line-height: var(--line-height-relaxed);
	margin-bottom: 0;
}

/* Contact Info Cards
--------------------------------------------- */
.contact-cards-section {
	padding: var(--space-3xl) 0;
	background: var(--color-white);
}

.contact-cards-section .contact-container {
	max-width: 1320px;
	padding: 0 2rem;
}

.contact-cards-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-lg);
}

.contact-card {
	background: var(--color-white);
	padding: var(--space-lg);
	border-radius: 16px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	text-align: center;
	transition: all 0.3s ease;
	border: 2px solid var(--color-gray-100);
	position: relative;
	overflow: hidden;
}

.contact-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-secondary) 100%);
	transform: scaleX(0);
	transition: transform 0.3s ease;
}

.contact-card:hover::before {
	transform: scaleX(1);
}

.contact-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
	border-color: var(--color-primary);
	background: linear-gradient(135deg, #FFF9F5 0%, #FFFFFF 100%);
}

.contact-card-icon {
	font-size: 2.5rem;
	margin-bottom: var(--space-sm);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	margin: 0 auto var(--space-sm);
	background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%);
	border-radius: 50%;
	transition: all 0.3s ease;
}

.contact-card:hover .contact-card-icon {
	background: linear-gradient(135deg, var(--color-secondary) 0%, var(--color-secondary-light) 100%);
	transform: rotateY(360deg);
}

.contact-card-title {
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-bold);
	color: var(--color-secondary);
	margin-bottom: var(--space-sm);
	transition: color 0.3s ease;
}

.contact-card:hover .contact-card-title {
	color: var(--color-primary);
}

.contact-card p {
	color: var(--color-text-secondary);
	line-height: var(--line-height-relaxed);
	margin: 0;
}

.contact-card a {
	color: var(--color-primary);
	text-decoration: none;
	font-weight: var(--font-weight-semibold);
}

.contact-card a:hover {
	text-decoration: underline;
}

/* Contact Form Section
--------------------------------------------- */
.contact-form-section {
	padding: var(--space-3xl) 0;
	background: var(--color-gray-50);
}

.contact-content-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-2xl);
}

.contact-form-area {
	background: linear-gradient(135deg, #FFF9F5 0%, #FFFFFF 100%);
	padding: var(--space-2xl);
	border-radius: 20px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	border: 2px solid var(--color-gray-100);
}

.contact-form-area h2 {
	font-size: var(--font-size-2xl);
	font-weight: var(--font-weight-bold);
	color: var(--color-secondary);
	margin-bottom: var(--space-md);
}

.contact-form-area .form-intro {
	color: var(--color-text-secondary);
	margin-bottom: var(--space-lg);
	font-size: var(--font-size-base);
}

.contact-form {
	display: flex;
	flex-direction: column;
	gap: var(--space-lg);
}

.form-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-lg);
}

.form-group {
	display: flex;
	flex-direction: column;
	gap: var(--space-xs);
}

.form-group label {
	font-weight: var(--font-weight-semibold);
	color: var(--color-text-primary);
	font-size: var(--font-size-sm);
}

.form-group input,
.form-group select,
.form-group textarea {
	padding: var(--space-md);
	border: 2px solid var(--color-gray-50);
	border-radius: 8px;
	font-size: var(--font-size-base);
	font-family: var(--font-primary);
	transition: all 0.2s ease;
	background: var(--color-white);
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
	outline: none;
	border-color: var(--color-primary);
	box-shadow: 0 0 0 3px rgba(255, 69, 0, 0.1);
}

.form-group textarea {
	resize: vertical;
	min-height: 150px;
}

/* Contact Info Sidebar
--------------------------------------------- */
.contact-info-sidebar {
	background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);
	padding: var(--space-xl);
	border-radius: 20px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
	position: relative;
	overflow: hidden;
	height: 100%;
	display: flex;
	flex-direction: column;
	gap: var(--space-md);
}

.contact-info-sidebar::before {
	content: '';
	position: absolute;
	top: -50%;
	right: -50%;
	width: 200%;
	height: 200%;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
	pointer-events: none;
}

.contact-info-box {
	padding: var(--space-md) 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	position: relative;
	z-index: 1;
}

.contact-info-box:last-child {
	border-bottom: none;
}

.contact-info-icon {
	font-size: 1.5rem;
	margin-bottom: var(--space-xs);
	display: inline-block;
	margin-right: var(--space-xs);
}

.contact-info-box h3 {
	font-size: var(--font-size-md);
	font-weight: var(--font-weight-bold);
	color: var(--color-white);
	margin-bottom: var(--space-xs);
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	display: inline-block;
}

.contact-info-box p {
	color: rgba(255, 255, 255, 0.95);
	line-height: 1.6;
	margin: 0;
	font-size: 0.95rem;
}

.contact-info-box a {
	color: var(--color-white);
	text-decoration: none;
	font-weight: var(--font-weight-semibold);
	transition: all 0.2s ease;
	border-bottom: 1px solid transparent;
}

.contact-info-box a:hover {
	border-bottom-color: var(--color-white);
	opacity: 0.9;
}

/* Contact Map Section
--------------------------------------------- */
.contact-map-section {
	padding: 0;
	background: var(--color-white);
}

.contact-map-wrapper {
	width: 100%;
	height: 450px;
	border-radius: 0;
	overflow: hidden;
}

.contact-map-wrapper iframe {
	width: 100%;
	height: 100%;
	border: none;
	display: block;
}

/* Responsive for Contact Page
--------------------------------------------- */
@media screen and (min-width: 768px) {
	.contact-cards-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.form-row {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (min-width: 992px) {
	.contact-cards-grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.contact-content-grid {
		grid-template-columns: 2fr 1fr;
	}
}

/* FAQ Section
--------------------------------------------- */
.faq-section {
	padding: 5rem 0;
	background: var(--color-white);
}

.faq-container {
	max-width: 900px;
	margin: 0 auto;
}

.faq-item {
	background: var(--color-white);
	border: 1px solid #E8ECF1;
	border-radius: 12px;
	margin-bottom: 1rem;
	overflow: hidden;
	transition: all 0.3s ease;
}

.faq-item:hover {
	border-color: rgba(0, 0, 0, 0.15);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.faq-question {
	width: 100%;
	padding: 1rem 1.5rem;
	background: transparent;
	border: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1.5rem;
	cursor: pointer;
	text-align: left;
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--color-gray-900);
	transition: all 0.3s ease;
}

.faq-question:hover {
	color: white;
}

.faq-question span {
	flex: 1;
}

.faq-icon {
	flex-shrink: 0;
	transition: transform 0.3s ease;
	color: var(--color-primary);
}

.faq-question[aria-expanded="true"] .faq-icon {
	transform: rotate(180deg);
}

.faq-item:has(.faq-question[aria-expanded="true"]) {
	background: #F8F9FA;
	border-color: rgba(0, 0, 0, 0.12);
}

.faq-answer {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s ease, padding 0.4s ease;
}

.faq-question[aria-expanded="true"] + .faq-answer {
	max-height: 500px;
	padding: 0 1.5rem 1rem 1.5rem;
}

.faq-answer p {
	color: var(--color-text-secondary);
	line-height: 1.7;
	margin: 0;
	font-size: 1rem;
}

.faq-footer {
	text-align: center;
	margin-top: 3rem;
	padding-top: 3rem;
	border-top: 1px solid #E8ECF1;
}

.faq-footer p {
	font-size: 1.25rem;
	color: var(--color-gray-900);
	margin-bottom: 1.5rem;
	font-weight: 500;
}

/* FAQ Responsive */
@media screen and (max-width: 768px) {
	.faq-question {
		padding: 0.875rem 1.25rem;
		font-size: 1rem;
		gap: 1rem;
	}

	.faq-question[aria-expanded="true"] + .faq-answer {
		padding: 0 1.25rem 0.875rem 1.25rem;
	}

	.faq-icon {
		width: 20px;
		height: 20px;
	}
}

/* Contact Form Styles
--------------------------------------------- */
.ceyshore-contact-form {
	max-width: 100%;
	margin: 0 auto;
}

.ceyshore-contact-form .form-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	margin-bottom: 1rem;
}

.ceyshore-contact-form .form-group {
	display: flex;
	flex-direction: column;
}

.ceyshore-contact-form label {
	font-weight: var(--font-weight-semibold);
	color: var(--color-secondary);
	margin-bottom: 0.5rem;
	font-size: var(--font-size-sm);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.ceyshore-contact-form .required {
	color: var(--color-primary);
	margin-left: 2px;
}

.ceyshore-contact-form .form-control {
	padding: 0.875rem 1.25rem;
	border: 2px solid #E8ECF1;
	border-radius: 50px;
	font-size: var(--font-size-base);
	font-family: inherit;
	transition: all 0.3s ease;
	background: #F8F9FA;
	color: var(--color-text-primary);
	width: 100%;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.ceyshore-contact-form .form-control::placeholder {
	color: #A0AEC0;
	opacity: 1;
}

.ceyshore-contact-form .form-control:hover {
	border-color: #CBD5E0;
	background: var(--color-white);
}

.ceyshore-contact-form .form-control:focus {
	outline: none;
	border-color: var(--color-primary);
	box-shadow: 0 0 0 4px rgba(255, 69, 0, 0.1);
	background: #FFF9F5;
}

.ceyshore-contact-form textarea.form-control {
	resize: vertical;
	min-height: 140px;
	border-radius: 16px;
}

.ceyshore-contact-form select.form-control {
	cursor: pointer;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath fill='%23FF4500' d='M1.41 0L7 5.58 12.59 0 14 1.41l-7 7-7-7z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1.25rem center;
	padding-right: 3rem;
}

.ceyshore-contact-form .form-actions {
	margin-top: 2rem;
}

.ceyshore-contact-form .btn {
	min-width: 180px;
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
}

.ceyshore-contact-form .btn:disabled {
	opacity: 0.7;
	cursor: not-allowed;
}

.ceyshore-contact-form .form-message {
	padding: 1rem 1.25rem;
	border-radius: 8px;
	margin-bottom: 1.5rem;
	font-size: 0.95rem;
	font-weight: 500;
}

.ceyshore-contact-form .form-message.success {
	background: #D4EDDA;
	color: #155724;
	border: 1px solid #C3E6CB;
}

.ceyshore-contact-form .form-message.error {
	background: #F8D7DA;
	color: #721C24;
	border: 1px solid #F5C6CB;
}

@keyframes spin {
	to { transform: rotate(360deg); }
}

/* Responsive Form */
@media screen and (min-width: 768px) {
	.ceyshore-contact-form .form-row {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Contact Form Modal
--------------------------------------------- */
.contact-modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.8);
	z-index: 9999;
	overflow-y: auto;
	padding: 1rem;
}

.contact-modal.active {
	display: flex;
	align-items: center;
	justify-content: center;
}

.modal-content {
	background: var(--color-white);
	border-radius: 20px;
	width: 100%;
	max-width: 600px;
	max-height: 95vh;
	overflow-y: auto;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
	animation: modalSlideIn 0.3s ease-out;
	position: relative;
	margin: auto;
}

@keyframes modalSlideIn {
	from {
		opacity: 0;
		transform: translateY(-30px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.modal-header {
	padding: 1.5rem 1.5rem 1rem;
	border-bottom: 2px solid var(--color-gray-100);
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	background: linear-gradient(135deg, #FFF9F5 0%, #FFFFFF 100%);
	border-radius: 20px 20px 0 0;
}

.modal-header h2 {
	margin: 0;
	font-size: 1.5rem;
	color: var(--color-secondary);
	font-weight: var(--font-weight-bold);
}

.modal-header p {
	margin: 0.5rem 0 0;
	color: var(--color-text-secondary);
	font-size: var(--font-size-sm);
}

.modal-close {
	background: var(--color-white);
	border: 2px solid var(--color-gray-200);
	font-size: 1.5rem;
	line-height: 1;
	color: var(--color-text-secondary);
	cursor: pointer;
	padding: 0;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	transition: all 0.3s ease;
	flex-shrink: 0;
	margin-left: 1rem;
}

.modal-close:hover {
	background: var(--color-primary);
	color: var(--color-white);
	border-color: var(--color-primary);
	transform: rotate(90deg);
}

.modal-body {
	padding: 1.5rem;
}

/* Responsive Modal */
@media screen and (max-width: 768px) {
	.contact-modal {
		padding: 0.5rem;
		align-items: flex-start;
		padding-top: 1rem;
	}

	.modal-content {
		max-height: 98vh;
		border-radius: 16px;
		width: calc(100vw - 1rem);
	}

	.modal-header {
		padding: 1rem 1rem 0.875rem;
		border-radius: 16px 16px 0 0;
	}

	.modal-header h2 {
		font-size: 1.25rem;
	}

	.modal-close {
		width: 36px;
		height: 36px;
		font-size: 1.25rem;
	}

	.modal-body {
		padding: 0.75rem 1rem 1rem;
	}

	.ceyshore-contact-form .form-actions {
		margin-top: 1.25rem;
	}

	.ceyshore-contact-form .btn {
		width: 100%;
	}
}

/* Extra small screens - maximize width */
@media screen and (max-width: 480px) {
	.contact-modal {
		padding: 0.375rem;
	}

	.modal-content {
		width: calc(100vw - 0.75rem);
		border-radius: 12px;
	}

	.modal-header {
		padding: 0.875rem 0.875rem 0.75rem;
		border-radius: 12px 12px 0 0;
	}

	.modal-body {
		padding: 0.5rem 0.875rem 0.875rem;
	}

	.ceyshore-contact-form .form-control {
		padding: 0.75rem 1rem;
	}
}

/* Case Studies Page
--------------------------------------------- */
.case-studies-page-template .services-hero-section {
	background: linear-gradient(135deg, #FF4500 0%, #FF6B35 100%);
	color: var(--color-white);
	padding: 4rem 0;
}

.case-studies-page-template .about-hero-section .hero-title {
	color: var(--color-secondary);
}

.case-studies-page-template .about-hero-section .hero-subtitle {
	color: var(--color-text-secondary);
}

.case-studies-container {
	margin-top: 3rem;
}

.case-study-category {
	margin-bottom: 4rem;
}

.case-study-category:last-child {
	margin-bottom: 0;
}

.category-title {
	font-size: 1.875rem;
	font-weight: 700;
	color: var(--color-gray-900);
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	border-bottom: 3px solid var(--color-primary);
	display: inline-block;
}

.case-study-card {
	background: var(--color-white);
	border: 1px solid #E8ECF1;
	border-radius: 12px;
	padding: 2.5rem;
	margin-bottom: 2rem;
	transition: all 0.3s ease;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.case-study-card:hover {
	box-shadow: 0 8px 24px rgba(255, 69, 0, 0.12);
	transform: translateY(-4px);
	border-color: var(--color-primary-light);
}

.case-tag {
	display: inline-block;
	background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%);
	color: var(--color-white);
	padding: 0.5rem 1rem;
	border-radius: 6px;
	font-size: 0.875rem;
	font-weight: 600;
	margin-bottom: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.case-study-card h3 {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--color-gray-900);
	margin: 0 0 1.5rem 0;
	line-height: 1.4;
}

.case-details {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.case-detail-item strong {
	display: block;
	color: var(--color-primary);
	font-size: 1rem;
	margin-bottom: 0.5rem;
	font-weight: 700;
}

.case-detail-item p {
	color: var(--color-text-secondary);
	line-height: 1.7;
	margin: 0;
}

.case-results {
	background: #F8F9FA;
	padding: 1.5rem;
	border-radius: 8px;
	border-left: 4px solid var(--color-primary);
}

.case-results strong {
	display: block;
	color: var(--color-gray-900);
	font-size: 1.125rem;
	margin-bottom: 1rem;
	font-weight: 700;
}

.case-results ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.case-results ul li {
	color: var(--color-text-secondary);
	padding: 0.5rem 0;
	font-size: 1rem;
	line-height: 1.6;
}

.case-results ul li:first-child {
	padding-top: 0;
}

/* Case Studies Responsive */
@media screen and (max-width: 768px) {
	.case-study-card {
		padding: 1.5rem;
	}

	.case-study-card h3 {
		font-size: 1.25rem;
	}

	.category-title {
		font-size: 1.5rem;
	}

	.case-results {
		padding: 1rem;
	}
}

/*--------------------------------------------------------------
/* Container */
.container {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 1.5rem;
}

/* Global Mobile Container Padding */
@media screen and (max-width: 767px) {
	.container,
	.hero-container,
	.section-container,
	.footer-container,
	.post-container,
	.page-container,
	.services-container,
	.about-container,
	.contact-container {
		padding-left: var(--space-sm);  /* 16px on mobile */
		padding-right: var(--space-sm);
	}

	/* Contact form area - reduce padding on mobile */
	.contact-form-area {
		padding: var(--space-lg);
	}
}

/* Extra small screens - further optimize contact form */
@media screen and (max-width: 480px) {
	.contact-container {
		padding-left: 0.5rem;
		padding-right: 0.5rem;
	}

	.contact-form-area {
		padding: 0.875rem;
		border-radius: 16px;
	}

	.contact-form-area h2 {
		font-size: 1.25rem;
	}
}

/*--------------------------------------------------------------
# Blog Pages
--------------------------------------------------------------*/

/* Blog Hero Section */
.blog-hero {
	background: linear-gradient(135deg, var(--color-secondary) 0%, var(--color-secondary-dark) 100%);
	padding: 4rem 0 3rem;
	text-align: center;
	color: var(--color-white);
}

.blog-hero-content {
	max-width: 800px;
	margin: 0 auto;
}

.blog-hero-title {
	font-size: 2.5rem;
	font-weight: var(--font-weight-bold);
	margin: 0 0 1rem;
	color: var(--color-white);
}

.blog-hero-subtitle {
	font-size: 1.125rem;
	color: rgba(255, 255, 255, 0.9);
	line-height: 1.6;
}

/* Blog Section Layout */
.blog-section {
	padding: var(--section-padding);
	background: var(--color-gray-50);
}

.blog-layout {
	display: grid;
	grid-template-columns: 1fr 350px;
	gap: 3rem;
	align-items: start;
}

.blog-main {
	min-width: 0;
}

/* Blog Grid */
.blog-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 2rem;
	margin-bottom: 3rem;
}

/* Blog Card */
.blog-card {
	background: var(--color-white);
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	transition: all 0.3s ease;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.blog-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.blog-card-image {
	position: relative;
	padding-top: 56.25%;
	overflow: hidden;
	background: var(--color-gray-500);
}

.blog-card-image img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.blog-card:hover .blog-card-image img {
	transform: scale(1.05);
}

.blog-card-content {
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.blog-card-meta {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1rem;
	font-size: 0.875rem;
	color: var(--color-gray-500);
	flex-wrap: wrap;
}

.blog-card-meta svg {
	margin-right: 0.25rem;
	vertical-align: middle;
}

.blog-card-category a {
	color: var(--color-primary);
	text-decoration: none;
	font-weight: var(--font-weight-medium);
	transition: color 0.2s ease;
}

.blog-card-category a:hover {
	color: var(--color-primary-dark);
}

.blog-card-title {
	font-size: 1.25rem;
	font-weight: var(--font-weight-bold);
	margin: 0 0 0.75rem;
	line-height: 1.4;
}

.blog-card-title a {
	color: var(--color-text-primary);
	text-decoration: none;
	transition: color 0.2s ease;
}

.blog-card-title a:hover {
	color: var(--color-primary);
}

.blog-card-excerpt {
	color: var(--color-text-secondary);
	line-height: 1.6;
	margin-bottom: 1.5rem;
	flex: 1;
}

.blog-card-link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--color-primary);
	font-weight: var(--font-weight-medium);
	text-decoration: none;
	transition: gap 0.2s ease;
}

.blog-card-link:hover {
	gap: 0.75rem;
}

.blog-card-link svg {
	transition: transform 0.2s ease;
}

.blog-card-link:hover svg {
	transform: translateX(2px);
}

/* Pagination */
.pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
	margin-top: 3rem;
	flex-wrap: wrap;
}

.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0.5rem 1rem;
	background: var(--color-white);
	border: 1px solid var(--color-gray-500);
	border-radius: 6px;
	color: var(--color-text-primary);
	text-decoration: none;
	font-weight: var(--font-weight-medium);
	transition: all 0.2s ease;
}

.pagination .page-numbers:hover {
	background: var(--color-primary);
	border-color: var(--color-primary);
	color: var(--color-white);
}

.pagination .page-numbers.current {
	background: var(--color-primary);
	border-color: var(--color-primary);
	color: var(--color-white);
}

.pagination .page-numbers.dots {
	border: none;
	background: transparent;
}

/* Sidebar */
.post-sidebar,
aside.widget-area {
	position: sticky;
	top: 120px;
}

.sidebar-cta,
.widget {
	background: var(--color-white);
	border-radius: 12px;
	padding: 2rem;
	margin-bottom: 2rem;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.sidebar-cta h3,
.widget-title {
	font-size: 1.25rem;
	font-weight: var(--font-weight-bold);
	margin: 0 0 1rem;
	color: var(--color-text-primary);
}

.sidebar-cta p {
	color: var(--color-text-secondary);
	line-height: 1.6;
	margin-bottom: 1.5rem;
}

.sidebar-cta .btn {
	width: 100%;
	justify-content: center;
}

/* Widget Styles */
.widget ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.widget ul li {
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--color-gray-50);
}

.widget ul li:last-child {
	border-bottom: none;
}

.widget ul li a {
	color: var(--color-text-primary);
	text-decoration: none;
	transition: color 0.2s ease;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.widget ul li a:hover {
	color: var(--color-primary);
}

/* Responsive Blog */
@media screen and (max-width: 1024px) {
	.blog-layout {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.post-sidebar,
	aside.widget-area {
		position: static;
	}
}

@media screen and (max-width: 768px) {
	.blog-hero {
		padding: 3rem 0 2rem;
	}

	.blog-hero-title {
		font-size: 2rem;
	}

	.blog-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.blog-section {
		padding: 3rem 0;
	}
}

/*--------------------------------------------------------------
# Single Blog Post
--------------------------------------------------------------*/

.single-post-template {
	background: var(--color-white);
}

/* Post Container */
.post-container {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 var(--space-lg);
}

/* Breadcrumbs */
.post-breadcrumbs {
	background: var(--color-gray-50);
	padding: 1rem 0;
	font-size: 0.875rem;
}

.post-breadcrumbs nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}

.post-breadcrumbs a {
	color: var(--color-text-secondary);
	text-decoration: none;
	transition: color 0.2s ease;
}

.post-breadcrumbs a:hover {
	color: var(--color-primary);
}

.post-breadcrumbs .separator {
	color: var(--color-gray-500);
}

.post-breadcrumbs .current {
	color: var(--color-text-primary);
	font-weight: var(--font-weight-medium);
}

/* Post Header */
.post-header {
	padding: 3rem 0 2rem;
	text-align: center;
}

.post-categories {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	margin-bottom: 1rem;
	flex-wrap: wrap;
}

.post-category {
	display: inline-block;
	padding: 0.375rem 1rem;
	background: var(--color-primary);
	color: var(--color-white);
	border-radius: 20px;
	font-size: 0.875rem;
	font-weight: var(--font-weight-medium);
	text-decoration: none;
	transition: background 0.2s ease;
}

.post-category:hover {
	background: var(--color-primary-dark);
}

.post-title {
	font-size: 2.5rem;
	font-weight: var(--font-weight-bold);
	margin: 0 0 1.5rem;
	line-height: 1.2;
	color: var(--color-text-primary);
}

.post-meta {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2rem;
	flex-wrap: wrap;
	font-size: 0.9rem;
	color: var(--color-text-secondary);
}

.post-meta span {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.post-meta svg {
	color: var(--color-primary);
}

/* Featured Image */
.post-featured-image {
	margin-bottom: 3rem;
}

.post-featured-image img {
	width: 100%;
	height: auto;
	border-radius: 12px;
}

/* Post Content Grid */
.post-content-wrapper {
	padding: 2rem 0 4rem;
}

.post-content-grid {
	display: grid;
	grid-template-columns: 1fr 350px;
	gap: 3rem;
	align-items: start;
}

/* Post Content */
.post-content {
	color: var(--color-text-primary);
	font-size: 1.125rem;
	line-height: 1.8;
}

.post-content h1,
.post-content h2,
.post-content h3,
.post-content h4,
.post-content h5,
.post-content h6 {
	margin: 2rem 0 1rem;
	font-weight: var(--font-weight-bold);
	color: var(--color-text-primary);
	line-height: 1.3;
}

.post-content h2 {
	font-size: 2rem;
}

.post-content h3 {
	font-size: 1.5rem;
}

.post-content p {
	margin: 0 0 1.5rem;
}

.post-content ul,
.post-content ol {
	margin: 0 0 1.5rem;
	padding-left: 2rem;
}

.post-content li {
	margin-bottom: 0.5rem;
}

.post-content img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	margin: 2rem 0;
}

.post-content blockquote {
	border-left: 4px solid var(--color-primary);
	padding: 1.5rem;
	margin: 2rem 0;
	background: var(--color-gray-50);
	border-radius: 0 8px 8px 0;
	font-style: italic;
	color: var(--color-text-secondary);
}

.post-content a {
	color: var(--color-primary);
	text-decoration: underline;
	transition: color 0.2s ease;
}

.post-content a:hover {
	color: var(--color-primary-dark);
}

/* Post Tags */
.post-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	margin: 2rem 0;
	padding: 1.5rem 0;
	border-top: 1px solid var(--color-gray-50);
}

.tags-label {
	font-weight: var(--font-weight-medium);
	color: var(--color-text-primary);
	margin-right: 0.5rem;
}

.post-tag {
	display: inline-block;
	padding: 0.375rem 1rem;
	background: var(--color-gray-50);
	color: var(--color-text-secondary);
	border-radius: 20px;
	font-size: 0.875rem;
	text-decoration: none;
	transition: all 0.2s ease;
}

.post-tag:hover {
	background: var(--color-primary);
	color: var(--color-white);
}

/* Social Sharing */
.post-sharing {
	margin: 3rem 0;
	padding: 2rem;
	background: var(--color-gray-50);
	border-radius: 12px;
}

.sharing-title {
	font-size: 1.25rem;
	font-weight: var(--font-weight-bold);
	margin: 0 0 1.5rem;
	color: var(--color-text-primary);
}

.sharing-buttons {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
}

.share-button {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.75rem 1.5rem;
	border-radius: 50px;
	font-weight: var(--font-weight-medium);
	text-decoration: none;
	transition: all 0.2s ease;
	color: var(--color-white);
}

.share-button.linkedin {
	background: #0077B5;
}

.share-button.facebook {
	background: #1877F2;
}

.share-button.twitter {
	background: #1DA1F2;
}

.share-button.email {
	background: var(--color-secondary);
}

.share-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Author Box */
.author-box {
	background: var(--color-gray-50);
	padding: 2rem;
	border-radius: 12px;
	display: flex;
	gap: 1.5rem;
	margin-bottom: 2rem;
}

.author-avatar img {
	width: 80px;
	height: 80px;
	border-radius: 50%;
}

.author-info h3 {
	font-size: 1.25rem;
	margin: 0 0 0.5rem;
}

.author-bio {
	color: var(--color-text-secondary);
	line-height: 1.6;
}

/* Related Posts Section */
.related-posts-section {
	background: var(--color-white);
	padding: 4rem 0;
	margin-top: 3rem;
	border-top: 1px solid var(--color-border);
}

.related-posts-title {
	font-family: var(--font-heading-secondary);
	font-size: var(--font-size-3xl);
	font-weight: var(--font-weight-bold);  /* 700 */
	color: var(--color-text-primary);
	margin-bottom: 2rem;
	text-align: center;
}

.related-posts-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 2rem;
}

.related-post-card {
	background: var(--color-white);
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	transition: all 0.3s ease;
	display: flex;
	flex-direction: column;
}

.related-post-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.related-post-image {
	overflow: hidden;
	aspect-ratio: 16 / 9;
}

.related-post-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.related-post-card:hover .related-post-image img {
	transform: scale(1.05);
}

.related-post-content {
	padding: 1.5rem;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

.related-post-title {
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-semibold);
	margin-bottom: 0.75rem;
	line-height: 1.4;
}

.related-post-title a {
	color: var(--color-text-primary);
	text-decoration: none;
	transition: color 0.2s ease;
}

.related-post-title a:hover {
	color: var(--color-primary);
}

.related-post-meta {
	font-size: var(--font-size-sm);
	color: var(--color-text-secondary);
	margin-top: auto;
}

/* Post Navigation */
.post-navigation-wrapper {
	background: var(--color-gray-50);
	padding: 3rem 0;
	margin-top: 3rem;
	border-top: 1px solid var(--color-border);
}

.post-navigation .nav-links {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
}

.post-navigation .nav-previous,
.post-navigation .nav-next {
	background: var(--color-white);
	border-radius: 8px;
	border: 2px solid var(--color-border);
	transition: all 0.3s ease;
	overflow: hidden;
}

.post-navigation .nav-previous:hover,
.post-navigation .nav-next:hover {
	border-color: var(--color-primary);
	box-shadow: 0 4px 16px rgba(255, 69, 0, 0.15);
	transform: translateY(-2px);
}

.post-navigation a {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding: 2rem;
	text-decoration: none;
	height: 100%;
}

.post-navigation .nav-subtitle {
	font-size: var(--font-size-sm);
	color: var(--color-primary);
	font-weight: var(--font-weight-semibold);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.post-navigation .nav-previous .nav-subtitle::before {
	content: "←";
	font-size: 1.25rem;
}

.post-navigation .nav-next .nav-subtitle::after {
	content: "→";
	font-size: 1.25rem;
}

.post-navigation .nav-next {
	text-align: right;
}

.post-navigation .nav-next .nav-subtitle {
	justify-content: flex-end;
}

.post-navigation .nav-title {
	font-size: var(--font-size-lg);
	color: var(--color-text-primary);
	font-weight: var(--font-weight-bold);  /* 700 */
	line-height: 1.4;
}

/* Comments */
.post-comments-wrapper {
	padding: 3rem 0;
}

/* Responsive Single Post */
@media screen and (max-width: 1024px) {
	.post-content-grid {
		grid-template-columns: 1fr;
	}

	.post-sidebar {
		position: static;
	}
}

@media screen and (max-width: 768px) {
	.post-title {
		font-size: 2rem;
	}

	.post-meta {
		gap: 1rem;
		font-size: 0.8rem;
	}

	.post-content {
		font-size: 1rem;
	}

	.post-navigation .nav-links {
		grid-template-columns: 1fr;
	}

	.post-navigation .nav-next {
		text-align: left;
	}

	.post-navigation .nav-next .nav-subtitle {
		justify-content: flex-start;
	}

	.related-posts-grid {
		grid-template-columns: 1fr;
	}

	.sharing-buttons {
		flex-direction: column;
	}

	.share-button {
		justify-content: center;
	}

	.author-box {
		flex-direction: column;
		text-align: center;
	}
}

@keyframes float-bubble-7 {
	0%, 100% {
		transform: translate(0, 0) rotate(0deg);
	}
	30% {
		transform: translate(-22px, 18px) rotate(-5deg);
	}
	65% {
		transform: translate(18px, -20px) rotate(4deg);
	}
}

@keyframes float-bubble-8 {
	0%, 100% {
		transform: translate(0, 0) rotate(0deg);
	}
	35% {
		transform: translate(20px, 22px) rotate(5deg);
	}
	70% {
		transform: translate(-16px, -18px) rotate(-4deg);
	}
}


/*--------------------------------------------------------------
# Service Page Template - Gutenberg Block Styling
--------------------------------------------------------------*/

/* Style Gutenberg groups to look like service cards */
/* Full-width sections should be clean but keep their backgrounds */
.services-content .wp-block-group.alignfull,
.services-content .alignfull {
	padding: 0 !important;
	box-shadow: none !important;
	border: none !important;
	border-radius: 0 !important;
	transform: none !important;
}

/* Remove any hover effects from full-width sections */
.services-content .wp-block-group.alignfull:hover,
.services-content .alignfull:hover {
	transform: none !important;
	box-shadow: none !important;
}

/* Inner containers of alignfull sections should also be clean */
.services-content .alignfull > .wp-block-group__inner-container {
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

/* 3-Column sections with card styling for plain content columns */
/* Add card styling to columns in sections with has-base-background-color that don't have special cards */
.services-content .wp-block-group.has-base-background-color .wp-block-columns.alignwide .wp-block-column:not(:has(.process-step)):not(:has(.pricing-card)):not(:has(.testimonial-card)):not(:has(.feature-icon)) {
	background: var(--color-white);
	border-radius: 16px;
	padding: 2rem 1.5rem;
	border: 1px solid rgba(0, 0, 0, 0.06);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
	transition: all 0.3s ease;
}

.services-content .wp-block-group.has-base-background-color .wp-block-columns.alignwide .wp-block-column:not(:has(.process-step)):not(:has(.pricing-card)):not(:has(.testimonial-card)):not(:has(.feature-icon)):hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
	border-color: rgba(255, 107, 53, 0.2);
}

/* Text animations on hover for column content */
.services-content .wp-block-group.has-base-background-color .wp-block-columns.alignwide .wp-block-column:not(:has(.process-step)):not(:has(.pricing-card)):not(:has(.testimonial-card)):not(:has(.feature-icon)):hover h3,
.services-content .wp-block-group.has-base-background-color .wp-block-columns.alignwide .wp-block-column:not(:has(.process-step)):not(:has(.pricing-card)):not(:has(.testimonial-card)):not(:has(.feature-icon)):hover .wp-block-heading {
	color: var(--color-primary);
	transform: translateX(4px);
}

.services-content .wp-block-group.has-base-background-color .wp-block-columns.alignwide .wp-block-column h3,
.services-content .wp-block-group.has-base-background-color .wp-block-columns.alignwide .wp-block-column .wp-block-heading {
	transition: all 0.3s ease;
}

/* Columns styling */
.services-content .wp-block-columns {
	margin-bottom: 2rem;
	border: none;
}


/* Headings inside service content */
.services-content h2,
.services-content .wp-block-heading.has-x-large-font-size,
.services-content .wp-block-heading.has-large-font-size {
	font-size: 2rem;
	font-weight: var(--font-weight-bold);
	color: var(--color-secondary);
	margin-bottom: 1rem;
	margin-top: 2rem;
	line-height: 1.3;
}

.services-content h3,
.services-content .wp-block-heading.has-medium-large-font-size {
	font-size: 1.5rem;
	font-weight: var(--font-weight-bold);
	color: var(--color-secondary);
	margin-bottom: 0.75rem;
	margin-top: 1.25rem;
	line-height: 1.3;
}

/* First heading in a group/section */
.services-content .wp-block-group > h2:first-child,
.services-content .wp-block-group > .wp-block-heading:first-child {
	margin-top: 0;
}

/* Paragraphs */
.services-content p {
	color: var(--color-text-secondary);
	line-height: 1.7;
	margin-bottom: 1rem;
	font-size: 0.95rem;
}

.services-content .has-text-align-center p {
	color: var(--color-text-secondary);
}

/* Lists - styled with checkmarks like service cards */
.services-content ul:not(.wp-block-social-links) {
	list-style: none;
	padding: 0;
	margin: 1rem 0;
}

.services-content ul:not(.wp-block-social-links) li {
	padding-left: 1.75rem;
	margin-bottom: 0.5rem;
	position: relative;
	color: var(--color-text-primary);
	line-height: 1.6;
	font-size: 0.95rem;
}

.services-content ul:not(.wp-block-social-links) li::before {
	content: '✓';
	position: absolute;
	left: 0;
	color: var(--color-primary);
	font-weight: var(--font-weight-bold);
	font-size: 1.1rem;
}

/* Ordered lists */
.services-content ol {
	padding-left: 1.5rem;
	margin: 1rem 0;
}

.services-content ol li {
	margin-bottom: 0.5rem;
	line-height: 1.6;
	color: var(--color-text-primary);
}

/* Spacer blocks */
.services-content .wp-block-spacer {
	margin: 0;
}

/* Images */
.services-content .wp-block-image {
	margin: 2rem 0;
}

.services-content .wp-block-image img {
	border-radius: 12px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}


/* Responsive adjustments */
@media screen and (max-width: 767px) {
	.services-content h2,
	.services-content .wp-block-heading.has-x-large-font-size,
	.services-content .wp-block-heading.has-large-font-size {
		font-size: 1.5rem;
	}

	.services-content h3,
	.services-content .wp-block-heading.has-medium-large-font-size {
		font-size: 1.25rem;
	}
}

/* Bottom CTA Section - matches About page style */
.services-content .wp-block-group.alignfull.has-contrast-background-color:not(.expert-consultation-banner) {
	background: var(--color-white) !important;
	padding: var(--space-3xl) 0 !important;
}

/* Create the inner blue gradient box for bottom CTA */
.services-content .wp-block-group.alignfull.has-contrast-background-color:not(.expert-consultation-banner) > * {
	position: relative;
	background: linear-gradient(135deg, var(--color-secondary) 0%, #0A3A5E 100%);
	border-radius: 20px;
	padding: var(--space-2xl) var(--space-xl);
	box-shadow: 0 20px 60px rgba(15, 76, 129, 0.25);
	max-width: 1320px;
	margin: 0 auto;
}

.services-content .wp-block-group.alignfull.has-contrast-background-color:not(.expert-consultation-banner) h2,
.services-content .wp-block-group.alignfull.has-contrast-background-color:not(.expert-consultation-banner) .wp-block-heading {
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: var(--font-weight-bold);
	color: var(--color-white) !important;
	margin-bottom: 1.5rem;
}

.services-content .wp-block-group.alignfull.has-contrast-background-color:not(.expert-consultation-banner) p {
	font-size: 1.125rem;
	color: rgba(255, 255, 255, 0.9) !important;
	line-height: 1.7;
	margin-bottom: 2.5rem;
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}

.services-content .wp-block-group.alignfull.has-contrast-background-color:not(.expert-consultation-banner) .wp-block-spacer {
	margin-bottom: 0 !important;
}

.services-content .wp-block-group.alignfull.has-contrast-background-color:not(.expert-consultation-banner) .wp-block-button__link {
	background: white !important;
	color: var(--color-secondary) !important;
	font-weight: var(--font-weight-semibold);
}

.services-content .wp-block-group.alignfull.has-contrast-background-color:not(.expert-consultation-banner) .wp-block-button__link:hover {
	background: var(--color-primary) !important;
	color: white !important;
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(255, 107, 53, 0.3);
}

/* Responsive bottom CTA */
@media screen and (max-width: 991px) {
	.services-content .wp-block-group.alignfull.has-contrast-background-color:not(.expert-consultation-banner) {
		padding: var(--space-2xl) 0 !important;
	}

	.services-content .wp-block-group.alignfull.has-contrast-background-color:not(.expert-consultation-banner) > * {
		padding: var(--space-2xl) var(--space-lg);
	}
}

@media screen and (max-width: 767px) {
	.services-content .wp-block-group.alignfull.has-contrast-background-color:not(.expert-consultation-banner) > * {
		padding: var(--space-xl) var(--space-md);
		border-radius: 16px;
	}
}

/*--------------------------------------------------------------
# Service Page Layout - Pricing Cards & Special Sections
--------------------------------------------------------------*/

/* Pricing Cards */
.services-content .pricing-card {
	border-radius: 16px;
	border: 2px solid rgba(0, 0, 0, 0.08);
	transition: all 0.3s ease;
	background: var(--color-white);
	padding: 2rem;
	position: relative;
}

.services-content .pricing-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
	border-color: rgba(0, 0, 0, 0.12);
}

/* Pricing card text animations */
.services-content .pricing-card:hover h3,
.services-content .pricing-card:hover .wp-block-heading {
	color: var(--color-primary);
	transform: scale(1.02);
}

.services-content .pricing-card h3,
.services-content .pricing-card .wp-block-heading {
	transition: all 0.3s ease;
}

/* Featured/Popular Pricing Card */
.services-content .pricing-featured {
	border-color: var(--color-primary);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
	position: relative;
}

.services-content .pricing-featured::before {
	content: 'Most Popular';
	position: absolute;
	top: -12px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--color-primary);
	color: white;
	padding: 0.25rem 1rem;
	border-radius: 20px;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	z-index: 1;
}

.services-content .pricing-featured:hover {
	border-color: var(--color-primary);
	box-shadow: 0 16px 32px rgba(0, 0, 0, 0.2);
}

/* Pricing card headings */
.services-content .pricing-card h3,
.services-content .pricing-card .wp-block-heading {
	font-size: 1.5rem;
	font-weight: var(--font-weight-bold);
	color: var(--color-secondary);
	margin-bottom: 0.5rem;
	margin-top: 0;
}

/* Pricing amount */
.services-content .pricing-card p:first-of-type {
	font-size: 2.5rem;
	font-weight: var(--font-weight-bold);
	color: var(--color-primary);
	margin: 1rem 0;
	line-height: 1;
}

/* Pricing card buttons - match service-link style */
.services-content .pricing-card .wp-block-button__link {
	background: #2D3748 !important;
	color: var(--color-white) !important;
	font-weight: var(--font-weight-semibold);
	border-radius: 50px;
	padding: 0.75rem 1.5rem;
	font-size: 0.9rem;
	box-shadow: none;
}

.services-content .pricing-card .wp-block-button__link:hover {
	background: #1A202C !important;
	color: var(--color-white) !important;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(45, 55, 72, 0.3);
}

/* FAQ Section */
.services-content .faq-item {
	background: var(--color-white);
	border-radius: 12px;
	padding: 1.5rem;
	margin-bottom: 1rem;
	border: 1px solid rgba(0, 0, 0, 0.06);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
	transition: all 0.3s ease;
}

.services-content .faq-item:hover {
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	border-color: rgba(0, 0, 0, 0.15);
}

.services-content .faq-item h4,
.services-content .faq-item .wp-block-heading {
	font-size: 1.125rem;
	font-weight: var(--font-weight-semibold);
	color: var(--color-secondary);
	margin-bottom: 0.75rem;
	margin-top: 0;
}

/* Two-column layout for What's Included section */
.services-content .two-column-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem;
}

@media screen and (max-width: 767px) {
	.services-content .two-column-list {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.services-content .pricing-card {
		padding: 1.5rem;
	}

	.services-content .pricing-card p:first-of-type {
		font-size: 2rem;
	}

	.services-content .process-step {
		padding: 1.5rem;
	}
}

/*--------------------------------------------------------------
# Additional Service Page Sections
--------------------------------------------------------------*/

/* Testimonial Cards */
.services-content .testimonial-card,
.testimonials-section .testimonial-card {
	background: var(--color-white);
	border-radius: 16px;
	padding: 1.5rem;
	border: 1px solid rgba(0, 0, 0, 0.06);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
	transition: all 0.3s ease;
}

.services-content .testimonial-card:hover,
.testimonials-section .testimonial-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

.services-content .testimonial-card p:first-child,
.testimonials-section .testimonial-card p:first-child {
	font-style: italic;
	color: var(--color-text-primary);
	line-height: 1.6;
	margin-bottom: 1rem;
}

.services-content .testimonial-card p:last-child,
.testimonials-section .testimonial-card p:last-child {
	color: var(--color-text-secondary);
	margin-bottom: 0;
}

/* Expert Consultation Banner - matches About page CTA style */
.services-content .expert-consultation-banner,
.expert-consultation-banner {
	background: var(--color-white) !important;
	padding: var(--space-3xl) 0 !important;
}

/* Create the inner blue gradient box to match About page CTA */
.expert-consultation-banner > * {
	position: relative;
	background: linear-gradient(135deg, var(--color-secondary) 0%, #0A3A5E 100%);
	border-radius: 20px;
	padding: var(--space-2xl) var(--space-xl);
	box-shadow: 0 20px 60px rgba(15, 76, 129, 0.25);
	max-width: 1320px;
	margin: 0 auto;
}

.expert-consultation-banner h2,
.expert-consultation-banner p {
	color: white !important;
}

.expert-consultation-banner h2 {
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: var(--font-weight-bold);
	margin-bottom: 1.5rem;
}

.expert-consultation-banner p {
	font-size: 1.125rem;
	color: rgba(255, 255, 255, 0.9) !important;
	line-height: 1.7;
	margin-bottom: 2.5rem;
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}

/* Expert consultation banner buttons - using global styles with color override */
.expert-consultation-banner .wp-block-buttons {
	margin-bottom: 0;
}

.expert-consultation-banner .wp-block-button__link {
	background: white !important;
	color: var(--color-secondary) !important;
	font-weight: var(--font-weight-semibold);
}

.expert-consultation-banner .wp-block-button__link:hover {
	background: var(--color-primary) !important;
	color: white !important;
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(255, 107, 53, 0.3);
}

/* Responsive CTA section */
@media screen and (max-width: 991px) {
	.expert-consultation-banner {
		padding: var(--space-2xl) 0 !important;
	}

	.expert-consultation-banner > * {
		padding: var(--space-2xl) var(--space-lg);
	}

	.expert-consultation-banner h2 {
		font-size: 1.75rem;
		margin-bottom: 1rem;
	}

	.expert-consultation-banner p {
		font-size: 1rem;
		margin-bottom: 2rem;
	}
}

@media screen and (max-width: 767px) {
	.expert-consultation-banner {
		padding: var(--space-xl) 0 !important;
	}

	.expert-consultation-banner > * {
		padding: var(--space-xl) var(--space-md);
		border-radius: 16px;
	}
}

/* Section Captions - uppercase small text */
.services-content p.has-small-font-size[style*="text-transform:uppercase"],
.services-content p.has-small-font-size[style*="text-transform: uppercase"] {
	color: var(--color-primary);
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-bottom: 0.5rem;
}

/* Process Steps with class */
.services-content .process-step,
.services-content .wp-block-group.process-step {
	background: linear-gradient(135deg, #FAFBFC 0%, #FFFFFF 100%);

	padding: 1.75rem;
	border: 1px solid rgba(0, 0, 0, 0.06);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
	transition: all 0.3s ease;
	margin-bottom: 0;
	display: block !important;
	grid-template-columns: unset !important;
	gap: unset !important;
	align-items: unset !important;
	text-align: center;
}

.services-content .process-step:hover,
.services-content .wp-block-group.process-step:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.services-content .process-step h4,
.services-content .process-step .wp-block-heading {
	word-wrap: break-word;
	overflow-wrap: break-word;
	hyphens: none;
}

/* FAQ Items with class */
.services-content .faq-item,
.faq-item {
	background: var(--color-white);
	border-radius: 12px;
	padding: 1.5rem;
	margin-bottom: 1rem;
	border: 1px solid rgba(0, 0, 0, 0.06);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
	transition: all 0.3s ease;
}

.services-content .faq-item:hover,
.faq-item:hover {
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	border-color: rgba(0, 0, 0, 0.15);
}

.services-content .faq-item h4,
.faq-item h4,
.services-content .faq-item .wp-block-heading,
.faq-item .wp-block-heading {
	font-size: 1.125rem;
	font-weight: var(--font-weight-semibold);
	color: var(--color-secondary);
	margin-bottom: 0.75rem;
	margin-top: 0;
}

.services-content .faq-item p,
.faq-item p {
	color: var(--color-text-secondary);
	line-height: 1.7;
	margin-bottom: 0;
}

/* Responsive adjustments for new sections */
@media screen and (max-width: 767px) {
	.services-content .testimonial-card,
	.testimonials-section .testimonial-card,
	.services-content .process-step,
	.process-step {
		padding: 1.25rem;
	}

	.services-content .faq-item,
	.faq-item {
		padding: 1.25rem;
	}

	/* Responsive padding for constrained containers */
	.services-content .wp-block-group__inner-container.is-layout-constrained,
	.services-content .alignfull > .wp-block-group__inner-container {
		padding-left: var(--space-sm);
		padding-right: var(--space-sm);
	}
}

/*--------------------------------------------------------------
# Service Content Full Width Support
--------------------------------------------------------------*/

/* Allow full-width blocks within services-content */
.services-content {
	width: 100%;
	max-width: 100%;
}

.services-content > .alignfull {
	padding-left: var(--space-sm);
	padding-right: var(--space-sm);
}

/* Override WordPress constrained layout to match site container width */
.services-content .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: 1320px;
	margin-left: auto !important;
	margin-right: auto !important;
}

.services-content .wp-block-group.is-layout-constrained,
.services-content .is-layout-constrained {
	max-width: 100%;
}

.services-content .wp-block-group__inner-container.is-layout-constrained {
	padding-left: var(--space-md);
	padding-right: var(--space-md);
}

/* Constrained content within full-width sections */
.services-content .alignfull > .wp-block-group__inner-container,
.services-content .alignfull .is-layout-constrained,
.services-content .alignfull .wp-block-group__inner-container.is-layout-constrained {
	max-width: 1320px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: var(--space-md);
	padding-right: var(--space-md);
}

/* Ensure CTA sections and banner sections are properly constrained */
.services-content .expert-consultation-banner .is-layout-constrained,
.services-content .alignfull.has-contrast-background-color .is-layout-constrained {
	max-width: 1320px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/*--------------------------------------------------------------
# Service Page Image Placeholders
--------------------------------------------------------------*/

/* Hero Image */
.services-content .hero-image-placeholder {
	margin-top: 0;
	margin-bottom: 2rem;
}

.services-content .hero-image-placeholder img {
	border-radius: 16px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

/* Feature Icons - Simple, no borders or hover effects */
.services-content .feature-icon {
	margin-bottom: 1.5rem;
	margin-top: 0;
	display: flex;
	justify-content: center;
}

.services-content .feature-icon figure {
	margin: 0;
	display: flex;
	justify-content: center;
}

.services-content .feature-icon img {
	width: 80px !important;
	height: 80px !important;
	max-width: 80px !important;
	border-radius: 50%;
	object-fit: cover;
}

/* Why Choose Us columns - simple borders without rounded cards */
.services-content .wp-block-group.has-base-background-color .wp-block-columns.alignwide .wp-block-column:has(.feature-icon) {
	background: transparent !important;
	border-radius: 0 !important;
	padding: 2rem 1.5rem !important;
	border: 1px solid rgba(0, 0, 0, 0.1) !important;
	box-shadow: none !important;
	transition: all 0.3s ease;
}

.services-content .wp-block-group.has-base-background-color .wp-block-columns.alignwide .wp-block-column:has(.feature-icon):hover {
	transform: none !important;
	box-shadow: none !important;
	border-color: rgba(255, 107, 53, 0.3) !important;
}

/* Who We Help section columns - simple borders without rounded cards */
.services-content .wp-block-group.alignfull:not(.has-base-background-color):not(.has-contrast-background-color):not(.testimonials-section):not(.expert-consultation-banner) .wp-block-columns.alignwide .wp-block-column:not(:has(.pricing-card)) {
	background: transparent !important;
	border-radius: 0 !important;
	padding: 2rem 1.5rem !important;
	border: 1px solid rgba(0, 0, 0, 0.1) !important;
	box-shadow: none !important;
	transition: all 0.3s ease;
}

.services-content .wp-block-group.alignfull:not(.has-base-background-color):not(.has-contrast-background-color):not(.testimonials-section):not(.expert-consultation-banner) .wp-block-columns.alignwide .wp-block-column:not(:has(.pricing-card)):hover {
	transform: none !important;
	box-shadow: none !important;
	border-color: rgba(255, 107, 53, 0.3) !important;
}

/* Process Icons */
.services-content .process-icon {
	margin-bottom: 1rem;
	margin-top: 0;
}

.services-content .process-icon img {
	border-radius: 50%;
	box-shadow: 0 4px 12px rgba(15, 76, 129, 0.3);
	transition: transform 0.3s ease;
	border: 3px solid var(--color-primary);
}

.services-content .process-step:hover .process-icon img {
	transform: scale(1.1) rotate(5deg);
}

/* Responsive image sizing */
@media screen and (max-width: 767px) {
	.services-content .hero-image-placeholder img {
		width: 100% !important;
		height: auto !important;
		max-width: 500px;
	}

	.services-content .feature-icon img,
	.services-content .process-icon img {
		width: 50px !important;
		height: 50px !important;
	}
}
