:root {
	--navy-950: #051138;
	--navy-900: #040C27;
	--navy-850: #0A1F44;
	--navy-800: #15315f;
	--navy-text: #0B1F3F;
	--orange: #FD5401;
	--orange-dark: #FD5401;
	--orange-tint: #FDECE2;
	--gray-600: #5d6675;
	--gray-500: #7b8492;
	--gray-300: #e7e9ed;
	--gray-100: #f3f4f6;
	--gray-50: #f8f9fb;
	--font-head: 'Plus Jakarta Sans', sans-serif;
	--font-body: 'Plus Jakarta Sans', sans-serif;
	--navy-deep: #0a1530;
	--navy-soft: #11264a;
	--cream-bg: #f7f8fa;
	--line: #e7e9ee;
	--text-muted: #5b6472;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	font-family: var(--font-body);
	color: var(--gray-600);
	font-size: 16px;
	line-height: 1.65;
	background: #fff;
	overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font-head);
	color: var(--navy-text);
	font-weight: 700;
	margin: 0;
}

h1, h2 {
	line-height: 1.25;
	letter-spacing: normal;
}

h1 {
	font-size: 40px;
}

h2 {
	font-size: 40px;
}

@media (max-width: 991px) {
	h1 {
		font-size: 36px;
	}

	h2 {
		font-size: 30px;
	}
}

@media (max-width: 767px) {
	h1 {
		font-size: 24px;
	}

	h2 {
		font-size: 22px;
	}
}

p {
	margin: 0;
}

a {
	text-decoration: none;
}

a.orange {
    color: var(--orange);
}

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

.container-xl {
	max-width: 1320px;
}

.eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--font-head);
	font-weight: 500;
	font-size: 13px;
	letter-spacing: 1px;
	color: var(--orange);
	text-transform: uppercase;
	margin-bottom: 10px;
}

.eyebrow.center {
	display: flex;
	justify-content: center;
	width: 100%;
}

.eyebrow-dash {
	display: inline-block;
	width: 18px;
	height: 2px;
	background: var(--orange);
}

.eyebrow-underline {
	display: block;
	width: 80px;
	height: 2px;
	background: var(--orange);
	border-radius: 2px;
	margin: 10px auto 0;
}

.eyebrow.left-align {
	justify-content: flex-start;
}

.eyebrow.left-align .eyebrow-underline {
	margin: 10px 0 0;
}

.eyebrow.white-eyebrow {
	color: #fff;
}

.section-pad {
	padding: 60px 0;
}

@media (max-width:991px) {
	.section-pad {
		padding: 40px 0;
	}

}

.btn-orange {
	background: var(--orange);
	border: none;
	color: #fff !important;
	font-family: var(--font-head);
	font-weight: bold;
	font-size: 14px;
	letter-spacing: .5px;
	padding: 12px 30px;
	border-radius: 2px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	white-space: nowrap;
	transition: .2s ease;
	box-shadow: 0 8px 20px rgba(244, 84, 12, .25);
	text-transform: uppercase;
}

.btn-orange:hover {
	background: var(--orange-dark);
	color: #fff;
	transform: translateY(-2px);
}

.btn-outline-light-custom {
	background: transparent;
	border: 2px solid #fff;
	color: #fff;
	font-family: var(--font-head);
	font-weight: bold;
	font-size: 14px;
	letter-spacing: .5px;
	padding: 12px 30px;
	border-radius: 2px;
	display: inline-flex;
	align-items: center;
	transition: .2s ease;
	text-transform: uppercase;
}

.btn-outline-light-custom:hover {
	background: #fff;
	color: var(--navy-text);
}

/* ============ TOP BAR ============ */

.topbar {
	background: #051138;
	color: #fff;
	font-size: 15px;
	padding: 10px 0;
	font-weight: 400;
}

.topbar a {
	color: #fff;
}

.topbar a:hover {
	color: #fff;
}

.topbar .social-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 18px;
	margin-left: 20px;
}

/* ============ NAVBAR ============ */

.navbar-custom {
	background: #0A1F44;
	padding: 10px 0;
	border-bottom: 1px solid rgb(230 231 235 / 0.1);
}

.nav-links {
	display: flex;
	align-items: center;
	gap: 34px;
}

.nav-links a {
	color: #fff;
	font-weight: 500;
	font-size: 14.5px;
	letter-spacing: .3px;
	transition: .2s;
}

.nav-links a:hover {
	color: var(--orange);
}

/* Services dropdown */
.nav-dropdown {
	position: relative;
}

.nav-dropdown-toggle {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
}

.nav-dropdown-toggle i {
	font-size: 10px;
	transition: transform .2s ease;
}

.nav-dropdown-menu {
	display: none;
	position: absolute;
	top: calc(100% + 14px);
	left: 0;
	min-width: 250px;
	background: #0A1F44;
	border: 1px solid rgb(230 231 235 / 0.12);
	border-radius: 10px;
	padding: 8px;
	box-shadow: 0 20px 44px -18px rgba(0, 0, 0, .55);
	z-index: 100;
}

.nav-dropdown-menu::before {
	content: "";
	position: absolute;
	top: -14px;
	left: 0;
	right: 0;
	height: 14px;
}

.nav-dropdown-menu a {
	display: block;
	padding: 10px 14px;
	border-radius: 7px;
	font-size: 14px;
	color: #cdd4e2;
}

.nav-dropdown-menu a:hover {
	background: rgba(253, 84, 1, .12);
	color: var(--orange);
}

@media (min-width:992px) {
	.nav-dropdown:hover .nav-dropdown-menu,
	.nav-dropdown:focus-within .nav-dropdown-menu {
		display: block;
	}

	.nav-dropdown:hover .nav-dropdown-toggle i {
		transform: rotate(180deg);
	}
}

@media (max-width:991px) {
	.nav-dropdown {
		width: 100%;
	}

	.nav-dropdown-menu {
		display: block;
		position: static;
		background: transparent;
		border: none;
		box-shadow: none;
		padding: 6px 0 6px 16px;
		min-width: 0;
	}

	.nav-dropdown-menu a {
		padding: 6px 0;
	}

	.nav-dropdown-toggle i {
		display: none;
	}
}

.navbar-toggler {
	border-color: rgba(255, 255, 255, .4);
}

.navbar-toggler-icon {
	filter: invert(1);
}

/* ============ HERO ============ */

.hero {
	background: url(../images/hero-bg.jpg);
	padding: 40px 0;
	position: relative;
	background-size: cover !important;
	background-position: top right !important;
}

.hero h1 {
	color: #fff;
}

.hero h1 .orange {
	color: var(--orange);
}

.hero .lead-text {
	color: #aab4c8;
	font-size: 16.5px;
	margin: 22px 0 30px;
	max-width: 480px;
}

.hero-btn-row {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 26px;
}

/* hero right cards */

/* ============ STATS STRIP ============ */

.service-card h5 a {
    color: var(--navy-text);
}
 
.social-icon-footer {
    gap: 5px;
    margin: 10px 0 0;
}

.social-icon-footer a {
    width: 30px;
    height: 30px;
    display: flex;
    border: 1px solid #8b96ac;
    color: #8b96ac;
    align-items: center;
    justify-content: center;
    border-radius: 100px;
    font-size: 14px;
}

/* ============ PROBLEM SECTION ============ */

.problem-section {
	/*background: url(../images/problem-bg.jpg);*/
	position: relative;
	background-position: center;
	background-size: cover;
}

.section-heading {
	text-align: center;
	max-width: 940px;
	margin: 0 auto;
}

.section-heading .orange {
	color: var(--orange);
}

.section-sub {
	text-align: center;
	max-width: 800px;
	margin: 18px auto 0;
	color: var(--gray-600);
	font-size: 16px;
}

.problem-card {
	background: #fff;
	border: 1px solid #6E758C;
	border-radius: 30px;
	padding: 45px 20px 20px;
	text-align: center;
	position: relative;
	margin-top: 45px;
} 

.problem-card .ic-circle {
	width: 90px;
	height: 90px;
	border-radius: 50%;
	background: #fff;
	border: 5px solid #f5f5f5;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--orange);
	font-size: 22px;
	position: absolute;
	top: -45px;
	left: 50%;
	transform: translateX(-50%);
	box-shadow: 0px 0px 10px rgba(0, 0, 0, .5);
	outline: 5px solid #fff;
}

.problem-card .step-num {
	font-family: var(--font-head);
	font-weight: 700;
	color: var(--navy-text);
	font-size: 20px;
	margin-top: 16px;
	position: relative;
	bottom: 0;
	background: transparent;
}

.problem-card .step-num-underline {
	width: 22px;
	height: 2px;
	background: var(--orange);
	margin: 6px auto 14px;
}

.problem-card h5 {
	font-size: 18px;
	margin-bottom: 8px;
}

.problem-card p {
	font-size: 14px;
	color: var(--gray-600);
}

.gap-cta {
	background: #fff;
	border: 1px solid var(--gray-300);
	border-left: 5px solid var(--orange);
	border-radius: 10px;
	padding: 24px 28px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 18px;
	margin-top: 30px;
	box-shadow: 0 0px 20px rgba(0, 0, 0, .1);
}

.gap-cta .left {
	display: flex;
	align-items: center;
	gap: 16px;
}

.gap-cta .ic {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--orange);
	font-size: 36px;
	flex-shrink: 0;
}

.gap-cta h5 {
	font-size: 22px;
	margin-bottom: 5px;
}

.gap-cta p {
	font-size: 13.5px;
	color: var(--gray-500);
}

/* ============ WHY WORK WITH US ============ */

