/**
 * OpticMax Elementor Widgets — design system + section layouts
 * Ported to match the Lovable/React site (src/styles.css + site components).
 */

/* ── Tokens ───────────────────────────────────────────────────────── */
.omx-scope {
	--omx-radius: 0.625rem;
	--omx-bg: #ffffff;
	--omx-fg: #1a2a3d;
	--omx-surface: #f2f7fa;
	--omx-surface-2: #e6f0f5;
	--omx-ink: #1a2a3d;
	--omx-card: #ffffff;
	--omx-primary: #0b4b91;
	--omx-primary-fg: #ffffff;
	--omx-primary-glow: #0b8fd1;
	--omx-accent-green: #89b943;
	--omx-accent-teal: #6abcc8;
	--omx-accent-cyan: #299ec4;
	--omx-muted: #6b7c93;
	--omx-border: #d8e2ec;
	--omx-shadow-card: 0 1px 2px rgba(26, 42, 61, 0.05), 0 12px 28px -18px rgba(26, 42, 61, 0.22);
	--omx-shadow-lift: 0 2px 4px rgba(26, 42, 61, 0.06), 0 24px 48px -24px rgba(26, 42, 61, 0.28);
	--omx-shadow-glow: 0 18px 50px -18px rgba(11, 143, 209, 0.45);
	--omx-gradient-primary: linear-gradient(135deg, var(--omx-primary) 0%, var(--omx-primary-glow) 100%);
	--omx-font-display: "Sora", ui-sans-serif, system-ui, sans-serif;
	--omx-font-sans: "Manrope", ui-sans-serif, system-ui, sans-serif;
	--omx-font-mono: "JetBrains Mono", ui-monospace, monospace;
	--omx-max: 80rem; /* max-w-7xl — single content width for ALL sections */
	--omx-max-wide: 80rem; /* kept as alias; must stay equal to --omx-max */

	box-sizing: border-box;
	color: var(--omx-fg);
	font-family: var(--omx-font-sans);
	-webkit-font-smoothing: antialiased;
	line-height: 1.5;
}

.omx-scope *,
.omx-scope *::before,
.omx-scope *::after {
	box-sizing: border-box;
}

.omx-scope img {
	max-width: 100%;
	height: auto;
	display: block;
}

.omx-scope a {
	text-decoration: none;
	color: inherit;
}

/*
 * Button text colours — match Lovable exactly:
 *   primary / solid → #fff (text-primary-foreground)
 *   ghost → ink #1A2A3D, hover → primary #0B4B91
 * !important beats theme / Elementor link colour rules.
 */
.omx-scope a.omx-btn,
.omx-scope .omx-btn,
.elementor-widget[class*="omx-"] a.omx-btn {
	text-decoration: none;
}

.omx-scope a.omx-btn--primary,
.omx-scope a.omx-btn--primary:link,
.omx-scope a.omx-btn--primary:visited,
.omx-scope a.omx-btn--primary:hover,
.omx-scope a.omx-btn--primary:focus,
.omx-scope a.omx-btn--primary:active,
.omx-scope .omx-btn--primary,
.omx-scope a.omx-btn--solid,
.omx-scope a.omx-btn--solid:link,
.omx-scope a.omx-btn--solid:visited,
.omx-scope a.omx-btn--solid:hover,
.omx-scope a.omx-btn--solid:focus,
.omx-scope a.omx-btn--solid:active,
.omx-scope .omx-btn--solid,
.elementor-widget[class*="omx-"] a.omx-btn--primary,
.elementor-widget[class*="omx-"] a.omx-btn--primary:hover,
.elementor-widget[class*="omx-"] a.omx-btn--solid,
.elementor-widget[class*="omx-"] a.omx-btn--solid:hover {
	color: #ffffff !important;
}

.omx-scope a.omx-btn--primary .omx-icon,
.omx-scope a.omx-btn--primary svg,
.omx-scope a.omx-btn--solid .omx-icon,
.omx-scope a.omx-btn--solid svg,
.omx-scope .omx-btn--primary .omx-icon,
.omx-scope .omx-btn--solid .omx-icon {
	color: #ffffff !important;
	stroke: #ffffff;
}

.omx-scope a.omx-btn--ghost,
.omx-scope a.omx-btn--ghost:link,
.omx-scope a.omx-btn--ghost:visited,
.omx-scope a.omx-btn--ghost:focus,
.omx-scope .omx-btn--ghost,
.elementor-widget[class*="omx-"] a.omx-btn--ghost {
	color: #1a2a3d !important; /* --omx-ink / Lovable text-ink */
}

.omx-scope a.omx-btn--ghost .omx-icon,
.omx-scope a.omx-btn--ghost svg,
.omx-scope .omx-btn--ghost .omx-icon {
	color: #1a2a3d !important;
	stroke: currentColor;
}

.omx-scope a.omx-btn--ghost:hover,
.omx-scope a.omx-btn--ghost:hover .omx-icon,
.omx-scope a.omx-btn--ghost:hover svg,
.elementor-widget[class*="omx-"] a.omx-btn--ghost:hover {
	color: #0b4b91 !important; /* --omx-primary */
}

/* list-style only — margin/padding reset lives in :where() below so
 * component classes (.omx-products__grid, .omx-advantage__list, …) keep Lovable mt-* */
:where(.omx-scope) ul,
:where(.omx-scope) ol {
	list-style: none;
}

/*
 * Theme reset via :where() so specificity stays 0 — otherwise
 * `.omx-scope dl` (0,2,0) beats `.omx-hero__stats` (0,1,0) and
 * kills Lovable spacing (mt-12 / pt-8 between CTAs and stats).
 */
:where(.omx-scope) h1,
:where(.omx-scope) h2,
:where(.omx-scope) h3,
:where(.omx-scope) h4,
:where(.omx-scope) h5,
:where(.omx-scope) h6,
:where(.omx-scope) p,
:where(.omx-scope) ul,
:where(.omx-scope) ol,
:where(.omx-scope) li,
:where(.omx-scope) dl,
:where(.omx-scope) dt,
:where(.omx-scope) dd,
:where(.omx-scope) figure,
:where(.omx-scope) address {
	margin: 0;
	padding: 0;
}

.omx-scope h1,
.omx-scope h2,
.omx-scope h3,
.omx-scope h4 {
	font-family: var(--omx-font-display);
	letter-spacing: 0;
}

/* Kill Elementor widget chrome so section padding matches Lovable exactly */
.elementor-widget[class*="omx-"] > .elementor-widget-container {
	padding: 0 !important;
}

/* ── Utilities (from React @utility) ─────────────────────────────── */
.omx-eyebrow {
	font-family: var(--omx-font-mono);
	font-size: 0.6875rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--omx-primary);
	margin: 0;
}

.omx-bar-accent {
	border-left: 3px solid var(--omx-primary);
	padding-left: 1.25rem; /* pl-5 */
}

.omx-bar-accent > .omx-eyebrow {
	margin: 0;
}

.omx-bar-accent > .omx-products__title,
.omx-bar-accent > .omx-advantage__title,
.omx-bar-accent > .omx-projects__title,
.omx-bar-accent > .omx-about__title,
.omx-bar-accent > .omx-contact-cta__title,
.omx-bar-accent > .omx-capability__title {
	margin-top: 0.75rem; /* mt-3 — eyebrow → title */
}

