/*
 * Locke Global Theme Switcher
 *
 * The dark state is intentionally untouched.  The light state is a narrow
 * override layer for the shared Locke components; Elementor content, photos,
 * SVGs and page markup remain exactly where they are.
 */

:root {
	/* Light mode deliberately uses a neutral corporate palette rather than
	 * recolouring the dark Locke artwork with neon green. */
	--locke-light-paper: #ffffff;
	--locke-light-paper-2: #ffffff;
	--locke-light-ink: #343434;
	--locke-light-ink-2: #343434;
	--locke-light-muted: #6f6f6f;
	--locke-light-line: #d9d9d9;
	--locke-light-accent: #343434;
	--locke-light-accent-dark: #343434;
	--locke-light-accent-soft: #ffffff;
	/* Kept as a compatibility alias for existing inline components. */
	--locke-light-lime: var(--locke-light-accent);
}

/* The plugin-rendered templates replace UAE's display layer.  The supplied
 * header is already visually sticky; these selectors keep that behaviour even
 * when Elementor regenerates its inline CSS. */
.locke-hf-site-header {
	position: relative;
	z-index: 100000;
	width: 100%;
}

.locke-hf-site-header[data-locke-hf-sticky="1"] .locke-header-v085.locke-header-component,
.locke-hf-site-header[data-locke-hf-sticky="1"] .locke-header-v085.locke-header-component .locke-header-shell {
	position: fixed !important;
	z-index: 99999 !important;
}

.locke-hf-site-header[data-locke-hf-sticky="0"] .locke-header-v085.locke-header-component,
.locke-hf-site-header[data-locke-hf-sticky="0"] .locke-header-v085.locke-header-component .locke-header-shell {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	width: 100% !important;
}

.locke-hf-site-footer {
	position: relative;
	z-index: 1;
	width: 100%;
}

html[data-locke-theme] {
	transition: background-color .2s ease, color .2s ease;
}

html[data-locke-theme="light"],
html[data-locke-theme="light"] body {
	background: var(--locke-light-paper) !important;
	color: var(--locke-light-ink) !important;
	color-scheme: light;
}

html[data-locke-theme="light"] body {
	background-image: none !important;
}

/* Shared header used by the homepage, service pages and article pages. */
html[data-locke-theme="light"] .locke-header-v085.locke-header-component .locke-header-shell,
html[data-locke-theme="light"] .locke2026 .site-header {
	background: rgba(255, 255, 255, .96) !important;
	border-color: var(--locke-light-line) !important;
	box-shadow: 0 14px 60px rgba(23, 32, 51, .10) !important;
	color: var(--locke-light-ink) !important;
}

html[data-locke-theme="light"] .locke-header-v085.locke-header-component,
html[data-locke-theme="light"] .locke2026.locke-header-component {
	color: var(--locke-light-ink) !important;
}

html[data-locke-theme="light"] .locke-header-v085.locke-header-component nav > a,
html[data-locke-theme="light"] .locke-header-v085.locke-header-component .locke-header-nav-parent,
html[data-locke-theme="light"] .locke-header-v085.locke-header-component .locke-header-menu-toggle,
html[data-locke-theme="light"] .locke2026 .site-header nav > a,
html[data-locke-theme="light"] .locke2026 .site-header .nav-parent,
html[data-locke-theme="light"] .locke2026 .site-header .menu-toggle,
html[data-locke-theme="light"] .locke-header-v085.locke-header-component .locke-header-language-trigger {
	color: var(--locke-light-ink) !important;
}

html[data-locke-theme="light"] .locke-header-v085.locke-header-component .locke-header-language-trigger,
html[data-locke-theme="light"] .locke2026 .site-header .nav-submenu,
html[data-locke-theme="light"] .locke2026 .site-header .nav-submenu a,
html[data-locke-theme="light"] .locke-header-v085.locke-header-component .locke-header-nav-submenu,
html[data-locke-theme="light"] .locke-header-v085.locke-header-component .locke-header-nav-submenu a,
html[data-locke-theme="light"] .locke-header-v085.locke-header-component .locke-header-language-menu,
html[data-locke-theme="light"] .locke-header-v085.locke-header-component .locke-header-language-menu a {
	background: var(--locke-light-paper) !important;
	border-color: var(--locke-light-line) !important;
	color: var(--locke-light-ink) !important;
	box-shadow: 0 18px 50px rgba(23, 32, 51, .14) !important;
}

html[data-locke-theme="light"] .locke-header-v085.locke-header-component .locke-header-nav-submenu small,
html[data-locke-theme="light"] .locke-header-v085.locke-header-component .locke-header-language-kicker,
html[data-locke-theme="light"] .locke2026 .site-header .nav-submenu small {
	color: var(--locke-light-muted) !important;
}

/* Locke's shared homepage/service component. */
html[data-locke-theme="light"] .locke2026 {
	--ink: var(--locke-light-ink);
	--ink-2: var(--locke-light-ink-2);
	--paper: var(--locke-light-paper);
	--paper-2: var(--locke-light-paper-2);
	--muted: var(--locke-light-muted);
	--line-dark: var(--locke-light-line);
	--line-light: var(--locke-light-line);
	background: var(--locke-light-paper) !important;
	color: var(--locke-light-ink) !important;
}

html[data-locke-theme="light"] .locke2026 .hero,
html[data-locke-theme="light"] .locke2026 .trusted-section,
html[data-locke-theme="light"] .locke2026 .solutions-section,
html[data-locke-theme="light"] .locke2026 .method-section,
html[data-locke-theme="light"] .locke2026 .operator-section,
html[data-locke-theme="light"] .locke2026 .ai-lab-section,
html[data-locke-theme="light"] .locke2026 .insights-section,
html[data-locke-theme="light"] .locke2026 .knowledge-section,
html[data-locke-theme="light"] .locke2026 .results-section,
html[data-locke-theme="light"] .locke2026 .services-section,
html[data-locke-theme="light"] .locke2026 .contact-section,
html[data-locke-theme="light"] .locke2026 footer {
	background: var(--locke-light-paper) !important;
	color: var(--locke-light-ink) !important;
}

html[data-locke-theme="light"] .locke2026 .hero-grid,
html[data-locke-theme="light"] .locke2026 .signal-axis,
html[data-locke-theme="light"] .locke2026 .signal-orbit,
html[data-locke-theme="light"] .locke2026 .solution-card::before,
html[data-locke-theme="light"] .locke2026 .growth-window::before,
html[data-locke-theme="light"] .locke2026 .ai-product-card::after {
	opacity: .55;
}

html[data-locke-theme="light"] .locke2026 .hero-grid {
	background-image: linear-gradient(to right, rgba(10, 13, 11, .12) 1px, transparent 1px), linear-gradient(to bottom, rgba(10, 13, 11, .10) 1px, transparent 1px) !important;
}

html[data-locke-theme="light"] .locke2026 .hero .eyebrow,
html[data-locke-theme="light"] .locke2026 .hero-intro,
html[data-locke-theme="light"] .locke2026 .trusted-heading > p:last-child,
html[data-locke-theme="light"] .locke2026 .solutions-heading > p:last-child,
html[data-locke-theme="light"] .locke2026 .method-intro > p:last-child,
html[data-locke-theme="light"] .locke2026 .ai-lab-heading > p:last-child,
html[data-locke-theme="light"] .locke2026 .operator-copy > p:not(.eyebrow) {
	color: var(--locke-light-muted) !important;
}

html[data-locke-theme="light"] .locke2026 .hero h1,
html[data-locke-theme="light"] .locke2026 .trusted-heading h2,
html[data-locke-theme="light"] .locke2026 .solutions-heading h2,
html[data-locke-theme="light"] .locke2026 .method-flow h3,
html[data-locke-theme="light"] .locke2026 .section-heading h2,
html[data-locke-theme="light"] .locke2026 .operator-copy h2,
html[data-locke-theme="light"] .locke2026 .footer-cta h2,
html[data-locke-theme="light"] .locke2026 .service-name h3 {
	color: var(--locke-light-ink) !important;
}

html[data-locke-theme="light"] .locke2026 .button-ghost {
	border-color: var(--locke-light-line) !important;
	color: var(--locke-light-ink) !important;
}

html[data-locke-theme="light"] .locke2026 .signal-stage,
html[data-locke-theme="light"] .locke2026 .growth-window,
html[data-locke-theme="light"] .locke2026 .case-dark,
html[data-locke-theme="light"] .locke2026 .solution-seo,
html[data-locke-theme="light"] .locke2026 .operator-section,
html[data-locke-theme="light"] .locke2026 .insight-cards,
html[data-locke-theme="light"] .locke2026 .case-footer {
	background: var(--locke-light-paper) !important;
	border-color: var(--locke-light-line) !important;
	color: var(--locke-light-ink) !important;
}

html[data-locke-theme="light"] .locke2026 .signal-chip {
	background: var(--locke-light-accent-soft) !important;
	color: var(--locke-light-accent) !important;
	border-color: var(--locke-light-line) !important;
}

html[data-locke-theme="light"] .locke2026 .signal-meta,
html[data-locke-theme="light"] .locke2026 .growth-phases span,
html[data-locke-theme="light"] .locke2026 .growth-phases p,
html[data-locke-theme="light"] .locke2026 .growth-note,
html[data-locke-theme="light"] .locke2026 .method-flow article > div > p:first-child,
html[data-locke-theme="light"] .locke2026 .method-flow article > p,
html[data-locke-theme="light"] .locke2026 .operator-stats span {
	color: var(--locke-light-muted) !important;
}