.feature-box {
	background: #F1F5F9;
	border: 3px solid rgba(255, 255, 255, .07);
	border-radius: 10px;
	padding: 25px 20px;
	display: flex;
	gap: 15px;
	align-items: center;
	margin-bottom: 15px;
}

.feature-box h5 {
	color: var(--navy-text);
	font-size: 18px;
	margin-bottom: 6px;
}

.feature-box p {
	color: var(--gray-600);
	font-size: 14px;
	margin: 0;
}

.why-image-placeholder {
	background: var(--gray-100);
	border-radius: 12px;
	width: 100%;
	height: 100%;
	min-height: 380px;
	overflow: hidden;
	border: 1px solid #30395A;
}

.why-image-placeholder img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ---- "Why this matters" cards (sub-niche landing pages) ----
   Four equal cards with an alternating navy/orange top bar, tinted icon
   circle, rule, and centered copy. Scoped so .feature-box keeps working
   on the pages that still use it. */
.why-card {
	position: relative;
	height: 100%;
	background: #fff;
	border-radius: 14px;
	padding: 40px 22px 30px;
	text-align: center;
	box-shadow: 0 6px 22px rgba(5, 17, 56, .07);
	overflow: hidden;
	border: 1px solid var(--gray-300);
}

/* Accent bar across the top */
.why-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	height: 6px;
	border-radius: 0 0 4px 4px;
}

.why-card__ic {
	width: 92px;
	height: 92px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 20px;
}

.why-card__ic img {
	width: 42px;
	height: 42px;
	object-fit: contain;
}

.why-card__dash {
	display: block;
	width: 24px;
	height: 3px;
	border-radius: 2px;
	margin: 0 auto 14px;
}

.why-card h5 {
	font-family: var(--font-head);
	font-size: 19px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--navy-text);
	margin: 0 0 12px;
}

.why-card p {
	font-size: 14px;
	line-height: 1.6;
	color: var(--gray-500);
	margin: 0;
}

/* Navy variant */
.why-card--navy::before,
.why-card--navy .why-card__dash {
	background: var(--navy-950);
}

.why-card--navy .why-card__ic {
	background: #EDF1F9;
}

/* Orange variant */
.why-card--orange::before,
.why-card--orange .why-card__dash {
	background: var(--orange);
}

.why-card--orange .why-card__ic {
	background: var(--orange-tint);
}

@media (max-width: 991px) {
	.why-card {
		padding: 34px 16px 26px;
	}

	.why-card__ic {
		width: 76px;
		height: 76px;
		margin-bottom: 16px;
	}

	.why-card__ic img {
		width: 34px;
		height: 34px;
	}

	.why-card h5 {
		font-size: 17px;
	}
}

/* ============ SERVICES ============ */

.services-section {
	background: url(../images/serv-bg.jpg);
	background-size: cover;
	background-position: top right;
	background-repeat: no-repeat;
}

.service-card {
	border: 1px solid var(--gray-300);
	padding: 30px 20px 20px;
	height: 100%;
	background: #fff;
}

.service-card .ic-square {
	width: 54px;
	height: 54px;
	background: var(--orange-tint);
	color: var(--orange);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
}

.service-card h5 {
	font-size: 24px;
	margin-bottom: 10px;
}

.service-card>p {
	font-size: 14px;
	color: var(--gray-600);
	margin-bottom: 15px;
}

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

.service-card ul li {
	display: flex;
	gap: 10px;
	font-size: 14px;
	color: var(--gray-600);
	margin-bottom: 10px;
	align-items: center;
}

.service-card ul li i {
	color: var(--orange);
	margin-top: 3px;
	font-size: 12px;
}

.supporting-services {
	border: 1px solid var(--gray-300);
	border-radius: 12px;
	padding: 24px 10px;
	margin-top: 50px;
}

.supporting-services .item {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-family: var(--font-head);
	font-weight: 600;
	color: var(--navy-text);
	font-size: 15px;
	border-right: 1px solid var(--gray-300);
	padding: 6px 10px;
}

.supporting-services .item:last-child {
	border-right: none;
}

.supporting-services .item i {
	color: var(--orange);
	font-size: 16px;
}

@media (max-width:767px) {
	.topbar {
		display: none;
	}

	a.navbar-brand.brand-logo {
		max-width: 140px;
	}

	.supporting-services .item {
		border-right: none;
		border-bottom: 1px solid var(--gray-300);
		padding: 14px 10px;
	}

	.supporting-services .item:last-child {
		border-bottom: none;
	}

}

/* ============ CASE STUDY ============ */

.result-panel {
	border: 1px solid var(--gray-300);
	border-radius: 14px;
	overflow: hidden;
	background: #fff;
	height: 100%;
}

.result-panel .head {
	background: var(--navy-950);
	color: #fff;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 15px 22px;
	font-family: var(--font-head);
	font-weight: 700;
	font-size: 22px;
	letter-spacing: .5px;
	justify-content: center;
}

.result-panel .head .ic {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .12);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
}

.result-panel .head .ic.google-ic {
	background: #fff;
	color: #4285F4;
}

.result-panel .body {
	padding: 20px;
}

.result-panel .body>p.intro {
	text-align: center;
	font-size: 16px;
	color: var(--gray-600);
	margin-bottom: 25px;
}

.stat-col {
	text-align: center;
	padding: 0 8px;
}

.stat-col .ic {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--gray-100);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--gray-500);
	margin: 0 auto 12px;
	font-size: 16px;
	border: 1px solid #999DAD;
}

.stat-col .num {
	font-family: var(--font-head);
	font-weight: 800;
	color: var(--orange);
	font-size: 24px;
}

.stat-col .lbl {
	font-weight: 700;
	color: var(--navy-text);
	font-size: 14px;
	margin-top: 4px;
	letter-spacing: .3px;
}

.stat-col .sub {
	color: var(--gray-500);
	font-size: 14px;
	margin-top: 3px;
}

.video-card {
	border: 1px solid #e1e1e1;
	border-radius: 14px;
	background: #fff;
	overflow: hidden;
}

.trust-bar {
	background: var(--navy-950);
	border-radius: 14px;
	padding: 24px 30px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 22px;
}

.trust-item {
	display: flex;
	align-items: center;
	gap: 12px;
	color: #fff;
}

.trust-item .ic {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	flex-shrink: 0;
	border: 1px solid #999DAD;
}

.trust-item .ic.google-circ {
	border: none;
}

.trust-item .t1 {
	font-size: 18px;
	font-weight: 800;
}

.trust-item .t2 {
	font-size: 11.5px;
	color: #9aa5ba;
}

.trust-item .stars {
	color: #FFB400;
	font-size: 11px;
}

/* ============ PROCESS ============ */

.process-section {
	background: url(../images/process-bg.jpg);
	position: relative;
	overflow: hidden;
	background-size: cover;
	background-position: top right;
	background-repeat: no-repeat;
}

.process-divider-row {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin: 15px 0 40px;
}

.process-divider-row .dline {
	height: 1px;
	background: var(--orange);
	flex: 1;
	max-width: 100px;
	position: relative;
}

.process-divider-row .dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--orange);
}

.process-divider-row .txt {
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 1.3px;
	color: var(--navy-text);
	white-space: nowrap;
}

.process-track {
	display: flex;
	align-items: flex-start;
	position: relative;
}

.process-step {
	flex: 1;
	text-align: center;
	padding: 0 8px;
	position: relative;
}

.process-step .badge-num {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--navy-950);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 10px;
	position: relative;
	z-index: 2;
}

.process-step .circle {
	width: 62px;
	height: 62px;
	border-radius: 50%;
	background: #fff;
	border: 1px solid var(--gray-300);
	margin: 0 auto 15px;
	box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 15px;
}

.process-step h6 {
	font-size: 14px;
	letter-spacing: .4px;
	margin-bottom: 6px;
	text-transform: uppercase;
}

.process-step .step-underline {
	width: 72px;
	height: 2px;
	background: var(--orange);
	margin: 10px auto;
}

.process-step p {
	font-size: 13px;
	color: var(--gray-600);
}

.process-arrow {
	flex: 0 0 auto;
	width: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--orange);
	margin-top: 65px;
	font-size: 14px;
}

.process-arrow .dots {
	border-top: 2px dotted var(--orange);
	width: 42px;
	display: inline-block;
	margin-right: 4px;
}

@media (max-width:991px) {
	.process-step h6 {
		letter-spacing: 0;
		font-size: 12px;
	}

	.process-step.last-step {
		width: 100%;
	}

	.process-step {
		padding: 0 5px;
		width: 50%;
		flex: initial;
	}

	.process-track {
		flex-wrap: wrap;
		gap: 20px 0px;
	}

	.process-arrow {
		display: none;
	}

}

.process-highlights {
	border: 1px solid var(--gray-300);
	border-radius: 12px;
	padding: 22px 10px;
	margin-top: 30px;
	display: flex;
}

.process-highlights .item {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-family: var(--font-head);
	font-weight: 600;
	color: var(--navy-text);
	font-size: 14.5px;
	border-right: 1px solid var(--gray-300);
}

.process-highlights .item:last-child {
	border-right: none;
}

.process-highlights .item i {
	color: var(--orange);
	font-size: 16px;
}

@media (max-width:767px) {
	.process-highlights {
		gap: 8px;
		align-items: flex-start;
	}

	.process-highlights .item {
		border-right: none;
		flex-direction: column;
		text-align: center;
		font-size: 12px;
	}

}

.process-cta {
	background: var(--navy-950);
	border-radius: 15px;
	padding: 20px;
	margin-top: 30px;
	display: flex;
	align-items: center;
	gap: 15px;
	flex-wrap: wrap;
}