.omx-text-gradient {
	background-image: var(--omx-gradient-primary);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.omx-bg-gradient-primary {
	background-image: var(--omx-gradient-primary);
}

.omx-shadow-card {
	box-shadow: var(--omx-shadow-card);
}

.omx-shadow-lift {
	box-shadow: var(--omx-shadow-lift);
}

.omx-shadow-glow {
	box-shadow: var(--omx-shadow-glow);
}

.omx-glass-card {
	background-color: rgba(255, 255, 255, 0.72);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid color-mix(in srgb, var(--omx-primary) 14%, var(--omx-border));
}

.omx-mesh-aurora {
	position: relative;
	background-color: var(--omx-bg);
	background-image:
		radial-gradient(44rem 30rem at 12% -10%, color-mix(in srgb, var(--omx-primary-glow) 34%, transparent), transparent 70%),
		radial-gradient(38rem 26rem at 92% 8%, color-mix(in srgb, var(--omx-primary) 22%, transparent), transparent 72%),
		radial-gradient(34rem 24rem at 60% 108%, color-mix(in srgb, var(--omx-primary-glow) 24%, transparent), transparent 74%);
}

.omx-grid-tech {
	position: relative;
}

.omx-grid-tech-lines {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image:
		linear-gradient(to right, color-mix(in srgb, var(--omx-primary) 12%, transparent) 1px, transparent 1px),
		linear-gradient(to bottom, color-mix(in srgb, var(--omx-primary) 12%, transparent) 1px, transparent 1px);
	background-size: 64px 64px;
	mask-image: radial-gradient(70% 60% at 50% 30%, black, transparent 100%);
	-webkit-mask-image: radial-gradient(70% 60% at 50% 30%, black, transparent 100%);
}

.omx-orb {
	position: absolute;
	border-radius: 999px;
	filter: blur(64px);
	opacity: 0.55;
	pointer-events: none;
	background-image: var(--omx-gradient-primary);
}

.omx-wash-blue {
	background-color: var(--omx-surface);
	background-image: linear-gradient(
		125deg,
		color-mix(in srgb, var(--omx-accent-teal) 18%, transparent),
		transparent 46%,
		color-mix(in srgb, var(--omx-accent-green) 10%, transparent)
	);
}

.omx-dot-field {
	background-color: var(--omx-surface);
	background-image: radial-gradient(color-mix(in srgb, var(--omx-primary-glow) 28%, transparent) 1px, transparent 1px);
	background-size: 22px 22px;
}

.omx-diag-band {
	background-color: var(--omx-bg);
	background-image: repeating-linear-gradient(
		-45deg,
		color-mix(in srgb, var(--omx-primary) 5%, transparent) 0 2px,
		transparent 2px 14px
	);
}

.omx-panel-ink {
	background-color: var(--omx-ink);
	background-image: linear-gradient(135deg, var(--omx-ink) 0%, var(--omx-primary) 58%, var(--omx-primary-glow) 135%);
	color: var(--omx-primary-fg);
}

.omx-image-divider {
	border-bottom: 4px solid var(--omx-accent-cyan);
}

.omx-bg-cover-overlay {
	background: linear-gradient(
		90deg,
		color-mix(in srgb, var(--omx-ink) 96%, transparent) 0%,
		color-mix(in srgb, var(--omx-primary) 82%, transparent) 48%,
		color-mix(in srgb, var(--omx-ink) 48%, transparent) 100%
	);
}

.omx-container {
	width: 100%;
	max-width: var(--omx-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	box-sizing: border-box;
}

@media (min-width: 1024px) {
	.omx-container {
		padding-left: 2rem;
		padding-right: 2rem;
	}
}

/* Full-bleed section shells; content always inside .omx-container */
.omx-section,
.omx-hero,
.omx-page-hero,
.omx-footer,
.omx-header {
	width: 100%;
	max-width: 100%;
	overflow-x: clip;
}

.omx-section > .omx-container,
.omx-hero > .omx-container,
.omx-page-hero > .omx-container,
.omx-footer > .omx-container,
.omx-header > .omx-container,
.omx-header__inner {
	max-width: var(--omx-max);
}

.omx-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	border-radius: 0.5rem;
	padding: 0.875rem 1.5rem;
	font-size: 0.875rem;
	font-weight: 600;
	font-family: var(--omx-font-sans);
	line-height: 1.25;
	border: 1px solid transparent;
	cursor: pointer;
	transition: transform 0.2s ease, color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.omx-btn--primary {
	color: #ffffff !important;
	background-image: var(--omx-gradient-primary);
	box-shadow: var(--omx-shadow-glow);
}

.omx-btn--primary:hover {
	transform: translateY(-2px);
	color: #ffffff !important;
}

.omx-btn--ghost {
	color: #1a2a3d !important;
	background: var(--omx-bg);
	border-color: var(--omx-border);
}

.omx-btn--ghost:hover {
	color: #0b4b91 !important;
	border-color: color-mix(in srgb, var(--omx-primary) 40%, var(--omx-border));
}

.omx-btn--solid {
	color: #ffffff !important;
	background-color: var(--omx-primary);
	box-shadow: var(--omx-shadow-glow);
}

.omx-btn--solid:hover {
	transform: translateY(-2px);
	background-color: var(--omx-primary-glow);
	color: #ffffff !important;
}

.omx-link {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--omx-primary);
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	transition: color 0.2s ease;
}

.omx-link:hover {
	color: var(--omx-primary-glow);
}

.omx-section {
	position: relative;
	overflow: hidden;
	padding-top: 4rem;
	padding-bottom: 4rem;
}

@media (min-width: 1024px) {
	.omx-section {
		padding-top: 6rem;
		padding-bottom: 6rem;
	}
}

/* ── Header ──────────────────────────────────────────────────────── */
.omx-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(255, 255, 255, 0.9);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-bottom: 1px solid transparent;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.omx-header.is-scrolled {
	border-bottom-color: var(--omx-border);
	box-shadow: var(--omx-shadow-card);
}

.omx-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 4rem;
	max-width: var(--omx-max);
	margin: 0 auto;
	padding: 0 1.25rem;
}

@media (min-width: 1024px) {
	.omx-header__inner {
		height: 5rem;
		padding: 0 2rem;
	}
}

.omx-header__logo img {
	height: 2.25rem;
	width: auto;
}

@media (min-width: 1024px) {
	.omx-header__logo img {
		height: 2.75rem;
	}
}

.omx-header__nav {
	display: none;
	align-items: center;
	gap: 1.25rem;
}

@media (min-width: 1024px) {
	.omx-header__nav {
		display: flex;
	}
}

@media (min-width: 1280px) {
	.omx-header__nav {
		gap: 1.75rem;
	}
}

.omx-header__nav a {
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--omx-muted);
	transition: color 0.2s ease;
}

.omx-header__nav a:hover,
.omx-header__nav a.is-active {
	color: var(--omx-primary);
}

.omx-header__actions {
	display: none;
	align-items: center;
	gap: 1.25rem;
}

@media (min-width: 1024px) {
	.omx-header__actions {
		display: flex;
	}
}

.omx-header__phone {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--omx-ink);
}

.omx-header__phone:hover {
	color: var(--omx-primary);
}

.omx-header__phone svg {
	width: 1rem;
	height: 1rem;
	color: var(--omx-primary);
	flex-shrink: 0;
}

.omx-header__toggle {
	display: grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 0.5rem;
	border: 1px solid var(--omx-border);
	background: transparent;
	color: var(--omx-ink);
	cursor: pointer;
}

@media (min-width: 1024px) {
	.omx-header__toggle {
		display: none;
	}
}

.omx-header__mobile {
	display: none;
	border-top: 1px solid var(--omx-border);
	background: var(--omx-bg);
}

.omx-header__mobile.is-open {
	display: block;
}

@media (min-width: 1024px) {
	.omx-header__mobile {
		display: none !important;
	}
}

.omx-header__mobile nav {
	display: flex;
	flex-direction: column;
	max-width: var(--omx-max);
	margin: 0 auto;
	padding: 0.5rem 1.25rem 1rem;
}

.omx-header__mobile a {
	border-bottom: 1px solid color-mix(in srgb, var(--omx-border) 70%, transparent);
	padding: 0.75rem 0;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--omx-muted);
}

.omx-header__mobile a:last-of-type {
	border-bottom: 0;
}

.omx-header__mobile .omx-btn {
	margin-top: 0.75rem;
	width: 100%;
}

/* ── Hero ────────────────────────────────────────────────────────── */
.omx-hero {
	padding-top: 4rem;
}

@media (min-width: 1024px) {
	.omx-hero {
		padding-top: 5rem;
	}
}

.omx-hero__orb {
	left: -6rem;
	top: 2.5rem;
	width: 18rem;
	height: 18rem;
}

.omx-hero__grid {
	position: relative;
	display: grid;
	align-items: center;
	gap: 2.5rem;
	padding-top: 3.5rem;
	padding-bottom: 3.5rem;
}

@media (min-width: 1024px) {
	.omx-hero__grid {
		grid-template-columns: 1fr 1.05fr;
		gap: 3.5rem;
		padding-top: 5rem;
		padding-bottom: 5rem;
	}
}

.omx-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	border-radius: 999px;
	padding: 0.375rem 0.875rem; /* py-1.5 px-3.5 */
	margin: 0;
}

.omx-hero__badge .omx-eyebrow {
	margin: 0;
	display: inline;
}

.omx-hero__badge-dot {
	width: 0.375rem;
	height: 0.375rem;
	border-radius: 999px;
	background: var(--omx-primary);
	animation: omx-pulse 2s ease-in-out infinite;
	flex-shrink: 0;
}

@keyframes omx-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.4; }
}