html[data-locke-theme="light"] .locke2026 .method-flow,
html[data-locke-theme="light"] .locke2026 .growth-phases,
html[data-locke-theme="light"] .locke2026 .service-list,
html[data-locke-theme="light"] .locke2026 .footer-cta,
html[data-locke-theme="light"] .locke2026 .operator-stats {
	border-color: var(--locke-light-line) !important;
}

html[data-locke-theme="light"] .locke2026 .case-dark,
html[data-locke-theme="light"] .locke2026 .solution-seo,
html[data-locke-theme="light"] .locke2026 .operator-section,
html[data-locke-theme="light"] .locke2026 .insights-section,
html[data-locke-theme="light"] .locke2026 footer,
html[data-locke-theme="light"] .locke2026 .case-dark h3,
html[data-locke-theme="light"] .locke2026 .solution-seo h3 {
	color: var(--locke-light-ink) !important;
}

html[data-locke-theme="light"] .locke2026 .operator-image-wrap::after {
	background: linear-gradient(to top, rgba(10, 13, 11, .38), transparent 45%) !important;
}

html[data-locke-theme="light"] .locke2026 .contact-section {
	background: var(--locke-light-paper) !important;
	border-top: 1px solid var(--locke-light-line) !important;
	border-bottom: 1px solid var(--locke-light-line) !important;
	color: var(--locke-light-ink) !important;
}

/* Blog articles already use a warm reading canvas; keep it readable in both modes. */
html[data-locke-theme="light"] .lkb {
	background: var(--locke-light-paper) !important;
	color: var(--locke-light-ink) !important;
}

html[data-locke-theme="light"] .lkb .lkb-hero,
html[data-locke-theme="light"] .lkb .lkb-end {
	background: var(--locke-light-paper-2) !important;
	color: var(--locke-light-ink) !important;
}

html[data-locke-theme="light"] .lkb .lkb-dek,
html[data-locke-theme="light"] .lkb .lkb-back,
html[data-locke-theme="light"] .lkb .lkb-byline small {
	color: var(--locke-light-muted) !important;
}

html[data-locke-theme="light"] .lkb .lkb-kicker,
html[data-locke-theme="light"] .lkb .lkb-section-no,
html[data-locke-theme="light"] .lkb .lkb-end strong {
	color: var(--locke-light-accent) !important;
}

html[data-locke-theme="light"] .lkb .lkb-answer-box {
	background: var(--locke-light-accent-soft) !important;
	border-color: var(--locke-light-line) !important;
}

html[data-locke-theme="light"] .lkb .lkb-formula {
	background: var(--locke-light-paper-2) !important;
	border: 1px solid var(--locke-light-line) !important;
	color: var(--locke-light-ink) !important;
}

/* Other shared Locke layouts used by the service, blog hub and dynamic
 * showcase pages. These rules only change the canvas and UI chrome; media
 * remains untouched below. */
html[data-locke-theme="light"] .locke-body-component,
html[data-locke-theme="light"] .locke-footer-component,
html[data-locke-theme="light"] .locke-blog-showcase,
html[data-locke-theme="light"] .lwd15 {
	background: var(--locke-light-paper) !important;
	color: var(--locke-light-ink) !important;
}

html[data-locke-theme="light"] .locke-blog-showcase .locke-blog-card,
html[data-locke-theme="light"] .lwd15 .lwd15-card,
html[data-locke-theme="light"] .lwd15 .lwd15-panel {
	background: var(--locke-light-paper-2) !important;
	border-color: var(--locke-light-line) !important;
	color: var(--locke-light-ink) !important;
}

html[data-locke-theme="light"] .locke-blog-showcase a,
html[data-locke-theme="light"] .locke-body-component a,
html[data-locke-theme="light"] .lwd15 a {
	color: inherit;
}

/* Do not invert, desaturate or recolour photos, client logos or screenshots. */
html[data-locke-theme="light"] img,
html[data-locke-theme="light"] video,
html[data-locke-theme="light"] svg {
	filter: none;
}

/* The fixed control is intentionally independent of Elementor containers. */
.locke-theme-toggle {
	position: fixed;
	z-index: 100000;
	bottom: calc(22px + env(safe-area-inset-bottom));
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-height: 42px;
	padding: 0 14px 0 11px;
	border: 1px solid rgba(206, 255, 63, .72);
	border-radius: 999px;
	background: #0a0d0b;
	color: #f4f1e8;
	font: 800 11px/1 Inter, "Helvetica Neue", Arial, sans-serif;
	letter-spacing: .01em;
	cursor: pointer;
	box-shadow: 0 12px 34px rgba(0, 0, 0, .20);
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}