.process-cta .ic-big {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	border: 2px solid #999DAD;
	color: var(--orange);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	flex-shrink: 0;
}

.process-cta .txt-block {
	flex: 1;
	min-width: 230px;
}

.process-cta h4 {
	color: #fff;
	font-size: 16px;
	margin-bottom: 8px;
}

.process-cta p {
	color: #E6E7EB;
	font-size: 14px;
}

.process-cta .checks {
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
	min-width: 220px;
}

.process-cta .checks .row2 {
	display: flex;
	gap: 15px;
}

.process-cta .checks .ck {
	display: flex;
	align-items: center;
	gap: 7px;
	color: #fff;
	font-size: 14px;
	font-weight: 500;
}

.process-cta .checks .ck i {
	color: var(--orange);
	font-size: 15px;
}

.process-cta .cta-right {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.process-cta .obligation {
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: .5px;
	display: flex;
	align-items: center;
	gap: 7px;
}

.process-cta .obligation i {
	color: var(--orange);
}

/* ============ WHY CHOOSE US ============ */

.why-choose-section {
	background: linear-gradient(180deg, #0A1F44 0%, #0F2B5A 53%, #0A1F44 100%);
}

.why-choose-section .section-heading {
	color: #fff;
	max-width: 100%;
}

.choose-card {
	background: #fff;
	border-radius: 14px;
	padding: 30px 20px;
	height: 100%;
	text-align: center;
}

.choose-card .ic-square {
	width: 48px;
	height: 48px;
	border-radius: 3px;
	background: var(--orange-tint);
	color: var(--orange);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	margin: 0 auto 15px;
}

.choose-card h6 {
	font-size: 16px;
	letter-spacing: .5px;
	margin-bottom: 5px;
	text-transform: uppercase;
}

.choose-card p {
	font-size: 13.5px;
	color: var(--gray-600);
}

.light-cta {
	background: #F2F5FA;
	border-radius: 12px;
	padding: 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 18px;
	margin-top: 40px;
}

.light-cta .left {
	display: flex;
	align-items: center;
	gap: 18px;
}

.light-cta .qm {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	border: 1.5px solid var(--orange);
	color: var(--orange);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 17px;
	flex-shrink: 0;
}

.light-cta p {
	font-family: var(--font-head);
	font-weight: 600;
	color: var(--navy-text);
	font-size: 15px;
	margin: 0;
	letter-spacing: 0.5px;
}

.light-cta .divider-v {
	width: 1px;
	height: 30px;
	background: var(--gray-300);
}

/* ============ TEAM ============ */

.team-section {
	background: linear-gradient(180deg, #0A1F44 0%, #0F2B5A 53%, #0A1F44 100%);
}

.team-section .section-heading {
	color: #fff;
	max-width: 100%;
}

.team-section .section-sub {
	color: rgba(255, 255, 255, .72);
}

/* Orange corner-bracket frame around the whole row */

.team-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 20px;
}

.team-card {
	background: var(--navy-850);
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 6px;
	padding: 0;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
	overflow: hidden;
}

.team-card:hover {
	transform: translateY(-5px);
	border-color: rgba(253, 84, 1, .45);
	box-shadow: 0 18px 40px rgba(0, 0, 0, .35);
}

.team-photo {
	position: relative;
	aspect-ratio: 1 / 1;
	border-radius: 4px;
	overflow: hidden;
	background: #0a1936;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Initials fallback (shows when the photo is missing/hidden) */
.team-photo::before {
	content: attr(data-initials);
	position: absolute;
	font-family: var(--font-head);
	font-weight: 700;
	font-size: 40px;
	letter-spacing: 1px;
	color: rgba(255, 255, 255, .35);
}

.team-photo img {
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: filter .3s ease;
}

.team-card:hover .team-photo img {
	filter: grayscale(0%);
}

.team-info {
	padding: 15px 20px;
}

.team-info h5 {
	color: #fff;
	font-size: 19px;
	margin-bottom: 6px;
}

.team-role {
	font-family: var(--font-head);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: .8px;
	text-transform: uppercase;
	color: var(--orange);
}

@media (max-width: 991px) {
	.team-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 575px) {
	.team-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}

	.team-info h5 {
		font-size: 16px;
	}
}

/* ============ INDUSTRIES ============ */

.industries-section {
	background-image: url(../images/industries-bg.jpg);
	position: relative;
	background-size: cover;
	background-position: top right;
	background-repeat: no-repeat;
	background-color: #f8f8f8;
}

.industry-card {
	background: #fff;
	border: 1px solid var(--gray-300);
	border-radius: 14px;
	padding: 26px 24px;
	display: flex;
	gap: 18px;
	align-items: center;
	height: 100%;
}

.industry-card .ic-circle {
	width: 90px;
	height: 90px;
	border-radius: 50%;
	background: var(--gray-100);
	color: var(--navy-text);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	padding: 20px;
}

.industry-card h6 {
	font-size: 18px;
	margin-bottom: 6px;
}

.industry-card .step-underline {
	width: 64px;
	height: 2px;
	background: var(--orange);
	margin: 8px 0;
}

.industry-card p {
	font-size: 14px;
	color: var(--gray-600);
	margin: 0;
}

/* ============ CONTACT ============ */

.contact-section {
	background: #fff;
}

.contact-wrap {
	display: flex;
	align-items: center;
}

.contact-form-side {
	width: 60%;
	padding: 20px;
	display: flex;
	gap: 25px;
	flex-direction: column;
}

.contact-image-side {
	width: 40%;
}

.contact-image-side .mug-illustration img {
	width: 100%;
}

.contact-image-side .mug-illustration {
	display: flex;
	align-items: center;
	justify-content: center;
}

.contact-icon-circle {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	border: 2px solid #999DAD;
}

.contact-form-side h3 {
	font-size: 25px;
	margin-bottom: 26px;
}

@media (max-width:991px) {
	.contact-wrap {
		flex-direction: column;
	}

	.contact-form-side {
		width: 100%;
		padding: 20px;
		gap: 0;
	}

	.contact-image-side {
		width: 100%;
	}

	.contact-form-side h3 {
		font-size: 18px;
	}

	.contact-icon-circle {
		width: 40px;
		min-width: 40px;
		height: 40px;
		padding: 10px;
	}

}

/* ============ FOOTER ============ */

.footer-cta-wrap {
	padding: 0 0 0;
}

.footer-cta-bar {
	background: #fff;
	border-radius: 10px;
	padding: 15px 40px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
	position: relative;
	margin-bottom: 60px;
}

.footer-cta-bar .left {
	display: flex;
	align-items: center;
	gap: 15px;
}

.footer-cta-bar .ic {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	border: 1px solid var(--gray-300);
	color: var(--orange);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 17px;
	flex-shrink: 0;
}

.footer-cta-bar .txt strong {
	display: block;
	color: var(--navy-text);
	font-weight: 700;
	font-size: 15.5px;
}

.footer-cta-bar .txt span {
	color: var(--navy-text);
	font-size: 14px;
	font-weight: 600;
	border-left: 1px solid #ccc;
	padding: 5px 0px 5px 40px;
	margin-left: 35px;
}

.site-footer {
	background: linear-gradient(180deg, #0A1F44 0%, #0F2B5A 53%, #0A1F44 100%);
	padding-top: 80px;
	padding-bottom: 30px;
	color: #9aa5ba;
}

.footer-desc {
	font-size: 13px;
	color: #8b96ac;
	margin-top: 18px;
}

.footer-col h6 {
	color: #fff;
	font-size: 13px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	margin-bottom: 14px;
	font-family: var(--font-head);
	font-weight: 700;
}

.footer-col .underline {
	width: 26px;
	height: 2px;
	background: var(--orange);
	margin-bottom: 18px;
	display: block;
}

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

.footer-col ul li {
	margin-bottom: 12px;
}

.footer-col ul li a {
	color: #9aa5ba;
	font-size: 13.5px;
	display: flex;
	align-items: center;
	gap: 8px;
	transition: .2s;
}

.footer-col ul li a:hover {
	color: var(--orange);
}

.footer-col ul li a i {
	font-size: 10px;
	color: var(--orange);
}

.footer-get-started-text {
	font-size: 13px;
	color: #9aa5ba;
	margin-top: 14px;
}

.footer-obligation {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 14px;
	font-size: 12.5px;
	color: #9aa5ba;
}

.footer-obligation .ic {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 1px solid var(--orange);
	color: var(--orange);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	flex-shrink: 0;
}

.footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, .08);
	margin-top: 60px;
	padding-top: 24px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	font-size: 13px;
	color: #8b96ac;
}

.footer-bottom .orange {
	color: var(--orange);
	font-weight: 600;
}

@media (max-width:991px) {
	.gap-cta h5 {
		font-size: 18px;
	}


}

/* ============ FPRM ============ */

a.footer-logo img {
	max-width: 159px;
}

a.navbar-brand.brand-logo {
	margin: 0;
	padding: 0;
}

.hero .eyebrow {
	color: #fff;
}

.bg-pipe {
	/*background: url(../images/bg-pipe.png);*/
	background-repeat: no-repeat;
	background-size: 100% 60%;
	background-position: center;
	/*padding: 0 80px;*/
}

.video-card {
	display: flex;
}

.video-card video {
	height: 255px;
	object-fit: contain;
	background: #f5f5f5;
}

/* Case study: video-left full-height layout */
.video-card.video-card--tall {
	flex: 1 1 auto;
	height: 100%;
}

.video-card.video-card--tall video {
	height: 100%;
	width: 100%;
	min-height: 360px;
	max-height: 675px;
}

.casestudy-stack .result-panel {
	height: auto;
}

/*** FAQ SECTION ***/

section#faq {
	background: linear-gradient(180deg, #0A1F44 0%, #0F2B5A 53%, #0A1F44 100%);
}

/* ---- Accordion cards ---- */

.tma-faq .accordion {
	position: relative;
	z-index: 1;
}

.tma-faq .accordion-item {
	background: #f3f4f6;
	border: none;
	border-left: 4px solid transparent;
	border-radius: 12px !important;
	overflow: hidden;
	margin-bottom: 16px;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

.tma-faq .accordion-item:last-child {
	margin-bottom: 0;
}

.tma-faq .accordion-item.tma-faq-active {
	border-left-color: var(--orange);
}

.tma-faq .accordion-button {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 20px;
	background: transparent;
	font-size: 16.5px;
	font-weight: 700;
	color: #1b2538;
	box-shadow: none !important;
}

.tma-faq .accordion-button::after {
	display: none;
}

.tma-faq .accordion-button:not(.collapsed) {
	background: transparent;
	color: var(--navy-text);
}

.tma-faq .accordion-icon {
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--navy-text);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.tma-faq .accordion-icon::before,
.tma-faq .accordion-icon::after {
	content: "";
	position: absolute;
	background: #fff;
	border-radius: 1px;
}

.tma-faq .accordion-icon::before {
	width: 11px;
	height: 2px;
}

.tma-faq .accordion-icon::after {
	width: 2px;
	height: 11px;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.tma-faq .accordion-button:not(.collapsed) .accordion-icon::after {
	transform: rotate(90deg);
	opacity: 0;
}

.tma-faq .accordion-body {
	padding: 0 22px 22px 70px;
	font-size: 15px;
	line-height: 1.65;
	color: #5b6478;
}

@media (max-width: 575.98px) {
	.tma-faq .accordion-button {
		padding: 16px;
		gap: 12px;
		font-size: 15px;
	}

	.tma-faq .accordion-body {
		padding: 0 15px 15px 50px;
	}

}

@media (prefers-reduced-motion: reduce) {
	.tma-faq .accordion-icon::after {
		transition: none !important;
	}

}

@media (min-width:768px) {
	.mobile-cta {
		display: none;
	}

}

@media (max-width:767px) {
	.light-cta .left {
		flex-direction: column;
		text-align: center;
		justify-content: center;
	}

	.light-cta {
		justify-content: center;
	}

	.bg-pipe {
		background: transparent !important;
		padding: 0;
	}

	.choose-card {
		padding: 20px 15px;
	}

	.footer-cta-bar {
		padding: 20px;
		flex-direction: column;
		justify-content: center;
		text-align: center;
		gap: 15px;
	}

	.footer-cta-bar .left {
		flex-direction: column;
		gap: 6px;
		text-align: center;
	}

	.footer-cta-bar .txt span {
		padding: 0;
		border: none;
		margin: 0;
		font-size: 15px;
	}

	.footer-cta-bar .txt strong {
		font-size: 18px;
	}

	.section-heading br {
		display: none;
	}

	.result-panel .head {
		font-size: 18px;
		padding: 10px;
	}

	.result-panel .body>p.intro {
		font-size: 14px;
		margin-bottom: 20px;
	}

	.result-panel .body {
		padding: 15px;
	}

	.service-card ul li {
		gap: 8px;
		font-size: 13px;
	}

	.service-card .ic-square {
		width: 44px;
		height: 44px;
		margin-bottom: 10px;
	}

	.service-card h5 {
		font-size: 20px;
		margin-bottom: 10px;
	}

	.service-card>p {
		font-size: 13px;
		margin-bottom: 10px;
	}

	.service-card {
		padding: 20px 10px;
	}

	.supporting-services .item {
		flex-direction: column;
		text-align: center;
		padding: 0;
		font-size: 12px;
		line-height: 18px;
	}

	.supporting-services {
		padding: 15px;
	}

	.why-image-placeholder {
		min-height: auto;
	}

	.gap-cta {
		justify-content: center;
		text-align: center;
	}

	.gap-cta .left {
		flex-direction: column;
	}

	.problem-card h5 {
		font-size: 15px;
	}

	.problem-card p {
		font-size: 12px;
	}

	.problem-card {
		padding: 35px 12px 10px;
		min-height: 230px;
		margin-top: 30px;
	}

	.btn-outline-light-custom,
.btn-orange {
		font-size: 12px;
		letter-spacing: 0;
		padding: 10px 20px;
	}

	.hero-btn-row {
		gap: 10px;
	}

	.eyebrow {
		font-size: 12px;
		letter-spacing: 0px;
		gap: 5px;
	}

	.hero .lead-text {
		font-size: 13px;
		margin: 10px 0 15px;
	}

	.problem-card .ic-circle {
		width: 70px;
		height: 70px;
		top: -35px;
		padding: 12px;
	}

	.trust-item .t2 {
		font-size: 9px;
	}

	.trust-bar {
		gap: 15px 0;
		justify-content: center;
		padding: 20px 10px;
		align-items: flex-start;
	}

	.trust-item .t1 {
		font-size: 12px;
		line-height: 16px;
		margin-bottom: 2px;
	}

	.trust-bar .trust-item {
		width: 25%;
		flex-direction: column;
		text-align: center;
		gap: 10px;
		padding: 5px;
	}

	.process-cta .checks .ck {
		gap: 5px;
		font-size: 12px;
	}

	footer.site-footer {
		padding: 30px 0px 80px;
	}

	.footer-cta-bar {
		margin-bottom: 30px;
	}

	.footer-desc {
		font-size: 14px;
		margin-top: 10px;
		max-width: 360px;
	}

	.footer-bottom {
		margin-top: 30px;
	}

	.industry-card {
		padding: 15px;
	}

	section.hero {
		padding: 30px 0;
	}


	.mobile-cta {
		background: #fff;
		padding: 8px;
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		border-top: 2px solid var(--orange);
		text-align: center;
		z-index: 9999;
	}

	.mobile-cta a.btn-orange {
		width: 100%;
		justify-content: center;
		font-size: 16px;
		padding: 10px;
	}

	.tma-faq .accordion-icon {
		width: 24px;
		height: 24px;
	}

}

/* ---------- CTA BANNER (reused) ---------- */

.cta-banner {
	background: linear-gradient(180deg, #0A1F44 0%, #0F2B5A 53%, #0A1F44 100%);
	border-radius: 15px;
	padding: 20px 30px;
}

.cta-banner>div:first-child {
	flex: 1 1 380px;
	min-width: 0;
}

.cta-banner h4,
.cta-banner h5 {
	font-size: 1.4rem;
}

.text-light-muted {
	color: #aab4c8;
}

.cta-icon-circle {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--orange);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-size: 1.1rem;
}

/* ---------- SEO FRAMEWORK / GROUND SECTION ---------- */

/* ---------- LOCAL SEO ---------- */

.step-num {
	position: absolute;
	bottom: -10px;
	right: 0;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--orange);
	color: #fff;
	font-size: .62rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	left: 0;
	margin: 0 auto;
}

.tiny {
	font-size: .8rem;
	line-height: 20px;
}

/* ---------- TIMELINE ---------- */

/* ---------- FINAL FEATURES ---------- */

section.bg-cream {
    background: #F2F5FA;
}

@media (max-width:767px) {
	.cta-banner .d-flex {
    flex-direction: column;
    align-self: center;
    margin: 0 auto;
    gap: 10px !important;
	}

	.cta-banner {
    padding: 20px !important;
    text-align: center;
    gap: 10px !important;
    justify-content: center !important;
 }

	html {
    overflow-x: hidden;
	}

	.cta-banner .d-flex {
    justify-content: center;
	}

	.cta-banner .d-flex a.btn-orange,
.cta-banner .d-flex a.btn-outline-light-custom {
    min-width: 210px;
    text-align: center;
    justify-content: center;
	}

}

/* ============ ABOUT PAGE ============ */

.about-story-lead {
	color: var(--navy-text);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.6;
	margin-bottom: 18px;
}

.about-serve-card {
	background: #fff;
	border: 1px solid var(--gray-300);
	border-radius: 14px;
	padding: 24px;
	box-shadow: 0 12px 30px -18px rgba(14, 31, 61, .18);
}

.about-serve-card h6 {
	color: var(--navy-text);
	font-size: 16px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	text-align: center;
	margin-bottom: 18px;
}

.about-serve-card ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.about-serve-card li+li {
	margin-top: 10px;
}

.about-serve-card a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 13px 16px;
	border: 1px solid var(--gray-300);
	border-radius: 8px;
	color: var(--navy-text);
	font-weight: 600;
	font-size: 15px;
	transition: .2s ease;
}

.about-serve-card a:hover {
	border-color: var(--orange);
	background: var(--orange-tint);
}

.about-serve-card a i {
	color: var(--orange);
	font-size: 13px;
}

/* ============ CONTACT PAGE ============ */

/* ============ BLOG ============ */
.blog-cat-badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .5px;
	text-transform: uppercase;
	padding: 4px 12px;
	border-radius: 20px;
	background: var(--orange-tint);
	color: var(--orange);
}