/* Lovable: h1.mt-6 → 1.5rem between badge and title */
.omx-hero .omx-hero__title,
.omx-scope .omx-hero__title {
	margin: 1.5rem 0 0;
	max-width: 36rem;
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1.08;
	color: var(--omx-ink);
}

@media (min-width: 640px) {
	.omx-hero__title {
		font-size: 3rem;
	}
}

@media (min-width: 1024px) {
	.omx-hero__title {
		font-size: 3.75rem;
	}
}

.omx-hero__sub {
	margin-top: 1.25rem;
	max-width: 28rem;
	font-size: 1.125rem;
	line-height: 1.625;
	color: var(--omx-muted);
}

/* Lovable: CTAs mt-8 */
.omx-hero__ctas {
	margin-top: 2rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

/* Lovable: dl.mt-12 + border-t + pt-8 (gap-x/y-6) */
.omx-scope .omx-hero__stats,
.omx-hero__stats {
	margin-top: 3rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 1.5rem;
	row-gap: 1.5rem;
	border-top: 1px solid var(--omx-border);
	padding-top: 2rem;
}

@media (min-width: 640px) {
	.omx-hero__stats {
		grid-template-columns: repeat(4, 1fr);
	}
}

.omx-hero__stat-value {
	font-family: var(--omx-font-display);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--omx-ink);
}

.omx-hero__stat-label {
	margin-top: 0.25rem;
	font-size: 0.75rem;
	color: var(--omx-muted);
}

.omx-hero__media {
	position: relative;
}

.omx-hero__media-glow {
	position: absolute;
	inset: -0.75rem;
	border-radius: 1.75rem;
	background-image: var(--omx-gradient-primary);
	opacity: 0.25;
	filter: blur(40px);
	pointer-events: none;
}

.omx-hero__media img {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 1rem;
	box-shadow: var(--omx-shadow-lift);
}

/* ── Products ────────────────────────────────────────────────────── */
.omx-products {
	border-top: 1px solid var(--omx-border);
	border-bottom: 1px solid var(--omx-border);
	background: var(--omx-bg);
}

.omx-products__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem; /* gap-6 */
}

.omx-products__title {
	margin-top: 0.75rem; /* mt-3 */
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1.25;
	color: var(--omx-ink);
}

@media (min-width: 640px) {
	.omx-products__title {
		font-size: 2.25rem;
	}
}

.omx-products__grid {
	margin-top: 2.5rem; /* mt-10 */
	display: grid;
	gap: 1.5rem; /* gap-6 */
}

@media (min-width: 640px) {
	.omx-products__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.omx-products__grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

.omx-product-card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border-radius: 1rem;
	border: 1px solid var(--omx-border);
	background: var(--omx-card);
	transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.omx-product-card:hover {
	transform: translateY(-4px);
	border-color: color-mix(in srgb, var(--omx-primary) 40%, var(--omx-border));
	box-shadow: var(--omx-shadow-lift);
}

.omx-product-card__num {
	position: absolute;
	left: 0.75rem;
	top: 0.75rem;
	z-index: 2;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.85);
	backdrop-filter: blur(8px);
	padding: 0.25rem 0.5rem;
	font-family: var(--omx-font-mono);
	font-size: 10px;
	color: var(--omx-muted);
}

.omx-product-card__img-wrap {
	overflow: hidden;
	background: var(--omx-surface);
}

.omx-product-card__img-wrap img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.omx-product-card:hover .omx-product-card__img-wrap img {
	transform: scale(1.04);
}

.omx-product-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1.25rem;
}

.omx-product-card__code {
	font-family: var(--omx-font-mono);
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: var(--omx-primary);
}

.omx-product-card__name {
	margin-top: 0.5rem;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--omx-ink);
	font-family: var(--omx-font-sans);
}

.omx-product-card__short {
	margin-top: 0.5rem;
	font-size: 0.875rem;
	line-height: 1.625;
	color: var(--omx-muted);
}

/* ── Advantage (Lovable: gap-10 top, mt-12 list, item py-6/sm:py-8 sm:px-6) ─ */
.omx-advantage__top {
	display: grid;
	align-items: flex-end;
	gap: 2.5rem; /* gap-10 */
}

@media (min-width: 1024px) {
	.omx-advantage__top {
		grid-template-columns: 1fr 1fr;
	}
}

.omx-advantage__title {
	margin-top: 0.75rem; /* mt-3 after eyebrow */
	font-size: 1.875rem; /* text-3xl */
	font-weight: 700;
	line-height: 1.25;
	color: var(--omx-ink);
}

@media (min-width: 640px) {
	.omx-advantage__title {
		font-size: 2.25rem; /* text-4xl */
	}
}

.omx-advantage__media {
	width: 100%;
}

@media (min-width: 1024px) {
	.omx-advantage__media {
		justify-self: end;
		max-width: 32rem; /* max-w-lg */
	}
}

.omx-advantage__photo {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: 1rem; /* rounded-2xl */
	box-shadow: var(--omx-shadow-card);
	display: block;
}

.omx-advantage__list {
	margin-top: 3rem; /* mt-12 — space below title/image row */
	display: grid;
	border-top: 1px solid var(--omx-border);
	border-bottom: 1px solid var(--omx-border);
}

@media (min-width: 640px) {
	.omx-advantage__list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.omx-advantage__list {
		grid-template-columns: repeat(5, 1fr);
	}
}

/* Lovable: px-0 py-6 → sm:px-6 sm:py-8 → lg:first:pl-0 lg:last:pr-0
 * !important beats theme/Elementor `li { padding: 0 }` that flush content to edges */
.omx-scope .omx-advantage__item,
.omx-advantage__item {
	padding: 1.5rem 0 !important; /* py-6 px-0 */
	border-top: 1px solid var(--omx-border); /* divide-y */
	box-sizing: border-box;
}

.omx-scope .omx-advantage__item:first-child,
.omx-advantage__item:first-child {
	border-top: 0;
}

@media (min-width: 640px) {
	.omx-scope .omx-advantage__item,
	.omx-advantage__item {
		padding: 2rem 1.5rem !important; /* sm:py-8 sm:px-6 */
		border-top: 0; /* sm:divide-y-0 */
	}
}

@media (min-width: 1024px) {
	.omx-scope .omx-advantage__item,
	.omx-advantage__item {
		border-right: 1px solid var(--omx-border); /* lg:divide-x */
	}
	.omx-scope .omx-advantage__item:first-child,
	.omx-advantage__item:first-child {
		padding-left: 0 !important; /* lg:first:pl-0 */
	}
	.omx-scope .omx-advantage__item:last-child,
	.omx-advantage__item:last-child {
		padding-right: 0 !important; /* lg:last:pr-0 */
		border-right: 0;
	}
}

.omx-advantage__num {
	display: block;
	font-family: var(--omx-font-mono);
	font-size: 0.6875rem;
	line-height: 1;
	color: color-mix(in srgb, var(--omx-primary) 60%, transparent);
}

.omx-advantage__icon {
	display: block;
	margin-top: 0.75rem; /* mt-3 */
	width: 3rem; /* size-12 */
	height: 3rem;
	transition: transform 0.3s ease;
}

.omx-advantage__item:hover .omx-advantage__icon {
	transform: translateY(-4px);
}

.omx-advantage__icon--0 { color: var(--omx-primary); }
.omx-advantage__icon--1 { color: var(--omx-accent-green); }
.omx-advantage__icon--2 { color: var(--omx-accent-cyan); }
.omx-advantage__icon--3 { color: var(--omx-accent-teal); }
.omx-advantage__icon--4 { color: var(--omx-primary-glow); }

.omx-advantage__item-title {
	margin-top: 1rem; /* mt-4 */
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.25;
	color: var(--omx-ink);
	font-family: var(--omx-font-sans);
}

.omx-advantage__item-body {
	margin-top: 0.375rem; /* mt-1.5 */
	font-size: 0.875rem;
	line-height: 1.625;
	color: var(--omx-muted);
}

/* ── Capability (Lovable: gap-10 / lg:gap-16, title mt-3, specs mt-8, marks mt-6) ─ */
.omx-capability__grid {
	position: relative;
	display: grid;
	align-items: center;
	gap: 2.5rem; /* gap-10 */
}

@media (min-width: 1024px) {
	.omx-capability__grid {
		grid-template-columns: 1fr 1fr;
		gap: 4rem; /* lg:gap-16 */
	}
}

.omx-capability__photo {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 1rem;
	box-shadow: var(--omx-shadow-lift);
	display: block;
}

.omx-capability__eyebrow {
	color: rgba(255, 255, 255, 0.6);
}

.omx-capability__title {
	margin-top: 0.75rem; /* mt-3 */
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1.25;
	color: #fff;
}