.locke-theme-toggle--bottom-left { left: calc(22px + env(safe-area-inset-left)); }
.locke-theme-toggle--bottom-right { right: calc(22px + env(safe-area-inset-right)); }
.locke-theme-toggle:hover,
.locke-theme-toggle:focus-visible { transform: translateY(-2px); border-color: #7693ad; outline: none; }
.locke-theme-toggle__icon { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 18px; }
.locke-theme-toggle [data-locke-theme-icon="moon"] { display: none; }
.locke-theme-toggle [data-locke-theme-icon="sun"] { display: block; }
html[data-locke-theme="light"] .locke-theme-toggle { background: var(--locke-light-paper); color: var(--locke-light-ink); border-color: rgba(10, 13, 11, .28); box-shadow: 0 12px 34px rgba(10, 13, 11, .14); }
html[data-locke-theme="light"] .locke-theme-toggle [data-locke-theme-icon="sun"] { display: none; }
html[data-locke-theme="light"] .locke-theme-toggle [data-locke-theme-icon="moon"] { display: block; }

/* Header placement: compact enough to sit beside Contact and the language
 * switcher, while still visibly belonging to the Locke control system. */
.locke-theme-toggle--header {
	position: relative;
	left: auto;
	right: auto;
	bottom: auto;
	min-height: 30px;
	padding: 0 10px;
	border-radius: 0;
	background: transparent;
	color: #f4f1e8;
	border-color: rgba(242, 240, 232, .34);
	box-shadow: none;
	font-size: 9px;
	letter-spacing: .04em;
	white-space: nowrap;
}
.locke-theme-toggle--header:hover,
.locke-theme-toggle--header:focus-visible {
	transform: none;
	border-color: #7693ad;
	color: #e7edf5;
}
html[data-locke-theme="light"] .locke-theme-toggle--header {
	background: transparent;
	color: var(--locke-light-ink);
	border-color: rgba(10, 13, 11, .28);
	box-shadow: none;
}
html[data-locke-theme="light"] .locke-theme-toggle--header:hover,
html[data-locke-theme="light"] .locke-theme-toggle--header:focus-visible {
	border-color: #426b8a;
	color: #17466b;
}

@media (max-width: 760px) {
	.locke-theme-toggle {
		bottom: calc(16px + env(safe-area-inset-bottom));
		min-height: 40px;
		padding-right: 12px;
	}

	.locke-theme-toggle--bottom-left { left: calc(14px + env(safe-area-inset-left)); }
	.locke-theme-toggle--bottom-right { right: calc(14px + env(safe-area-inset-right)); }
	.locke-theme-toggle--header {
		width: 30px;
		min-width: 30px;
		padding: 0;
		justify-content: center;
	}
	.locke-theme-toggle--header .locke-theme-toggle__label { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.locke-theme-toggle { transition: none; }
}

/* -------------------------------------------------------------------------
 * Light-mode finishing layer
 *
 * The supplied Elementor templates contain their own dark design rules. Keep
 * those templates and all page content intact, but give them a predictable
 * white/corporate presentation when the visitor selects light mode.
 * ------------------------------------------------------------------------- */

html[data-locke-theme="light"] .locke-hf-site-header .locke-header-v085 {
	--ink: var(--locke-light-ink) !important;
	--paper: var(--locke-light-paper) !important;
	--lime: var(--locke-light-accent) !important;
	--line: var(--locke-light-line) !important;
}

html[data-locke-theme="light"] .locke-hf-site-header .locke-header-v085 .locke-header-shell,
html[data-locke-theme="light"] .locke-hf-site-header .locke-header-v085 nav,
html[data-locke-theme="light"] .locke-hf-site-header .locke-header-v085 .locke-header-nav-submenu,
html[data-locke-theme="light"] .locke-hf-site-header .locke-header-v085 .locke-header-nav-submenu a,
html[data-locke-theme="light"] .locke-hf-site-header .locke-header-v085 .locke-header-language-menu,
html[data-locke-theme="light"] .locke-hf-site-header .locke-header-v085 .locke-header-language-menu a {
	background: var(--locke-light-paper) !important;
	background-image: none !important;
	color: var(--locke-light-ink) !important;
	border-color: var(--locke-light-line) !important;
	box-shadow: 0 14px 42px rgba(23, 32, 51, .11) !important;
}

html[data-locke-theme="light"] .locke-hf-site-header .locke-header-v085 nav > a,
html[data-locke-theme="light"] .locke-hf-site-header .locke-header-v085 .locke-header-nav-parent,
html[data-locke-theme="light"] .locke-hf-site-header .locke-header-v085 .locke-header-menu-toggle,
html[data-locke-theme="light"] .locke-hf-site-header .locke-header-v085 .locke-header-cta,
html[data-locke-theme="light"] .locke-hf-site-header .locke-header-v085 .locke-header-language-trigger,
html[data-locke-theme="light"] .locke-hf-site-header .locke-header-v085 .locke-header-wordmark {
	color: var(--locke-light-ink) !important;
}

html[data-locke-theme="light"] .locke-hf-site-header .locke-header-v085 .locke-header-wordmark span,
html[data-locke-theme="light"] .locke-hf-site-header .locke-header-v085 .locke-header-arrow,
html[data-locke-theme="light"] .locke-hf-site-header .locke-header-v085 nav > a:hover,
html[data-locke-theme="light"] .locke-hf-site-header .locke-header-v085 .locke-header-nav-parent:hover,
html[data-locke-theme="light"] .locke-hf-site-header .locke-header-v085 .locke-header-nav-has-menu.is-open .locke-header-nav-parent,
html[data-locke-theme="light"] .locke-hf-site-header .locke-header-v085 .locke-header-language-trigger:hover,
html[data-locke-theme="light"] .locke-hf-site-header .locke-header-v085 .locke-header-language-switcher.is-open .locke-header-language-trigger,
html[data-locke-theme="light"] .locke-hf-site-header .locke-header-v085 .locke-header-nav-submenu a:hover,
html[data-locke-theme="light"] .locke-hf-site-header .locke-header-v085 .locke-header-language-menu a:hover {
	color: var(--locke-light-accent) !important;
	border-color: var(--locke-light-accent) !important;
	stroke: var(--locke-light-accent) !important;
}

html[data-locke-theme="light"] .locke-hf-site-header .locke-header-v085 .locke-header-language-kicker,
html[data-locke-theme="light"] .locke-hf-site-header .locke-header-v085 .locke-header-nav-submenu small,
html[data-locke-theme="light"] .locke-hf-site-header .locke-header-v085 .locke-header-language-menu small {
	color: var(--locke-light-muted) !important;
}

/* Compact header control: never inherit the large Elementor button sizing. */
.locke-hf-site-header .locke-theme-toggle--header {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: 132px !important;
	height: 32px !important;
	min-height: 32px !important;
	max-height: 32px !important;
	margin: 0 !important;
	padding: 0 10px !important;
	border-radius: 0 !important;
	font: 700 10px/1 Inter, "Helvetica Neue", Arial, sans-serif !important;
	letter-spacing: .02em !important;
	gap: 6px !important;
	white-space: nowrap !important;
}

.locke-hf-site-header .locke-theme-toggle--header .locke-theme-toggle__icon {
	width: 14px !important;
	height: 14px !important;
	flex: 0 0 14px !important;
}

html[data-locke-theme="light"] .locke-hf-site-header .locke-theme-toggle--header {
	background: #fff !important;
	color: var(--locke-light-accent) !important;
	border-color: rgba(30, 90, 136, .34) !important;
}

html[data-locke-theme="light"] .locke-hf-site-header .locke-theme-toggle--header:hover,
html[data-locke-theme="light"] .locke-hf-site-header .locke-theme-toggle--header:focus-visible {
	background: var(--locke-light-accent-soft) !important;
	color: var(--locke-light-accent-dark) !important;
	border-color: var(--locke-light-accent) !important;
}

@media (max-width: 1080px) {
	.locke-hf-site-header .locke-theme-toggle--header {
		width: 32px !important;
		max-width: 32px !important;
		padding: 0 !important;
	}
}

@media (max-width: 720px) {
	.locke-hf-site-header .locke-theme-toggle--header {
		width: 30px !important;
		min-width: 30px !important;
		max-width: 30px !important;
		height: 30px !important;
		min-height: 30px !important;
		max-height: 30px !important;
	}
}

/* Neutralise dark and neon panels in the shared homepage/service layout. */
html[data-locke-theme="light"] .locke2026 .signal-stage,
html[data-locke-theme="light"] .locke2026 .growth-window,
html[data-locke-theme="light"] .locke2026 .case-dark,
html[data-locke-theme="light"] .locke2026 .case-lime,
html[data-locke-theme="light"] .locke2026 .case-light,
html[data-locke-theme="light"] .locke2026 .case-coral,
html[data-locke-theme="light"] .locke2026 .solution-seo,
html[data-locke-theme="light"] .locke2026 .solution-geo,
html[data-locke-theme="light"] .locke2026 .solution-web,
html[data-locke-theme="light"] .locke2026 .ai-product-card,
html[data-locke-theme="light"] .locke2026 .insight-cards a,
html[data-locke-theme="light"] .locke2026 .case-footer,
html[data-locke-theme="light"] .locke2026 .footer-cta,
html[data-locke-theme="light"] .locke2026 .operator-section,
html[data-locke-theme="light"] .locke2026 .insights-section,
html[data-locke-theme="light"] .locke2026 .knowledge-section,
html[data-locke-theme="light"] .locke2026 .results-section,
html[data-locke-theme="light"] .locke2026 .services-section,
html[data-locke-theme="light"] .locke2026 footer {
	background: #fff !important;
	background-image: none !important;
	color: var(--locke-light-ink) !important;
	border-color: var(--locke-light-line) !important;
}

html[data-locke-theme="light"] .locke2026 .signal-stage,
html[data-locke-theme="light"] .locke2026 .growth-window,
html[data-locke-theme="light"] .locke2026 .case-card,
html[data-locke-theme="light"] .locke2026 .solution-card,
html[data-locke-theme="light"] .locke2026 .ai-product-card,
html[data-locke-theme="light"] .locke2026 .insight-cards a {
	box-shadow: 0 14px 36px rgba(23, 32, 51, .06) !important;
}

html[data-locke-theme="light"] .locke2026 .case-lime,
html[data-locke-theme="light"] .locke2026 .case-light,
html[data-locke-theme="light"] .locke2026 .case-coral,
html[data-locke-theme="light"] .locke2026 .solution-geo,
html[data-locke-theme="light"] .locke2026 .solution-web,
html[data-locke-theme="light"] .locke2026 .ai-product-card,
html[data-locke-theme="light"] .locke2026 .insight-cards a:first-child {
	background: var(--locke-light-accent-soft) !important;
	color: var(--locke-light-ink) !important;
	border-color: rgba(30, 90, 136, .22) !important;
}

html[data-locke-theme="light"] .locke2026 .case-dark,
html[data-locke-theme="light"] .locke2026 .solution-seo,
html[data-locke-theme="light"] .locke2026 .operator-section,
html[data-locke-theme="light"] .locke2026 .insights-section,
html[data-locke-theme="light"] .locke2026 footer,
html[data-locke-theme="light"] .locke2026 .case-dark h3,
html[data-locke-theme="light"] .locke2026 .solution-seo h3,
html[data-locke-theme="light"] .locke2026 .case-dark p,
html[data-locke-theme="light"] .locke2026 .solution-seo p {
	color: var(--locke-light-ink) !important;
}

html[data-locke-theme="light"] .locke2026 .eyebrow,
html[data-locke-theme="light"] .locke2026 .footer-cta p,
html[data-locke-theme="light"] .locke2026 .service-label,
html[data-locke-theme="light"] .locke2026 .solution-symbol,
html[data-locke-theme="light"] .locke2026 .case-value,
html[data-locke-theme="light"] .locke2026 .case-topline,
html[data-locke-theme="light"] .locke2026 .growth-window-copy .eyebrow {
	color: var(--locke-light-accent) !important;
}

html[data-locke-theme="light"] .locke2026 a.button-primary,
html[data-locke-theme="light"] .locke2026 .header-cta,
html[data-locke-theme="light"] .locke2026 .contact-section a,
html[data-locke-theme="light"] .locke2026 .button-lime {
	background: var(--locke-light-accent) !important;
	background-image: none !important;
	color: #fff !important;
	border-color: var(--locke-light-accent) !important;
}

html[data-locke-theme="light"] .locke2026 a.button-primary:hover,
html[data-locke-theme="light"] .locke2026 .header-cta:hover,
html[data-locke-theme="light"] .locke2026 .contact-section a:hover,
html[data-locke-theme="light"] .locke2026 .button-lime:hover {
	background: var(--locke-light-accent-dark) !important;
	color: #fff !important;
}

html[data-locke-theme="light"] .locke2026 .operator-image-wrap::after {
	background: linear-gradient(to top, rgba(23, 32, 51, .14), transparent 45%) !important;
}

/* SEO Link Sections is bundled from locke-seo-link-sections. It uses the
 * same markup in every language, so one override keeps its cards consistent
 * with the rest of the light-mode site. */
html[data-locke-theme="light"] .locke-seo-links {
	--locke-lime: var(--locke-light-accent) !important;
	--locke-lime-dark: var(--locke-light-accent-dark) !important;
	--locke-ink: var(--locke-light-ink) !important;
	--locke-paper: #fff !important;
	--locke-muted: var(--locke-light-muted) !important;
	--locke-line: var(--locke-light-line) !important;
	background: #fff !important;
	background-image: none !important;
	color: var(--locke-light-ink) !important;
	border-top: 1px solid var(--locke-light-line) !important;
	border-bottom: 1px solid var(--locke-light-line) !important;
}

html[data-locke-theme="light"] .locke-seo-links__grid-overlay {
	opacity: .36 !important;
	background-image: linear-gradient(90deg, rgba(23, 32, 51, .07) 1px, transparent 1px), linear-gradient(rgba(23, 32, 51, .07) 1px, transparent 1px) !important;
}

html[data-locke-theme="light"] .locke-seo-links h2,
html[data-locke-theme="light"] .locke-seo-links__group h3,
html[data-locke-theme="light"] .locke-seo-links__service-card,
html[data-locke-theme="light"] .locke-seo-links__service-label,
html[data-locke-theme="light"] .locke-seo-links__text-link,
html[data-locke-theme="light"] .locke-seo-links__text-link:hover,
html[data-locke-theme="light"] .locke-seo-links__text-link:focus-visible {
	color: var(--locke-light-ink) !important;
}

html[data-locke-theme="light"] .locke-seo-links__eyebrow,
html[data-locke-theme="light"] .locke-seo-links__section-head span:last-child,
html[data-locke-theme="light"] .locke-seo-links__service-arrow,
html[data-locke-theme="light"] .locke-seo-links__text-arrow,
html[data-locke-theme="light"] .locke-seo-links__closing a {
	color: var(--locke-light-accent) !important;
}

html[data-locke-theme="light"] .locke-seo-links__intro-copy,
html[data-locke-theme="light"] .locke-seo-links__section-head,
html[data-locke-theme="light"] .locke-seo-links__service-description,
html[data-locke-theme="light"] .locke-seo-links__group-description,
html[data-locke-theme="light"] .locke-seo-links__closing {
	color: var(--locke-light-muted) !important;
}

html[data-locke-theme="light"] .locke-seo-links__service-card,
html[data-locke-theme="light"] .locke-seo-links__service-card:nth-child(2),
html[data-locke-theme="light"] .locke-seo-links__service-card:hover,
html[data-locke-theme="light"] .locke-seo-links__service-card:focus-visible {
	background: #fff !important;
	border-color: var(--locke-light-line) !important;
	box-shadow: 0 14px 32px rgba(23, 32, 51, .06) !important;
}

html[data-locke-theme="light"] .locke-seo-links__service-card:hover,
html[data-locke-theme="light"] .locke-seo-links__service-card:focus-visible {
	background: var(--locke-light-accent-soft) !important;
	border-color: var(--locke-light-accent) !important;
}

html[data-locke-theme="light"] .locke-seo-links__link-list,
html[data-locke-theme="light"] .locke-seo-links__text-link {
	border-color: var(--locke-light-line) !important;
}

/* A few older page sections use a literal .dark helper class. */
html[data-locke-theme="light"] .locke-body-component .dark,
html[data-locke-theme="light"] .locke-footer-component .dark,
html[data-locke-theme="light"] .locke-blog-showcase .dark,
html[data-locke-theme="light"] .lwd15 .dark {
	background: #fff !important;
	background-image: none !important;
	color: var(--locke-light-ink) !important;
}

/* -------------------------------------------------------------------------
 * v1.3 enterprise light mode
 *
 * The live pages contain several generations of self-contained Elementor CSS.
 * Some use shared variables, while others hard-code lime, coral and dark
 * panels.  This last layer deliberately wins that cascade and gives every
 * known Locke layout the same mature Hong Kong corporate system.
 * ------------------------------------------------------------------------- */

/* The bundled templates replace the Hello Elementor site chrome. */
body.locke-hf-active > header#site-header,
body.locke-hf-active > footer#site-footer {
	display: none !important;
}

/* Keep page artwork behind, never through, the header or footer. */
.locke-hf-site-header,
.locke-hf-site-footer {
	isolation: isolate;
	background: #0a0d0b;
}

.locke-hf-site-header {
	z-index: 100000 !important;
}

.locke-hf-site-header .locke-header-shell {
	background: #0a0d0b !important;
	background-image: none !important;
}

.locke-hf-site-footer {
	z-index: 99990 !important;
	clear: both;
	overflow: clip;
}

.locke-hf-site-footer .locke2026,
.locke-hf-site-footer .locke2026 > footer {
	position: relative;
	z-index: 1;
	width: 100% !important;
	background: #0a0d0b !important;
	background-image: none !important;
}

html[data-locke-theme="light"] .locke-hf-site-header,
html[data-locke-theme="light"] .locke-hf-site-footer,
html[data-locke-theme="light"] .locke-hf-site-header .locke-header-shell,
html[data-locke-theme="light"] .locke-hf-site-footer .locke2026,
html[data-locke-theme="light"] .locke-hf-site-footer .locke2026 > footer {
	background: #fff !important;
	background-image: none !important;
}

/* The control is a sober utility, not a campaign button.  These rules also
 * prevent Elementor global button hover colours from turning it red. */
html[data-locke-theme="dark"] .locke-hf-site-header .locke-theme-toggle--header,
html[data-locke-theme="dark"] .locke-hf-site-header .locke-theme-toggle--header:visited {
	background: #111820 !important;
	background-image: none !important;
	color: #e7edf5 !important;
	border-color: rgba(183, 196, 214, .42) !important;
	box-shadow: none !important;
}

html[data-locke-theme="dark"] .locke-hf-site-header .locke-theme-toggle--header:hover,
html[data-locke-theme="dark"] .locke-hf-site-header .locke-theme-toggle--header:focus,
html[data-locke-theme="dark"] .locke-hf-site-header .locke-theme-toggle--header:focus-visible,
html[data-locke-theme="dark"] .locke-hf-site-header .locke-theme-toggle--header:active {
	background: #29435f !important;
	background-image: none !important;
	color: #fff !important;
	border-color: #7693ad !important;
	box-shadow: none !important;
	transform: none !important;
}

html[data-locke-theme="light"] .locke-hf-site-header .locke-theme-toggle--header,
html[data-locke-theme="light"] .locke-hf-site-header .locke-theme-toggle--header:visited {
	background: #fff !important;
	background-image: none !important;
	color: #17466b !important;
	border-color: #aebdca !important;
	box-shadow: none !important;
}

html[data-locke-theme="light"] .locke-hf-site-header .locke-theme-toggle--header:hover,
html[data-locke-theme="light"] .locke-hf-site-header .locke-theme-toggle--header:focus,
html[data-locke-theme="light"] .locke-hf-site-header .locke-theme-toggle--header:focus-visible,
html[data-locke-theme="light"] .locke-hf-site-header .locke-theme-toggle--header:active {
	background: #edf2f6 !important;
	background-image: none !important;
	color: #123a59 !important;
	border-color: #426b8a !important;
	box-shadow: none !important;
	transform: none !important;
}

/* One white canvas, including Elementor's outer wrappers. */
html[data-locke-theme="light"] body,
html[data-locke-theme="light"] #page,
html[data-locke-theme="light"] #content,
html[data-locke-theme="light"] main,
html[data-locke-theme="light"] .site-main,
html[data-locke-theme="light"] .elementor-location-single,
html[data-locke-theme="light"] .elementor-location-archive {
	background-color: #fff !important;
	background-image: none !important;
}

/* Retire the youthful lime/coral tokens at their source. */
html[data-locke-theme="light"] .locke2026,
html[data-locke-theme="light"] .lwd15,
html[data-locke-theme="light"] .lr10,
html[data-locke-theme="light"] .lkb,
html[data-locke-theme="light"] .locke-blog-showcase {
	--lime: #1e5a88 !important;
	--coral: #edf2f6 !important;
	--blue: #e8f0f6 !important;
	--muted: #657285 !important;
	--line-dark: rgba(23, 32, 51, .16) !important;
	--line-light: rgba(23, 32, 51, .16) !important;
	--line: rgba(23, 32, 51, .16) !important;
	--dline: rgba(23, 32, 51, .16) !important;
	background-color: #fff !important;
	background-image: none !important;
	color: #172033 !important;
}

/* White and grey surfaces replace legacy dark, lime, coral and blue panels. */
html[data-locke-theme="light"] :is(.locke2026, .lwd15, .lr10, .lkb, .locke-blog-showcase)
  :is(section, [class*="-section"], [class*="-hero"], [class*="-intro"], [class*="-final"], [class*="-overview"], [class*="-story"], [class*="-method"], [class*="-brands"], [class*="-project"], [class*="-capabilities"], [class*="-panel"], [class*="-board"], [class*="-dashboard"], [class*="-machine"], [class*="-delivery"], [class*="-process"], [class*="-proof"], [class^="proof-"], [class*="-card"], [class*="-dark"], [class*="-coral"], [class*="-lime"], [class*="-blue"], [class*="-paper"], .engine, .delivery, .process, .dashboard, .proof-rail, .lab-chart, .metric-wall, .lr10-score) {
	background-color: #fff !important;
	background-image: none !important;
	color: #172033 !important;
	border-color: rgba(23, 32, 51, .16) !important;
	box-shadow: none !important;
}

/* A small amount of hierarchy, without coloured slabs. */
html[data-locke-theme="light"] :is(.locke2026, .lwd15, .lr10, .lkb, .locke-blog-showcase)
  :is(.query-card, .signal-chip, .phase-active, .rank-chip, .proof-note, .metric-card, .lkb-answer-box, .lkb-card, .locke-blog-card, .lwd15-path-node, .lwd15-step, .lr10-method-item) {
	background: #f6f7f9 !important;
	background-image: none !important;
	color: #172033 !important;
	border-color: #d7dde5 !important;
	box-shadow: none !important;
}

/* Repair every old white-on-dark declaration after its panel becomes white. */
html[data-locke-theme="light"] :is(.locke2026, .lwd15, .lr10, .lkb, .locke-blog-showcase)
  :is(h1, h2, h3, h4, h5, h6, p, span, strong, b, small, li, label, summary, td, th, figcaption) {
	color: #172033 !important;
}

html[data-locke-theme="light"] :is(.locke2026, .lwd15, .lr10, .lkb, .locke-blog-showcase)
  :is(.eyebrow, .kicker, [class*="-kicker"], [class*="-label"], [class*="-caption"], [class*="-note"], [class*="-meta"], [class*="-copy"] p) {
	color: #657285 !important;
}

/* Restrained government/corporate blue is the only light-mode accent. */
html[data-locke-theme="light"] :is(.locke2026, .lwd15, .lr10, .lkb, .locke-blog-showcase)
  :is(.accent, .growth-number, .score-big, .case-value, .method-flow article > span, .lwd15-step > span, .lr10-case-no, .lkb-section-no, .lkb-kicker, .footer-mark span, .wordmark span, .arrow-icon, [class*="-arrow"]) {
	color: #1e5a88 !important;
	stroke: #1e5a88 !important;
}

html[data-locke-theme="light"] .locke2026 .hero h1 span,
html[data-locke-theme="light"] .locke2026 .method-intro h2,
html[data-locke-theme="light"] .locke2026 .operator-stats strong,
html[data-locke-theme="light"] .locke2026 .growth-number,
html[data-locke-theme="light"] .locke2026 .growth-number strong,
html[data-locke-theme="light"] .locke2026 .growth-number span,
html[data-locke-theme="light"] .lwd15 :is(.lwd15-accent, .lwd15-number),
html[data-locke-theme="light"] .lr10 :is(.lr10-display, .lr10-score) {
	color: #1e5a88 !important;
}

/* Diagrams and charts keep their meaning, using blue instead of neon. */
html[data-locke-theme="light"] :is(.locke2026, .lwd15, .lr10)
  :is(.signal-orbit, .growth-orbit, .growth-orbit i, .engine, .engine-board, .lab-chart, .score-chart, .case-trajectory, .lwd15-orbit-card) {
	border-color: rgba(30, 90, 136, .24) !important;
	box-shadow: none !important;
}

html[data-locke-theme="light"] .locke2026 :is(.signal-core, .growth-orbit i:nth-child(3), .status-dot),
html[data-locke-theme="light"] .locke2026 :is(.lab-live, .step-node),
html[data-locke-theme="light"] .lwd15 :is(.lwd15-path-node, .lwd15-step-icon),
html[data-locke-theme="light"] .lr10 .lr10-scroll-line {
	background: #1e5a88 !important;
	background-image: none !important;
	color: #fff !important;
	border-color: #1e5a88 !important;
	box-shadow: none !important;
}

html[data-locke-theme="light"] .locke2026 .signal-core * {
	color: #fff !important;
}

/* Legacy dark cards had unusually specific white-text rules. */
html[data-locke-theme="light"] .locke2026 a.case-card.case-dark,
html[data-locke-theme="light"] .locke2026 a.case-card.case-dark h3,
html[data-locke-theme="light"] .locke2026 a.case-card.case-dark p,
html[data-locke-theme="light"] .locke2026 a.case-card.case-dark strong,
html[data-locke-theme="light"] .locke2026 a.case-card.case-dark span,
html[data-locke-theme="light"] .locke2026 a.case-card.case-dark div,
html[data-locke-theme="light"] .locke2026 a.case-card.case-dark svg,
html[data-locke-theme="light"] .locke2026 .solution-seo,
html[data-locke-theme="light"] .locke2026 .solution-seo h3,
html[data-locke-theme="light"] .locke2026 .solution-seo p,
html[data-locke-theme="light"] .locke2026 .solution-seo span,
html[data-locke-theme="light"] .locke2026 .solution-seo strong {
	background-color: #fff !important;
	background-image: none !important;
	color: #172033 !important;
	border-color: #d7dde5 !important;
	visibility: visible !important;
	opacity: 1 !important;
}

/* Buttons, active filters and form actions use the same dependable blue. */
html[data-locke-theme="light"] :is(.locke2026, .lwd15, .lr10, .lkb, .locke-blog-showcase)
  :is(.button-primary, .button-lime, .header-cta, .lr10-btn, .lwd15-btn, .lkb-load-more, button[type="submit"], input[type="submit"], .locke-blog-showcase__filter.is-active) {
	background: #1e5a88 !important;
	background-image: none !important;
	color: #fff !important;
	border-color: #1e5a88 !important;
	box-shadow: none !important;
}

html[data-locke-theme="light"] :is(.locke2026, .lwd15, .lr10, .lkb, .locke-blog-showcase)
  :is(.button-primary, .button-lime, .header-cta, .lr10-btn, .lwd15-btn, .lkb-load-more, button[type="submit"], input[type="submit"], .locke-blog-showcase__filter.is-active) * {
	color: #fff !important;
	stroke: #fff !important;
}

/* Blog hub cards must not reintroduce the four-colour campaign palette. */
html[data-locke-theme="light"] .lkb.lkb-hub,
html[data-locke-theme="light"] .lkb .lkb-hub-hero,
html[data-locke-theme="light"] .lkb .lkb-hub-index,
html[data-locke-theme="light"] .lkb .lkb-card,
html[data-locke-theme="light"] .locke-blog-showcase,
html[data-locke-theme="light"] .locke-blog-showcase .locke-blog-card,
html[data-locke-theme="light"] .locke-blog-showcase [class*="locke-blog-card--"] {
	background: #fff !important;
	background-image: none !important;
	color: #172033 !important;
	border-color: #d7dde5 !important;
	box-shadow: none !important;
}

/* Remove neon from the floating WhatsApp utility in light mode as well. */
html[data-locke-theme="light"] :is(.wfb-floating-button, .joinchat__button, .qlwapp-toggle, .ht-ctc-chat) {
	background: #fff !important;
	background-image: none !important;
	color: #1e5a88 !important;
	border-color: #1e5a88 !important;
	box-shadow: 0 10px 28px rgba(23, 32, 51, .14) !important;
}

html[data-locke-theme="light"] :is(.wfb-floating-button, .joinchat__button, .qlwapp-toggle, .ht-ctc-chat) :is(svg, path) {
	color: #1e5a88 !important;
	fill: #1e5a88 !important;
	stroke: #1e5a88 !important;
}

/* Media is never recoloured. */
html[data-locke-theme="light"] :is(.locke2026, .lwd15, .lr10, .lkb, .locke-blog-showcase) :is(img, picture, video) {
	background: transparent !important;
	filter: none !important;
}

/*
 * 1.4.0 final light-mode pass
 *
 * The supplied page exports contain several self-contained style systems
 * (`.lseo-v2`, `.lac10` and the blog showcase), so the original component
 * variables are deliberately left untouched and neutralised here at the
 * final cascade point.  This keeps the dark design intact while making the
 * light view read like a mature Hong Kong business site: white canvas,
 * charcoal type and one quiet grey for rules and controls.
 */
html[data-locke-theme="light"].locke-theme-light,
html[data-locke-theme="light"].locke-theme-light body,
html[data-locke-theme="light"].locke-theme-light #page,
html[data-locke-theme="light"].locke-theme-light #content,
html[data-locke-theme="light"].locke-theme-light main,
html[data-locke-theme="light"].locke-theme-light .site-main,
html[data-locke-theme="light"].locke-theme-light .elementor,
html[data-locke-theme="light"].locke-theme-light .elementor-section-wrap,
html[data-locke-theme="light"].locke-theme-light .elementor-location-single,
html[data-locke-theme="light"].locke-theme-light .elementor-location-archive {
	background-color: #ffffff !important;
	background-image: none !important;
	color: #343434 !important;
	color-scheme: light;
}

html[data-locke-theme="light"].locke-theme-light .locke-hf-site-header,
html[data-locke-theme="light"].locke-theme-light .locke-hf-site-footer,
html[data-locke-theme="light"].locke-theme-light .locke-hf-site-header .locke-header-shell,
html[data-locke-theme="light"].locke-theme-light .locke-hf-site-footer .locke2026,
html[data-locke-theme="light"].locke-theme-light .locke-hf-site-footer .locke2026 > footer {
	background: #ffffff !important;
	background-image: none !important;
	color: #343434 !important;
	border-color: #d9d9d9 !important;
	box-shadow: 0 10px 28px rgba(52, 52, 52, .08) !important;
}

html[data-locke-theme="light"].locke-theme-light .locke-hf-site-header .locke-theme-toggle--header,
html[data-locke-theme="light"].locke-theme-light .locke-hf-site-header .locke-theme-toggle--header:hover,
html[data-locke-theme="light"].locke-theme-light .locke-hf-site-header .locke-theme-toggle--header:focus,
html[data-locke-theme="light"].locke-theme-light .locke-hf-site-header .locke-theme-toggle--header:focus-visible,
html[data-locke-theme="light"].locke-theme-light .locke-hf-site-header .locke-theme-toggle--header:active {
	background: #ffffff !important;
	background-image: none !important;
	color: #343434 !important;
	border-color: #d9d9d9 !important;
	box-shadow: none !important;
	transform: none !important;
}

/* Neutralise every inline token used by the exported Locke page families. */
html[data-locke-theme="light"].locke-theme-light :is(.locke2026, .lwd15, .lr10, .lkb, .locke-blog-showcase, .lseo-v2, .lac10, .locke-seo-links) {
	--ink: #343434 !important;
	--ink-2: #343434 !important;
	--ink-3: #343434 !important;
	--paper: #ffffff !important;
	--paper-2: #ffffff !important;
	--lime: #343434 !important;
	--lime-2: #343434 !important;
	--coral: #ffffff !important;
	--blue: #343434 !important;
	--grey: #6f6f6f !important;
	--muted: #6f6f6f !important;
	--line: #d9d9d9 !important;
	--dark-line: #d9d9d9 !important;
	--line-dark: #d9d9d9 !important;
	--line-light: #d9d9d9 !important;
	--dline: #d9d9d9 !important;
	--locke-lime: #343434 !important;
	--locke-lime-dark: #343434 !important;
	--locke-ink: #343434 !important;
	--locke-paper: #ffffff !important;
	--locke-muted: #6f6f6f !important;
	--locke-line: #d9d9d9 !important;
	background-color: #ffffff !important;
	background-image: none !important;
	color: #343434 !important;
}

/* Make section, card and panel backgrounds genuinely white. */
html[data-locke-theme="light"].locke-theme-light :is(.locke2026, .lwd15, .lr10, .lkb, .locke-blog-showcase, .lseo-v2, .lac10, .locke-seo-links)
 :is(section, article, aside, header, footer, [class*="-section"], [class*="-hero"], [class*="-intro"], [class*="-final"], [class*="-overview"], [class*="-story"], [class*="-method"], [class*="-brands"], [class*="-project"], [class*="-capabilities"], [class*="-panel"], [class*="-board"], [class*="-dashboard"], [class*="-machine"], [class*="-delivery"], [class*="-process"], [class*="-proof"], [class^="proof-"], [class*="-card"], [class*="-dark"], [class*="-coral"], [class*="-lime"], [class*="-blue"], [class*="-paper"], .engine, .delivery, .process, .dashboard, .proof-rail, .lab-chart, .metric-wall, .case-trajectory, .impact-board, .demand-panel, .search-proof, .engine-board) {
	background-color: #ffffff !important;
	background-image: none !important;
	color: #343434 !important;
	border-color: #d9d9d9 !important;
	box-shadow: none !important;
}

html[data-locke-theme="light"].locke-theme-light :is(.locke2026, .lwd15, .lr10, .lkb, .locke-blog-showcase, .lseo-v2, .lac10, .locke-seo-links)
 :is(h1, h2, h3, h4, h5, h6, p, span, strong, b, small, li, label, summary, td, th, figcaption, a) {
	color: #343434 !important;
}

html[data-locke-theme="light"].locke-theme-light :is(.locke2026, .lwd15, .lr10, .lkb, .locke-blog-showcase, .lseo-v2, .lac10, .locke-seo-links)
 :is(.eyebrow, .kicker, [class*="-kicker"], [class*="-label"], [class*="-caption"], [class*="-note"], [class*="-meta"], [class*="-copy"] p, .body-copy, .step-phase, .proof-note, .status-copy) {
	color: #6f6f6f !important;
}

html[data-locke-theme="light"].locke-theme-light :is(.locke2026, .lwd15, .lr10, .lkb, .locke-blog-showcase, .lseo-v2, .lac10, .locke-seo-links)
 :is(.accent, .growth-number, .score-big, .case-value, .method-flow article > span, .lwd15-step > span, .lr10-case-no, .lkb-section-no, .lkb-kicker, .footer-mark span, .wordmark span, .arrow-icon, [class*="-arrow"], [class*="-number"]) {
	color: #343434 !important;
	border-color: #343434 !important;
	stroke: #343434 !important;
	fill: #343434 !important;
}

/* One button treatment across services, SEO links and the blog hub. */
html[data-locke-theme="light"].locke-theme-light :is(.locke2026, .lwd15, .lr10, .lkb, .locke-blog-showcase, .lseo-v2, .lac10, .locke-seo-links)
 :is(button, .cta, .button-primary, .button-lime, .header-cta, .hero-url-button, .lr10-btn, .lwd15-btn, .lkb-load-more, .lac10-button:not(.lac10-ghost), .lac10-submit, button[type="submit"], input[type="submit"], .locke-blog-showcase__filter.is-active, .locke-seo-links__service-card:nth-child(2)) {
	background: #343434 !important;
	background-image: none !important;
	color: #ffffff !important;
	border-color: #343434 !important;
	box-shadow: none !important;
}

html[data-locke-theme="light"].locke-theme-light :is(.locke2026, .lwd15, .lr10, .lkb, .locke-blog-showcase, .lseo-v2, .lac10, .locke-seo-links)
 :is(button, .cta, .button-primary, .button-lime, .header-cta, .hero-url-button, .lr10-btn, .lwd15-btn, .lkb-load-more, .lac10-button, .lac10-submit, button[type="submit"], input[type="submit"], .locke-blog-showcase__filter.is-active, .locke-seo-links__service-card:nth-child(2)) * {
	color: #ffffff !important;
	stroke: #ffffff !important;
	fill: #ffffff !important;
}

html[data-locke-theme="light"].locke-theme-light :is(.locke2026, .lwd15, .lr10, .lkb, .locke-blog-showcase, .lseo-v2, .lac10, .locke-seo-links)
 :is(.button-ghost, .cta.ghost, .lac10-ghost, .locke-seo-links__service-card:not(:nth-child(2))) {
	background: #ffffff !important;
	background-image: none !important;
	color: #343434 !important;
	border-color: #d9d9d9 !important;
	box-shadow: none !important;
}

/* The new SEO service export (`.lseo-v2`) owns the green animations.  In a
 * mature light view those moving green scans, rings and flares are removed;
 * the diagrams remain as quiet grey information blocks instead. */
html[data-locke-theme="light"].locke-theme-light .lseo-v2,
html[data-locke-theme="light"].locke-theme-light .lseo-v2 :is(.hero, .serp-lab, .analysis, .results, .process, .engine, .delivery, .dashboard, .faq, .contact, .proof-rail, .demand-panel, .impact-board, .engine-board, .search-proof, .case-trajectory, .metric-card, .impact-card, .signal, .result, .step, .flow) {
	background: #ffffff !important;
	background-image: none !important;
	color: #343434 !important;
	border-color: #d9d9d9 !important;
	box-shadow: none !important;
}

html[data-locke-theme="light"].locke-theme-light .lseo-v2 * ,
html[data-locke-theme="light"].locke-theme-light .lseo-v2 *::before,
html[data-locke-theme="light"].locke-theme-light .lseo-v2 *::after {
	animation: none !important;
	transition: none !important;
}

html[data-locke-theme="light"].locke-theme-light .lseo-v2 :is(.step-node, .engine-core, .rank-chip, .result.active, .lseo-node, .lseo-orb, .lseo-flare, .scan, .connector, .mini-bars),
html[data-locke-theme="light"].locke-theme-light .lseo-v2 .kicker::before,
html[data-locke-theme="light"].locke-theme-light .lseo-v2 .lab-live::before,
html[data-locke-theme="light"].locke-theme-light .lseo-v2 .engine-core::before,
html[data-locke-theme="light"].locke-theme-light .lseo-v2 .engine-core::after {
	background: #ffffff !important;
	background-image: none !important;
	color: #343434 !important;
	border-color: #d9d9d9 !important;
	box-shadow: none !important;
	text-shadow: none !important;
	opacity: 1 !important;
}

html[data-locke-theme="light"].locke-theme-light .lseo-v2 :is(.scan, .connector, .mini-bars, .lseo-orb, .lseo-flare) {
	display: none !important;
}

html[data-locke-theme="light"].locke-theme-light .lseo-v2 :is(.step-node, .engine-core) {
	background: #ffffff !important;
	color: #343434 !important;
	border-color: #343434 !important;
	box-shadow: 0 0 0 9px #ffffff !important;
}

html[data-locke-theme="light"].locke-theme-light .lseo-v2 .step-node::after,
html[data-locke-theme="light"].locke-theme-light .lseo-v2 :is(.case-link .arrow, .arrow) {
	color: #343434 !important;
	text-shadow: none !important;
	stroke: #343434 !important;
}

html[data-locke-theme="light"].locke-theme-light .lseo-v2 :is(svg, path, line, polyline, circle, rect) {
	stroke: #343434 !important;
	filter: none !important;
}

/* The home/about exports use `.locke2026` and `.lac10`; remove the old grid
 * wash and coloured orbit while keeping photographs and logos untouched. */
html[data-locke-theme="light"].locke-theme-light .locke2026 :is(.hero-grid, .signal-axis, .signal-orbit, .growth-orbit, .growth-window),
html[data-locke-theme="light"].locke-theme-light .locke2026 .ai-product-card::after,
html[data-locke-theme="light"].locke-theme-light .locke2026 .solution-card::before,
html[data-locke-theme="light"].locke-theme-light .lac10 .lac10-gridfield,
html[data-locke-theme="light"].locke-theme-light .lac10 .lac10-hero::before,
html[data-locke-theme="light"].locke-theme-light .lac10 .lac10-hero::after,
html[data-locke-theme="light"].locke-theme-light .lac10 .lac10-contact::after {
	background-image: none !important;
	box-shadow: none !important;
	opacity: 1 !important;
}

html[data-locke-theme="light"].locke-theme-light .locke2026 :is(.signal-core, .growth-orbit i:nth-child(3), .status-dot, .lab-live, .step-node, .phase-active, .lwd15-path-node, .lwd15-step-icon, .lr10-scroll-line),
html[data-locke-theme="light"].locke-theme-light .lac10 :is(.lac10-status, .lac10-submit) {
	background: #343434 !important;
	background-image: none !important;
	color: #ffffff !important;
	border-color: #343434 !important;
	box-shadow: none !important;
}

html[data-locke-theme="light"].locke-theme-light .locke2026 :is(.signal-core, .growth-orbit, .signal-orbit, .status-dot, .lab-live, .step-node, .phase-active, .solution-card, .case-card, .engine, .engine-board, .lab-chart),
html[data-locke-theme="light"].locke-theme-light .lac10 :is(.lac10-portrait, .lac10-chapter, .lac10-discipline, .lac10-proof-card, .lac10-fit-card, .lac10-form) {
	border-color: #d9d9d9 !important;
	box-shadow: none !important;
}

/* Bundled SEO link sections: override their inline lime variables and the
 * nth-child coloured card without changing the link map or markup. */
html[data-locke-theme="light"].locke-theme-light .locke-seo-links :is(.locke-seo-links__grid-overlay, .locke-seo-links__service-card, .locke-seo-links__group, .locke-seo-links__link-list, .locke-seo-links__closing) {
	background-image: none !important;
	background-color: #ffffff !important;
	color: #343434 !important;
	border-color: #d9d9d9 !important;
	box-shadow: none !important;
}

html[data-locke-theme="light"].locke-theme-light .locke-seo-links :is(.locke-seo-links__eyebrow, .locke-seo-links__section-head span:last-child, .locke-seo-links__text-arrow, .locke-seo-links__closing a, .locke-seo-links__service-arrow) {
	color: #343434 !important;
}

/* Dynamic Blog Showcase 1.1.5 may be rendered after the main stylesheet;
 * the PHP footer rule is the last word, while these rules cover its wrappers
 * and any cards present before the footer hook runs. */
html[data-locke-theme="light"].locke-theme-light .locke-blog-showcase,
html[data-locke-theme="light"].locke-theme-light .locke-blog-showcase__cards,
html[data-locke-theme="light"].locke-theme-light .locke-blog-showcase__cards > .locke-blog-card,
html[data-locke-theme="light"].locke-theme-light .locke-blog-showcase__empty,
html[data-locke-theme="light"].locke-theme-light .locke-blog-showcase__filters {
	background: #ffffff !important;
	background-image: none !important;
	color: #343434 !important;
	border-color: #d9d9d9 !important;
	box-shadow: none !important;
}

html[data-locke-theme="light"].locke-theme-light :is(.wfb-floating-button, .joinchat__button, .qlwapp-toggle, .ht-ctc-chat) {
	background: #ffffff !important;
	background-image: none !important;
	color: #343434 !important;
	border-color: #d9d9d9 !important;
	box-shadow: 0 8px 24px rgba(52, 52, 52, .12) !important;
}

html[data-locke-theme="light"].locke-theme-light :is(.wfb-floating-button, .joinchat__button, .qlwapp-toggle, .ht-ctc-chat) :is(svg, path) {
	color: #343434 !important;
	fill: #343434 !important;
	stroke: #343434 !important;
}

/* 1.4.1: selector-independent fallback for exported Elementor styles.
 * The page JSON files print their own inline <style> blocks after wp_head;
 * the same rules are repeated from wp_footer by the PHP controller.  Keeping
 * this copy here also protects pages that omit the footer hook. */
html[data-locke-theme="light"],
html[data-locke-theme="light"] body {
	background: #fff !important;
	background-image: none !important;
	color: #343434 !important;
}

html[data-locke-theme="light"] ::selection,
html[data-locke-theme="light"] ::-moz-selection {
	background: #d9d9d9 !important;
	color: #343434 !important;
	text-shadow: none !important;
}

/* About / profile export (`.lac10`). */
html[data-locke-theme="light"] .lac10,
html[data-locke-theme="light"] .lac10 .lac10-hero,
html[data-locke-theme="light"] .lac10 .lac10-trust,
html[data-locke-theme="light"] .lac10 .lac10-manifesto,
html[data-locke-theme="light"] .lac10 .lac10-story,
html[data-locke-theme="light"] .lac10 .lac10-disciplines,
html[data-locke-theme="light"] .lac10 .lac10-proof,
html[data-locke-theme="light"] .lac10 .lac10-principles,
html[data-locke-theme="light"] .lac10 .lac10-fit,
html[data-locke-theme="light"] .lac10 .lac10-contact,
html[data-locke-theme="light"] .lac10 .lac10-portrait,
html[data-locke-theme="light"] .lac10 .lac10-status,
html[data-locke-theme="light"] .lac10 .lac10-logos,
html[data-locke-theme="light"] .lac10 .lac10-logos span,
html[data-locke-theme="light"] .lac10 .lac10-chapter,
html[data-locke-theme="light"] .lac10 .lac10-discipline,
html[data-locke-theme="light"] .lac10 .lac10-proof-card,
html[data-locke-theme="light"] .lac10 .lac10-fit-card,
html[data-locke-theme="light"] .lac10 .lac10-form,
html[data-locke-theme="light"] .lac10 .lac10-field {
	background: #fff !important;
	background-image: none !important;
	color: #343434 !important;
	border-color: #d9d9d9 !important;
	box-shadow: none !important;
}

html[data-locke-theme="light"] .lac10 :is(h1, h2, h3, h4, h5, h6, p, a, span, strong, b, small, li, label, em) {
	color: #343434 !important;
}

html[data-locke-theme="light"] .lac10 :is(.lac10-copy, .lac10-hero-copy, .lac10-form-note, .lac10-form-foot, .lac10-status b, .lac10-chapter p, .lac10-proof-card p, .lac10-principle p) {
	color: #6f6f6f !important;
}

html[data-locke-theme="light"] .lac10 .lac10-button,
html[data-locke-theme="light"] .lac10 .lac10-submit {
	background: #343434 !important;
	background-image: none !important;
	color: #fff !important;
	border-color: #343434 !important;
	box-shadow: none !important;
}

html[data-locke-theme="light"] .lac10 .lac10-button.lac10-ghost {
	background: #fff !important;
	color: #343434 !important;
	border-color: #d9d9d9 !important;
}

html[data-locke-theme="light"] .lac10 .lac10-kicker::before,
html[data-locke-theme="light"] .lac10 .lac10-progress {
	background: #6f6f6f !important;
	box-shadow: none !important;
}

html[data-locke-theme="light"] .lac10 .lac10-progress,
html[data-locke-theme="light"] .lac10 .lac10-portrait::after {
	display: none !important;
}

html[data-locke-theme="light"] .lac10 .lac10-gridfield,
html[data-locke-theme="light"] .lac10 .lac10-contact::after {
	background-image: none !important;
	box-shadow: none !important;
	opacity: 0 !important;
}

html[data-locke-theme="light"] .lac10 .lac10-chapter::after {
	background: transparent !important;
	border-color: #d9d9d9 !important;
	box-shadow: none !important;
}

/* SEO service export (`.lseo-v2`). */
html[data-locke-theme="light"] .lseo-v2,
html[data-locke-theme="light"] .lseo-v2 :is(.hero, .serp-lab, .proof-rail, .impact, .impact-board, .demand-panel, .impact-cards, .impact-card, .engine, .engine-board, .signal, .results, .metric-wall, .metric-card, .case-trajectory, .process, .delivery, .dashboard, .dash-head, .dash-score, .score-big, .score-chart, .dash-row, .dash-rows, .analysis, .analysis-grid, .analysis-card, .search-proof, .faq, .contact, .flow, .step, .topic-map, .topic-card, .monthly-strip, .monthly-pulse, .lab-chart, .search-shell, .result, .rank-chip, .funnel, .funnel-row, .service-key, .service-key span) {
	background: #fff !important;
	background-image: none !important;
	color: #343434 !important;
	border-color: #d9d9d9 !important;
	box-shadow: none !important;
}

html[data-locke-theme="light"] .lseo-v2 :is(h1, h2, h3, h4, h5, h6, p, a, span, strong, b, small, li, label, em, td, th) {
	color: #343434 !important;
}

html[data-locke-theme="light"] .lseo-v2 :is(.body-copy, .dark-copy, .hero-intro, .hero-form-hint, .hero-facts span, .signal p, .metric-card p, .trajectory-head small, .chart-head, .topic-map p) {
	color: #6f6f6f !important;
}

html[data-locke-theme="light"] .lseo-v2 :is(.cta, .hero-url-button) {
	background: #343434 !important;
	background-image: none !important;
	color: #fff !important;
	border-color: #343434 !important;
	box-shadow: none !important;
}

html[data-locke-theme="light"] .lseo-v2 .cta.ghost {
	background: #fff !important;
	color: #343434 !important;
	border-color: #d9d9d9 !important;
}

html[data-locke-theme="light"] .lseo-v2 .kicker::before,
html[data-locke-theme="light"] .lseo-v2 .lab-live::before {
	background: #6f6f6f !important;
	box-shadow: none !important;
	color: #6f6f6f !important;
}

html[data-locke-theme="light"] .lseo-v2 .engine-board {
	width: 100% !important;
	max-width: 100% !important;
	min-height: 680px !important;
	overflow: hidden !important;
	background-image: none !important;
}

html[data-locke-theme="light"] .lseo-v2 .engine-core {
	width: 240px !important;
	height: 240px !important;
	background: #fff !important;
	border-color: #d9d9d9 !important;
	box-shadow: none !important;
}

html[data-locke-theme="light"] .lseo-v2 .engine-core::before,
html[data-locke-theme="light"] .lseo-v2 .engine-core::after {
	display: none !important;
	content: none !important;
}

html[data-locke-theme="light"] .lseo-v2 .signal {
	max-width: calc(50% - 24px) !important;
	background: #fff !important;
	backdrop-filter: none !important;
	border-color: #d9d9d9 !important;
	box-shadow: none !important;
}

html[data-locke-theme="light"] .lseo-v2 .signal.one,
html[data-locke-theme="light"] .lseo-v2 .signal.three,
html[data-locke-theme="light"] .lseo-v2 .signal.five { left: 3% !important; }

html[data-locke-theme="light"] .lseo-v2 .signal.two,
html[data-locke-theme="light"] .lseo-v2 .signal.four,
html[data-locke-theme="light"] .lseo-v2 .signal.six { right: 3% !important; }

html[data-locke-theme="light"] .lseo-v2 .funnel-row::before {
	background: #f1f1f1 !important;
	box-shadow: none !important;
	animation: none !important;
	transition: none !important;
}

html[data-locke-theme="light"] .lseo-v2 .impact-card::after { display: none !important; }

html[data-locke-theme="light"] .lseo-v2 :is(.score-chart i, .monthly-pulse i, .mini-bars i) {
	background: #6f6f6f !important;
	box-shadow: none !important;
	animation: none !important;
	transition: none !important;
}

html[data-locke-theme="light"] .lseo-v2 .line-chart .path,
html[data-locke-theme="light"] .lseo-v2 .trajectory-chart .trend {
	stroke: #6f6f6f !important;
	filter: none !important;
	animation: none !important;
	stroke-dasharray: none !important;
	stroke-dashoffset: 0 !important;
}

html[data-locke-theme="light"] .lseo-v2 .trajectory-chart .area { opacity: 0 !important; }

html[data-locke-theme="light"] .lseo-v2 :is(.scan, .connector, .mini-bars, .lseo-orb, .lseo-flare) {
	display: none !important;
}

html[data-locke-theme="light"] .lseo-v2 svg line,
html[data-locke-theme="light"] .lseo-v2 svg polyline,
html[data-locke-theme="light"] .lseo-v2 svg path {
	stroke: #9a9a9a !important;
	filter: none !important;
}

html[data-locke-theme="light"] :is(.locke2026, .lseo-v2, .lac10) :is(.dark, .lime, .coral, .blue, [class*="-dark"], [class*="-lime"], [class*="-coral"], [class*="-blue"]) {
	background: #fff !important;
	background-image: none !important;
	color: #343434 !important;
	border-color: #d9d9d9 !important;
	box-shadow: none !important;
}

html[data-locke-theme="light"] .locke-blog-showcase__cards > .locke-blog-card .locke-blog-card__arrow {
	background: #fff !important;
	color: #343434 !important;
	border: 1px solid #d9d9d9 !important;
	border-radius: 50% !important;
	box-shadow: none !important;
}

html[data-locke-theme="light"] .locke-blog-showcase__cards > .locke-blog-card .locke-blog-card__arrow path {
	fill: none !important;
	stroke: #343434 !important;
}

html[data-locke-theme="light"] :is(.wfb-floating-button, .joinchat__button, .qlwapp-toggle, .ht-ctc-chat, .chaty-widget-button, .chaty-widget) {
	background: #fff !important;
	background-image: none !important;
	color: #343434 !important;
	border-color: #d9d9d9 !important;
	box-shadow: 0 8px 24px rgba(52, 52, 52, .12) !important;
}

html[data-locke-theme="light"] :is(.wfb-floating-button, .joinchat__button, .qlwapp-toggle, .ht-ctc-chat, .chaty-widget-button, .chaty-widget)::before,
html[data-locke-theme="light"] :is(.wfb-floating-button, .joinchat__button, .qlwapp-toggle, .ht-ctc-chat, .chaty-widget-button, .chaty-widget)::after {
	background: #fff !important;
	background-image: none !important;
	border-color: #d9d9d9 !important;
	box-shadow: none !important;
}

html[data-locke-theme="light"] :is(.wfb-floating-button, .joinchat__button, .qlwapp-toggle, .ht-ctc-chat, .chaty-widget-button, .chaty-widget) :is(svg, path) {
	color: #343434 !important;
	fill: #343434 !important;
	stroke: #343434 !important;
}

/* Shared 2026 home/about export. */
html[data-locke-theme="light"] .locke2026,
html[data-locke-theme="light"] .locke2026 .site-header,
html[data-locke-theme="light"] .locke2026 .site-header nav,
html[data-locke-theme="light"] .locke2026 .hero,
html[data-locke-theme="light"] .locke2026 .signal-stage,
html[data-locke-theme="light"] .locke2026 .growth-window,
html[data-locke-theme="light"] .locke2026 .section,
html[data-locke-theme="light"] .locke2026 .method-section,
html[data-locke-theme="light"] .locke2026 .services-section,
html[data-locke-theme="light"] .locke2026 .operator-section,
html[data-locke-theme="light"] .locke2026 .ai-lab-section,
html[data-locke-theme="light"] .locke2026 .insights-section,
html[data-locke-theme="light"] .locke2026 .contact-section,
html[data-locke-theme="light"] .locke2026 footer,
html[data-locke-theme="light"] .locke2026 .case-card,
html[data-locke-theme="light"] .locke2026 .solution-card,
html[data-locke-theme="light"] .locke2026 .signal-core,
html[data-locke-theme="light"] .locke2026 .signal-chip,
html[data-locke-theme="light"] .locke2026 .query-card,
html[data-locke-theme="light"] .locke2026 .ai-product-card,
html[data-locke-theme="light"] .locke2026 .keyword-signal,
html[data-locke-theme="light"] .locke2026 .demo-response,
html[data-locke-theme="light"] .locke2026 .insight-cards a {
	background: #fff !important;
	background-image: none !important;
	color: #343434 !important;
	border-color: #d9d9d9 !important;
	box-shadow: none !important;
}

html[data-locke-theme="light"] .locke2026 :is(h1, h2, h3, h4, h5, h6, p, a, span, strong, b, small, li, label, summary, address) {
	color: #343434 !important;
}

html[data-locke-theme="light"] .locke2026 :is(.hero-intro, .trusted-heading > p:last-child, .solutions-heading > p:last-child, .section-lead, .method-intro > p:last-child, .method-flow article > div > p:last-child, .operator-copy > p:not(.eyebrow), .ai-lab-heading > p:last-child, .growth-window-copy > p:last-child, .growth-phases p, .footer-profile p, .footer-contact address, .form-note) {
	color: #6f6f6f !important;
}

html[data-locke-theme="light"] .locke2026 :is(.hero h1 span, .method-intro h2, .growth-number, .growth-number strong, .operator-stats strong, .footer-cta p, .wordmark span, .header-cta .arrow-icon) {
	color: #6f6f6f !important;
}

html[data-locke-theme="light"] .locke2026 :is(.hero-grid, .hero-glow, .signal-orbit, .signal-axis),
html[data-locke-theme="light"] .locke2026 .growth-window::before,
html[data-locke-theme="light"] .locke2026 .solution-card::before,
html[data-locke-theme="light"] .locke2026 .ai-product-card::before,
html[data-locke-theme="light"] .locke2026 .ai-product-card::after,
html[data-locke-theme="light"] .locke2026 .operator-image-wrap::after {
	background-image: none !important;
	box-shadow: none !important;
	opacity: 0 !important;
}

html[data-locke-theme="light"] .locke2026 :is(.status-dot, .signal-core, .solution-symbol .symbol-core, .growth-orbit i:nth-child(3), .keyword-bars span, .voice-signal span) {
	background: #6f6f6f !important;
	box-shadow: none !important;
}

html[data-locke-theme="light"] .locke2026 :is(.signal-orbit, .signal-axis, .growth-orbit, .growth-orbit i, .voice-signal),
html[data-locke-theme="light"] .locke2026 .voice-signal::before,
html[data-locke-theme="light"] .locke2026 .voice-signal::after {
	border-color: #d9d9d9 !important;
	box-shadow: none !important;
}

html[data-locke-theme="light"] .locke2026 :is(.case-lime, .case-coral, .case-dark, .solution-seo, .solution-geo, .contact-section, .phase-active, .insight-cards a:first-child, .locke-blue-mobile-bar, .locke-legacy-blue-bar) {
	background: #fff !important;
	background-image: none !important;
	color: #343434 !important;
	border-color: #d9d9d9 !important;
}

html[data-locke-theme="light"] .locke2026 :is(.button-primary, .header-cta, .url-field button, .contact-section a, .button-lime) {
	background: #343434 !important;
	background-image: none !important;
	color: #fff !important;
	border-color: #343434 !important;
}

html[data-locke-theme="light"] .locke2026 .button-ghost {
	background: #fff !important;
	color: #343434 !important;
	border-color: #d9d9d9 !important;
}

html[data-locke-theme="light"] .locke2026 :is(.keyword-bars span, .keyword-bars span:nth-child(2n)) {
	background: #6f6f6f !important;
	animation: none !important;
}

html[data-locke-theme="light"] .locke2026 :is(.orbit-two, .solution-geo, .voice-signal, .keyword-signal, .ai-product-card) {
	animation: none !important;
}