.blog-cat-badge.cat-comparison {
	background: #e6f0fd;
	color: #0b63ce;
}

.blog-cat-badge.cat-problem {
	background: #fbe7e8;
	color: #e5484d;
}

.blog-cat-badge.cat-decision {
	background: #e6f4ea;
	color: #1e8e4a;
}

.blog-meta {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	font-size: 12.5px;
	color: var(--gray-500);
	font-weight: 500;
}

.blog-meta i {
	color: var(--orange);
	margin-right: 4px;
}

.blog-readmore {
	color: var(--orange);
	font-weight: 700;
	font-size: 13px;
	white-space: nowrap;
	display: flex;
	align-items: center;
	gap: 5px;
}

.blog-readmore i {
    margin: 0 !important;
}

/* Featured post */

/* Filter chips */

/* Post cards */
.blog-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #fff;
	border: 1px solid var(--gray-300);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 12px 30px -20px rgba(14, 31, 61, .22);
	transition: transform .2s ease, box-shadow .2s ease;
}

.blog-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 22px 44px -22px rgba(14, 31, 61, .3);
}

.blog-card-media {
	position: relative;
	height: 190px;
	overflow: hidden;
}

.blog-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .3s ease;
}

.blog-card:hover .blog-card-media img {
	transform: scale(1.05);
}