@media (min-width: 640px) {
	.omx-capability__title {
		font-size: 2.25rem;
	}
}

.omx-capability__specs {
	margin-top: 2rem; /* mt-8 */
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.omx-capability__spec {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 0.875rem 0; /* py-3.5 */
	border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.omx-capability__spec:first-child {
	border-top: 0;
}

.omx-capability__spec:last-child {
	/* keep bottom edge from parent border-y */
}

.omx-capability__spec dt {
	font-size: 0.875rem;
	color: rgba(255, 255, 255, 0.6);
}

.omx-capability__spec dd {
	margin: 0;
	font-family: var(--omx-font-mono);
	font-size: 0.875rem;
	color: #fff;
}

.omx-capability__marks {
	margin-top: 1.5rem; /* mt-6 */
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.omx-capability__mark {
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	padding: 0.375rem 0.75rem;
	font-size: 0.75rem;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.85);
}

/* ── Projects (Lovable: head gap-6, title mt-3, grid mt-10 gap-3 / lg:gap-5) ─ */
.omx-projects__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem; /* gap-6 */
}

.omx-projects__title {
	margin-top: 0.75rem; /* mt-3 */
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1.25;
	color: var(--omx-ink);
}

@media (min-width: 640px) {
	.omx-projects__title {
		font-size: 2.25rem;
	}
}

.omx-projects__grid {
	margin-top: 2.5rem; /* mt-10 */
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.75rem; /* gap-3 */
}

@media (min-width: 640px) {
	.omx-projects__grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

@media (min-width: 1024px) {
	.omx-projects__grid {
		gap: 1.25rem; /* lg:gap-5 */
	}
}

.omx-projects__tile {
	display: grid;
	place-items: center;
	min-height: 8rem; /* min-h-32 */
	padding: 1.25rem; /* p-5 */
	text-align: center;
	border: 1px solid var(--omx-border);
	background: rgba(255, 255, 255, 0.9);
	box-shadow: var(--omx-shadow-card);
	transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.omx-projects__tile:hover {
	transform: translateY(-4px);
	border-color: color-mix(in srgb, var(--omx-primary) 40%, var(--omx-border));
	box-shadow: var(--omx-shadow-lift);
}

.omx-projects__tile-icon {
	width: 2rem; /* size-8 */
	height: 2rem;
	margin: 0 auto;
}

.omx-projects__tile-icon--0 { color: var(--omx-primary); }
.omx-projects__tile-icon--1 { color: var(--omx-accent-green); }
.omx-projects__tile-icon--2 { color: var(--omx-accent-cyan); }

.omx-projects__tile-name {
	margin-top: 0.75rem; /* mt-3 */
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--omx-ink);
	font-family: var(--omx-font-sans);
}

.omx-projects__tile-sub {
	margin-top: 0.25rem; /* mt-1 */
	font-family: var(--omx-font-mono);
	font-size: 9px;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--omx-muted);
}

/* ── About (home) ────────────────────────────────────────────────── */
/* ── About home (Lovable: gap-10 / lg:gap-16, title mt-3, body mt-5, split mt-8) ─ */
.omx-about {
	border-top: 1px solid var(--omx-border);
	border-bottom: 1px solid var(--omx-border);
}

.omx-about__grid {
	display: grid;
	align-items: center;
	gap: 2.5rem; /* gap-10 */
}

@media (min-width: 1024px) {
	.omx-about__grid {
		grid-template-columns: 1.1fr 1fr;
		gap: 4rem; /* lg:gap-16 */
	}
}

.omx-about__title {
	margin-top: 0.75rem; /* mt-3 */
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1.25;
	color: var(--omx-ink);
}

@media (min-width: 640px) {
	.omx-about__title {
		font-size: 2.25rem;
	}
}

.omx-about__body {
	margin-top: 1.25rem; /* mt-5 */
	font-size: 1rem;
	line-height: 1.625;
	color: var(--omx-muted);
}

.omx-about__body + .omx-about__body {
	margin-top: 1rem; /* mt-4 between paragraphs on About page */
}

.omx-about__split {
	margin-top: 2rem; /* mt-8 */
	display: grid;
	border-top: 1px solid var(--omx-border);
	border-bottom: 1px solid var(--omx-border);
}

@media (min-width: 640px) {
	.omx-about__split {
		grid-template-columns: 1fr 1fr;
	}
}

.omx-about__panel {
	padding: 1.25rem 0; /* py-5 */
	border-top: 1px solid var(--omx-border);
}

.omx-about__panel:first-child {
	border-top: 0;
}

@media (min-width: 640px) {
	.omx-about__panel {
		border-top: 0;
	}
	.omx-about__panel:first-child {
		padding-right: 1.5rem; /* sm:pr-6 */
		border-right: 1px solid var(--omx-border);
	}
	.omx-about__panel:last-child {
		padding-left: 1.5rem; /* sm:pl-6 */
	}
}

.omx-about__panel-title {
	font-family: var(--omx-font-mono);
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--omx-primary);
}

.omx-about__panel-body {
	margin-top: 0.5rem; /* mt-2 */
	font-size: 0.875rem;
	line-height: 1.625;
	color: var(--omx-ink);
}

.omx-about__photo {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 1rem;
	border: 1px solid var(--omx-border);
	box-shadow: var(--omx-shadow-card);
	display: block;
}

/* ── Contact CTA ─────────────────────────────────────────────────── */
/* ── Contact CTA (Lovable: gap-10 / lg:gap-16, title mt-3, body mt-5, ctas mt-8) ─ */
.omx-contact-cta__grid {
	display: grid;
	align-items: center;
	gap: 2.5rem; /* gap-10 */
}

@media (min-width: 1024px) {
	.omx-contact-cta__grid {
		grid-template-columns: 1fr 1fr;
		gap: 4rem; /* lg:gap-16 */
	}
}

.omx-contact-cta__title {
	margin-top: 0.75rem; /* mt-3 */
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1.25;
	color: var(--omx-ink);
}

@media (min-width: 640px) {
	.omx-contact-cta__title {
		font-size: 2.25rem;
	}
}

.omx-contact-cta__body {
	margin-top: 1.25rem; /* mt-5 */
	max-width: 28rem;
	font-size: 1rem;
	line-height: 1.625;
	color: var(--omx-muted);
}

.omx-contact-cta__ctas {
	margin-top: 2rem; /* mt-8 */
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem; /* gap-3 */
}

.omx-contact-cta__address {
	font-style: normal;
}

@media (min-width: 1024px) {
	.omx-contact-cta__address {
		justify-self: end;
	}
}

.omx-contact-cta__company {
	font-family: var(--omx-font-mono);
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--omx-primary);
}

.omx-contact-cta__list {
	margin-top: 1.25rem; /* mt-5 */
	display: flex;
	flex-direction: column;
	gap: 1rem; /* space-y-4 */
	font-size: 0.875rem;
	color: var(--omx-muted);
}

.omx-contact-cta__list li {
	display: flex;
	gap: 0.75rem;
}

.omx-contact-cta__list svg {
	width: 1rem;
	height: 1rem;
	margin-top: 0.125rem;
	flex-shrink: 0;
	color: var(--omx-primary);
}

.omx-contact-cta__list .omx-ink {
	color: var(--omx-ink);
}

.omx-contact-cta__list a:hover {
	text-decoration: underline;
}

/* ── Footer ──────────────────────────────────────────────────────── */
.omx-footer {
	position: relative;
	overflow: hidden;
}

.omx-footer__inner {
	position: relative;
	padding-top: 3rem;
	padding-bottom: 3rem;
}

@media (min-width: 1024px) {
	.omx-footer__inner {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}
}

.omx-footer__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 1.5rem;
	row-gap: 2.5rem;
}

@media (min-width: 1024px) {
	.omx-footer__grid {
		grid-template-columns: repeat(4, 1fr);
		gap: 3rem;
	}
}

.omx-footer__brand {
	grid-column: span 2;
}

@media (min-width: 1024px) {
	.omx-footer__brand {
		grid-column: span 1;
	}
}

.omx-footer__logo-wrap {
	display: inline-flex;
	border-radius: 0.375rem;
	background: #fff;
	padding: 0.5rem;
}

.omx-footer__logo-wrap img {
	height: 2.5rem;
	width: auto;
}

.omx-footer__tagline {
	margin-top: 1rem;
	max-width: 20rem;
	font-size: 0.875rem;
	line-height: 1.625;
	color: rgba(255, 255, 255, 0.7);
}

.omx-footer__col-title {
	font-family: var(--omx-font-mono);
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--omx-primary);
}

