/**
 * Digital Jadugar design system and shared components.
 *
 * Keep page-specific styles in the relevant sections below this shared layer.
 * Reuse these tokens and components before adding new values or selectors.
 *
 * @package DigitalJadugar_Agency
 */

/*--------------------------------------------------------------
01 Variables
--------------------------------------------------------------*/
:root {
	/* Brand colors. */
	--color-primary: #7c3aed;
	--color-secondary: #2563eb;
	--color-accent: #06b6d4;
	--color-pink: #ec4899;
	--color-success: #10b981;
	--color-warning: #f59e0b;

	/* Neutral colors. */
	--color-dark: #0b132b;
	--color-text: #1f2937;
	--color-text-light: #6b7280;
	--color-border: #e5e7eb;
	--color-white: #fff;

	/* Backgrounds. */
	--color-bg-light: #f8faff;
	--color-bg-soft: #f5f3ff;

	/* Gradients. Use sparingly for important conversion elements. */
	--gradient-primary: linear-gradient(135deg, #7c3aed 0%, #2563eb 100%);
	--gradient-accent: linear-gradient(135deg, #ec4899 0%, #06b6d4 100%);
	--gradient-light: linear-gradient(135deg, #f5f3ff 0%, #eef2ff 100%);

	/* Typography. */
	--font-primary: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--font-size-body: 1.05rem;
	--font-size-small: 0.95rem;
	--font-size-caption: 0.875rem;
	--line-height-body: 1.7;
	--line-height-small: 1.6;
	--line-height-caption: 1.5;

	/* Containers. */
	--container-wide: 1320px;
	--container-default: 1180px;
	--container-narrow: 920px;
	--container-gutter: 24px;

	/* Spacing. */
	--section-space-xl: 120px;
	--section-space-lg: 100px;
	--section-space-md: 80px;
	--section-space-sm: 60px;
	--space-2xs: 4px;
	--space-xs: 8px;
	--space-sm: 12px;
	--space-md: 16px;
	--space-lg: 24px;
	--space-xl: 32px;
	--space-2xl: 48px;

	/* Radius. */
	--radius-xs: 6px;
	--radius-sm: 10px;
	--radius-md: 16px;
	--radius-lg: 22px;
	--radius-pill: 999px;

	/* Shadows. */
	--shadow-sm: 0 6px 24px rgba(11, 19, 43, 0.05);
	--shadow-md: 0 12px 40px rgba(11, 19, 43, 0.08);

	/* Motion. */
	--transition-fast: 0.2s ease;
	--transition-base: 0.3s ease;
}

/*--------------------------------------------------------------
02 Reset / Base
--------------------------------------------------------------*/
html {
	scroll-behavior: smooth;
	max-width: 100vw;
	overflow-x: clip;
}

body {
	background: var(--color-white);
	color: var(--color-text);
	font-family: var(--font-primary);
	font-size: var(--font-size-body);
	font-weight: 400;
	line-height: var(--line-height-body);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	max-width: 100vw;
	overflow-x: clip;
}

body,
button,
input,
select,
optgroup,
textarea {
	font-family: var(--font-primary);
}

img,
svg,
video {
	display: block;
	max-width: 100%;
}

img,
video {
	height: auto;
}

button,
input,
select,
textarea {
	font: inherit;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
	cursor: pointer;
}

::selection {
	background: var(--color-primary);
	color: var(--color-white);
}

/* Remove starter-theme page spacing; sections own their vertical rhythm. */
.page {
	margin-bottom: 0;
}

/*--------------------------------------------------------------
03 Typography
--------------------------------------------------------------*/
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
	clear: none;
	color: var(--color-dark);
	font-family: var(--font-primary, "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif) !important;
	font-weight: 700;
	letter-spacing: -0.025em;
	margin: 0 0 var(--space-md);
}

h1 {
	font-size: clamp(2.5rem, 5vw, 3.5rem);
	line-height: 1.14;
}

h2 {
	font-size: clamp(2rem, 4vw, 2.5rem);
	line-height: 1.2;
}

h3 {
	font-size: clamp(1.5rem, 3vw, 2rem);
	line-height: 1.25;
}

h4 {
	font-size: clamp(1.25rem, 2vw, 1.5rem);
	font-weight: 600;
	line-height: 1.333;
}

h5 {
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.4;
}

h6 {
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.5;
}

p {
	font-size: var(--font-size-body);
	line-height: var(--line-height-body);
	margin: 0 0 var(--space-lg);
}

p:last-child {
	margin-bottom: 0;
}

li {
	font-size: var(--font-size-body);
	line-height: var(--line-height-body);
}

a {
	color: var(--color-secondary);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
	transition: color var(--transition-fast);
}

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

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

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 3px solid rgba(37, 99, 235, 0.35);
	outline-offset: 3px;
}

small,
.text-small {
	font-size: var(--font-size-small);
	line-height: var(--line-height-small);
}

.text-caption {
	font-size: var(--font-size-caption);
	line-height: var(--line-height-caption);
}

.text-light {
	color: var(--color-text-light);
}

/*--------------------------------------------------------------
04 Layout / Containers
--------------------------------------------------------------*/
.container-wide,
.container,
.container-narrow {
	margin-inline: auto;
	width: min(100% - (var(--container-gutter) * 2), var(--container-default));
}

.container-wide {
	width: min(100% - (var(--container-gutter) * 2), var(--container-wide));
}

.container-narrow {
	width: min(100% - (var(--container-gutter) * 2), var(--container-narrow));
}

.section {
	padding-block: var(--section-space-md);
}

.section-lg {
	padding-block: var(--section-space-lg);
}

.section-xl {
	padding-block: var(--section-space-xl);
}

.section-sm {
	padding-block: var(--section-space-sm);
}

.section-bg-light {
	background: var(--color-bg-light);
}

.section-bg-soft {
	background: var(--gradient-light);
}

.section-bg-dark {
	background: var(--color-dark);
	color: var(--color-white);
}

.section-bg-dark h1,
.section-bg-dark h2,
.section-bg-dark h3,
.section-bg-dark h4,
.section-bg-dark h5,
.section-bg-dark h6 {
	color: var(--color-white);
}

.grid {
	display: grid;
	gap: var(--space-lg);
}

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

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

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

/*--------------------------------------------------------------
05 Utilities
--------------------------------------------------------------*/
.flow>*+* {
	margin-top: var(--flow-space, var(--space-lg));
}

.stack {
	display: flex;
	flex-direction: column;
	gap: var(--space-lg);
}

.cluster {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-md);
}

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


.text-gradient {
	background: linear-gradient(90deg, var(--color-secondary) 0%, var(--color-primary) 55%, var(--color-pink) 100%);
	background-clip: text;
	color: var(--color-primary);
	display: inline;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

/*--------------------------------------------------------------
06 Buttons
--------------------------------------------------------------*/
.btn,
button.btn,
input.btn[type="button"],
input.btn[type="reset"],
input.btn[type="submit"] {
	align-items: center;
	appearance: none;
	border: 1px solid transparent;
	border-radius: var(--radius-sm);
	display: inline-flex;
	font-size: 0.9375rem;
	font-weight: 600;
	gap: var(--space-xs);
	justify-content: center;
	line-height: 1.2;
	min-height: 48px;
	padding: 0.875rem 1.375rem;
	text-align: center;
	text-decoration: none;
	transition: background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);
}

.btn:hover {
	transform: translateY(-1px);
}

.btn:active {
	transform: translateY(0);
}

.btn-primary,
.btn-primary:visited {
	background: var(--gradient-primary);
	box-shadow: var(--shadow-sm);
	color: var(--color-white);
}

.btn-primary:hover,
.btn-primary:active {
	box-shadow: var(--shadow-md);
	color: var(--color-white);
}

.btn-secondary,
.btn-secondary:visited {
	background: var(--color-white);
	border-color: var(--color-border);
	color: var(--color-dark);
}

.btn-secondary:hover,
.btn-secondary:active {
	border-color: var(--color-secondary);
	color: var(--color-secondary);
}

.btn-dark,
.btn-dark:visited {
	background: var(--color-dark);
	color: var(--color-white);
}

.btn-dark:hover,
.btn-dark:active {
	background: var(--color-text);
	color: var(--color-white);
}

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

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

.btn-ghost,
.btn-ghost:visited {
	background: transparent;
	color: var(--color-dark);
}

.btn-ghost:hover,
.btn-ghost:active {
	background: var(--color-bg-soft);
	color: var(--color-primary);
}

.btn-text,
.btn-text:visited {
	background: transparent;
	border: 0;
	color: var(--color-secondary);
	min-height: auto;
	padding: 0;
}

.btn-text:hover,
.btn-text:active {
	color: var(--color-primary);
	transform: none;
}

.btn-icon {
	padding: 0;
	width: 48px;
}

/*--------------------------------------------------------------
06.1 Shared primary CTA: Clean Human Button Component
--------------------------------------------------------------*/
.site-cta-button,
.btn-primary,
.wp-block-button__link {
	align-items: center;
	background: linear-gradient(135deg, #7c3aed 0%, #4f46e5 50%, #2563eb 100%) !important;
	border: 1px solid rgba(255, 255, 255, 0.22) !important;
	border-radius: 999px !important;
	box-shadow: 0 4px 14px rgba(79, 70, 229, 0.22) !important;
	box-sizing: border-box;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	cursor: pointer;
	display: inline-flex;
	font-family: var(--font-primary, "Plus Jakarta Sans", sans-serif);
	font-size: 15px;
	font-weight: 650;
	gap: 16px;
	justify-content: space-between;
	line-height: 1.2;
	max-width: 100%;
	min-height: 56px;
	padding: 6px 7px 6px 26px !important;
	position: relative;
	text-align: center;
	text-decoration: none !important;
	overflow: hidden !important;
	isolation: isolate;
	width: fit-content;
}

/* Right-to-left animated white background sweep */
.site-cta-button::before,
.btn-primary::before,
.service-detail-button::before,
.wp-block-button__link::before {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	inset: 0 !important;
	background: #ffffff !important;
	border-radius: inherit !important;
	z-index: 1 !important;
	transform: translateX(102%) !important;
	transition: transform 0.42s cubic-bezier(0.22, 1, 0.36, 1) !important;
	pointer-events: none !important;
}

.site-cta-button:hover::before,
.site-cta-button:focus-visible::before,
.btn-primary:hover::before,
.btn-primary:focus-visible::before,
.service-detail-button:hover::before,
.service-detail-button:focus-visible::before,
.wp-block-button__link:hover::before,
.wp-block-button__link:focus-visible::before {
	transform: translateX(0) !important;
}

.site-cta-button,
.btn-primary,
.service-detail-button,
.wp-block-button__link {
	border: 1.5px solid transparent !important;
	transition: border-color 0.35s ease, color 0.35s ease, box-shadow 0.35s ease !important;
}

.site-cta-button:hover,
.site-cta-button:focus-visible,
.btn-primary:hover,
.btn-primary:focus-visible,
.service-detail-button:hover,
.service-detail-button:focus-visible,
.wp-block-button__link:hover,
.wp-block-button__link:focus-visible {
	border-color: #7c3aed !important;
	box-shadow: 0 8px 24px rgba(124, 58, 237, 0.22) !important;
	transform: none !important;
	color: #7c3aed !important;
	-webkit-text-fill-color: #7c3aed !important;
}

.site-cta-button:hover > span:not(.header-cta__icon):not(.portfolio-card__link-arrow),
.site-cta-button:focus-visible > span:not(.header-cta__icon):not(.portfolio-card__link-arrow),
.btn-primary:hover > span:not(.header-cta__icon):not(.portfolio-card__link-arrow),
.btn-primary:focus-visible > span:not(.header-cta__icon):not(.portfolio-card__link-arrow),
.service-detail-button:hover > span:not(.header-cta__icon):not(.portfolio-card__link-arrow),
.service-detail-button:focus-visible > span:not(.header-cta__icon):not(.portfolio-card__link-arrow),
.wp-block-button__link:hover > span:not(.header-cta__icon):not(.portfolio-card__link-arrow),
.wp-block-button__link:focus-visible > span:not(.header-cta__icon):not(.portfolio-card__link-arrow) {
	color: #7c3aed !important;
	-webkit-text-fill-color: #7c3aed !important;
}

.site-cta-button:active,
.btn-primary:active,
.service-detail-button:active,
.wp-block-button__link:active {
	box-shadow: 0 2px 8px rgba(79, 70, 229, 0.2) !important;
	transform: none !important;
}

.site-cta-button > *,
.btn-primary > *,
.service-detail-button > *,
.wp-block-button__link > * {
	position: relative !important;
	z-index: 2 !important;
	transition: color 0.3s ease, -webkit-text-fill-color 0.3s ease, transform 0.3s ease !important;
}

/* Arrow circular badge inside buttons - Normal State */
.site-cta-button > i:last-child,
.site-cta-button > .header-cta__icon,
.btn-primary > i:last-child,
.btn-primary > .header-cta__icon,
.service-detail-button > i:last-child,
.service-detail-button > .header-cta__icon,
.wp-block-button__link > i:last-child {
	align-items: center;
	background: #ffffff !important;
	border: 0 !important;
	border-radius: 50% !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12) !important;
	color: #4f46e5 !important;
	-webkit-text-fill-color: #4f46e5 !important;
	display: inline-flex !important;
	flex: 0 0 42px;
	font-size: 14px;
	height: 42px;
	justify-content: center;
	margin: 0 !important;
	padding: 0 !important;
	transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.3s ease, color 0.3s ease !important;
	width: 42px;
}

.site-cta-button > i:last-child::before,
.site-cta-button > .header-cta__icon i,
.site-cta-button > .header-cta__icon i::before,
.btn-primary > i:last-child::before,
.btn-primary > .header-cta__icon i,
.btn-primary > .header-cta__icon i::before,
.service-detail-button > i:last-child::before,
.service-detail-button > .header-cta__icon i,
.service-detail-button > .header-cta__icon i::before,
.wp-block-button__link > i:last-child::before {
	color: #4f46e5 !important;
	-webkit-text-fill-color: #4f46e5 !important;
	display: inline-block !important;
	font-size: 14px !important;
	line-height: 1 !important;
	transition: color 0.3s ease, -webkit-text-fill-color 0.3s ease !important;
}

/* On hover: Arrow badge turns purple and smoothly moves minor 4px to the right */
.site-cta-button:hover > i:last-child,
.site-cta-button:focus-visible > i:last-child,
.site-cta-button:hover > .header-cta__icon,
.site-cta-button:focus-visible > .header-cta__icon,
.btn-primary:hover > i:last-child,
.btn-primary:focus-visible > i:last-child,
.btn-primary:hover > .header-cta__icon,
.btn-primary:focus-visible > .header-cta__icon,
.service-detail-button:hover > i:last-child,
.service-detail-button:focus-visible > i:last-child,
.service-detail-button:hover > .header-cta__icon,
.service-detail-button:focus-visible > .header-cta__icon,
.wp-block-button__link:hover > i:last-child,
.wp-block-button__link:focus-visible > i:last-child {
	background: #7c3aed !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	transform: translateX(4px) !important;
}

.site-cta-button:hover > i:last-child::before,
.site-cta-button:focus-visible > i:last-child::before,
.site-cta-button:hover > .header-cta__icon i,
.site-cta-button:focus-visible > .header-cta__icon i,
.site-cta-button:hover > .header-cta__icon i::before,
.site-cta-button:focus-visible > .header-cta__icon i::before,
.btn-primary:hover > i:last-child::before,
.btn-primary:focus-visible > i:last-child::before,
.btn-primary:hover > .header-cta__icon i,
.btn-primary:focus-visible > .header-cta__icon i,
.btn-primary:hover > .header-cta__icon i::before,
.btn-primary:focus-visible > .header-cta__icon i::before,
.service-detail-button:hover > i:last-child::before,
.service-detail-button:focus-visible > i:last-child::before,
.service-detail-button:hover > .header-cta__icon i,
.service-detail-button:focus-visible > .header-cta__icon i,
.service-detail-button:hover > .header-cta__icon i::before,
.service-detail-button:focus-visible > .header-cta__icon i::before,
.wp-block-button__link:hover > i:last-child::before,
.wp-block-button__link:focus-visible > i:last-child::before {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

/* Contact Form submit buttons */
input.wpcf7-submit,
.dj-contact-form__submit,
button[type="submit"].wpcf7-submit {
	background: linear-gradient(135deg, #7c3aed 0%, #4f46e5 50%, #2563eb 100%) !important;
	border: 1px solid rgba(255, 255, 255, 0.22) !important;
	border-radius: 999px !important;
	box-shadow: 0 10px 24px rgba(99, 102, 241, 0.28) !important;
	color: #ffffff !important;
	cursor: pointer;
	font-family: var(--font-primary, "Plus Jakarta Sans", sans-serif);
	font-size: 15px;
	font-weight: 650;
	min-height: 56px;
	padding: 0 32px;
	transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

input.wpcf7-submit:hover,
.dj-contact-form__submit:hover,
button[type="submit"].wpcf7-submit:hover {
	background: linear-gradient(135deg, #6d28d9 0%, #4338ca 50%, #1d4ed8 100%) !important;
	box-shadow: 0 18px 36px rgba(124, 58, 237, 0.38) !important;
	transform: translateY(-2px);
}

/* Disabled button state */
.site-cta-button[disabled],
.site-cta-button.is-disabled,
.site-cta-button[aria-disabled="true"],
.btn-primary[disabled],
.btn-primary.is-disabled,
.btn-primary[aria-disabled="true"],
input.wpcf7-submit[disabled],
input.wpcf7-submit.is-disabled,
input.wpcf7-submit[aria-disabled="true"] {
	opacity: 0.48 !important;
	cursor: not-allowed !important;
	pointer-events: none !important;
	transform: none !important;
	box-shadow: none !important;
}

/* Card arrow links clarity & hover transitions across all components */
.service-card-link i,
.service-card-link i::before {
	color: var(--service-color) !important;
	-webkit-text-fill-color: var(--service-color) !important;
}

.home-service-card:hover .service-card-link i,
.home-service-card:hover .service-card-link i::before,
.service-card-link:hover i,
.service-card-link:hover i::before,
.service-card-link:focus-visible i,
.service-card-link:focus-visible i::before {
	background: var(--service-color) !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	transform: rotate(-20deg) !important;
}

.portfolio-card__link .portfolio-card__link-arrow,
.home-portfolio__body .portfolio-card__link span.portfolio-card__link-arrow {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

.portfolio-card__link .portfolio-card__link-arrow i,
.portfolio-card__link .portfolio-card__link-arrow i::before,
.home-portfolio__body .portfolio-card__link span.portfolio-card__link-arrow i,
.home-portfolio__body .portfolio-card__link span.portfolio-card__link-arrow i::before {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

.home-insight-card__link i,
.home-insight-card__link i::before,
.blog-card .home-insight-card__link i,
.blog-card .home-insight-card__link i::before {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

.site-search-card__link i,
.site-search-card__link i::before {
	color: var(--color-primary) !important;
	-webkit-text-fill-color: var(--color-primary) !important;
	transition: transform 0.25s ease !important;
}

.site-search-card__link:hover i,
.site-search-card__link:focus-visible i,
.site-search-card:hover .site-search-card__link i {
	transform: translateX(4px) !important;
}

@media (max-width: 620px) {
	.site-cta-button,
	.btn-primary,
	.service-detail-button,
	.wp-block-button__link {
		width: auto !important;
		max-width: fit-content !important;
		min-height: 52px;
		padding: 5px 6px 5px 22px !important;
		font-size: 14px;
	}

	.site-cta-button > i:last-child,
	.site-cta-button > .header-cta__icon,
	.btn-primary > i:last-child,
	.btn-primary > .header-cta__icon,
	.service-detail-button > i:last-child,
	.service-detail-button > .header-cta__icon,
	.wp-block-button__link > i:last-child {
		width: 38px !important;
		height: 38px !important;
		flex: 0 0 38px !important;
		font-size: 12px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.site-cta-button,
	.btn-primary,
	.wp-block-button__link,
	.site-cta-button *,
	.btn-primary * {
		transition: none !important;
	}
}

/*--------------------------------------------------------------
06.2 Shared section-title wrapping
--------------------------------------------------------------*/
body .site-main .section-title,
body .site-main .page-title-section__heading,
body .site-main .about-founder__title,
body .site-main .performance-conversion__content>h2,
body .site-footer__cta h2 {
	hyphens: none !important;
	max-width: 100%;
	overflow-wrap: normal !important;
	text-wrap: balance;
	white-space: normal !important;
	word-break: normal !important;
}

body .site-main .section-title .text-gradient,
body .site-main .section-title [class*="title-lead"],
body .site-main .section-title span {
	hyphens: none !important;
	overflow-wrap: normal !important;
	white-space: normal !important;
	word-break: normal !important;
}

@media (max-width: 1024px) {
	body .site-main .section-title {
		font-size: clamp(30px, 3.8vw, 38px) !important;
		line-height: 1.22 !important;
	}
}

@media (max-width: 620px) {

	body a.site-cta-button.site-cta-button,
	body .site-main a.performance-conversion__primary.performance-conversion__primary,
	body .blog-entry-content a.button.button {
		font-size: 0.88rem;
		width: auto !important;
		max-width: fit-content !important;
	}

	body .site-main .section-title,
	.section-title,
	body .site-main h2:not(.home-plan-card h2):not(.home-results__number):not(.about-capability h2),
	body .site-footer__cta h2 {
		font-size: clamp(30px, 6.5vw, 36px) !important;
		line-height: 1.22 !important;
		text-wrap: balance;
	}

	body .site-main h1,
	body .page-title-section__heading {
		font-size: clamp(32px, 8vw, 42px) !important;
		line-height: 1.18 !important;
	}

	body .site-main h3 {
		font-size: clamp(20px, 4.8vw, 24px) !important;
		line-height: 1.28 !important;
	}
}

/* Header CTA responsive behavior: tablet displays compact button, mobile <=767px completely hidden */
@media (max-width: 767px) {
	body .site-header .header-cta.site-cta-button,
	body .site-header .header-cta {
		display: none !important;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	body .site-header .header-cta.site-cta-button {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: max-content !important;
		height: 49px !important;
		min-height: 38px !important;
		padding: 5px 8px 5px 14px !important;
		font-size: 0.78rem !important;
		border-radius: 999px !important;
		gap: 8px !important;
	}
	body .site-header .header-cta.site-cta-button .header-cta__text {
		display: inline-block !important;
		font-size: 0.78rem !important;
	}
	body .site-header .header-cta.site-cta-button .header-cta__icon {
		width: 30px !important;
		height: 37px !important;
		min-width: 26px !important;
		font-size: 0.7rem !important;
	}
}

/* Prevent words from being split in headings at any viewport width. */
body .site-main h1,
body .site-main h2,
body .site-main h3,
body .site-main h1 span,
body .site-main h2 span,
body .site-main h3 span {
	-webkit-hyphens: none;
	hyphens: none;
	word-break: normal;
	overflow-wrap: normal;
}

/* 06.3 Inner-page title and breadcrumb */
body .page-title-section {
	min-height: 290px !important;
	padding-block: clamp(64px, 6.5vw, 92px) !important;
	overflow: hidden;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	display: flex !important;
	align-items: center !important;
}

@media (max-width: 767px) {
	body .page-title-section:not(.portfolio-single .page-title-section) {
		min-height: 180px !important;
		padding-block: clamp(28px, 5vw, 40px) !important;
	}
	.service-detail-page .page-title-section__content {
		text-align: left !important;
	}
	.service-detail-page .page-title-section__heading {
		text-align: left !important;
		margin-inline: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	.service-detail-page .page-title-breadcrumb {
		justify-content: flex-start !important;
	}
	.service-detail-page .page-title-breadcrumb__list {
		justify-content: flex-start !important;
	}
	.service-detail-page .page-title-breadcrumb__item:last-child {
		justify-content: flex-start !important;
		text-align: left !important;
	}
}

body .page-title-section__shape,
body .page-title-section__shapes,
body .page-title-section__orb,
body .page-title-section__eyebrow-icon,
body .page-title-section__subtitle-icon,
body .page-title-section__eyebrow svg,
body .page-title-section__eyebrow i,
body .page-title-section__eyebrow::before,
body .page-title-section__eyebrow::after {
	display: none !important;
}

body .page-title-section__inner,
body .page-title-section__content {
	text-align: left !important;
	align-items: flex-start !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

body .page-title-section__eyebrow {
	gap: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body .page-title-section__breadcrumb,
body .page-title-section .breadcrumb,
body .page-title-section .breadcrumbs {
	justify-content: flex-start !important;
	text-align: left !important;
	margin-top: 10px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body .page-title-section .container,
body .page-title-section .page-title-section__container {
	width: min(calc(100% - 48px), 1280px) !important;
	max-width: 1280px !important;
	margin-right: auto !important;
	margin-left: auto !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

body .page-title-section__breadcrumb,
body .page-title-section .breadcrumb,
body .page-title-section .breadcrumbs,
body .page-title-section__breadcrumb ol,
body .page-title-section__breadcrumb ul,
body .page-title-section .breadcrumb ol,
body .page-title-section .breadcrumb ul,
body .page-title-section .breadcrumbs ol,
body .page-title-section .breadcrumbs ul {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	max-width: 100%;
	white-space: nowrap !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	list-style: none !important;
}

body .page-title-section__breadcrumb a,
body .page-title-section__breadcrumb span,
body .page-title-section__breadcrumb li,
body .page-title-section .breadcrumb a,
body .page-title-section .breadcrumb span,
body .page-title-section .breadcrumb li,
body .page-title-section .breadcrumbs a,
body .page-title-section .breadcrumbs span,
body .page-title-section .breadcrumbs li {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

body .page-title-section__breadcrumb,
body .page-title-section .breadcrumb,
body .page-title-section .breadcrumbs {
	overflow: hidden;
}

body .page-title-section__breadcrumb>*,
body .page-title-section__breadcrumb li,
body .page-title-section .breadcrumb>*,
body .page-title-section .breadcrumb li,
body .page-title-section .breadcrumbs>*,
body .page-title-section .breadcrumbs li {
	flex: 0 0 auto;
	min-width: 0;
	white-space: nowrap !important;
}

body .page-title-section__breadcrumb>*:last-child,
body .page-title-section__breadcrumb li:last-child,
body .page-title-section .breadcrumb>*:last-child,
body .page-title-section .breadcrumb li:last-child,
body .page-title-section .breadcrumbs>*:last-child,
body .page-title-section .breadcrumbs li:last-child {
	flex: 0 1 auto;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* 06.4 Smooth header and intentional focus treatment */
body .site-header {
	position: sticky !important;
	top: 0;
	z-index: 1000;
	will-change: box-shadow, background-color;
	transition: background-color 220ms ease, box-shadow 220ms ease, border-color 220ms ease !important;
}

body .site-header.is-sticky,
body .site-header.is-scrolled,
body .site-header.header-sticky,
body .site-header.sticky {
	position: sticky !important;
	top: 0 !important;
}

@media (max-width: 1024px) {
	body .site-header,
	body .site-header.is-sticky,
	body .site-header.is-scrolled {
		transform: none !important;
		animation: none !important;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
		filter: none !important;
	}
}

body.menu-is-open .site-header {
	transform: none !important;
	animation: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	filter: none !important;
}

body.admin-bar .site-header,
body.admin-bar .site-header.is-sticky,
body.admin-bar .site-header.is-scrolled {
	top: 32px !important;
}

body :focus:not(:focus-visible) {
	outline: none !important;
	box-shadow: none;
}

/* 06.5 Footer CTA Button: Crisp White Pill with Indigo Text */
.site-footer__cta-button {
	color: #4f46e5 !important;
	-webkit-text-fill-color: #4f46e5 !important;
	background: #ffffff !important;
	background-color: #ffffff !important;
	border-color: #ffffff !important;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.16) !important;
	position: relative !important;
	overflow: hidden !important;
	isolation: isolate !important;
	transform: none !important;
}

.site-footer__cta-button span {
	color: #4f46e5 !important;
	-webkit-text-fill-color: #4f46e5 !important;
	font-weight: 750 !important;
}

.site-footer__cta-button::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	border-radius: inherit !important;
	background: rgba(79, 70, 229, 0.08) !important;
	transform: translateX(101%) !important;
	transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1) !important;
	pointer-events: none !important;
	z-index: 1 !important;
}

.site-footer__cta-button:hover::before,
.site-footer__cta-button:focus-visible::before {
	transform: translateX(0) !important;
}

.site-footer__cta-button:hover,
.site-footer__cta-button:focus-visible {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	background: #0f172a !important;
	background-color: #0f172a !important;
	border-color: #0f172a !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 16px 36px rgba(15, 23, 42, 0.4) !important;
}

.site-footer__cta-button:hover span,
.site-footer__cta-button:focus-visible span {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

.site-footer__cta-button > * {
	position: relative !important;
	z-index: 2 !important;
}

.site-footer__cta-button > i {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	background: linear-gradient(135deg, #7c3aed 0%, #4f46e5 100%) !important;
	background-color: #4f46e5 !important;
	border-radius: 50% !important;
	transform: none !important;
	transition: transform 0.3s ease, background 0.3s ease, color 0.3s ease !important;
}

.site-footer__cta-button > i::before {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

.site-footer__cta-button:hover > i,
.site-footer__cta-button:focus-visible > i {
	background: #ffffff !important;
	background-color: #ffffff !important;
	color: #6d28d9 !important;
	-webkit-text-fill-color: #6d28d9 !important;
	transform: translateX(4px) !important;
}

.site-footer__cta-button:hover > i::before,
.site-footer__cta-button:focus-visible > i::before {
	color: #6d28d9 !important;
	-webkit-text-fill-color: #6d28d9 !important;
}

body .performance-conversion input.wpcf7-submit,
body .performance-conversion input[type="submit"],
body .performance-conversion button[type="submit"] {
	opacity: 1;
	background-image: none !important;
	padding-right: 30px !important;
}

body .performance-conversion input.wpcf7-submit:hover,
body .performance-conversion input[type="submit"]:hover,
body .performance-conversion button[type="submit"]:hover {
	opacity: 1;
	transform: none !important;
}

body .performance-conversion input.wpcf7-submit:disabled,
body .performance-conversion input[type="submit"]:disabled,
body .performance-conversion button[type="submit"]:disabled,
body .performance-conversion input.wpcf7-submit[aria-disabled="true"],
body .performance-conversion button[type="submit"][aria-disabled="true"] {
	opacity: 0.5;
	cursor: not-allowed;
	pointer-events: none;
}

@media (max-width: 782px) {
	body .page-title-section {
		min-height: 0 !important;
		padding-top: 30px !important;
		padding-bottom: 30px !important;
	}
}

/* 07. Shared section heading system. */
body .site-main .section-heading,
.section-heading {
	display: block;
	margin: 0 0 clamp(32px, 4vw, 48px);
	max-width: 860px;
	position: relative;
}

/* Home About Section - Tighten title and description spacing */
body .site-main .home-about__heading,
.home-about__heading {
	margin-bottom: 16px !important;
}

body .site-main .home-about__copy .section-description,
.home-about__copy .section-description {
	margin-top: 0 !important;
	margin-bottom: 14px !important;
}

.section-heading--center,
.section-heading.is-centered,
.section-heading.text-center {
	margin-inline: auto;
	text-align: center;
	max-width: 860px;
}

/* --- Section Eyebrow (Top Title / Badge) --- */
.section-eyebrow {
	display: inline-flex;
	width: fit-content;
	min-height: 34px;
	align-items: center;
	gap: 10px;
	margin: 0 0 16px;
	padding: 5px 16px 5px 6px;
	border: 1px solid rgba(124, 58, 237, 0.18);
	border-radius: 999px;
	background: rgba(124, 58, 237, 0.08);
	color: #6d28d9;
	font-family: var(--font-primary, "Plus Jakarta Sans", sans-serif);
	font-size: 0.85rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	box-shadow: none;
}

/* Eyebrow without icon has balanced padding */
.section-eyebrow:not(:has(.section-eyebrow__icon)):not(:has(i)):not(:has(svg)) {
	padding: 7px 18px;
}

/* Single Eyebrow Icon styling */
.section-eyebrow > .section-eyebrow__icon,
.section-eyebrow > i,
.section-eyebrow > svg,
.section-eyebrow > span[aria-hidden="true"] {
	display: inline-flex !important;
	width: 26px;
	height: 26px;
	flex: 0 0 26px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: linear-gradient(135deg, #7c3aed 0%, #2563eb 100%);
	color: #ffffff !important;
	font-size: 12px;
	line-height: 1;
	box-shadow: 0 4px 12px rgba(124, 58, 237, 0.24);
}

.section-eyebrow > .section-eyebrow__icon i,
.section-eyebrow > span[aria-hidden="true"] i {
	color: #ffffff !important;
	font-size: 12px;
	line-height: 1;
}

/* Ensure NO pseudo-element icon is generated anywhere on eyebrows */
.section-eyebrow::before {
	display: none !important;
	content: none !important;
}

/* --- Section Title --- */
body .site-main .section-title,
.section-title {
	max-width: 860px;
	margin: 0;
	color: #0c1433;
	font-family: var(--font-primary, "Plus Jakarta Sans", sans-serif);
	font-size: clamp(30px, 3.2vw, 44px);
	font-weight: 700;
	line-height: 1.22;
	letter-spacing: -0.025em;
	word-break: normal;
	overflow-wrap: break-word;
	text-wrap: balance;
	hyphens: none;
}

/* Text Gradient in titles: prevent bottom clipping of descenders (g, y, p, q, j) */
body .site-main .section-title .text-gradient,
.section-title .text-gradient,
body .site-main .text-gradient,
.text-gradient {
	display: inline-block !important;
	padding-bottom: 3px !important;
	vertical-align: baseline !important;
	background: linear-gradient(90deg, #2563eb 0%, #7c3aed 52%, #ec4899 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	color: #7c3aed !important;
}

/* --- Section Description & Subtitle (Paragraph below Title) --- */
.section-description,
.section-subtitle,
.section-heading > p,
body p,
p {
	font-family: var(--font-primary, "Plus Jakarta Sans", sans-serif);
	font-size: clamp(15px, 1.1vw, 16.5px);
	line-height: 1.72;
}

.section-description,
.section-subtitle,
.section-heading > p {
	display: block;
	max-width: 740px;
	margin: 16px 0 0;
	color: #64748b;
	font-weight: 400;
	letter-spacing: normal;
	text-transform: none;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* Desktop/Tablet: Center align services, client logos, pricing plans, blog section */
@media (min-width: 769px) {
	.home-services__heading,
	.home-trusted__heading,
	.home-plans__heading,
	.home-insights__heading,
	.section-heading--center,
	.section-heading.is-centered {
		text-align: center !important;
		margin-inline: auto !important;
		max-width: 860px;
	}

	.home-services__heading .section-eyebrow,
	.home-trusted__heading .section-eyebrow,
	.home-plans__heading .section-eyebrow,
	.home-insights__heading .section-eyebrow,
	.section-heading--center .section-eyebrow,
	.section-heading.is-centered .section-eyebrow {
		margin-inline: auto !important;
		display: inline-flex !important;
	}

	.home-services__heading .section-title,
	.home-trusted__heading .section-title,
	.home-plans__heading .section-title,
	.home-insights__heading .section-title,
	.section-heading--center .section-title,
	.section-heading.is-centered .section-title {
		text-align: center !important;
		margin-inline: auto !important;
	}

	.home-services__heading .section-description,
	.home-services__heading .section-subtitle,
	.home-services__heading p,
	.home-trusted__heading .section-description,
	.home-trusted__heading .section-subtitle,
	.home-trusted__heading p,
	.home-plans__heading .section-description,
	.home-plans__heading .section-subtitle,
	.home-plans__heading p,
	.home-insights__heading .section-description,
	.home-insights__heading .section-subtitle,
	.home-insights__heading p,
	.section-heading--center .section-description,
	.section-heading--center .section-subtitle,
	.section-heading--center p,
	.section-heading.is-centered .section-description,
	.section-heading.is-centered .section-subtitle,
	.section-heading.is-centered p {
		text-align: center !important;
		margin-inline: auto !important;
		max-width: 740px;
	}
}

/* Mobile: ALL titles, section headings, eyebrows strictly LEFT ALIGNED with min 30px size */
@media (max-width: 768px) {
	body .site-main .section-heading,
	body .site-main .section-heading--center,
	body .site-main .section-heading.is-centered,
	.section-heading,
	.section-heading--center,
	.section-heading.is-centered,
	.home-services__heading,
	.home-trusted__heading,
	.home-plans__heading,
	.home-insights__heading,
	.performance-services__heading,
	.performance-overview .home-about__heading,
	.performance-benefits__heading,
	.performance-process__heading,
	.performance-fit__heading,
	.performance-faq__heading {
		text-align: left !important;
		margin-left: 0 !important;
		margin-right: auto !important;
	}

	body .site-main .section-heading .section-eyebrow,
	.section-eyebrow,
	.home-services__heading .section-eyebrow,
	.home-trusted__heading .section-eyebrow,
	.home-plans__heading .section-eyebrow,
	.home-insights__heading .section-eyebrow {
		margin-left: 0 !important;
		margin-right: auto !important;
		display: inline-flex !important;
	}

	body .site-main .section-heading .section-title,
	.section-title,
	.home-services__heading .section-title,
	.home-trusted__heading .section-title,
	.home-plans__heading .section-title,
	.home-insights__heading .section-title {
		text-align: left !important;
		margin-left: 0 !important;
		margin-right: auto !important;
		font-size: clamp(30px, 6.5vw, 36px) !important;
		line-height: 1.22 !important;
	}

	body .site-main .section-heading .section-description,
	body .site-main .section-heading .section-subtitle,
	body .site-main .section-heading p,
	.section-description,
	.section-subtitle,
	.home-services__heading .section-description,
	.home-services__heading .section-subtitle,
	.home-services__heading p,
	.home-trusted__heading .section-description,
	.home-trusted__heading .section-subtitle,
	.home-trusted__heading p,
	.home-plans__heading .section-description,
	.home-plans__heading .section-subtitle,
	.home-plans__heading p,
	.home-insights__heading .section-description,
	.home-insights__heading .section-subtitle,
	.home-insights__heading p {
		text-align: left !important;
		margin-left: 0 !important;
		margin-right: auto !important;
		font-size: clamp(15px, 1.1vw, 16.5px) !important;
	}
}

/* ============================================================
   07. UNIFIED DARK BACKGROUND SECTIONS
   Clean, human-readable styles for dark theme sections
   ============================================================ */

/* Common Dark Section Background */
.section-dark,
.home-plans,
.home-trusted,
.home-portfolio,
.home-results,
.services-why,
.service-why,
.performance-benefits,
.performance-conversion__content {
	background-color: #071226 !important;
	background-image:
		radial-gradient(circle at 8% 14%, rgba(124, 58, 237, 0.32), transparent 27%),
		radial-gradient(circle at 92% 86%, rgba(37, 99, 235, 0.28), transparent 30%),
		linear-gradient(145deg, #071226 0%, #111a3b 52%, #14113b 100%) !important;
	color: #ffffff !important;
	position: relative;
}

/* Dark Section Titles */
.section-dark .section-title,
.home-plans .section-title,
.home-trusted .section-title,
.home-portfolio .section-title,
.home-results .section-title,
.services-why .section-title,
.service-why .section-title,
.performance-benefits .section-title {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	text-shadow: 0 2px 22px rgba(0, 0, 0, 0.45);
}

/* Dark Section Highlight Gradient Words */
.section-dark .section-title .text-gradient,
.home-plans .section-title .text-gradient,
.home-portfolio .section-title .text-gradient,
.services-why .section-title .text-gradient,
.service-why .section-title .text-gradient {
	display: inline !important;
	background: linear-gradient(90deg, #60a5fa 0%, #a78bfa 50%, #f472b6 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	color: #a78bfa !important;
	text-shadow: 0 0 35px rgba(167, 139, 250, 0.45);
}

/* Dark Section Eyebrow Badges */
.section-dark .section-eyebrow,
.home-plans .section-eyebrow,
.home-portfolio .section-eyebrow {
	background: rgba(255, 255, 255, 0.08) !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	color: #ddd6fe !important;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25) !important;
}

.section-dark .section-eyebrow > i,
.section-dark .section-eyebrow [class*="icon"],
.home-plans .section-eyebrow > i,
.home-plans .section-eyebrow [class*="icon"],
.home-portfolio .section-eyebrow > i,
.home-portfolio .section-eyebrow [class*="icon"] {
	background: linear-gradient(135deg, #8b5cf6 0%, #3b82f6 100%) !important;
	color: #ffffff !important;
	box-shadow: 0 4px 12px rgba(139, 92, 246, 0.35) !important;
}

/* Dark Section Descriptions & Subtitles */
.section-dark .section-description,
.section-dark .section-subtitle,
.home-plans .section-description,
.home-plans .section-subtitle,
.home-portfolio .section-description,
.home-portfolio .section-subtitle,
.home-trusted .section-subtitle,
.home-trusted .section-description,
.home-trusted__heading .section-subtitle,
.home-trusted__heading .section-description,
.home-trusted p {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	opacity: 0.94 !important;
}

/* Results Counter Section */
.home-results,
#results-counter {
	border-block: 1px solid rgba(255, 255, 255, 0.09) !important;
	box-shadow: none !important;
}

.home-results::before,
.home-results::after,
#results-counter::before,
#results-counter::after {
	display: none !important;
}

.home-results .home-results__content strong {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

.home-results .home-results__content > span {
	color: rgba(226, 232, 240, 0.92) !important;
	-webkit-text-fill-color: rgba(226, 232, 240, 0.92) !important;
}

.home-results .home-results__icon {
	background: linear-gradient(135deg, rgba(124, 58, 237, 0.28), rgba(37, 99, 235, 0.22)) !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	color: #ffffff !important;
}

.home-results .home-results__item:not(:last-child)::after {
	background: rgba(255, 255, 255, 0.14) !important;
}

/* Plan Cards inside Flexible Marketing Plans */
.home-plan-card {
	background: #ffffff !important;
	border: 1px solid rgba(226, 232, 240, 0.9) !important;
	border-radius: 24px !important;
	box-shadow: 0 20px 48px rgba(2, 6, 23, 0.28) !important;
	color: #0c1433 !important;
}

.home-plan-card h3 {
	color: #0c1433 !important;
	-webkit-text-fill-color: #0c1433 !important;
	font-weight: 750 !important;
}

.home-plan-card p.home-plan-card__best {
	color: #64748b !important;
	-webkit-text-fill-color: #64748b !important;
	font-size: 0.95rem !important;
	line-height: 1.62 !important;
}

.home-plan-card p.home-plan-card__best strong {
	color: #0c1433 !important;
	-webkit-text-fill-color: #0c1433 !important;
}

.home-plan-card p.home-plan-card__quote-label {
	background: linear-gradient(135deg, #7c3aed 0%, #2563eb 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	color: #4f46e5 !important;
	font-weight: 750 !important;
}

.home-plan-card p.home-plan-card__includes {
	color: #0c1433 !important;
	-webkit-text-fill-color: #0c1433 !important;
	font-weight: 750 !important;
	font-size: 0.85rem !important;
	letter-spacing: 0.075em !important;
}

.home-plan-card .home-plan-card__features li {
	color: #334155 !important;
	-webkit-text-fill-color: #334155 !important;
	font-size: 1rem !important;
	line-height: 1.55 !important;
}

.home-plan-card .home-plan-card__features li i {
	background: rgba(124, 58, 237, 0.12) !important;
	color: #7c3aed !important;
	-webkit-text-fill-color: #7c3aed !important;
	border-radius: 50% !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.home-plan-card .home-plan-card__number {
	color: #7c3aed !important;
	-webkit-text-fill-color: #7c3aed !important;
	background: rgba(124, 58, 237, 0.08) !important;
	border: 1px solid rgba(124, 58, 237, 0.18) !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
}

.home-plan-card .home-plan-card__icon {
	color: #7c3aed !important;
	-webkit-text-fill-color: #7c3aed !important;
	background: linear-gradient(135deg, rgba(124, 58, 237, 0.12), rgba(37, 99, 235, 0.08)) !important;
	border: 1px solid rgba(124, 58, 237, 0.16) !important;
	border-radius: 18px !important;
}

.home-plan-card.is-featured {
	background: #ffffff !important;
	border: 2px solid #8b5cf6 !important;
	box-shadow: 0 24px 64px rgba(124, 58, 237, 0.32) !important;
}

.home-plan-card.is-featured .home-plan-card__badge {
	background: linear-gradient(135deg, #7c3aed 0%, #2563eb 100%) !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

/* Pricing Plans CTA Buttons:
   Only the recommended/middle card is filled by default.
   Left and right cards are crisp white with purple border, and fill with purple on hover! */
.home-plan-card a.home-plan-card__cta {
	width: auto !important;
	max-width: fit-content !important;
	align-self: flex-start !important;
	gap: 12px !important;
	justify-content: flex-start !important;
	padding: 8px 12px 8px 22px !important;
	text-decoration: none !important;
	transition: background 0.35s ease, border-color 0.35s ease, color 0.35s ease, box-shadow 0.35s ease, transform 0.35s ease !important;
}

.home-plan-card a.home-plan-card__cta::before {
	display: none !important;
}

/* Left & Right non-featured cards: White background + border */
.home-plan-card:not(.is-featured) a.home-plan-card__cta {
	background: #ffffff !important;
	background-color: #ffffff !important;
	border: 1.5px solid #7c3aed !important;
	box-shadow: 0 4px 14px rgba(124, 58, 237, 0.1) !important;
	color: #6d28d9 !important;
	-webkit-text-fill-color: #6d28d9 !important;
}

.home-plan-card:not(.is-featured) a.home-plan-card__cta span:not(.header-cta__icon):not(.portfolio-card__link-arrow) {
	color: #6d28d9 !important;
	-webkit-text-fill-color: #6d28d9 !important;
	font-weight: 700 !important;
}

.home-plan-card:not(.is-featured) a.home-plan-card__cta > i:last-child {
	background: #f5f3ff !important;
	background-color: #f5f3ff !important;
	border: 1px solid rgba(124, 58, 237, 0.22) !important;
	color: #6d28d9 !important;
	-webkit-text-fill-color: #6d28d9 !important;
	transform: none !important;
	transition: transform 0.3s ease, background 0.3s ease, color 0.3s ease !important;
}

.home-plan-card:not(.is-featured) a.home-plan-card__cta > i:last-child::before {
	color: #6d28d9 !important;
	-webkit-text-fill-color: #6d28d9 !important;
}

/* Left & Right on hover: FILL with purple gradient */
.home-plan-card:not(.is-featured) a.home-plan-card__cta:hover,
.home-plan-card:not(.is-featured) a.home-plan-card__cta:focus-visible {
	background: linear-gradient(135deg, #7c3aed 0%, #4f46e5 100%) !important;
	background-color: #7c3aed !important;
	border-color: transparent !important;
	box-shadow: 0 12px 30px rgba(124, 58, 237, 0.35) !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

.home-plan-card:not(.is-featured) a.home-plan-card__cta:hover span:not(.header-cta__icon):not(.portfolio-card__link-arrow),
.home-plan-card:not(.is-featured) a.home-plan-card__cta:focus-visible span:not(.header-cta__icon):not(.portfolio-card__link-arrow) {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

.home-plan-card:not(.is-featured) a.home-plan-card__cta:hover > i:last-child,
.home-plan-card:not(.is-featured) a.home-plan-card__cta:focus-visible > i:last-child {
	background: #ffffff !important;
	background-color: #ffffff !important;
	border-color: transparent !important;
	color: #6d28d9 !important;
	-webkit-text-fill-color: #6d28d9 !important;
	transform: translateX(4px) !important;
}

.home-plan-card:not(.is-featured) a.home-plan-card__cta:hover > i:last-child::before,
.home-plan-card:not(.is-featured) a.home-plan-card__cta:focus-visible > i:last-child::before {
	color: #6d28d9 !important;
	-webkit-text-fill-color: #6d28d9 !important;
}

/* Recommended / Featured Middle Card: Filled with primary purple gradient */
.home-plan-card.is-featured a.home-plan-card__cta {
	background: linear-gradient(135deg, #7c3aed 0%, #4f46e5 50%, #2563eb 100%) !important;
	background-color: #7c3aed !important;
	border: 1.5px solid transparent !important;
	box-shadow: 0 8px 24px rgba(124, 58, 237, 0.32) !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

.home-plan-card.is-featured a.home-plan-card__cta span:not(.header-cta__icon):not(.portfolio-card__link-arrow) {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	font-weight: 700 !important;
}

.home-plan-card.is-featured a.home-plan-card__cta > i:last-child {
	background: #ffffff !important;
	background-color: #ffffff !important;
	border-color: transparent !important;
	color: #6d28d9 !important;
	-webkit-text-fill-color: #6d28d9 !important;
	transform: none !important;
	transition: transform 0.3s ease, background 0.3s ease !important;
}

.home-plan-card.is-featured a.home-plan-card__cta > i:last-child::before {
	color: #6d28d9 !important;
	-webkit-text-fill-color: #6d28d9 !important;
}

.home-plan-card.is-featured a.home-plan-card__cta:hover,
.home-plan-card.is-featured a.home-plan-card__cta:focus-visible {
	background: linear-gradient(135deg, #6d28d9 0%, #4338ca 50%, #1d4ed8 100%) !important;
	box-shadow: 0 14px 34px rgba(109, 40, 217, 0.44) !important;
}

.home-plan-card.is-featured a.home-plan-card__cta:hover > i:last-child,
.home-plan-card.is-featured a.home-plan-card__cta:focus-visible > i:last-child {
	transform: translateX(4px) !important;
}

/* Pricing Plans Layout: 1024px = 3 cols, Tablet = 2 cols, Mobile = 1 col */
@media (min-width: 901px) and (max-width: 1100px) {
	.home-plans__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 18px !important;
		max-width: none !important;
	}
}

@media (min-width: 641px) and (max-width: 900px) {
	.home-plans__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 20px !important;
		max-width: 860px !important;
		margin-inline: auto !important;
	}

	.home-plan-card:last-child {
		grid-column: 1 / -1 !important;
		max-width: 440px !important;
		margin-inline: auto !important;
		width: 100% !important;
	}
}

@media (max-width: 640px) {
	.home-plans__grid {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
	}
}

@media (max-width: 1024px) {
	.section-heading {
		max-width: 760px;
		margin-bottom: clamp(28px, 3.5vw, 40px);
	}

	.section-title {
		font-size: clamp(30px, 3.8vw, 38px) !important;
		line-height: 1.22 !important;
		letter-spacing: -0.02em;
	}

	.section-description,
	.section-subtitle {
		font-size: 1.05rem !important;
		line-height: 1.7 !important;
	}
}

@media (max-width: 640px) {
	.section-heading {
		margin-bottom: 24px;
		max-width: 100%;
	}

	.section-title,
	.site-footer__cta h2 {
		font-size: clamp(30px, 6.5vw, 36px) !important;
		line-height: 1.22 !important;
		letter-spacing: -0.015em;
	}

	h1,
	.page-title-section__heading {
		font-size: clamp(32px, 8vw, 42px) !important;
		line-height: 1.18 !important;
	}

	h3 {
		font-size: clamp(20px, 4.8vw, 24px) !important;
		line-height: 1.28 !important;
	}

	.section-eyebrow {
		margin-bottom: 12px;
		font-size: 0.8125rem !important;
		min-height: 30px;
		padding: 4px 14px 4px 5px;
	}

	.section-eyebrow > i,
	.section-eyebrow [class*="icon"] {
		width: 24px;
		height: 24px;
		flex: 0 0 24px;
		font-size: 11px;
	}

	.section-description,
	.section-subtitle {
		margin-top: 14px;
		font-size: 1rem !important;
		line-height: 1.66 !important;
	}
}

/* ============================================================
   07.8 GLOBAL READABILITY & FONT SIZE SCALE
   Ensures all elements across all sections are clearly readable
   ============================================================ */

/* Baseline paragraph and list typography */
body,
p,
li {
	font-size: 1.05rem;
	line-height: 1.7;
}

/* Card descriptions, quotes, and excerpts */
.home-insight-card__body > p,
.blog-card__excerpt,
.service-card__desc,
.home-service-card__desc,
.project-card__desc {
	font-size: 0.98rem !important;
	line-height: 1.68 !important;
}

/* Metadata, categories, and tags */
.home-insight-card__category,
.blog-card__category,
.portfolio-card__category,
.portfolio-card__tag {
	font-size: 0.82rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.05em !important;
}

.home-insight-card__meta,
.blog-card__meta,
.blog-author span,
.home-insight-card__author span,
.home-approach__process-copy small {
	font-size: 0.875rem !important;
	line-height: 1.45 !important;
}

.home-insight-card__author time,
.blog-sidebar__recent-item time,
.blog-article__copy-status {
	font-size: 0.8125rem !important;
}

/* Results Counter Section (150+ Businesses Supported) */
.home-results .home-results__content > span,
#results-counter .home-results__content > span {
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	letter-spacing: 0.01em !important;
}

/* Plan Cards Details */
.home-plan-card p.home-plan-card__best {
	font-size: 0.95rem !important;
	line-height: 1.65 !important;
}

.home-plan-card p.home-plan-card__includes {
	font-size: 0.85rem !important;
	font-weight: 750 !important;
	letter-spacing: 0.075em !important;
}

.home-plan-card .home-plan-card__features li {
	font-size: 1rem !important;
	line-height: 1.6 !important;
}

.home-plan-card .home-plan-card__number {
	font-size: 0.82rem !important;
}

/* About Section badges and ratings */
.home-about__experience small {
	font-size: 0.85rem !important;
	line-height: 1.4 !important;
}

/* About Section badges and ratings - Golden Rating Stars */
.home-about__rating > span {
	font-size: 0.9rem !important;
}

.home-about__rating > span,
.home-about__rating i,
.home-about__rating .fa-star,
.home-why-choose__stars,
.home-why-choose__trust > span,
.about-review__stars,
.rating-stars,
i.fa-star,
.fa-star {
	color: #f59e0b !important;
	-webkit-text-fill-color: #f59e0b !important;
}

/* Contact Details */
.contact-detail-card small {
	font-size: 0.85rem !important;
	line-height: 1.6 !important;
}

@media (max-width: 782px) {

	body.admin-bar .site-header,
	body.admin-bar .site-header.is-sticky,
	body.admin-bar .site-header.is-scrolled {
		top: 46px !important;
	}

	body .page-title-section {
		padding: 0px 0 !important;
		min-height: 00px !important;
	}

	body .page-title-section .container,
	body .page-title-section .page-title-section__container {
		width: calc(100% - 32px) !important;
	}

	body .page-title-section__inner,
	body .page-title-section__content,
	body .page-title-section__heading,
	body .page-title-section__eyebrow,
	body .page-title-section__breadcrumb,
	body .page-title-section .breadcrumb,
	body .page-title-section .breadcrumbs {
		width: 100%;
		text-align: left !important;
		justify-content: flex-start !important;
		align-items: flex-start !important;
	}
}

@media (max-width: 782px) {
	body .page-title-section {
		min-height: 0 !important;
		padding-top: 30px !important;
		padding-bottom: 30px !important;
	}
}

/*--------------------------------------------------------------
07 Forms
--------------------------------------------------------------*/
label {
	color: var(--color-dark);
	display: inline-block;
	font-size: var(--font-size-small);
	font-weight: 600;
	margin-bottom: var(--space-xs);
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="date"],
input[type="time"],
select,
textarea {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	color: var(--color-text);
	line-height: 1.5;
	padding: 0.75rem 1rem;
	transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
	width: 100%;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="date"],
input[type="time"],
select {
	min-height: 48px;
}

textarea {
	min-height: 144px;
	resize: vertical;
}

input::placeholder,
textarea::placeholder {
	color: var(--color-text-light);
	opacity: 0.8;
}

input:focus,
select:focus,
textarea:focus {
	border-color: var(--color-secondary);
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
	color: var(--color-text);
	outline: 0;
}

.form-field {
	margin-bottom: var(--space-lg);
}

/*--------------------------------------------------------------
08 Cards
--------------------------------------------------------------*/
.card,
.service-card,
.project-card,
.testimonial-card,
.stat-card {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-sm);
	padding: var(--space-xl);
}

.card-title {
	margin-bottom: var(--space-sm);
}

.card-copy {
	color: var(--color-text-light);
}

/*--------------------------------------------------------------
09 Badges
--------------------------------------------------------------*/
.badge {
	align-items: center;
	background: var(--color-bg-soft);
	border-radius: var(--radius-pill);
	color: var(--color-primary);
	display: inline-flex;
	font-size: var(--font-size-caption);
	font-weight: 600;
	line-height: 1;
	min-height: 28px;
	padding: 0.5rem 0.75rem;
}

.badge-primary {
	background: rgba(124, 58, 237, 0.1);
	color: var(--color-primary);
}

.badge-blue {
	background: rgba(37, 99, 235, 0.1);
	color: var(--color-secondary);
}

.badge-green {
	background: rgba(16, 185, 129, 0.1);
	color: var(--color-success);
}

.badge-pink {
	background: rgba(236, 72, 153, 0.1);
	color: var(--color-pink);
}

.badge-orange {
	background: rgba(245, 158, 11, 0.12);
	color: var(--color-warning);
}

/*--------------------------------------------------------------
19 Responsive
--------------------------------------------------------------*/
@media (max-width: 1024px) {
	:root {
		--section-space-xl: 100px;
		--section-space-lg: 88px;
		--section-space-md: 72px;
		--section-space-sm: 52px;
	}

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

@media (max-width: 768px) {
	:root {
		--section-space-xl: 80px;
		--section-space-lg: 72px;
		--section-space-md: 60px;
		--section-space-sm: 48px;
	}

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

@media (max-width: 600px) {
	:root {
		--container-gutter: 20px;
		--section-space-xl: 68px;
		--section-space-lg: 60px;
		--section-space-md: 52px;
		--section-space-sm: 40px;
	}

	.grid-2,
	.grid-3,
	.grid-4 {
		grid-template-columns: 1fr;
	}

	.card,
	.service-card,
	.project-card,
	.testimonial-card,
	.stat-card {
		padding: var(--space-lg);
	}

	.section-heading {
		margin-bottom: var(--space-xl);
	}
}

@media (max-width: 375px) {
	:root {
		--container-gutter: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

/* ============================================================
   STANDARD INNER PAGE EDITOR CONTENT
   Shared by the default, Blog, Services and Contact page templates.
   ============================================================ */
.page-editor-content {
	background: #fff;
	padding-block: clamp(52px, 7vw, 96px);
}

.page-editor-content__inner {
	color: var(--color-text-light);
	font-size: clamp(1rem, 1.2vw, 1.075rem);
	line-height: 1.8;
}

.page-editor-content__inner> :first-child {
	margin-top: 0;
}

.page-editor-content__inner> :last-child {
	margin-bottom: 0;
}

.page-editor-content__inner h2,
.page-editor-content__inner h3,
.page-editor-content__inner h4 {
	color: var(--color-dark);
	letter-spacing: -0.03em;
	line-height: 1.25;
	margin: 1.7em 0 0.65em;
}

.page-editor-content__inner h2 {
	font-size: clamp(1.75rem, 3vw, 2.6rem);
}

.page-editor-content__inner h3 {
	font-size: clamp(1.35rem, 2.2vw, 1.9rem);
}

.page-editor-content__inner img {
	border-radius: 16px;
	height: auto;
	max-width: 100%;
}

.page-editor-content__inner a {
	color: var(--color-primary);
	text-underline-offset: 3px;
}

.page-editor-content__inner li {
	margin-bottom: 0.5em;
}

.page-editor-content__inner li::marker {
	color: var(--color-primary);
}

.page-editor-content__inner table {
	border-collapse: collapse;
	display: block;
	overflow-x: auto;
	width: 100%;
}

.page-editor-content__inner th,
.page-editor-content__inner td {
	border: 1px solid #e1e5ef;
	min-width: 150px;
	padding: 13px 15px;
	text-align: left;
}

.page-editor-content__inner th {
	background: var(--color-dark);
	color: #fff;
}

.blog-page-template__introduction,
.services-page-template__introduction {
	padding-bottom: 0;
}

/* Portfolio Carousel Responsive Stage Alignment */
body .home-portfolio__stage {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body .home-portfolio__viewport {
	width: 100% !important;
	max-width: 100% !important;
	overflow: hidden !important;
}

/* Active Navigation Indicators */
body .main-navigation .nav-menu > li.current-menu-item > a,
body .main-navigation .nav-menu > li.current_page_item > a,
body .main-navigation .nav-menu > li.current-menu-ancestor > a,
body .main-navigation .nav-menu > li.current_page_ancestor > a,
body .main-navigation .nav-menu > li.current_page_parent > a {
	color: var(--color-primary) !important;
}

body .main-navigation .nav-menu > li.current-menu-item > a::before,
body .main-navigation .nav-menu > li.current_page_item > a::before,
body .main-navigation .nav-menu > li.current-menu-ancestor > a::before,
body .main-navigation .nav-menu > li.current_page_ancestor > a::before,
body .main-navigation .nav-menu > li.current_page_parent > a::before {
	transform: scaleX(1) !important;
	transform-origin: left !important;
}

body .site-footer__column li > a,
body .site-footer__column li > a:visited {
	color: #ffffff !important;
}

body .site-footer__column li.current-menu-item > a,
body .site-footer__column li.current_page_item > a,
body .site-footer__column li.current-menu-ancestor > a {
	color: #ffffff !important;
	transform: translateX(3px) !important;
	text-decoration: underline !important;
	text-decoration-color: #a78bfa !important;
	text-underline-offset: 4px !important;
	font-weight: 600 !important;
}

body .site-footer__column:not(.site-footer__contact) li.current-menu-item > a::before,
body .site-footer__column:not(.site-footer__contact) li.current_page_item > a::before,
body .site-footer__column:not(.site-footer__contact) li.current-menu-ancestor > a::before {
	color: #c4b5fd !important;
	transform: translateX(2px) !important;
}

/* About Intro Spacing Fix */
body .site-main .about-intro__title {
	margin: 0 0 28px !important;
}

body .site-main .about-intro__copy {
	margin-top: 24px !important;
}

/* Service Detail Sections Typography & Colors */
body .performance-benefits .section-title {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

body .performance-benefits__content h3 {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

body .performance-benefits__content p {
	color: rgba(255, 255, 255, 0.92) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.92) !important;
}

body .service-why__content > p:not(.section-label) {
	color: rgba(255, 255, 255, 0.92) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.92) !important;
}

body .service-why__panel h3 {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

body .service-why__panel li {
	color: rgba(255, 255, 255, 0.92) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.92) !important;
}