.blog-card-media .blog-cat-badge {
	position: absolute;
	top: 14px;
	left: 14px;
}

.blog-card-body {
	padding: 20px 22px 22px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex-grow: 1;
}

.blog-card-body h3 {
	font-size: 18px;
	line-height: 1.35;
	color: var(--navy-text);
}

.blog-card-body p {
	font-size: 14px;
	color: var(--gray-600);
	margin: 0;
	flex-grow: 1;
}

.blog-card-body .blog-meta {
	justify-content: space-between;
	margin-top: 4px;
}

/* Newsletter */

/* Single post page */
.post-hero {
	background: linear-gradient(180deg, #0A1F44 0%, #0F2B5A 53%, #0A1F44 100%);
	padding: 40px 0;
	text-align: center;
}

.post-breadcrumb {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
	font-size: 13px;
	color: #9aa5ba;
	margin-bottom: 18px;
}

.post-breadcrumb a {
	color: #9aa5ba;
	transition: .2s;
}

.post-breadcrumb a:hover {
	color: var(--orange);
}

.post-breadcrumb i {
	font-size: 9px;
	color: #5b6478;
}

.post-breadcrumb span {
	color: #fff;
}

.post-hero h1 {
	color: #fff;
	margin: 14px auto 18px;
}

.post-body h3 {
    font-size: 18px;
}

.post-meta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 22px;
	flex-wrap: wrap;
	font-size: 13.5px;
	color: #aab4c8;
	font-weight: 500;
}

.post-meta i {
	color: var(--orange);
	margin-right: 6px;
}

.post-figure {
	max-width: 1100px;
	margin: 0 auto 34px;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 20px 50px -24px rgba(14, 31, 61, .3);
}

.post-figure img {
	width: 100%;
	max-height: 440px;
	object-fit: cover;
}

.post-body {
	max-width: 1000px;
	margin: 0 auto;
	color: var(--gray-600);
	font-size: 17px;
	line-height: 1.75;
}

.post-body h2 {
	font-size: 24px;
	color: var(--navy-text);
	margin: 32px 0 12px;
}

.post-body p {
	margin-bottom: 10px;
}

.post-body ul {
	margin: 0 0 10px;
	padding-left: 0;
	list-style: none;
}

.post-body ul li {
	position: relative;
	padding-left: 28px;
	margin-bottom: 10px;
}

.post-body ul li::before {
	content: "\f00c";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	position: absolute;
	left: 0;
	top: 2px;
	color: var(--orange);
	font-size: 13px;
}

.post-inline-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 18px;
	background: var(--gray-50);
	border: 1px solid var(--gray-300);
	border-left: 5px solid var(--orange);
	border-radius: 12px;
	padding: 26px 28px;
	margin: 36px 0;
}

.post-inline-cta h4 {
	font-size: 20px;
	color: var(--navy-text);
	margin-bottom: 6px;
}

.post-inline-cta p {
	font-size: 14px;
	color: var(--gray-600);
	margin: 0;
	max-width: 460px;
}

.post-links {
	margin-top: 10px;
}

.post-links h5 {
	font-size: 15px;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: var(--navy-text);
	margin-bottom: 14px;
}

.post-links ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
}

.post-links a {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--navy-text);
	font-weight: 600;
	font-size: 14.5px;
	transition: .2s;
}

.post-links a:hover {
	color: var(--orange);
}

.post-links a i {
	color: var(--orange);
	font-size: 12px;
}

.service-card > p a {
    color: var(--orange);
    font-weight: bold;
}

@media (max-width:767px) {


	.post-body {
		font-size: 16px;
	}

	.post-links ul {
		grid-template-columns: 1fr;
	}
}

/* ============ MARKETING MISTAKES ============ */

/* ============ BLOG PAGINATION ============ */

.blog-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 48px;
}

.blog-pagination .page-numbers {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.blog-pagination .page-num,
.blog-pagination .page-link-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-width: 44px;
	height: 44px;
	padding: 0 14px;
	border-radius: 10px;
	border: 1px solid var(--gray-300, #dfe3ea);
	background: #fff;
	color: var(--navy-text);
	font-family: var(--font-head);
	font-weight: 700;
	font-size: 15px;
	text-decoration: none;
	transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}

.blog-pagination .page-num:hover,
.blog-pagination .page-link-btn:not(.is-disabled):hover {
	border-color: var(--orange);
	color: var(--orange);
	transform: translateY(-2px);
}

.blog-pagination .page-num.is-active {
	background: var(--orange);
	border-color: var(--orange);
	color: #fff;
	cursor: default;
}

.blog-pagination .page-link-btn.is-disabled {
	opacity: .45;
	cursor: not-allowed;
	transform: none;
}

.blog-pagination-meta {
	text-align: center;
	margin-top: 14px;
	color: var(--gray-500, #7a828f);
	font-size: 13.5px;
}

@media (max-width: 480px) {
	.blog-pagination .page-num,
	.blog-pagination .page-link-btn {
		min-width: 40px;
		height: 40px;
		font-size: 14px;
		padding: 0 11px;
	}
}

/* =========================================================
   v2 layout (homepage + service pages, <html class="v2">)
   ========================================================= */
/* =========================================================
   HOMEPAGE STYLES (loaded only by index.php)
   ---------------------------------------------------------
   Text lives in home-content.php, layout in index.php.

   - Sections built with the live-site components (problem,
     services, industries, process, FAQ, team) use classes from
     css/custom.css; the overrides for them are near the end of
     this file ("Background variants", "Consistency pass").
   - All other sections sit inside .tma-home and are styled here.
     Classes that would clash with custom.css carry a th- prefix.
   - Later blocks override earlier ones. The final say on
     spacing is the "Spacing system" block near the bottom.
   ========================================================= */
:where(.v2) .tma-home {
  --th-navy: var(--navy-text);
  --th-dark: var(--navy-850);
  --th-dark-2: var(--navy-950);
  --th-orange: var(--orange);
  --th-orange-2: #ff6a1f;
  --th-light: var(--gray-50);
  --th-ink: var(--navy-text);
  --th-muted: var(--gray-600);
  --th-line: var(--gray-300);
  font-family: var(--font-body);
  color: var(--th-ink);
  line-height: 1.65;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
}

html:where(.v2) {
  scroll-padding-top: 90px;
}

:where(.v2) .tma-home h3 {
  font-size: 1.2rem;
  font-weight: 700;
}

:where(.v2) .tma-home p {
  margin: 0 0 1rem;
}

:where(.v2) .tma-home a {
  text-decoration: none;
}

:where(.v2) .tma-home section {
  padding: 74px 0;
}

@media(max-width: 767.98px) {
  :where(.v2) .tma-home {
    font-size: 16px;
  }
  :where(.v2) .tma-home section {
    padding: 56px 0;
  }
}

:where(.v2) .tma-home .th-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--font-head);
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 1px;
  color: var(--th-orange);
  text-transform: uppercase;
  margin-bottom: 12px;
}

:where(.v2) .tma-home .th-eyebrow::before {
  content: "";
  width: 18px;
  height: 2px;
  background: var(--th-orange);
  border-radius: 2px;
  flex: none;
}

:where(.v2) .tma-home .th-lead {
  font-size: 16.5px;
  color: var(--th-muted);
  max-width: 80ch;
}

:where(.v2) .tma-home .th-head h2 + .th-lead {
  margin-top: 16px;
}

:where(.v2) .tma-home .th-head.center {
  margin: 0 auto;
  text-align: center;
}

:where(.v2) .tma-home .th-head.center .th-eyebrow {
  justify-content: center;
}

:where(.v2) .tma-home .th-head.center .th-lead {
  margin-left: auto;
  margin-right: auto;
}

/* Buttons: Bootstrap .btn themed via its own CSS variables */

/* hero */
:where(.v2) .tma-home .th-hero {
  background: url(../images/hero-bg.jpg) top right/cover no-repeat,var(--th-dark-2);
  color: #fff;
  padding: 60px 0;
}

:where(.v2) .tma-home .th-hero h1 {
  color: #fff;
}

:where(.v2) .tma-home .th-hero .th-eyebrow {
  color: var(--th-orange);
}

:where(.v2) .tma-home .th-hero .th-lead {
  color: #aab4c8;
  margin-top: 18px;
}

:where(.v2) .tma-home .usp {
  margin: 22px 0 0;
}

:where(.v2) .tma-home .usp li {
  color: #dbe3ee;
  font-size: .96rem;
}

:where(.v2) .tma-home .usp svg {
  color: var(--th-orange);
  flex: none;
}

:where(.v2) .tma-home .lead-form {
  background: #fff;
  border-radius: 14px;
  padding: 25px 25px 10px;
  box-shadow: 0 16px 40px rgba(0,0,0,.2);
}