.omx-footer__links {
	margin-top: 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.omx-footer__links a {
	font-size: 0.875rem;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.7);
	transition: color 0.2s ease;
}

.omx-footer__links a:hover {
	color: #fff;
}

.omx-footer__contact {
	grid-column: span 2;
}

@media (min-width: 1024px) {
	.omx-footer__contact {
		grid-column: span 1;
	}
}

.omx-footer__contact-list {
	margin-top: 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	font-size: 0.875rem;
	color: rgba(255, 255, 255, 0.7);
}

.omx-footer__contact-list li {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
}

.omx-footer__contact-list svg {
	width: 1rem;
	height: 1rem;
	margin-top: 0.125rem;
	flex-shrink: 0;
	color: var(--omx-primary);
}

.omx-footer__contact-list a:hover {
	color: #fff;
}

.omx-footer__bottom {
	margin-top: 3rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	padding-top: 2rem;
	font-size: 0.75rem;
	color: rgba(255, 255, 255, 0.6);
	text-align: center;
}

@media (min-width: 1024px) {
	.omx-footer__bottom {
		flex-direction: row;
		text-align: left;
	}
}

/* ── Page Hero ───────────────────────────────────────────────────── */
.omx-page-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--omx-ink);
	padding-top: 7rem;
	padding-bottom: 4rem;
}

@media (min-width: 1024px) {
	.omx-page-hero {
		padding-top: 10rem;
		padding-bottom: 6rem;
	}
}