:where(.v2) .tma-home .lead-form h2 {
  font-size: 1.8rem;
  margin-bottom: 6px;
  text-align: center;
}

:where(.v2) .tma-home .lead-form .sub {
  color: var(--th-muted);
  font-size: 14px;
  margin-bottom: 14px;
  text-align: center;
}

:where(.v2) .tma-home .lead-form iframe {
  display: block;
  width: 100%;
  border: 0;
}

@media(max-width: 575.98px) {
  :where(.v2) .tma-home .th-hero {
    padding: 40px 0;
  }
  :where(.v2) .tma-home .lead-form {
    padding: 18px 14px;
  }
}

/* stats strip */
:where(.v2) .tma-home .stats {
  background: var(--th-dark-2);
  color: #fff;
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 26px 0;
}

:where(.v2) .tma-home .stat b {
  display: block;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 1.9rem;
  color: #fff;
}

:where(.v2) .tma-home .stat b span {
  color: var(--th-orange-2);
}

:where(.v2) .tma-home .stat small {
  color: #9fb0c6;
  font-size: .82rem;
}

/* specialties marquee (moves right) */
:where(.v2) .tma-home .specialties {
  background: var(--th-light);
  padding: 20px 0;
  overflow: hidden;
}

:where(.v2) .tma-home .marquee {
  display: flex;
  gap: 12px;
  width: max-content;
  animation: thMqRight 36s linear infinite;
}

:where(.v2) .tma-home .marquee:hover {
  animation-play-state: paused;
}

@keyframes thMqRight {
  from {
    transform: translateX(-50%);
  }
  to {
    transform: translateX(0);
  }
}

:where(.v2) .tma-home .chip {
  background: #fff;
  border: 1px solid var(--th-line);
  border-radius: 100px;
  padding: 10px 18px;
  font-size: .86rem;
  font-weight: 600;
  color: var(--th-navy);
  white-space: nowrap;
}

:where(.v2) .tma-home .chip .dot {
  color: var(--th-orange);
  margin-right: 7px;
}

@media(prefers-reduced-motion: reduce) {
  :where(.v2) .tma-home .marquee {
    animation: none;
    flex-wrap: wrap;
    width: auto;
    justify-content: center;
    padding: 0 12px;
  }
  :where(.v2) .tma-home .marquee [aria-hidden="true"] {
    display: none;
  }
}

/* why us */
:where(.v2) .tma-home .why-v2 {
  background: #fff;
}

:where(.v2) .tma-home .th-why-card {
  background: #fff;
  border: 1px solid var(--th-line);
  border-radius: 14px;
  padding: 20px;
  transition: border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}

:where(.v2) .tma-home .th-why-card:hover {
  border-color: rgba(253,84,1,.5);
}

:where(.v2) .tma-home .why-ic {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: var(--orange-tint);
  color: var(--th-orange);
  display: grid;
  place-items: center;
  font-size: 1.1rem;
  margin-bottom: 14px;
}

:where(.v2) .tma-home .th-why-card h3 {
  font-size: 1.02rem;
  margin-bottom: 6px;
}

:where(.v2) .tma-home .th-why-card p {
  margin: 0;
  color: var(--th-muted);
  font-size: .9rem;
  line-height: 1.55;
}

:where(.v2) .tma-home .why-visual {
  position: relative;
  height: 100%;
}

:where(.v2) .tma-home .why-stats {
  background: #fff;
  border: 1px solid var(--th-line);
  border-top: 3px solid var(--th-orange);
  border-radius: 14px;
  padding: 18px 8px;
}

:where(.v2) .tma-home .why-stats .ws {
  text-align: center;
  padding: 2px 10px;
  border-right: 1px solid var(--th-line);
}

:where(.v2) .tma-home .why-stats .ws:last-child {
  border-right: 0;
}

:where(.v2) .tma-home .why-stats .ws b {
  display: block;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.15;
  color: var(--th-navy);
}

:where(.v2) .tma-home .why-stats .ws b span {
  color: var(--th-orange);
}

:where(.v2) .tma-home .why-stats .ws small {
  display: block;
  margin-top: 4px;
  font-size: .78rem;
  line-height: 1.3;
  color: var(--th-muted);
}

@media(max-width: 575.98px) {
  :where(.v2) .tma-home .why-stats .ws:nth-child(2) {
    border-right: 0;
  }
  :where(.v2) .tma-home .why-stats .ws:nth-child(-n+2) {
    border-bottom: 1px solid var(--th-line);
    padding-bottom: 14px;
    margin-bottom: 14px;
  }
}

:where(.v2) .tma-home .why-img {
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
  border-radius: 14px;
}

/* proof: vertical video + testimonials */
:where(.v2) .tma-home .proof {
  background: var(--th-dark);
  color: #fff;
}

:where(.v2) .tma-home .proof h2 {
  color: #fff;
}

:where(.v2) .tma-home .proof .th-lead {
  color: #aab4c8;
}

:where(.v2) .tma-home .video-vertical {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  aspect-ratio: 9/16;
  max-height: 580px;
  max-width: 330px;
  margin: 0 auto;
  background: linear-gradient(150deg,#15315f,#051138) center/cover;
  border: 1px solid rgba(255,255,255,.12);
  cursor: pointer;
  display: grid;
  place-items: end center;
}

:where(.v2) .tma-home .video-vertical::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,rgba(5,17,56,.35),rgba(5,17,56,.8));
}

:where(.v2) .tma-home .vv-inner {
  position: relative;
  z-index: 2;
  text-align: center;
  color: #fff;
  padding: 0 18px 30px;
}

:where(.v2) .tma-home .play {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background: var(--th-orange);
  display: grid;
  place-items: center;
  margin: 0 auto 14px;
  transition: transform .15s ease;
}

:where(.v2) .tma-home .video-vertical:hover .play {
  transform: scale(1.06);
}

:where(.v2) .tma-home .play svg {
  margin-left: 5px;
}

:where(.v2) .tma-home .vv-inner b {
  font-family: var(--font-head);
  font-size: 1.12rem;
  display: block;
}

:where(.v2) .tma-home .vv-inner span {
  color: #aab4c8;
  font-size: .88rem;
}

:where(.v2) .tma-home .video-vertical video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 4;
  background: #000;
}

:where(.v2) .tma-home .proof .video-vertical {
  height: auto;
}

@media(min-width: 768px) {
  :where(.v2) .tma-home .proof .video-vertical {
    aspect-ratio: auto;
    max-width: none;
    max-height: none;
    min-height: 520px;
    height: 100%;
  }
}

/* results panel (real numbers from the live case study) */
:where(.v2) .tma-home .results-panel {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  overflow: hidden;
}

:where(.v2) .tma-home .rp-head {
  padding: 14px 20px;
  border-bottom: 1px solid rgba(255,255,255,.1);
}

:where(.v2) .tma-home .rp-title {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #fff;
}

:where(.v2) .tma-home .rp-title i {
  color: var(--th-orange);
  margin-right: 6px;
}

:where(.v2) .tma-home .rp-stat {
  padding: 18px 20px;
  border-right: 1px solid rgba(255,255,255,.1);
}

:where(.v2) .tma-home .rp-stat:last-child {
  border-right: 0;
}

:where(.v2) .tma-home .rp-stat b {
  display: block;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 1.75rem;
  line-height: 1.1;
  color: #fff;
}

:where(.v2) .tma-home .rp-stat b span {
  color: var(--th-orange);
}

:where(.v2) .tma-home .rp-stat small {
  display: block;
  margin-top: 4px;
  color: #aab4c8;
  font-size: .8rem;
}

@media(max-width: 991.98px) {
  :where(.v2) .tma-home .rp-stat:nth-child(2) {
    border-right: 0;
  }
  :where(.v2) .tma-home .rp-stat:nth-child(-n+2) {
    border-bottom: 1px solid rgba(255,255,255,.1);
  }
}

/* testimonials */
:where(.v2) .tma-home .tst {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  padding: 22px;
}

:where(.v2) .tma-home .tst .stars {
  color: var(--th-orange-2);
  letter-spacing: 2px;
  margin-bottom: 10px;
}

:where(.v2) .tma-home .tst p {
  font-size: .98rem;
  color: #eaeef4;
  font-style: italic;
  margin: 0 0 8px;
}

:where(.v2) .tma-home .tst .who {
  font-size: .84rem;
  color: #9fb0c6;
  font-weight: 600;
}

/* ROI calculator */
:where(.v2) .tma-home .calc {
  background: var(--th-light);
}

:where(.v2) .tma-home .calc-card {
  margin-top: 36px;
  background: #fff;
  border: 1px solid var(--th-line);
  border-radius: 14px;
  overflow: hidden;
}

:where(.v2) .tma-home .calc-in,
:where(.v2) .tma-home .calc-out {
  padding: 34px;
}

:where(.v2) .tma-home .calc-out {
  background: linear-gradient(160deg,var(--th-dark) 0%,var(--th-dark-2) 100%);
  color: #fff;
  display: flex;
  flex-direction: column;
}

:where(.v2) .tma-home .calc-step {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .82rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 22px;
}

:where(.v2) .tma-home .calc-step span {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--th-orange);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: .8rem;
  letter-spacing: 0;
}

:where(.v2) .tma-home .calc-out .calc-step {
  color: #fff;
}

:where(.v2) .tma-home .calc-in .form-label {
  font-size: .85rem;
  font-weight: 600;
  color: var(--th-navy);
  margin-bottom: 7px;
}

:where(.v2) .tma-home .calc-in .form-label i {
  color: var(--th-orange);
  width: 16px;
  margin-right: 4px;
}

:where(.v2) .tma-home .calc-in .form-control {
  padding: 12px 14px;
  border-color: var(--th-line);
  font-size: .95rem;
  color: var(--th-ink);
}

:where(.v2) .tma-home .calc-in .input-group-text {
  background: var(--th-light);
  border-color: var(--th-line);
  color: var(--th-muted);
  font-size: .85rem;
}

:where(.v2) .tma-home .calc-in .input-group>:first-child {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}

:where(.v2) .tma-home .calc-in .input-group>:last-child {
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}

:where(.v2) .tma-home .calc-in .form-control:focus {
  border-color: var(--th-orange);
  box-shadow: 0 0 0 .2rem rgba(253,84,1,.15);
}

:where(.v2) .tma-home .pos-btn {
  flex: 1 1 0;
  min-width: 0;
  white-space: nowrap;
  text-align: center;
  padding: 10px 4px;
  border: 1px solid var(--th-line);
  border-radius: 10px;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: .9rem;
  color: var(--th-navy);
  background: #fff;
  cursor: pointer;
  transition: all .15s ease;
}

:where(.v2) .tma-home .pos-btn:hover {
  border-color: var(--th-orange);
  color: var(--th-orange);
}

:where(.v2) .tma-home .btn-check:checked+.pos-btn {
  background: var(--th-orange);
  border-color: var(--th-orange);
  color: #fff;
}

:where(.v2) .tma-home .btn-check:focus-visible+.pos-btn {
  outline: 2px solid var(--th-orange);
  outline-offset: 2px;
}

:where(.v2) .tma-home .funnel {
  display: flex;
  flex-direction: column;
}

:where(.v2) .tma-home .fn-row {
  display: flex;
  align-items: center;
  gap: 14px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px;
  padding: 12px 16px;
}

:where(.v2) .tma-home .fn-ic {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(253,84,1,.15);
  color: var(--th-orange);
  display: grid;
  place-items: center;
  flex: none;
}

:where(.v2) .tma-home .fn-lbl {
  flex: 1;
  color: #aab4c8;
  font-size: .9rem;
}

:where(.v2) .tma-home .fn-row b {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 1.6rem;
  color: #fff;
}

:where(.v2) .tma-home .fn-arrow {
  text-align: center;
  color: rgba(253,84,1,.7);
  font-size: .75rem;
  line-height: 1;
  padding: 5px 0;
}

:where(.v2) .tma-home .out-rev {
  margin-top: 16px;
  background: var(--th-orange);
  border-radius: 14px;
  padding: 18px 20px;
}

:where(.v2) .tma-home .out-rev small {
  display: block;
  color: rgba(255,255,255,.85);
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 600;
}

:where(.v2) .tma-home .out-rev b {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 2.2rem;
  color: #fff;
}

:where(.v2) .tma-home .out-rev .per {
  color: rgba(255,255,255,.85);
  font-size: .9rem;
  margin-left: 6px;
}

:where(.v2) .tma-home .out-rev .yr {
  color: #fff;
  font-size: .88rem;
  font-weight: 600;
  opacity: .9;
}

:where(.v2) .tma-home .calc-note {
  font-size: .76rem;
  color: #8fa0b6;
  margin: auto 0 0;
  padding-top: 14px;
}

@media(max-width: 575.98px) {
  :where(.v2) .tma-home .calc-in,
  :where(.v2) .tma-home .calc-out {
    padding: 22px;
  }
  :where(.v2) .tma-home .out-rev b {
    font-size: 1.8rem;
  }
  :where(.v2) .tma-home .fn-row b {
    font-size: 1.35rem;
  }
}

/* industry card titles link to their pages (live-site section, unscoped) */
:where(.v2) .industry-card h6 a {
  color: inherit;
}

:where(.v2) .industry-card h6 a:hover {
  color: var(--orange);
}