.omx-page-hero__bg {
	position: absolute;
	inset: 0;
	z-index: -20;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.omx-page-hero__overlay {
	position: absolute;
	inset: 0;
	z-index: -10;
}

.omx-page-hero__inner {
	position: relative;
}

.omx-page-hero__eyebrow {
	color: var(--omx-accent-green);
}

.omx-page-hero__title {
	margin-top: 1rem;
	font-size: clamp(2.25rem, 4.2vw, 4.25rem);
	font-weight: 700;
	line-height: 1.05;
	color: #fff;
}

/* Allow title to wrap within the shared content width (no overflow past --omx-max) */
.omx-page-hero__title {
	white-space: normal;
	max-width: 100%;
}

.omx-page-hero__title .omx-accent {
	color: var(--omx-accent-green);
}

.omx-page-hero__intro {
	margin-top: 1.5rem;
	max-width: 48rem;
	font-size: 1rem;
	line-height: 1.625;
	color: rgba(255, 255, 255, 0.75);
}

@media (min-width: 1024px) {
	.omx-page-hero__intro {
		font-size: 1.125rem;
	}
}

/* Lovable Contact hero CTAs: mt-10 flex gap-3 */
.omx-page-hero__ctas {
	margin-top: 2.5rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.omx-page-hero__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	border-radius: 0.5rem;
	padding: 0.875rem 1.5rem;
	font-size: 0.875rem;
	font-weight: 600;
	font-family: var(--omx-font-sans);
	line-height: 1.25;
	text-decoration: none;
	transition: transform 0.2s ease, color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.omx-page-hero__btn .omx-icon,
.omx-page-hero__btn svg {
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
	stroke: currentColor;
	fill: none;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.omx-scope a.omx-page-hero__btn--solid,
.omx-page-hero__btn--solid {
	background: var(--omx-primary);
	color: #ffffff !important;
	box-shadow: var(--omx-shadow-glow);
	border: 1px solid transparent;
}
.omx-page-hero__btn--solid:hover {
	transform: translateY(-2px);
	color: #ffffff !important;
}

.omx-scope a.omx-page-hero__btn--ghost,
.omx-page-hero__btn--ghost {
	background: var(--omx-bg);
	border: 1px solid var(--omx-border);
	color: #1a2a3d !important; /* ink */
}
.omx-page-hero__btn--ghost:hover {
	border-color: color-mix(in srgb, var(--omx-primary) 40%, var(--omx-border));
	color: #0b4b91 !important;
}

.omx-page-hero__stats {
	margin-top: 3rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
}

@media (min-width: 1024px) {
	.omx-page-hero__stats {
		grid-template-columns: repeat(4, 1fr);
		gap: 1.5rem;
	}
}

.omx-page-hero__stat {
	border-radius: 1rem;
	padding: 1.25rem;
}

.omx-page-hero__stat-value {
	font-family: var(--omx-font-display);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--omx-ink);
}

@media (min-width: 1024px) {
	.omx-page-hero__stat-value {
		font-size: 1.875rem;
	}
}

.omx-page-hero__stat-label {
	margin-top: 0.25rem;
	font-size: 0.75rem;
	line-height: 1.4;
	color: var(--omx-muted);
}

/* SVG icon baseline */
.omx-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 1rem;
	height: 1rem;
}

.omx-icon svg {
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.75;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.omx-advantage__icon.omx-icon,
.omx-projects__tile-icon.omx-icon {
	display: block;
}

.omx-advantage__icon.omx-icon {
	width: 3rem;
	height: 3rem;
}

.omx-projects__tile-icon.omx-icon {
	width: 2rem;
	height: 2rem;
	margin-left: auto;
	margin-right: auto;
}

.omx-header__toggle .omx-icon {
	width: 1.25rem;
	height: 1.25rem;
}

/* ── Product grid (CPT) ──────────────────────────────────────────── */
.omx-product-grid__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 2.5rem;
}
.omx-chip {
	border-radius: 999px;
	border: 1px solid var(--omx-border);
	background: var(--omx-bg);
	color: var(--omx-muted);
	padding: 0.5rem 1rem;
	font-size: 0.875rem;
	font-weight: 500;
	font-family: var(--omx-font-sans);
	cursor: pointer;
	transition: color 0.2s, border-color 0.2s, background 0.2s;
}
.omx-chip:hover { color: var(--omx-primary); border-color: color-mix(in srgb, var(--omx-primary) 40%, var(--omx-border)); }
.omx-chip.is-active { background: var(--omx-primary); border-color: var(--omx-primary); color: #ffffff !important; }
.omx-product-grid__list {
	display: grid;
	gap: 1.5rem;
}
@media (min-width: 640px) {
	.omx-product-grid__list { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.omx-product-grid__list--3 { grid-template-columns: repeat(3, 1fr); }
	.omx-product-grid__list--4 { grid-template-columns: repeat(4, 1fr); }
}
.omx-product-grid__item.is-hidden { display: none; }

/* ── Product single ──────────────────────────────────────────────── */
.omx-product-single__grid {
	display: grid;
	gap: 2.5rem;
	align-items: start;
}
@media (min-width: 1024px) {
	.omx-product-single__grid { grid-template-columns: 1fr 1fr; gap: 4rem; }
}
.omx-product-single__photo {
	width: 100%;
	aspect-ratio: 4/3;
	object-fit: cover;
	border-radius: 1.5rem;
	border: 1px solid var(--omx-border);
	box-shadow: var(--omx-shadow-lift);
}
.omx-product-single__h {
	margin-top: 2rem;
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--omx-ink);
}
.omx-product-single__specs {
	display: grid;
	gap: 2.5rem;
}
@media (min-width: 1024px) {
	.omx-product-single__specs { grid-template-columns: 1fr 1fr; gap: 4rem; }
}
.omx-check-list {
	margin-top: 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.omx-check-list li {
	display: flex;
	gap: 0.75rem;
	align-items: flex-start;
	font-size: 0.875rem;
	line-height: 1.625;
	color: var(--omx-ink);
}
.omx-check-list .omx-icon { color: var(--omx-primary); margin-top: 0.125rem; width: 1rem; height: 1rem; }
.omx-apps-grid {
	display: grid;
	gap: 1rem;
}
@media (min-width: 1024px) {
	.omx-apps-grid { grid-template-columns: repeat(3, 1fr); }
}
.omx-apps-card {
	display: flex;
	gap: 0.75rem;
	align-items: flex-start;
	border: 1px solid var(--omx-border);
	border-radius: 0.75rem;
	padding: 1.25rem 1rem;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--omx-ink);
}
.omx-apps-card .omx-icon { color: var(--omx-primary); width: 1rem; height: 1rem; }

/* ── Project list (Lovable projects.tsx) ─────────────────────────── */
.omx-project-list.omx-section {
	padding-top: 3rem; /* py-12 */
	padding-bottom: 3rem;
}
@media (min-width: 1024px) {
	.omx-project-list.omx-section {
		padding-top: 5rem; /* lg:py-20 */
		padding-bottom: 5rem;
	}
}

.omx-project-label {
	margin: 0 0 0.25rem;
	font-family: var(--omx-font-mono);
	font-size: 0.625rem;
	line-height: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--omx-primary);
}
@media (min-width: 1024px) {
	.omx-project-label { display: none; } /* lg:hidden */
}

.omx-project-list__head {
	display: none;
	grid-template-columns: 84px 1.1fr 1.2fr 1fr 1.2fr 52px;
	gap: 1.25rem; /* gap-5 */
	border-bottom: 1px solid color-mix(in srgb, var(--omx-primary) 25%, transparent);
	padding: 0 1.25rem 1rem; /* px-5 pb-4 */
	font-family: var(--omx-font-mono);
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: var(--omx-primary);
}
@media (min-width: 1024px) {
	.omx-project-list__head { display: grid; }
}

.omx-project-list__rows {
	list-style: none;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid var(--omx-border);
}

.omx-scope .omx-project-list__row,
.omx-project-list__row {
	display: grid;
	gap: 1.25rem; /* gap-5 */
	padding: 1.5rem 1.25rem !important; /* py-6 px-5 */
	border-top: 1px solid var(--omx-border);
	background: color-mix(in srgb, var(--omx-bg) 70%, transparent);
	transition: background-color 0.2s ease;
	box-sizing: border-box;
}
.omx-project-list__row.is-alt {
	background: color-mix(in srgb, var(--omx-accent-teal) 10%, transparent); /* bg-accent-teal/10 */
}
.omx-project-list__row:hover {
	background: var(--omx-bg);
}

@media (min-width: 1024px) {
	.omx-scope .omx-project-list__row,
	.omx-project-list__row {
		grid-template-columns: 84px 1.1fr 1.2fr 1fr 1.2fr 52px;
		align-items: center;
	}
}

.omx-project-list__thumb-wrap {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
@media (min-width: 1024px) {
	.omx-project-list__thumb-wrap { display: block; }
}

.omx-project-list__thumb {
	position: relative;
	display: grid;
	place-items: center;
	width: 5rem; /* w-20 */
	height: 4rem; /* h-16 */
	flex-shrink: 0;
	overflow: hidden;
	background-image: var(--omx-gradient-primary);
	color: #fff;
}
.omx-project-list__thumb-icon {
	width: 1.75rem; /* size-7 */
	height: 1.75rem;
	color: #fff;
	opacity: 0.9;
}
.omx-project-list__thumb-icon svg {
	width: 100%;
	height: 100%;
	stroke: currentColor;
	fill: none;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.omx-project-list__num {
	position: absolute;
	right: 0.375rem;
	bottom: 0.25rem;
	font-family: var(--omx-font-mono);
	font-size: 9px;
	font-weight: 700;
	line-height: 1;
	color: #fff;
}
.omx-project-list__thumb-label {
	font-family: var(--omx-font-mono);
	font-size: 10px;
	text-transform: uppercase;
	color: var(--omx-muted);
}
@media (min-width: 1024px) {
	.omx-project-list__thumb-label { display: none; }
}

.omx-project-list__developer {
	margin: 0;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.375;
	color: var(--omx-ink);
}
.omx-project-list__building {
	margin: 0;
	font-family: var(--omx-font-display);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.375;
	color: var(--omx-ink);
}
.omx-project-list__service {
	margin: 0;
	font-size: 0.875rem;
	color: var(--omx-ink);
}
.omx-project-list__consultant {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.625;
	color: var(--omx-muted);
}

.omx-project-list__with-icon {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
}
.omx-project-list__ico {
	width: 1rem;
	height: 1rem;
	margin-top: 0.125rem;
	flex-shrink: 0;
}
.omx-project-list__ico svg {
	width: 100%;
	height: 100%;
	stroke: currentColor;
	fill: none;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.omx-project-list__ico--cyan { color: var(--omx-accent-cyan); }
.omx-project-list__ico--green { color: var(--omx-accent-green); }

.omx-project-list__link-wrap { display: flex; }
@media (min-width: 1024px) {
	.omx-project-list__link-wrap { display: block; }
}

.omx-project-list__link {
	display: grid;
	place-items: center;
	width: 2.5rem; /* size-10 */
	height: 2.5rem;
	border: 1px solid color-mix(in srgb, var(--omx-primary) 25%, transparent);
	background: var(--omx-bg);
	color: var(--omx-primary);
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.omx-project-list__link .omx-icon,
.omx-project-list__link svg {
	width: 1rem;
	height: 1rem;
	stroke: currentColor;
	fill: none;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.omx-project-list__link:hover {
	background: var(--omx-primary);
	border-color: var(--omx-primary);
	color: #fff;
}
.omx-project-list__link.is-muted {
	border-color: var(--omx-border);
	color: var(--omx-muted);
	pointer-events: none;
}

/* ── Contact page (Lovable contact.tsx + ContactForm.tsx) ────────── */
.omx-contact-page.omx-section {
	padding-top: 4rem; /* py-16 */
	padding-bottom: 4rem;
}
@media (min-width: 1024px) {
	.omx-contact-page.omx-section {
		padding-top: 6rem; /* lg:py-24 */
		padding-bottom: 6rem;
	}
}

.omx-contact-page__grid {
	display: grid;
	gap: 2.5rem; /* gap-10 */
	align-items: start;
}
@media (min-width: 1024px) {
	.omx-contact-page__grid {
		grid-template-columns: 1fr 1.1fr;
		gap: 4rem; /* lg:gap-16 */
	}
}

/* Office title: Lovable text-2xl / sm:text-3xl (not homepage CTA size) */
.omx-scope .omx-contact-page__office-title,
.omx-contact-page__office-title {
	margin: 0.75rem 0 0 !important; /* mt-3 */
	font-family: var(--omx-font-display);
	font-size: 1.5rem; /* text-2xl */
	font-weight: 700;
	line-height: 1.25;
	color: var(--omx-ink);
}
@media (min-width: 640px) {
	.omx-contact-page__office-title { font-size: 1.875rem; } /* sm:text-3xl */
}

/* address.mt-8.space-y-5.text-sm */
.omx-scope .omx-contact-page__address,
.omx-contact-page__address {
	display: flex;
	flex-direction: column;
	gap: 1.25rem; /* space-y-5 */
	margin: 2rem 0 0 !important; /* mt-8 */
	padding: 0;
	font-style: normal;
	font-size: 0.875rem;
}

.omx-contact-page__row {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem; /* gap-3 */
}

.omx-contact-page__ico {
	width: 1rem !important; /* size-4 */
	height: 1rem !important;
	margin-top: 0.125rem; /* mt-0.5 */
	color: var(--omx-primary);
	flex-shrink: 0;
}

.omx-contact-page__addr-text {
	line-height: 1.625;
	color: var(--omx-ink);
}

.omx-scope a.omx-contact-page__link,
.omx-contact-page__link {
	color: var(--omx-ink) !important;
	text-decoration: none;
	line-height: 1.5;
}
.omx-scope a.omx-contact-page__link:hover,
.omx-contact-page__link:hover {
	color: var(--omx-primary) !important;
}

.omx-contact-page__hours {
	color: var(--omx-muted); /* text-muted-foreground */
	line-height: 1.5;
}

/* Map: mt-10 rounded-3xl border shadow-card h-72 */
.omx-contact-page__map {
	margin-top: 2.5rem;
	overflow: hidden;
	border-radius: 1.5rem;
	border: 1px solid var(--omx-border);
	box-shadow: var(--omx-shadow-card);
	background: var(--omx-bg);
}
.omx-contact-page__map iframe {
	display: block;
	width: 100%;
	height: 18rem;
	border: 0;
}

/* Form card: glass-card rounded-3xl p-8 / lg:p-10 */
.omx-contact-page__form.omx-glass-card {
	border-radius: 1.5rem;
	padding: 2rem;
}
@media (min-width: 1024px) {
	.omx-contact-page__form.omx-glass-card { padding: 2.5rem; }
}

.omx-scope .omx-contact-page__form-title,
.omx-contact-page__form-title {
	margin: 0.75rem 0 0 !important; /* mt-3 */
	font-family: var(--omx-font-display);
	font-size: 1.5rem; /* text-2xl */
	font-weight: 700;
	line-height: 1.25;
	color: var(--omx-ink);
}
@media (min-width: 640px) {
	.omx-contact-page__form-title { font-size: 1.875rem; } /* sm:text-3xl */
}

.omx-scope .omx-contact-page__form-intro,
.omx-contact-page__form-intro {
	margin: 0.75rem 0 0 !important; /* mt-3 */
	font-size: 0.875rem;
	line-height: 1.625;
	color: var(--omx-muted);
}
.omx-contact-page__email-link {
	font-weight: 600;
	color: var(--omx-primary) !important;
	text-decoration: none;
}
.omx-contact-page__email-link:hover { text-decoration: underline; }

/*
 * WPForms → Lovable ContactForm
 * grid gap-5 sm:grid-cols-2; select/textarea span 2 cols
 */
.omx-wpforms {
	margin-top: 2rem; /* mt-8 */
}

.omx-wpforms__empty {
	margin: 0;
	font-size: 0.875rem;
	color: var(--omx-muted);
}

.omx-wpforms .wpforms-container,
.omx-wpforms .wpforms-container-full,
.omx-wpforms div.wpforms-container-full {
	margin: 0 !important;
	padding: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

.omx-wpforms .wpforms-head-container,
.omx-wpforms .wpforms-title,
.omx-wpforms .wpforms-description {
	display: none !important;
}

.omx-wpforms form.wpforms-form {
	margin: 0 !important;
	padding: 0 !important;
}

/* Auto 2-col like Lovable when form is a flat field list (no WPForms layout rows) */
.omx-wpforms .wpforms-field-container {
	display: flex !important;
	flex-direction: column;
	gap: 1.25rem !important; /* gap-5 */
	margin: 0 !important;
	padding: 0 !important;
}
@media (min-width: 640px) {
	.omx-wpforms .wpforms-field-container:not(:has(.wpforms-layout-row)):not(:has(.wpforms-field-row)) {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
	}
	.omx-wpforms .wpforms-field-container:not(:has(.wpforms-layout-row)):not(:has(.wpforms-field-row)) .wpforms-field-select,
	.omx-wpforms .wpforms-field-container:not(:has(.wpforms-layout-row)):not(:has(.wpforms-field-row)) .wpforms-field-textarea,
	.omx-wpforms .wpforms-field-container:not(:has(.wpforms-layout-row)):not(:has(.wpforms-field-row)) .wpforms-field-checkbox,
	.omx-wpforms .wpforms-field-container:not(:has(.wpforms-layout-row)):not(:has(.wpforms-field-row)) .wpforms-field-radio,
	.omx-wpforms .wpforms-field-container:not(:has(.wpforms-layout-row)):not(:has(.wpforms-field-row)) .wpforms-field-html,
	.omx-wpforms .wpforms-field-container:not(:has(.wpforms-layout-row)):not(:has(.wpforms-field-row)) .wpforms-field-file-upload {
		grid-column: 1 / -1;
	}
	/* If user used WPForms two-column layout rows, style those instead */
	.omx-wpforms .wpforms-layout-row,
	.omx-wpforms .wpforms-field-row {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 1.25rem !important;
		width: 100% !important;
	}
}

/* Kill WPForms own layout floats so our grid owns spacing */
.omx-wpforms .wpforms-field,
.omx-wpforms .wpforms-field-row,
.omx-wpforms .wpforms-layout-row,
.omx-wpforms .wpforms-layout-column,
.omx-wpforms .wpforms-one-half,
.omx-wpforms .wpforms-one-third,
.omx-wpforms .wpforms-two-thirds,
.omx-wpforms .wpforms-first,
.omx-wpforms .wpforms-last {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	clear: none !important;
}

.omx-wpforms .wpforms-field {
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.omx-wpforms .wpforms-field-label,
.omx-wpforms .wpforms-field-label-inline,
.omx-wpforms .wpforms-field-sublabel {
	display: block !important;
	float: none !important;
	width: auto !important;
	margin: 0 0 0.5rem !important; /* mb-2 */
	padding: 0 !important;
	font-family: var(--omx-font-mono) !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 1rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.18em !important;
	color: var(--omx-muted) !important;
}

.omx-wpforms .wpforms-required-label,
.omx-wpforms .wpforms-field-label .wpforms-required-label {
	color: var(--omx-primary) !important;
	border: 0 !important;
	margin-left: 0.15em;
}

.omx-wpforms .wpforms-field-sublabel {
	margin-top: 0.375rem !important;
	margin-bottom: 0 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-family: var(--omx-font-sans) !important;
	font-size: 0.75rem !important;
}

.omx-wpforms input[type="text"],
.omx-wpforms input[type="email"],
.omx-wpforms input[type="tel"],
.omx-wpforms input[type="url"],
.omx-wpforms input[type="number"],
.omx-wpforms input[type="date"],
.omx-wpforms input[type="password"],
.omx-wpforms select,
.omx-wpforms textarea,
.omx-wpforms .choices__inner {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	border-radius: 0.5rem !important;
	border: 1px solid var(--omx-border) !important;
	background-color: var(--omx-bg) !important;
	padding: 0.75rem 1rem !important; /* py-3 px-4 */
	font-family: var(--omx-font-sans) !important;
	font-size: 0.875rem !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	color: var(--omx-ink) !important;
	box-shadow: none !important;
	outline: none !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	-webkit-appearance: none;
	appearance: none;
}

.omx-wpforms textarea {
	min-height: 8rem !important; /* min-h-32 */
	resize: vertical;
}

.omx-wpforms input::placeholder,
.omx-wpforms textarea::placeholder {
	color: color-mix(in srgb, var(--omx-muted) 70%, transparent) !important;
	opacity: 1;
}

.omx-wpforms input:focus,
.omx-wpforms select:focus,
.omx-wpforms textarea:focus {
	border-color: color-mix(in srgb, var(--omx-primary) 60%, var(--omx-border)) !important;
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--omx-primary) 20%, transparent) !important;
}

.omx-wpforms select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7c93' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 0.75rem center !important;
	background-size: 1rem !important;
	padding-right: 2.5rem !important;
}

.omx-wpforms .wpforms-submit-container {
	margin: 2rem 0 0 !important; /* mt-8 */
	padding: 0 !important;
	text-align: left !important;
}

.omx-wpforms .wpforms-submit,
.omx-wpforms button[type="submit"],
.omx-wpforms input[type="submit"],
.omx-wpforms .wpforms-page-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.5rem !important;
	width: auto !important;
	min-width: 0 !important;
	height: auto !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0.5rem !important;
	background: var(--omx-primary) !important;
	background-image: none !important;
	padding: 0.875rem 1.5rem !important;
	font-family: var(--omx-font-sans) !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	color: #ffffff !important;
	box-shadow: var(--omx-shadow-glow) !important;
	cursor: pointer !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	transition: transform 0.2s ease !important;
}
.omx-wpforms .wpforms-submit:hover,
.omx-wpforms button[type="submit"]:hover,
.omx-wpforms input[type="submit"]:hover {
	transform: translateY(-2px);
	background: var(--omx-primary) !important;
	color: #ffffff !important;
}

.omx-wpforms .wpforms-error,
.omx-wpforms .wpforms-error-label,
.omx-wpforms label.wpforms-error {
	margin-top: 0.375rem !important;
	font-family: var(--omx-font-sans) !important;
	font-size: 0.75rem !important;
	font-weight: 400 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: #dc2626 !important;
}

.omx-wpforms .wpforms-field input.wpforms-error,
.omx-wpforms .wpforms-field textarea.wpforms-error,
.omx-wpforms .wpforms-field select.wpforms-error {
	border-color: #dc2626 !important;
}

.omx-wpforms .wpforms-confirmation-container-full,
.omx-wpforms .wpforms-confirmation-container {
	margin: 0 !important;
	padding: 1rem 0 0 !important;
	border: 0 !important;
	background: transparent !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	color: var(--omx-primary) !important;
}

/* Legacy map class still used elsewhere */
.omx-map-wrap {
	margin-top: 2.5rem;
	overflow: hidden;
	border-radius: 1.5rem;
	border: 1px solid var(--omx-border);
	box-shadow: var(--omx-shadow-card);
}
.omx-map-wrap iframe {
	width: 100%;
	height: 18rem;
	border: 0;
	display: block;
}

/* ── About extras ────────────────────────────────────────────────── */
.omx-customer-grid {
	margin-top: 2rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.75rem;
}
.omx-customer-grid li {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--omx-ink);
}
.omx-customer-grid .omx-icon { width: 1rem; height: 1rem; color: var(--omx-primary); }
.omx-vision-grid {
	margin-top: 2.5rem;
	display: grid;
	gap: 1.5rem;
}
@media (min-width: 1024px) {
	.omx-vision-grid { grid-template-columns: 1fr 1fr; }
}
.omx-vision-card { border-radius: 1.5rem; padding: 2rem; }
.omx-vision-icon { width: 2rem; height: 2rem; color: var(--omx-primary); }
.omx-vision-card__title {
	margin-top: 1.25rem;
	font-family: var(--omx-font-display);
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--omx-ink);
}
.omx-vision-card p {
	margin-top: 0.75rem;
	font-size: 1rem;
	line-height: 1.625;
	color: var(--omx-muted);
}
.omx-about-process__grid {
	display: grid;
	gap: 2.5rem;
	align-items: center;
}
@media (min-width: 1024px) {
	.omx-about-process__grid { grid-template-columns: 1fr 1.1fr; gap: 4rem; }
}
.omx-process-list { margin-top: 2rem; display: flex; flex-direction: column; gap: 1.5rem; }
.omx-process-list li { display: flex; gap: 1rem; }
.omx-process-icon {
	display: grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 0.75rem;
	background: color-mix(in srgb, var(--omx-primary) 10%, transparent);
	flex-shrink: 0;
}
.omx-process-icon .omx-icon { width: 1.25rem; height: 1.25rem; color: var(--omx-primary); }
.omx-process-title { font-size: 1rem; font-weight: 600; color: var(--omx-ink); font-family: var(--omx-font-sans); }
.omx-process-list p { margin-top: 0.25rem; font-size: 0.875rem; line-height: 1.625; color: var(--omx-muted); }
.omx-rounded-media { overflow: hidden; border-radius: 1.5rem; border: 1px solid var(--omx-border); box-shadow: var(--omx-shadow-lift); }
.omx-rounded-media img { border-radius: 0; border: 0; box-shadow: none; }

/* ── Pre-terminated extras ───────────────────────────────────────── */
.omx-preterm-benefits__grid {
	margin-top: 2.5rem;
	display: grid;
	gap: 1.5rem;
}
@media (min-width: 640px) {
	.omx-preterm-benefits__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.omx-preterm-benefits__grid { grid-template-columns: repeat(5, 1fr); }
}
.omx-preterm-card { border-radius: 1rem; padding: 1.5rem; }
.omx-test-grid {
	margin-top: 2rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.75rem;
}
.omx-test-card {
	border-radius: 0.75rem;
	border: 1px solid rgba(255,255,255,0.15);
	background: rgba(255,255,255,0.05);
	padding: 1rem;
}
.omx-test-card p { margin-top: 0.25rem; font-size: 0.875rem; color: #fff; }
.omx-families-grid {
	margin-top: 2.5rem;
	display: grid;
	gap: 1.5rem;
}
@media (min-width: 1024px) {
	.omx-families-grid { grid-template-columns: 1fr 1fr; }
}
.omx-family-card {
	display: block;
	overflow: hidden;
	border-radius: 1.5rem;
	border: 1px solid var(--omx-border);
	background: var(--omx-card);
	transition: transform 0.3s, border-color 0.3s, box-shadow 0.3s;
}
.omx-family-card:hover {
	transform: translateY(-4px);
	border-color: color-mix(in srgb, var(--omx-primary) 40%, var(--omx-border));
	box-shadow: var(--omx-shadow-lift);
}
.omx-family-card img {
	width: 100%;
	aspect-ratio: 16/9;
	object-fit: cover;
}
.omx-family-card__body { padding: 1.75rem; }
.omx-family-card__title {
	margin-top: 0.5rem;
	font-family: var(--omx-font-display);
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--omx-ink);
}

/* Kill nowrap that caused content to spill past --omx-max */
.omx-products__title,
.omx-advantage__title,
.omx-projects__title,
.omx-about__title,
.omx-contact-cta__title,
.omx-capability__title {
	white-space: normal;
	max-width: 100%;
}

/*
 * Spacing lock — beat theme / Elementor kit heading+list resets that
 * zero margins and make titles stick to the next content row.
 * Values match Lovable Tailwind (mt-3 / mt-5 / mt-8 / mt-10 / mt-12).
 */
.omx-scope .omx-hero__title { margin-top: 1.5rem !important; } /* mt-6 */
.omx-scope .omx-hero__sub { margin-top: 1.25rem !important; } /* mt-5 */
.omx-scope .omx-hero__ctas { margin-top: 2rem !important; } /* mt-8 */
.omx-scope .omx-hero__stats {
	margin-top: 3rem !important; /* mt-12 */
	padding-top: 2rem !important; /* pt-8 */
}
.omx-scope .omx-hero__stat-label { margin-top: 0.25rem !important; }

.omx-scope .omx-products__title,
.omx-scope .omx-advantage__title,
.omx-scope .omx-projects__title,
.omx-scope .omx-about__title,
.omx-scope .omx-contact-cta__title,
.omx-scope .omx-capability__title,
.omx-scope .omx-bar-accent > .omx-products__title,
.omx-scope .omx-bar-accent > .omx-advantage__title,
.omx-scope .omx-bar-accent > .omx-projects__title,
.omx-scope .omx-bar-accent > .omx-about__title,
.omx-scope .omx-bar-accent > .omx-contact-cta__title,
.omx-scope .omx-bar-accent > .omx-capability__title {
	margin-top: 0.75rem !important; /* mt-3 eyebrow → title */
}

.omx-scope .omx-products__grid { margin-top: 2.5rem !important; } /* mt-10 */
.omx-scope .omx-product-card__name,
.omx-scope .omx-product-card__short { margin-top: 0.5rem !important; } /* mt-2 */

.omx-scope .omx-advantage__list { margin-top: 3rem !important; } /* mt-12 */
.omx-scope .omx-advantage__icon { margin-top: 0.75rem !important; }
.omx-scope .omx-advantage__item-title { margin-top: 1rem !important; } /* mt-4 */
.omx-scope .omx-advantage__item-body { margin-top: 0.375rem !important; } /* mt-1.5 */

.omx-scope .omx-capability__specs { margin-top: 2rem !important; } /* mt-8 */
.omx-scope .omx-capability__marks { margin-top: 1.5rem !important; } /* mt-6 */

.omx-scope .omx-projects__grid { margin-top: 2.5rem !important; } /* mt-10 */
.omx-scope .omx-projects__tile-name { margin-top: 0.75rem !important; }
.omx-scope .omx-projects__tile-sub { margin-top: 0.25rem !important; }

.omx-scope .omx-about__body { margin-top: 1.25rem !important; } /* mt-5 */
.omx-scope .omx-about__body + .omx-about__body { margin-top: 1rem !important; }
.omx-scope .omx-about__split { margin-top: 2rem !important; } /* mt-8 */
.omx-scope .omx-about__panel-body { margin-top: 0.5rem !important; }

.omx-scope .omx-contact-cta__body { margin-top: 1.25rem !important; } /* mt-5 */
.omx-scope .omx-contact-cta__ctas { margin-top: 2rem !important; } /* mt-8 */
.omx-scope .omx-contact-cta__list { margin-top: 1.25rem !important; } /* mt-5 */
.omx-scope .omx-contact-page__address { margin-top: 2rem !important; } /* mt-8 */
.omx-scope .omx-contact-page__office-title,
.omx-scope .omx-contact-page__form-title { margin-top: 0.75rem !important; } /* mt-3 */
.omx-scope .omx-contact-page__form-intro { margin-top: 0.75rem !important; }
.omx-scope .omx-wpforms { margin-top: 2rem !important; } /* mt-8 */

.omx-scope .omx-page-hero__title { margin-top: 1rem !important; } /* mt-4 */
.omx-scope .omx-page-hero__intro { margin-top: 1.5rem !important; } /* mt-6 */
.omx-scope .omx-page-hero__ctas { margin-top: 2.5rem !important; } /* mt-10 */
.omx-scope .omx-page-hero__stats { margin-top: 3rem !important; }

.omx-scope .omx-footer__tagline { margin-top: 1rem !important; }
.omx-scope .omx-footer__links,
.omx-scope .omx-footer__contact-list { margin-top: 1.25rem !important; } /* mt-5 */

.omx-scope .omx-check-list { margin-top: 1rem !important; }
.omx-scope .omx-process-list { margin-top: 2rem !important; }
.omx-scope .omx-process-list p { margin-top: 0.25rem !important; }
.omx-scope .omx-customer-grid { margin-top: 2rem !important; }
.omx-scope .omx-preterm-benefits__grid { margin-top: 2.5rem !important; }
.omx-scope .omx-families-grid { margin-top: 2.5rem !important; }
.omx-scope .omx-test-grid { margin-top: 2rem !important; }
.omx-scope .omx-family-card__title { margin-top: 0.5rem !important; }
.omx-scope .omx-product-single__h { margin-top: 2rem !important; }
.omx-scope .omx-vision-card__title { margin-top: 1.25rem !important; }