/* final CTA: light banner with a marketing-dashboard photo, so it stands apart from the navy footer */
:where(.v2) .tma-home .final {
  background: linear-gradient(90deg,#eef1f5 0%,#eef1f5 42%,rgba(238,241,245,.85) 52%,rgba(238,241,245,0) 70%),url(../images/case-studies.jpg) right center/58% auto no-repeat,#eef1f5;
  padding: 90px 0;
  border-top: 1px solid var(--th-line);
}

:where(.v2) .tma-home .final h2 {
  color: var(--th-navy);
  margin-bottom: 14px;
}

:where(.v2) .tma-home .final p {
  color: var(--th-muted);
  max-width: 52ch;
  margin-bottom: 26px;
}

:where(.v2) .tma-home .th-btn-line {
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: .5px;
  padding: 12px 26px;
  border-radius: 2px;
  border: 2px solid var(--th-navy);
  color: var(--th-navy);
  background: transparent;
  transition: .2s ease;
}

:where(.v2) .tma-home .th-btn-line:hover {
  background: var(--th-navy);
  color: #fff;
}

@media(max-width: 991.98px) {
  :where(.v2) .tma-home .final {
    background: linear-gradient(rgba(238,241,245,.92),rgba(238,241,245,.92)),url(../images/case-studies.jpg) center/cover no-repeat;
    padding: 60px 0;
    text-align: center;
  }
  :where(.v2) .tma-home .final p {
    margin-left: auto;
    margin-right: auto;
  }
  :where(.v2) .tma-home .final .th-eyebrow {
    justify-content: center;
  }
  :where(.v2) .tma-home .final .d-flex {
    justify-content: center;
    align-items: center;
  }
}

/* =========================================================
   Background variants for live-site sections, so the homepage
   (mockup order) alternates white / navy like the live site:
   problem W, services N, industries W, process N, why W,
   proof N, calculator W, FAQ N, team W, final CTA N.
   ========================================================= */
:where(.v2) .sec-navy {
  background: linear-gradient(180deg,#0A1F44 0%,#0F2B5A 53%,#0A1F44 100%) !important;
}

:where(.v2) .sec-navy .section-heading {
  color: #fff;
}

:where(.v2) .sec-navy .section-sub {
  color: #aab4c8;
}

/* services on navy */
:where(.v2) .services-section.sec-navy .service-card {
  border-color: transparent;
  border-radius: 15px;
}

:where(.v2) .services-section.sec-navy .supporting-services {
  border-color: rgba(255,255,255,.15);
}

:where(.v2) .services-section.sec-navy .supporting-services .item {
  color: #fff;
  border-color: rgba(255,255,255,.15);
}

/* process on navy */
:where(.v2) .process-section.sec-navy .process-divider-row .txt {
  color: #fff;
}

:where(.v2) .process-section.sec-navy .process-step .badge-num {
  background: var(--orange);
}

:where(.v2) .process-section.sec-navy .process-step h6 {
  color: #fff;
}

:where(.v2) .process-section.sec-navy .process-step p {
  color: #aab4c8;
}

:where(.v2) .process-section.sec-navy .process-track {
  gap: 16px;
  align-items: stretch;
}

:where(.v2) .process-section.sec-navy .process-step {
  padding: 26px 16px 22px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px;
  transition: border-color .2s ease,background .2s ease,transform .2s ease;
}

:where(.v2) .process-section.sec-navy .process-step:hover {
  border-color: rgba(253,84,1,.5);
}

@media(max-width: 991.98px) {
  :where(.v2) .process-section.sec-navy .process-track {
    gap: 14px;
  }
  :where(.v2) .process-section.sec-navy .process-step {
    width: calc(50% - 7px);
    padding: 22px 12px 18px;
  }
  :where(.v2) .process-section.sec-navy .process-step.last-step {
    width: 100%;
  }
}

/* team on white */
:where(.v2) .team-section.sec-white {
  background: #fff;
}

:where(.v2) .team-section.sec-white .section-heading {
  color: var(--navy-text);
}

:where(.v2) .team-section.sec-white .section-sub {
  color: var(--gray-600);
}

/* orange highlight in headings, as on the live site */
:where(.v2) .tma-home h1 .orange,
:where(.v2) .tma-home h2 .orange {
  color: var(--th-orange);
}

/* =========================================================
   Consistency pass: one card radius (14px) and light borders
   across every section on the homepage. These override the
   live-site components from custom.css; this file only loads
   on the homepage, so other pages are unaffected.
   ========================================================= */
:where(.v2) .problem-card {
  border-color: var(--gray-300);
  border-radius: 14px;
}

:where(.v2) .problem-card .ic-circle {
  box-shadow: 0 0 12px rgba(11,31,63,.12);
}

:where(.v2) .service-card {
  border-radius: 14px;
  border-color: var(--gray-300);
}

:where(.v2) .service-card .ic-square {
  border-radius: 10px;
}

:where(.v2) .supporting-services {
  border-radius: 14px;
}

:where(.v2) .industry-card {
  border-radius: 14px;
  border-color: var(--gray-300);
}

:where(.v2) .tma-faq .accordion-item {
  border-radius: 14px !important;
}

:where(.v2) .team-card {
  border-radius: 14px;
}

:where(.v2) .team-photo {
  border-radius: 0;
}

:where(.v2) .team-section.sec-white .team-card {
  border-color: var(--gray-300);
}

/* =========================================================
   Section CTA: one component for every section on the page.
   --dark sits on navy sections, --light on white sections.
   ========================================================= */
:where(.v2) .th-cta {
  position: relative;
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 40px;
  padding: 22px 26px;
  border-radius: 14px;
}

:where(.v2) .th-cta>* {
  position: relative;
  z-index: 1;
}

:where(.v2) .th-cta-ic {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  flex: none;
  display: grid;
  place-items: center;
  font-size: 1.15rem;
  color: var(--orange);
  background: rgba(253,84,1,.1);
}

:where(.v2) .th-cta-txt {
  flex: 1;
  min-width: 0;
}

:where(.v2) .th-cta-txt h3 {
  font-family: var(--font-head);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 3px;
}

:where(.v2) .th-cta-txt p {
  font-size: 15px;
  margin: 0;
}

:where(.v2) .th-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  flex: none;
}

:where(.v2) .th-cta--dark {
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
}

:where(.v2) .th-cta--dark h3 {
  color: #fff;
}

:where(.v2) .th-cta--dark p {
  color: #aab4c8;
}

:where(.v2) .th-cta--light {
  background: var(--gray-100);
  border: 1px solid var(--gray-300);
}

:where(.v2) .th-cta--light h3 {
  color: var(--navy-text);
}

:where(.v2) .th-cta--light p {
  color: var(--gray-600);
}

@media(max-width: 767.98px) {
  :where(.v2) .th-cta {
    flex-direction: column;
    text-align: center;
    padding: 26px 20px;
    gap: 16px;
  }
  :where(.v2) .th-cta-actions {
    justify-content: center;
  }
}

/* =========================================================
   Clean-up pass: calmer page. Flat CTAs, softer shadows,
   no glows. Homepage only.
   ========================================================= */
:where(.v2) .btn-orange {
  box-shadow: none;
}

:where(.v2) .btn-orange:hover {
  transform: none;
  background: #e64a00;
}

@media(max-width: 991.98px) {
  :where(.v2) .tma-home .final .btn-orange,
  :where(.v2) .tma-home .final .th-btn-line {
    font-size: 12px;
    letter-spacing: 0;
    padding: 10px 20px;
    min-width: 260px;
    justify-content: center;
  }
}

@media(max-width: 575.98px) {
  :where(.v2) .tma-home .lead-form h2 {
    font-size: 1.45rem;
  }
}

/* =========================================================
   Spacing system: every section uses the same vertical rhythm.
   Section padding 70/50px, header -> content 40px, content -> CTA 40px.
   ========================================================= */
:where(.v2) .tma-home section,
:where(.v2) .section-pad {
  padding: 70px 0;
}

:where(.v2) .tma-home .th-hero {
  padding: 60px 0;
}

:where(.v2) .tma-home .final {
  padding: 80px 0;
}

:where(.v2) .th-body {
  margin-top: calc(40px - var(--bs-gutter-y,0px)) !important;
}

:where(.v2) .tma-home .th-head p,
:where(.v2) .section-sub {
  margin-bottom: 0;
}

:where(.v2) .tma-home .th-head .th-lead {
  margin-top: 16px;
}

:where(.v2) .section-sub {
  margin-top: 16px;
}

:where(.v2) .th-body:not(.row),
:where(.v2) .th-body.g-0 {
  margin-top: 40px !important;
}

:where(.v2) .th-cta {
  margin-top: 40px;
}

@media(max-width: 991.98px) {
  :where(.v2) .tma-home section,
  :where(.v2) .section-pad {
    padding: 50px 0;
  }
  :where(.v2) .tma-home .final {
    padding: 56px 0;
  }
  :where(.v2) .th-body {
    margin-top: calc(30px - var(--bs-gutter-y,0px)) !important;
  }
  :where(.v2) .th-body:not(.row),
  :where(.v2) .th-body.g-0 {
    margin-top: 30px !important;
  }
  :where(.v2) .th-cta {
    margin-top: 30px;
  }
}

/* Mobile: centred section text, smaller hero list */
@media(max-width: 767.98px) {
  :where(.v2) .tma-home .th-hero .col-lg-6:first-child {
    text-align: center;
  }
  :where(.v2) .tma-home .th-hero .th-eyebrow {
    justify-content: center;
    font-size: 11px;
    letter-spacing: .6px;
  }
  :where(.v2) .tma-home .th-hero .th-eyebrow::before {
    display: none;
  }
  :where(.v2) .tma-home .th-hero .th-lead {
    font-size: 15px;
    margin-left: auto;
    margin-right: auto;
  }
  :where(.v2) .tma-home .usp {
    width: fit-content;
    margin: 18px auto 0;
    justify-items: start;
  }
  :where(.v2) .tma-home .usp li {
    font-size: .84rem;
    line-height: 1.4;
    gap: 6px !important;
    text-align: left;
  }
  :where(.v2) .tma-home .usp svg {
    width: 14px;
    height: 14px;
  }
  :where(.v2) .tma-home .th-why-card {
    text-align: center;
    padding: 18px 16px;
  }
  :where(.v2) .tma-home .why-ic {
    margin-left: auto;
    margin-right: auto;
  }
  :where(.v2) .tma-home .th-why-card h3 {
    font-size: .98rem;
  }
  :where(.v2) .tma-home .th-why-card p {
    font-size: .85rem;
  }
}

/* =========================================================
   Card titles are H3 (SEO structure: H1 > H2 per section > H3
   per card). These copy the sizes custom.css gives the old
   h5/h6 tags, so the cards look exactly the same.
   ========================================================= */
:where(.v2) .problem-card h3 {
  font-size: 18px;
  margin-bottom: 8px;
}

:where(.v2) .service-card h3 {
  font-size: 24px;
  margin-bottom: 10px;
}

:where(.v2) .service-card h3 a {
  color: var(--navy-text);
}

:where(.v2) .service-card h3 a:hover {
  color: var(--orange);
}

:where(.v2) .industry-card h3 {
  font-size: 18px;
  margin-bottom: 6px;
}

:where(.v2) .process-step h3 {
  font-size: 14px;
  letter-spacing: .4px;
  margin-bottom: 6px;
  text-transform: uppercase;
}

:where(.v2) .process-section.sec-navy .process-step h3 {
  color: #fff;
}

@media (max-width: 991px) {
  :where(.v2) .process-step h3 {
    letter-spacing: 0;
    font-size: 12px;
  }
}

@media (max-width: 767px) {
  :where(.v2) .service-card h3 {
    font-size: 20px;
    margin-bottom: 10px;
  }

  :where(.v2) .problem-card h3 {
    font-size: 15px;
  }

  /* Size cards to their content instead of the old 230px floor; the two
     cards in a row still match because each fills its stretched column
     (minus the 30px top margin that makes room for the icon). */
  :where(.v2) .problem-card {
    min-height: 0;
    height: calc(100% - 30px);
    padding-bottom: 16px;
  }

  :where(.v2) .problem-section .problem-card h3 {
    margin-top: 8px;
  }
}

/* Hero trust line under the bullet points */
:where(.v2) .tma-home .hero-note {
  margin: 15px 0;
  font-size: .85rem;
  color: #8fa0b6;
}

@media (max-width: 767.98px) {
  :where(.v2) .tma-home .hero-note {
    text-align: center;
  }
  :where(.v2) .tma-home .th-hero {
    padding: 30px 0;
}
}

/* Internal links inside body copy */
:where(.v2) .section-sub a,
:where(.v2) .industry-card p a,
:where(.v2) .tma-home .th-lead a,
:where(.v2) .tma-home .th-why-card p a {
  color: var(--orange);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

:where(.v2) .section-sub a:hover,
:where(.v2) .industry-card p a:hover,
:where(.v2) .tma-home .th-lead a:hover,
:where(.v2) .tma-home .th-why-card p a:hover {
  color: #e64a00;
}

/* Industry card titles that link to their page */
:where(.v2) .industry-card h3 a {
  color: var(--navy-text);
}

:where(.v2) .industry-card h3 a:hover {
  color: var(--orange);
}

/* =========================================================
   Blog section (between FAQ and Team)
   ========================================================= */
:where(.v2) .tma-home .th-blog {
  background: var(--gray-100);
}

:where(.v2) .tma-home .blog-tile {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--th-line);
  border-radius: 14px;
  overflow: hidden;
  color: inherit;
  transition: border-color .2s ease;
}

:where(.v2) .tma-home .blog-tile:hover {
  border-color: rgba(253, 84, 1, .5);
}

:where(.v2) .tma-home .blog-tile-media {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  background: var(--th-dark-2);
  overflow: hidden;
}

:where(.v2) .tma-home .blog-tile-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}

:where(.v2) .tma-home .blog-tile:hover .blog-tile-media img {
  transform: scale(1.04);
}

:where(.v2) .tma-home .blog-tile-cat {
  position: absolute;
  top: 14px;
  left: 14px;
  background: var(--th-orange);
  color: #fff;
  font-family: var(--font-head);
  font-size: 12px;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 100px;
}

:where(.v2) .tma-home .blog-tile-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 22px 22px 24px;
}

:where(.v2) .tma-home .blog-tile-body h3 {
  font-size: 1.1rem;
  line-height: 1.3;
  margin-bottom: 8px;
  transition: color .2s ease;
}

:where(.v2) .tma-home .blog-tile:hover h3 {
  color: var(--th-orange);
}

:where(.v2) .tma-home .blog-tile-body p {
  color: var(--th-muted);
  font-size: .92rem;
  margin-bottom: 18px;
}

:where(.v2) .tma-home .blog-tile-more {
  margin-top: auto;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: .9rem;
  color: var(--th-orange);
}

:where(.v2) .tma-home .blog-tile-more i {
  margin-left: 6px;
  font-size: .8rem;
  transition: margin-left .2s ease;
}

:where(.v2) .tma-home .blog-tile:hover .blog-tile-more i {
  margin-left: 10px;
}

:where(.v2) .tma-home .th-blog-all {
  margin-top: 40px;
}

@media (max-width: 991.98px) {
  :where(.v2) .tma-home .th-blog-all {
    margin-top: 30px;
  }
}
