/* ==========================================================================
   MyVirtualTalent — Brand design system for Beaver Builder
   Colours come from the MVT logo (royal blue + globe blue) and the
   homepage banner arches (amber + teal).
   Every Beaver Builder row in the rebuild carries the class "mvt-sec";
   columns and modules use the mvt-* classes documented in README.
   ========================================================================== */

:root {
	--mvt-blue: #0638a6;
	--mvt-blue-700: #042b82;
	--mvt-blue-50: #eef3fd;
	--mvt-blue-100: #dce6fb;
	--mvt-sky: #0069b1;
	--mvt-navy: #06173f;
	--mvt-navy-2: #0b2259;
	--mvt-amber: #f6b647;
	--mvt-amber-50: #fff6e3;
	--mvt-teal: #178d91;
	--mvt-teal-50: #e4f4f4;
	--mvt-ink: #0e1726;
	--mvt-body: #45506a;
	--mvt-muted: #6b7690;
	--mvt-line: #e2e8f2;
	--mvt-soft: #f4f7fc;
	--mvt-cream: #fbf8f1;
	--mvt-white: #ffffff;
	--mvt-radius: 18px;
	--mvt-radius-sm: 12px;
	--mvt-shadow: 0 1px 2px rgba(6, 23, 63, .06), 0 8px 24px -12px rgba(6, 23, 63, .16);
	--mvt-shadow-lg: 0 2px 4px rgba(6, 23, 63, .05), 0 24px 48px -20px rgba(6, 23, 63, .28);
	--mvt-font-head: "Outfit", "Segoe UI", system-ui, sans-serif;
	--mvt-font-body: "Manrope", "Segoe UI", system-ui, sans-serif;
	--mvt-wrap: 1200px;
	--mvt-sec-y: 96px;
}

@media (max-width: 1024px) { :root { --mvt-sec-y: 72px; } }
@media (max-width: 768px)  { :root { --mvt-sec-y: 56px; } }

/* --------------------------------------------------------------------------
   Base typography (scoped to the rebuild via body.mvt-ui)
   -------------------------------------------------------------------------- */
body.mvt-ui {
	font-family: var(--mvt-font-body);
	color: var(--mvt-body);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
:where(body.mvt-ui) :where(h1, h2, h3, h4, h5, h6) {
	font-family: var(--mvt-font-head);
	color: var(--mvt-ink);
	letter-spacing: -0.015em;
	line-height: 1.15;
	font-weight: 700;
	margin: 0 0 .5em;
	text-transform: none;
}
.mvt-sec h1, .mvt-sec .fl-module-heading h1 { font-size: clamp(2.3rem, 4.6vw, 3.75rem); font-weight: 800; letter-spacing: -0.03em; line-height: 1.06; }
.mvt-sec h2, .mvt-sec .fl-module-heading h2 { font-size: clamp(1.8rem, 3.2vw, 2.6rem); letter-spacing: -0.025em; }
.mvt-sec h3, .mvt-sec .fl-module-heading h3 { font-size: clamp(1.15rem, 1.6vw, 1.3rem); letter-spacing: -0.01em; line-height: 1.3; }
.mvt-sec h4 { font-size: 1.05rem; }
.mvt-sec p { margin: 0 0 1em; }
.mvt-sec p:last-child { margin-bottom: 0; }
.mvt-sec a { color: var(--mvt-blue); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.mvt-sec a:hover { color: var(--mvt-blue-700); }
.mvt-sec .fl-rich-text a:not(.mvt-btn) { text-decoration: underline; text-decoration-color: rgba(6, 56, 166, .35); }
.mvt-sec .fl-rich-text a:not(.mvt-btn):hover { text-decoration-color: currentColor; }
.mvt-sec ul, .mvt-sec ol { margin: 0 0 1em; padding-left: 1.2em; }
.mvt-sec strong { color: var(--mvt-ink); font-weight: 700; }

/* --------------------------------------------------------------------------
   Rows / sections
   -------------------------------------------------------------------------- */
.fl-row.mvt-sec > .fl-row-content-wrap {
	padding: var(--mvt-sec-y) 24px;
	background-color: var(--mvt-white);
	position: relative;
	overflow: hidden;
}
.fl-row.mvt-sec > .fl-row-content-wrap > .fl-row-content.fl-row-fixed-width,
.fl-row.mvt-sec .fl-row-fixed-width { max-width: var(--mvt-wrap); }
.fl-row.mvt-sec.mvt-tight > .fl-row-content-wrap { padding-top: 48px; padding-bottom: 48px; }
.fl-row.mvt-sec.mvt-flush-top > .fl-row-content-wrap { padding-top: 0; }
.fl-row.mvt-sec.mvt-flush-bottom > .fl-row-content-wrap { padding-bottom: 0; }

.fl-row.mvt-soft  > .fl-row-content-wrap { background-color: var(--mvt-soft); }
.fl-row.mvt-cream > .fl-row-content-wrap { background-color: var(--mvt-cream); }
.fl-row.mvt-navy  > .fl-row-content-wrap { background-color: var(--mvt-navy); color: #c9d3ea; }
.fl-row.mvt-blue  > .fl-row-content-wrap { background-color: var(--mvt-blue); color: #dfe7fb; }
.fl-row.mvt-navy h1, .fl-row.mvt-navy h2, .fl-row.mvt-navy h3, .fl-row.mvt-navy h4,
.fl-row.mvt-blue h1, .fl-row.mvt-blue h2, .fl-row.mvt-blue h3, .fl-row.mvt-blue h4,
.fl-row.mvt-navy strong, .fl-row.mvt-blue strong { color: #fff; }
.fl-row.mvt-navy a:not(.mvt-btn), .fl-row.mvt-blue a:not(.mvt-btn) { color: #fff; }

/* Subtle dot field, echoing the globe in the logo */
.fl-row.mvt-dots > .fl-row-content-wrap::before {
	content: "";
	position: absolute;
	inset: 0 0 auto auto;
	width: 46%;
	height: 100%;
	background-image: radial-gradient(rgba(6, 56, 166, .14) 1.2px, transparent 1.3px);
	background-size: 22px 22px;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 35%);
	mask-image: linear-gradient(90deg, transparent, #000 35%);
	pointer-events: none;
}
.fl-row.mvt-navy.mvt-dots > .fl-row-content-wrap::before {
	background-image: radial-gradient(rgba(255, 255, 255, .10) 1.2px, transparent 1.3px);
}
.fl-row.mvt-sec > .fl-row-content-wrap > .fl-row-content { position: relative; z-index: 1; }

/* Spacing reset inside the rebuild — BB's default 20px module margin is too loose for cards */
.mvt-sec .fl-module-content { margin: 0 0 18px; }
.mvt-sec .fl-module:last-child > .fl-module-content,
.mvt-sec .fl-col-content > .fl-module:last-child .fl-module-content { margin-bottom: 0; }
.mvt-sec .fl-col-content { padding-left: 14px; padding-right: 14px; }
.mvt-sec .fl-col-group + .fl-col-group { margin-top: 28px; }
.mvt-sec .fl-col-group.mvt-gap-sm + .fl-col-group { margin-top: 14px; }

@media (max-width: 768px) {
	/* Stack every column full-width on phones (robust across BB 2.7 – 2.11) */
	.fl-row.mvt-sec:not(.mvt-header) .fl-col-group { display: block; }
	.fl-row.mvt-sec:not(.mvt-header) .fl-col { width: 100% !important; max-width: none !important; float: none; }
	.fl-row.mvt-header .fl-col-group { display: flex !important; flex-wrap: nowrap; align-items: center; }
	.mvt-sec .fl-col-small:not(.fl-col-small-full-width) { max-width: none; }
	.mvt-sec .fl-col + .fl-col { margin-top: 18px; }
	.mvt-sec .fl-col-group + .fl-col-group { margin-top: 18px; }
	.fl-row.mvt-sec > .fl-row-content-wrap { padding-left: 16px; padding-right: 16px; }
	.mvt-sec .fl-col-content { padding-left: 0; padding-right: 0; }
}

/* --------------------------------------------------------------------------
   Section heading pattern: eyebrow + H2 + lead
   -------------------------------------------------------------------------- */
.mvt-eyebrow, .mvt-sec .mvt-eyebrow p {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--mvt-font-head);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--mvt-blue);
	margin: 0;
}
.mvt-sec .mvt-eyebrow p::before {
	content: "";
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--mvt-blue);
	box-shadow: 0 0 0 4px var(--mvt-blue-100);
	flex: none;
}
.mvt-navy .mvt-eyebrow p, .mvt-blue .mvt-eyebrow p { color: var(--mvt-amber); }
.mvt-navy .mvt-eyebrow p::before, .mvt-blue .mvt-eyebrow p::before { background: var(--mvt-amber); box-shadow: 0 0 0 4px rgba(246, 182, 71, .22); }
.mvt-sec .fl-module.mvt-eyebrow .fl-module-content { margin-bottom: 12px; }

.mvt-sec .mvt-lead p, .mvt-sec .mvt-lead { font-size: 1.15rem; line-height: 1.65; color: var(--mvt-body); }
.mvt-navy .mvt-lead p, .mvt-blue .mvt-lead p { color: #c9d3ea; }
.mvt-center, .mvt-center .fl-heading, .mvt-center p { text-align: center; }
.mvt-sec .fl-col.mvt-center > .fl-col-content { align-items: center; }
.mvt-sec .mvt-center .mvt-lead p { max-width: 720px; margin-left: auto; margin-right: auto; }
.mvt-sec .mvt-head { margin-bottom: 44px; }
.mvt-sec .mvt-head .fl-module-heading .fl-module-content { margin-bottom: 14px; }

/* Highlighter mark — amber, from the banner arches */
.mvt-mark {
	background: linear-gradient(transparent 66%, rgba(246, 182, 71, .6) 66%, rgba(246, 182, 71, .6) 90%, transparent 90%);
	padding: 0 .08em;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
.mvt-blue-text { color: var(--mvt-blue); }

/* --------------------------------------------------------------------------
   Buttons (links with class mvt-btn inside Text Editor modules,
   plus native Button modules given a mvt-btn-* class)
   -------------------------------------------------------------------------- */
.mvt-cta-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 0; }
.mvt-center .mvt-cta-row { justify-content: center; }

.mvt-btn,
.fl-builder-content .mvt-btn-primary a.fl-button,
.fl-builder-content .mvt-btn-ghost a.fl-button,
.fl-builder-content .mvt-btn-amber a.fl-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 14px 26px;
	border-radius: 999px;
	font-family: var(--mvt-font-head);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: .005em;
	text-decoration: none !important;
	border: 2px solid transparent;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
	cursor: pointer;
	white-space: nowrap;
}
.mvt-btn::after {
	content: "";
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.2 5.3 19.9 12l-6.7 6.7-1.4-1.4 4.3-4.3H4v-2h12.1l-4.3-4.3z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.2 5.3 19.9 12l-6.7 6.7-1.4-1.4 4.3-4.3H4v-2h12.1l-4.3-4.3z'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform .2s ease;
}
.mvt-btn:hover::after { transform: translateX(3px); }
.mvt-btn.mvt-btn--noarrow::after { display: none; }
.mvt-btn--phone::after {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E");
}
.mvt-btn--phone:hover::after { transform: none; }

/* Primary — royal blue from the logo */
.mvt-sec a.mvt-btn--primary, .mvt-sec a.mvt-btn--primary:visited,
.fl-builder-content .mvt-btn-primary a.fl-button, .fl-builder-content .mvt-btn-primary a.fl-button:visited {
	background: var(--mvt-blue);
	color: #fff !important;
	border-color: var(--mvt-blue);
	box-shadow: 0 10px 22px -12px rgba(6, 56, 166, .75);
}
.mvt-sec a.mvt-btn--primary:hover,
.fl-builder-content .mvt-btn-primary a.fl-button:hover {
	background: var(--mvt-blue-700);
	border-color: var(--mvt-blue-700);
	transform: translateY(-1px);
}
/* Ghost — white with blue outline */
.mvt-sec a.mvt-btn--ghost, .mvt-sec a.mvt-btn--ghost:visited,
.fl-builder-content .mvt-btn-ghost a.fl-button {
	background: #fff;
	color: var(--mvt-blue) !important;
	border-color: var(--mvt-blue-100);
}
.mvt-sec a.mvt-btn--ghost:hover,
.fl-builder-content .mvt-btn-ghost a.fl-button:hover {
	border-color: var(--mvt-blue);
	background: var(--mvt-blue-50);
}
/* Amber — used on navy / blue bands only */
.mvt-sec a.mvt-btn--amber, .mvt-sec a.mvt-btn--amber:visited,
.fl-builder-content .mvt-btn-amber a.fl-button {
	background: var(--mvt-amber);
	color: var(--mvt-navy) !important;
	border-color: var(--mvt-amber);
}
.mvt-sec a.mvt-btn--amber:hover,
.fl-builder-content .mvt-btn-amber a.fl-button:hover {
	background: #ffc761;
	border-color: #ffc761;
	transform: translateY(-1px);
}
/* Outline-on-dark */
.mvt-sec a.mvt-btn--light, .mvt-sec a.mvt-btn--light:visited {
	background: transparent;
	color: #fff !important;
	border-color: rgba(255, 255, 255, .35);
}
.mvt-sec a.mvt-btn--light:hover { border-color: #fff; background: rgba(255, 255, 255, .08); }
.fl-builder-content .mvt-btn-primary a.fl-button *,
.fl-builder-content .mvt-btn-ghost a.fl-button *,
.fl-builder-content .mvt-btn-amber a.fl-button * { color: inherit !important; }

/* Text link with arrow ("View service") */
.mvt-sec a.mvt-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--mvt-font-head);
	font-weight: 600;
	font-size: 15px;
	color: var(--mvt-blue);
	text-decoration: none !important;
}
.mvt-sec a.mvt-link::after { content: "→"; transition: transform .2s ease; }
.mvt-sec a.mvt-link:hover::after { transform: translateX(3px); }

/* --------------------------------------------------------------------------
   Hero (homepage) and page header (inner pages)
   -------------------------------------------------------------------------- */
.fl-row.mvt-hero > .fl-row-content-wrap {
	background:
		radial-gradient(900px 480px at 85% 30%, rgba(6, 105, 177, .10), transparent 70%),
		linear-gradient(180deg, #f6f9ff 0%, #ffffff 100%);
	padding-top: 72px;
	padding-bottom: 0;
}
.mvt-hero h1 { margin-bottom: 20px; }
.mvt-hero .mvt-lead p { font-size: 1.18rem; max-width: 560px; }
.mvt-hero .fl-col.mvt-hero-copy > .fl-col-content { padding-bottom: 72px; }
.mvt-sec .mvt-hero-img img, .mvt-sec .mvt-hero-img .fl-photo-img { width: 100%; max-width: 640px; height: auto; display: block; margin-left: auto; }
.mvt-hero .fl-col.mvt-hero-media > .fl-col-content { justify-content: flex-end; }

.mvt-price-pill p {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 7px 16px 7px 8px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--mvt-line);
	box-shadow: var(--mvt-shadow);
	font-size: 14.5px;
	color: var(--mvt-ink);
	font-weight: 600;
	margin: 0;
}
.mvt-price-pill p .mvt-pill-tag {
	background: var(--mvt-amber);
	color: var(--mvt-navy);
	border-radius: 999px;
	padding: 4px 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.mvt-price-pill a { text-decoration: none !important; color: inherit !important; }

/* Trust strip under the hero CTA */
.mvt-trust ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 26px;
}
.mvt-trust li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 15px;
	font-weight: 600;
	color: var(--mvt-ink);
}
.mvt-trust li::before {
	content: "";
	width: 20px;
	height: 20px;
	border-radius: 50%;
	flex: none;
	background: var(--mvt-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9.5 16.2 5.3 12l-1.4 1.4 5.6 5.6L20.1 8.4 18.7 7z'/%3E%3C/svg%3E") center / 14px no-repeat;
}

/* Inner page header */
.fl-row.mvt-pagehead > .fl-row-content-wrap {
	background:
		radial-gradient(700px 380px at 90% 20%, rgba(6, 105, 177, .10), transparent 70%),
		linear-gradient(180deg, #f4f7fd 0%, #ffffff 100%);
	padding-top: 56px;
	padding-bottom: 72px;
	border-bottom: 1px solid var(--mvt-line);
}
.mvt-pagehead h1 { font-size: clamp(2.1rem, 4vw, 3.25rem); }
.mvt-crumbs, .mvt-crumbs p, .mvt-crumbs .rank-math-breadcrumb p { font-size: 14px; color: var(--mvt-muted); margin: 0; }
.mvt-crumbs a { color: var(--mvt-muted) !important; text-decoration: none !important; }
.mvt-crumbs a:hover { color: var(--mvt-blue) !important; }
.mvt-crumbs .separator { margin: 0 6px; opacity: .6; }

/* Small floating fact card on top of the page-header photo */
.mvt-sec .mvt-badge p {
	display: inline-flex;
	flex-direction: column;
	gap: 2px;
	background: #fff;
	border-radius: 14px;
	padding: 14px 18px;
	box-shadow: var(--mvt-shadow-lg);
	border: 1px solid var(--mvt-line);
	font-size: 13.5px;
	line-height: 1.35;
	color: var(--mvt-muted);
	margin: 0;
}
.mvt-sec .mvt-badge p strong { font-family: var(--mvt-font-head); font-size: 22px; color: var(--mvt-blue); letter-spacing: -0.02em; }
.mvt-sec .fl-module.mvt-badge { margin-top: -64px; position: relative; z-index: 2; padding-left: 18px; }

/* --------------------------------------------------------------------------
   Photos — arch masks echo the banner shapes
   -------------------------------------------------------------------------- */
.mvt-sec .mvt-arch img {
	border-radius: 320px 320px 24px 24px;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	width: 100%;
	height: auto;
	display: block;
}
.mvt-sec .mvt-arch .fl-photo-content { position: relative; display: block; }
.mvt-sec .mvt-arch.mvt-arch--amber .fl-photo-content::before,
.mvt-sec .mvt-arch.mvt-arch--teal .fl-photo-content::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 22px -22px -22px 22px;
	border-radius: 320px 320px 24px 24px;
	background: var(--mvt-amber);
}
.mvt-sec .mvt-arch.mvt-arch--teal .fl-photo-content::before { background: var(--mvt-teal); }
.mvt-sec .mvt-arch .fl-photo { padding: 0 22px 22px 0; }
.mvt-sec .mvt-rounded img { border-radius: var(--mvt-radius); width: 100%; height: auto; display: block; object-fit: cover; }
.mvt-sec .mvt-rounded.mvt-wide img { aspect-ratio: 16 / 10; }
.mvt-sec .mvt-photo-tall img { aspect-ratio: 1 / 1; }
@media (max-width: 768px) {
	.mvt-sec .mvt-arch img { aspect-ratio: 1 / 1; border-radius: 240px 240px 20px 20px; max-height: 440px; }
	.mvt-sec .mvt-arch .fl-photo { padding: 0 14px 14px 0; }
	.mvt-sec .mvt-arch.mvt-arch--amber .fl-photo-content::before,
	.mvt-sec .mvt-arch.mvt-arch--teal .fl-photo-content::before { inset: 14px -14px -14px 14px; border-radius: 240px 240px 20px 20px; }
	.mvt-sec .fl-module.mvt-badge { margin-top: -48px; }
}

/* --------------------------------------------------------------------------
   Cards (put class on the COLUMN)
   -------------------------------------------------------------------------- */
.mvt-sec .fl-col.mvt-card > .fl-col-content {
	background: #fff;
	border: 1px solid var(--mvt-line);
	border-radius: var(--mvt-radius);
	padding: 28px 26px;
	transition: border-color .2s ease, box-shadow .25s ease, transform .25s ease;
	margin-left: 10px;
	margin-right: 10px;
}
.mvt-sec .fl-col.mvt-card:hover > .fl-col-content {
	border-color: var(--mvt-blue-100);
	box-shadow: var(--mvt-shadow);
}
.mvt-sec .fl-col.mvt-card.mvt-card--link:hover > .fl-col-content { transform: translateY(-3px); }
.mvt-soft .fl-col.mvt-card > .fl-col-content,
.mvt-cream .fl-col.mvt-card > .fl-col-content { border-color: transparent; box-shadow: var(--mvt-shadow); }
.mvt-navy .fl-col.mvt-card > .fl-col-content {
	background: rgba(255, 255, 255, .04);
	border-color: rgba(255, 255, 255, .10);
}
.mvt-navy .fl-col.mvt-card:hover > .fl-col-content { border-color: rgba(246, 182, 71, .5); box-shadow: none; }
.mvt-sec .mvt-card h3 { margin-bottom: 8px; }
.mvt-sec .mvt-card .fl-module-heading .fl-module-content { margin-bottom: 8px; }
.mvt-sec .mvt-card p { font-size: 15.5px; line-height: 1.6; }
.mvt-sec .mvt-card .mvt-card-foot { margin-top: auto; }
.mvt-sec .mvt-card .fl-module.mvt-card-foot { margin-top: auto; padding-top: 6px; }
@media (max-width: 768px) {
	.mvt-sec .fl-col.mvt-card > .fl-col-content { margin-left: 0; margin-right: 0; padding: 24px 22px; }
}

/* Compact card — single line items (tools, responsibilities, industries) */
.mvt-sec .fl-col.mvt-chip > .fl-col-content {
	flex-direction: row !important;
	align-items: center;
	gap: 14px;
	padding: 18px 20px;
	background: #fff;
	border: 1px solid var(--mvt-line);
	border-radius: 14px;
	margin: 0 7px;
}
.mvt-sec .mvt-chip .fl-module { flex: none; }
.mvt-sec .mvt-chip .fl-module.fl-module-heading,
.mvt-sec .mvt-chip .fl-module.fl-module-rich-text { flex: 1 1 auto; }
.mvt-sec .mvt-chip .fl-module-content { margin: 0 !important; }
.mvt-sec .mvt-chip h3 { font-size: 16px; margin: 0; line-height: 1.35; }
.mvt-soft .fl-col.mvt-chip > .fl-col-content { border-color: transparent; box-shadow: 0 1px 2px rgba(6, 23, 63, .05); }
@media (max-width: 768px) {
	.mvt-sec .fl-col.mvt-chip > .fl-col-content { margin: 0; }
	.mvt-sec .mvt-chip + .mvt-chip { margin-top: 10px !important; }
}

/* Icon chip (BB Icon module with class mvt-ico) */
.mvt-sec .mvt-ico .fl-icon-wrap { display: inline-flex; }
.mvt-sec .mvt-ico .fl-icon {
	display: inline-grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: var(--mvt-blue-50);
	flex: none;
}
.mvt-sec .mvt-ico .fl-icon i,
.mvt-sec .mvt-ico .fl-icon i::before {
	color: var(--mvt-blue) !important;
	font-size: 22px !important;
	width: auto !important;
	height: auto !important;
	line-height: 1 !important;
}
.mvt-sec .mvt-ico.mvt-ico--amber .fl-icon { background: var(--mvt-amber-50); }
.mvt-sec .mvt-ico.mvt-ico--amber .fl-icon i, .mvt-sec .mvt-ico.mvt-ico--amber .fl-icon i::before { color: #b77805 !important; }
.mvt-sec .mvt-ico.mvt-ico--teal .fl-icon { background: var(--mvt-teal-50); }
.mvt-sec .mvt-ico.mvt-ico--teal .fl-icon i, .mvt-sec .mvt-ico.mvt-ico--teal .fl-icon i::before { color: var(--mvt-teal) !important; }
.mvt-sec .mvt-ico.mvt-ico--sm .fl-icon { width: 40px; height: 40px; border-radius: 11px; }
.mvt-sec .mvt-ico.mvt-ico--sm .fl-icon i, .mvt-sec .mvt-ico.mvt-ico--sm .fl-icon i::before { font-size: 17px !important; }
.fl-row.mvt-navy .mvt-ico .fl-icon { background: rgba(246, 182, 71, .14); }
.fl-row.mvt-navy .mvt-ico .fl-icon i, .fl-row.mvt-navy .mvt-ico .fl-icon i::before { color: var(--mvt-amber) !important; }
.fl-row.mvt-navy .mvt-ico.mvt-ico--teal .fl-icon { background: rgba(23, 141, 145, .22); }
.fl-row.mvt-navy .mvt-ico.mvt-ico--teal .fl-icon i, .fl-row.mvt-navy .mvt-ico.mvt-ico--teal .fl-icon i::before { color: #5fd0d3 !important; }
.fl-row.mvt-navy .mvt-ico.mvt-ico--amber .fl-icon { background: rgba(255, 255, 255, .08); }
.fl-row.mvt-navy .mvt-ico.mvt-ico--amber .fl-icon i, .fl-row.mvt-navy .mvt-ico.mvt-ico--amber .fl-icon i::before { color: #fff !important; }
.mvt-sec .mvt-card .fl-module.mvt-ico .fl-module-content { margin-bottom: 18px; }

/* --------------------------------------------------------------------------
   Stats band
   -------------------------------------------------------------------------- */
.mvt-sec .fl-col.mvt-stat > .fl-col-content { padding: 6px 18px; border-left: 1px solid var(--mvt-line); }
.mvt-sec .fl-col.mvt-stat:first-child > .fl-col-content { border-left: 0; }
.mvt-navy .fl-col.mvt-stat > .fl-col-content, .mvt-blue .fl-col.mvt-stat > .fl-col-content { border-color: rgba(255, 255, 255, .14); }
.mvt-stat .mvt-stat-num p {
	font-family: var(--mvt-font-head);
	font-size: clamp(2rem, 3.4vw, 2.8rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1;
	color: var(--mvt-blue);
	margin: 0;
}
.mvt-navy .mvt-stat .mvt-stat-num p, .mvt-blue .mvt-stat .mvt-stat-num p { color: #fff; }
.mvt-stat .mvt-stat-num p span { color: var(--mvt-amber); }
.mvt-stat .mvt-stat-label p { font-size: 14.5px; color: var(--mvt-muted); margin: 0; }
.mvt-navy .mvt-stat .mvt-stat-label p { color: #9fb0d6; }
.mvt-sec .mvt-stat .fl-module-content { margin-bottom: 8px; }
@media (max-width: 768px) {
	.mvt-sec .fl-col.mvt-stat > .fl-col-content { border-left: 0; padding: 0; }
	.fl-row.mvt-stats .fl-col-group { display: grid !important; grid-template-columns: 1fr 1fr; gap: 22px; }
	.fl-row.mvt-stats .fl-col + .fl-col { margin-top: 0; }
}

/* Logo strip (client logos) */
.mvt-logos .fl-col-group { align-items: center; }
.mvt-sec .mvt-logo img { max-height: 56px; width: auto; margin: 0 auto; filter: grayscale(1); opacity: .65; transition: filter .2s, opacity .2s; }
.mvt-sec .mvt-logo img:hover { filter: none; opacity: 1; }
.mvt-logos-label p { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: var(--mvt-muted); text-align: center; margin: 0; }
@media (max-width: 768px) {
	.fl-row.mvt-logos .fl-col-group { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 18px; align-items: center; }
	.fl-row.mvt-logos .fl-col + .fl-col { margin-top: 0; }
	.fl-row.mvt-logos .fl-col.mvt-logos-head { grid-column: 1 / -1; }
}

/* --------------------------------------------------------------------------
   Process steps (columns with class mvt-step)
   -------------------------------------------------------------------------- */
.mvt-steps .fl-col-group { counter-reset: none; }
.mvt-sec .fl-col.mvt-step > .fl-col-content {
	position: relative;
	padding: 0 14px;
}
.mvt-sec .mvt-step .mvt-step-num p {
	display: inline-grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid var(--mvt-blue);
	font-family: var(--mvt-font-head);
	font-weight: 700;
	font-size: 20px;
	color: var(--mvt-blue);
	margin: 0;
	position: relative;
	z-index: 1;
}
.mvt-sec .fl-col.mvt-step > .fl-col-content::before {
	content: "";
	position: absolute;
	top: 28px;
	left: 70px;
	right: -14px;
	border-top: 2px dashed var(--mvt-blue-100);
}
.mvt-sec .fl-col.mvt-step:last-child > .fl-col-content::before { display: none; }
.mvt-sec .mvt-step h3 { font-size: 1.08rem; margin-top: 4px; }
.mvt-sec .mvt-step p { font-size: 15px; }
.mvt-navy .mvt-step .mvt-step-num p { background: var(--mvt-navy); border-color: var(--mvt-amber); color: var(--mvt-amber); }
.mvt-navy .fl-col.mvt-step > .fl-col-content::before { border-top-color: rgba(255, 255, 255, .18); }
@media (max-width: 768px) {
	.mvt-sec .fl-col.mvt-step > .fl-col-content { padding: 0 0 0 76px; min-height: 64px; }
	.mvt-sec .mvt-step .fl-module.mvt-step-num { position: absolute; left: 0; top: 0; }
	.mvt-sec .fl-col.mvt-step > .fl-col-content::before { top: 60px; bottom: -22px; left: 28px; right: auto; border-top: 0; border-left: 2px dashed var(--mvt-blue-100); }
	.mvt-navy .fl-col.mvt-step > .fl-col-content::before { border-left-color: rgba(255, 255, 255, .18); }
}

/* --------------------------------------------------------------------------
   Check lists
   -------------------------------------------------------------------------- */
.mvt-sec .mvt-checks ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.mvt-sec .mvt-checks.mvt-checks--2 ul { grid-template-columns: 1fr 1fr; gap: 12px 28px; }
.mvt-sec .mvt-checks li { position: relative; padding-left: 34px; line-height: 1.5; }
.mvt-sec .mvt-checks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--mvt-blue-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230638a6'%3E%3Cpath d='M9.5 16.2 5.3 12l-1.4 1.4 5.6 5.6L20.1 8.4 18.7 7z'/%3E%3C/svg%3E") center / 14px no-repeat;
}
.mvt-navy .mvt-checks li::before { background-color: rgba(246, 182, 71, .16); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23f6b647'%3E%3Cpath d='M9.5 16.2 5.3 12l-1.4 1.4 5.6 5.6L20.1 8.4 18.7 7z'/%3E%3C/svg%3E"); }
@media (max-width: 768px) { .mvt-sec .mvt-checks.mvt-checks--2 ul { grid-template-columns: 1fr; } }

/* Tag list (tools / platforms) */
.mvt-sec .mvt-tags ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.mvt-sec .mvt-tags li {
	padding: 9px 16px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--mvt-line);
	font-size: 14.5px;
	font-weight: 600;
	color: var(--mvt-ink);
}
.mvt-soft .mvt-tags li { border-color: transparent; box-shadow: 0 1px 2px rgba(6, 23, 63, .06); }
.mvt-center .mvt-tags ul { justify-content: center; }

/* Value strip (At-a-glance) */
.fl-row.mvt-strip > .fl-row-content-wrap { padding-top: 26px; padding-bottom: 26px; background: var(--mvt-navy); }
.mvt-sec .mvt-strip-list ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 34px; }
.mvt-sec .mvt-strip-list li { display: flex; align-items: center; gap: 10px; color: #dbe3f6; font-size: 15px; font-weight: 600; }
.mvt-sec .mvt-strip-list li::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--mvt-amber); flex: none; }
@media (max-width: 768px) { .mvt-sec .mvt-strip-list ul { flex-direction: column; align-items: flex-start; gap: 10px; } }

/* --------------------------------------------------------------------------
   Testimonials (columns with class mvt-quote)
   -------------------------------------------------------------------------- */
.mvt-sec .fl-col.mvt-quote > .fl-col-content {
	background: #fff;
	border-radius: var(--mvt-radius);
	padding: 30px 28px 26px;
	box-shadow: var(--mvt-shadow);
	margin: 0 10px;
	position: relative;
}
.mvt-sec .fl-col.mvt-quote > .fl-col-content::before {
	content: "\201C";
	position: absolute;
	top: 6px;
	right: 22px;
	font-family: Georgia, serif;
	font-size: 92px;
	line-height: 1;
	color: var(--mvt-blue-100);
}
.mvt-sec .mvt-quote .mvt-stars p { color: var(--mvt-amber); letter-spacing: 3px; font-size: 17px; margin: 0; }
.mvt-sec .mvt-quote .mvt-quote-text p { font-size: 15.5px; color: var(--mvt-ink); line-height: 1.65; }
.mvt-sec .mvt-quote .mvt-person { margin-top: auto; }
.mvt-sec .mvt-person p { display: flex; align-items: center; gap: 12px; margin: 0; font-size: 14px; color: var(--mvt-muted); line-height: 1.35; }
.mvt-sec .mvt-person img { width: 48px !important; height: 48px !important; border-radius: 50%; object-fit: cover; flex: none; margin: 0 !important; }
.mvt-sec .mvt-person strong { display: block; font-family: var(--mvt-font-head); font-size: 16px; color: var(--mvt-ink); }
@media (max-width: 768px) { .mvt-sec .fl-col.mvt-quote > .fl-col-content { margin: 0; } }

/* --------------------------------------------------------------------------
   Pricing card / feature panel
   -------------------------------------------------------------------------- */
.mvt-sec .fl-col.mvt-panel > .fl-col-content {
	background: #fff;
	border-radius: 22px;
	padding: 36px 34px;
	box-shadow: var(--mvt-shadow-lg);
	border: 1px solid var(--mvt-line);
}
.mvt-sec .fl-col.mvt-panel.mvt-panel--blue > .fl-col-content {
	background: linear-gradient(160deg, var(--mvt-blue) 0%, #0a2f86 100%);
	border-color: transparent;
	color: #dfe7fb;
}
.mvt-panel--blue h2, .mvt-panel--blue h3, .mvt-panel--blue strong { color: #fff !important; }
.mvt-sec .mvt-price p { font-family: var(--mvt-font-head); font-size: clamp(2.4rem, 4vw, 3.2rem); font-weight: 800; letter-spacing: -0.03em; line-height: 1; color: var(--mvt-ink); margin: 0; }
.mvt-sec .mvt-price p small { font-size: 1rem; font-weight: 600; color: var(--mvt-muted); letter-spacing: 0; }
.mvt-panel--blue .mvt-price p { color: #fff; }
.mvt-panel--blue .mvt-price p small { color: #b9c8ee; }
.mvt-sec .mvt-note p { font-size: 13.5px; color: var(--mvt-muted); }
.mvt-panel--blue .mvt-note p { color: #b9c8ee; }
.mvt-panel--blue .mvt-checks li::before { background-color: rgba(255, 255, 255, .14); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23f6b647'%3E%3Cpath d='M9.5 16.2 5.3 12l-1.4 1.4 5.6 5.6L20.1 8.4 18.7 7z'/%3E%3C/svg%3E"); }
@media (max-width: 768px) { .mvt-sec .fl-col.mvt-panel > .fl-col-content { padding: 28px 22px; } }

/* Office / contact card */
.mvt-sec .mvt-office p { font-size: 15px; line-height: 1.6; }
.mvt-sec .mvt-office a { text-decoration: none !important; }
.mvt-sec .mvt-flag p { font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--mvt-teal); margin: 0; }

/* --------------------------------------------------------------------------
   CTA band
   -------------------------------------------------------------------------- */
.fl-row.mvt-ctaband > .fl-row-content-wrap {
	background: var(--mvt-navy);
	padding-top: 80px;
	padding-bottom: 80px;
}
.fl-row.mvt-ctaband > .fl-row-content-wrap::after {
	content: "";
	position: absolute;
	right: -90px;
	bottom: -160px;
	width: 380px;
	height: 460px;
	border-radius: 240px 240px 0 0;
	background: var(--mvt-amber);
	opacity: .95;
	pointer-events: none;
}
.fl-row.mvt-ctaband > .fl-row-content-wrap::before {
	content: "";
	position: absolute;
	right: 170px;
	bottom: -220px;
	width: 300px;
	height: 420px;
	border-radius: 200px 200px 0 0;
	background: var(--mvt-teal);
	opacity: .9;
	pointer-events: none;
}
.mvt-ctaband h2 { color: #fff; max-width: 720px; }
.mvt-ctaband .mvt-lead p { color: #c9d3ea; max-width: 620px; }
.mvt-ctaband .mvt-contact-line p { color: #9fb0d6; font-size: 15px; }
.mvt-ctaband .mvt-contact-line a { color: #fff !important; text-decoration: none !important; font-weight: 600; }
@media (max-width: 1024px) {
	.fl-row.mvt-ctaband > .fl-row-content-wrap::after { width: 220px; height: 280px; right: -80px; bottom: -150px; }
	.fl-row.mvt-ctaband > .fl-row-content-wrap::before { width: 180px; height: 260px; right: 80px; bottom: -190px; }
}

/* --------------------------------------------------------------------------
   Read More (HTML module). Full copy stays in the HTML; JS collapses it.
   -------------------------------------------------------------------------- */
.mvt-readmore { position: relative; }
.mvt-readmore__title { margin-bottom: 12px; }
.mvt-readmore__body { position: relative; overflow: hidden; transition: max-height .45s ease; }
.mvt-readmore.is-collapsed .mvt-readmore__body { max-height: 170px; }
.mvt-readmore.is-collapsed .mvt-readmore__body::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 90px;
	background: linear-gradient(rgba(255, 255, 255, 0), var(--mvt-rm-fade, #fff));
	pointer-events: none;
}
.mvt-soft .mvt-readmore { --mvt-rm-fade: var(--mvt-soft); }
.mvt-cream .mvt-readmore { --mvt-rm-fade: var(--mvt-cream); }
.mvt-readmore__toggle {
	margin-top: 14px;
	display: none;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border-radius: 999px;
	border: 1.5px solid var(--mvt-blue-100);
	background: #fff;
	color: var(--mvt-blue);
	font-family: var(--mvt-font-head);
	font-weight: 600;
	font-size: 15px;
	cursor: pointer;
	transition: border-color .2s, background-color .2s;
}
.mvt-readmore.is-ready .mvt-readmore__toggle { display: inline-flex; }
.mvt-readmore__toggle:hover { border-color: var(--mvt-blue); background: var(--mvt-blue-50); }
.mvt-readmore__toggle::after { content: ""; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
.mvt-readmore__toggle[aria-expanded="true"]::after { transform: translateY(2px) rotate(-135deg); }
.mvt-readmore__toggle:focus-visible { outline: 3px solid var(--mvt-amber); outline-offset: 2px; }
.mvt-readmore dl { margin: 0; }
.mvt-readmore dt { font-family: var(--mvt-font-head); font-weight: 600; color: var(--mvt-ink); margin-top: 14px; }
.mvt-readmore dd { margin: 4px 0 0; }

/* --------------------------------------------------------------------------
   FAQ — Beaver Builder Accordion module with class mvt-faq
   -------------------------------------------------------------------------- */
.mvt-sec .mvt-faq .fl-accordion-item {
	border: 1px solid var(--mvt-line) !important;
	border-radius: 14px;
	background: #fff;
	margin-bottom: 12px !important;
	overflow: hidden;
	transition: border-color .2s, box-shadow .2s;
}
.mvt-sec .mvt-faq .fl-accordion-item-active { border-color: var(--mvt-blue-100) !important; box-shadow: var(--mvt-shadow); }
.mvt-sec .mvt-faq .fl-accordion-button { padding: 20px 22px; background: transparent !important; border: 0 !important; }
.mvt-sec .mvt-faq .fl-accordion-button-label,
.mvt-sec .mvt-faq .fl-accordion-button-label * {
	font-family: var(--mvt-font-head);
	font-size: 17.5px;
	font-weight: 600;
	color: var(--mvt-ink) !important;
	line-height: 1.4;
}
.mvt-sec .mvt-faq .fl-accordion-button-icon { color: var(--mvt-blue) !important; opacity: 1; }
.mvt-sec .mvt-faq .fl-accordion-content { padding: 0 22px 20px; border: 0 !important; color: var(--mvt-body); }
.mvt-soft .mvt-faq .fl-accordion-item { border-color: transparent !important; box-shadow: 0 1px 2px rgba(6, 23, 63, .05); }

/* --------------------------------------------------------------------------
   Forms (Gravity Forms — Orbital theme + legacy)
   -------------------------------------------------------------------------- */
.mvt-sec .fl-col.mvt-formcard > .fl-col-content {
	background: #fff;
	border-radius: 22px;
	padding: 34px 32px;
	box-shadow: var(--mvt-shadow-lg);
	border: 1px solid var(--mvt-line);
}
.mvt-formcard h2, .mvt-formcard h3 { color: var(--mvt-ink) !important; }
.mvt-formcard, .mvt-formcard p { color: var(--mvt-body); }
@media (max-width: 768px) { .mvt-sec .fl-col.mvt-formcard > .fl-col-content { padding: 26px 18px; } }

.gform-theme--framework.gform-theme--orbital,
.gform_wrapper.gform-theme--orbital {
	--gf-color-primary: #0638a6;
	--gf-color-primary-rgb: 6, 56, 166;
	--gf-color-primary-contrast: #fff;
	--gf-color-primary-darker: #042b82;
	--gf-color-primary-lighter: #2d5cc4;
	--gf-color-in-ctrl-primary: #0638a6;
	--gf-ctrl-border-color: #d6deec;
	--gf-ctrl-radius: 10px;
	--gf-ctrl-size-md: 48px;
	--gf-ctrl-label-color-primary: #0e1726;
	--gf-ctrl-btn-radius: 999px;
	--gf-ctrl-btn-size-md: 52px;
	--gf-ctrl-btn-font-weight: 600;
	--gf-font-family-base: "Manrope", system-ui, sans-serif;
	--gf-ctrl-btn-font-family: "Outfit", system-ui, sans-serif;
}
.gform_wrapper.gravity-theme input[type="text"],
.gform_wrapper.gravity-theme input[type="email"],
.gform_wrapper.gravity-theme input[type="tel"],
.gform_wrapper.gravity-theme input[type="url"],
.gform_wrapper.gravity-theme input[type="number"],
.gform_wrapper.gravity-theme input[type="date"],
.gform_wrapper.gravity-theme select,
.gform_wrapper.gravity-theme textarea {
	border: 1px solid #d6deec;
	border-radius: 10px;
	padding: 12px 14px;
	font-size: 16px;
	background: #fff;
}
.gform_wrapper.gravity-theme input:focus,
.gform_wrapper.gravity-theme select:focus,
.gform_wrapper.gravity-theme textarea:focus { border-color: #0638a6; outline: 3px solid rgba(6, 56, 166, .14); outline-offset: 0; }
.gform_wrapper.gravity-theme .gfield_label { font-weight: 600; color: #0e1726; font-size: 15px; }
.gform_wrapper.gravity-theme .gform_footer input[type="submit"],
.gform_wrapper.gravity-theme .gform_page_footer input[type="button"],
.gform_wrapper.gravity-theme .gform_page_footer input[type="submit"],
.gform_wrapper.gravity-theme .gform_footer button {
	background: #0638a6;
	color: #fff;
	border: 0;
	border-radius: 999px;
	padding: 15px 30px;
	font-family: var(--mvt-font-head);
	font-weight: 600;
	font-size: 16px;
	cursor: pointer;
	transition: background-color .2s;
}
.gform_wrapper.gravity-theme .gform_footer input[type="submit"]:hover,
.gform_wrapper.gravity-theme .gform_page_footer input:hover { background: #042b82; }
.gform_wrapper .gf_progressbar_percentage { background: #0638a6 !important; }
.mvt-form-note p { font-size: 13.5px; color: var(--mvt-muted); }

/* --------------------------------------------------------------------------
   Header & footer (Beaver Themer layouts)
   -------------------------------------------------------------------------- */
.fl-row.mvt-topbar > .fl-row-content-wrap { background: var(--mvt-navy); padding: 9px 24px; }
.mvt-topbar p { margin: 0; font-size: 13.5px; color: #b9c6e4; }
.mvt-topbar a { color: #fff !important; text-decoration: none !important; font-weight: 600; }
.mvt-topbar .mvt-topbar-right p { text-align: right; }
.mvt-topbar .fl-module-content { margin: 0 !important; }
.mvt-topbar .mvt-sep { opacity: .35; margin: 0 10px; }
@media (max-width: 768px) {
	.fl-row.mvt-topbar .mvt-topbar-left { display: none; }
	.mvt-topbar .mvt-topbar-right p { text-align: center; }
}

.fl-row.mvt-header > .fl-row-content-wrap {
	background: rgba(255, 255, 255, .96);
	-webkit-backdrop-filter: saturate(160%) blur(10px);
	backdrop-filter: saturate(160%) blur(10px);
	padding: 14px 24px;
	border-bottom: 1px solid var(--mvt-line);
	overflow: visible;
}
.mvt-header .fl-module-content { margin: 0 !important; }
.mvt-header .fl-col-group { align-items: center; }
.mvt-header .mvt-logo-img img { max-height: 54px; width: auto; }
.mvt-header .fl-menu .menu > li > a,
.mvt-header .fl-menu .menu > li > .fl-has-submenu-container > a {
	font-family: var(--mvt-font-head);
	font-weight: 500;
	font-size: 15.5px;
	color: var(--mvt-ink);
	padding: 10px 14px;
}
.mvt-header .fl-menu .menu > li > a:hover,
.mvt-header .fl-menu .menu > li.current-menu-item > a,
.mvt-header .fl-menu .menu > li > .fl-has-submenu-container > a:hover { color: var(--mvt-blue); }
.mvt-header .fl-menu .sub-menu {
	background: #fff;
	border-radius: 14px;
	box-shadow: var(--mvt-shadow-lg);
	border: 1px solid var(--mvt-line);
	padding: 8px;
	min-width: 260px;
}
.mvt-header .fl-menu .sub-menu a { font-size: 14.5px; padding: 9px 12px; border-radius: 8px; color: var(--mvt-ink); }
.mvt-header .fl-menu .sub-menu a:hover { background: var(--mvt-blue-50); color: var(--mvt-blue); }
.mvt-header .fl-menu-mobile-toggle { border-radius: 10px; border-color: var(--mvt-line); color: var(--mvt-ink); }
.mvt-header .mvt-header-cta p { text-align: right; }
.mvt-header .mvt-header-cta .mvt-btn { min-height: 46px; padding: 11px 22px; font-size: 15px; }
@media (max-width: 1100px) { .mvt-header .mvt-header-cta { display: none; } }
.fl-theme-builder-header-sticky .mvt-header > .fl-row-content-wrap,
.fl-theme-builder-header-scrolled .mvt-header > .fl-row-content-wrap { box-shadow: 0 6px 24px -14px rgba(6, 23, 63, .35); }

.fl-row.mvt-footer > .fl-row-content-wrap { background: var(--mvt-navy); color: #a9b7d8; padding: 80px 24px 36px; }
.mvt-footer h4, .mvt-footer h3 { color: #fff; font-size: 15px; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 18px; }
.mvt-footer p { font-size: 15px; line-height: 1.7; }
.mvt-footer a { color: #dbe3f6 !important; text-decoration: none !important; }
.mvt-footer a:hover { color: var(--mvt-amber) !important; }
.mvt-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 9px; font-size: 15px; }
.mvt-footer .mvt-footer-logo img { max-width: 190px; height: auto; }
.mvt-footer .mvt-social p { display: flex; gap: 10px; }
.mvt-footer .mvt-social a {
	display: inline-grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .18);
	font-size: 13px;
	font-weight: 700;
}
.mvt-footer .mvt-social a:hover { border-color: var(--mvt-amber); }
.mvt-footer .mvt-footer-bottom p { font-size: 13.5px; color: #8697bf; margin: 0; }
.mvt-footer .fl-col-group.mvt-footer-legal, .mvt-footer .mvt-footer-bottom { border-top: 1px solid rgba(255, 255, 255, .10); padding-top: 26px; margin-top: 48px; }
.mvt-footer .fl-module-content { margin-bottom: 14px; }

/* --------------------------------------------------------------------------
   Scroll-to-top button
   -------------------------------------------------------------------------- */
.mvt-totop {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 9990;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--mvt-blue);
	color: #fff;
	cursor: pointer;
	display: grid;
	place-items: center;
	box-shadow: 0 12px 28px -10px rgba(6, 56, 166, .7);
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: opacity .3s ease, transform .3s ease, visibility .3s, background-color .2s;
}
.mvt-totop[hidden] { display: grid; }
.mvt-totop.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.mvt-totop:hover { background: var(--mvt-blue-700); }
.mvt-totop:focus-visible { outline: 3px solid var(--mvt-amber); outline-offset: 3px; }
.mvt-totop__arrow { width: 22px; height: 22px; fill: currentColor; position: relative; z-index: 1; }
.mvt-totop__ring { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.mvt-totop__track, .mvt-totop__bar { fill: none; stroke-width: 3; }
.mvt-totop__track { stroke: rgba(255, 255, 255, .18); }
.mvt-totop__bar { stroke: var(--mvt-amber); stroke-linecap: round; stroke-dasharray: 150.8; stroke-dashoffset: 150.8; }
@media (max-width: 768px) { .mvt-totop { right: 16px; bottom: 16px; width: 48px; height: 48px; } }
@media (prefers-reduced-motion: reduce) {
	.mvt-totop, .mvt-btn, .mvt-btn::after, .mvt-readmore__body, .mvt-sec .fl-col.mvt-card > .fl-col-content { transition: none; }
}

/* Role chips (popular professionals) */
.mvt-sec .mvt-role h3 { margin: 0 0 2px; font-size: 15.5px; }
.mvt-sec .mvt-role h3 a { color: var(--mvt-ink) !important; text-decoration: none !important; }
.mvt-sec .mvt-role h3 a::after { content: ""; position: absolute; inset: 0; }
.mvt-sec .fl-col.mvt-role > .fl-col-content { position: relative; transition: border-color .2s, box-shadow .2s; }
.mvt-sec .fl-col.mvt-role:hover > .fl-col-content { border-color: var(--mvt-blue-100); box-shadow: var(--mvt-shadow); }
.mvt-sec .mvt-role p { font-size: 13.5px; color: var(--mvt-teal); font-weight: 700; margin: 0; }

/* Link lists inside cards (services hub) */
.mvt-sec .mvt-links ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 22px; }
.mvt-sec .mvt-links li a { font-size: 15px; }
.mvt-sec .mvt-hubcard h2 { font-size: 1.45rem; margin-bottom: 6px; }
@media (max-width: 768px) { .mvt-sec .mvt-links ul { grid-template-columns: 1fr; } }
.mvt-sec .mvt-small-links { font-size: 14px; color: var(--mvt-muted); }
.mvt-sec .mvt-small-links a { font-weight: 600; text-decoration: none !important; }
.mvt-sec .mvt-small-links a:hover { text-decoration: underline !important; }
.mvt-sec .mvt-price.mvt-price--sm p { font-size: 1.9rem; color: var(--mvt-blue); }

/* Video embed */
.mvt-video { position: relative; aspect-ratio: 16 / 9; border-radius: var(--mvt-radius); overflow: hidden; background: var(--mvt-navy); box-shadow: var(--mvt-shadow-lg); }
.mvt-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Latest posts (Beaver Builder Posts module, class mvt-posts) */
.mvt-sec .mvt-posts .fl-post-grid-post, .mvt-sec .mvt-posts .fl-post-column > div {
	background: #fff; border: 1px solid var(--mvt-line); border-radius: var(--mvt-radius); overflow: hidden; height: 100%;
	transition: box-shadow .25s ease, transform .25s ease;
}
.mvt-sec .mvt-posts .fl-post-grid-post:hover { box-shadow: var(--mvt-shadow); transform: translateY(-3px); }
.mvt-sec .mvt-posts .fl-post-grid-image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.mvt-sec .mvt-posts .fl-post-grid-text { padding: 22px 24px 24px; }
.mvt-sec .mvt-posts .fl-post-grid-title { font-size: 1.15rem !important; line-height: 1.35; margin: 0 0 8px; letter-spacing: -0.01em; }
.mvt-sec .mvt-posts .fl-post-grid-title a { color: var(--mvt-ink) !important; text-decoration: none !important; }
.mvt-sec .mvt-posts .fl-post-grid-title a:hover { color: var(--mvt-blue) !important; }
.mvt-sec .mvt-posts .fl-post-grid-meta { font-size: 13px; color: var(--mvt-muted); margin-bottom: 8px; }
.mvt-sec .mvt-posts .fl-post-grid-content p { font-size: 15px; }
.mvt-sec .mvt-posts a.fl-post-grid-more { font-family: var(--mvt-font-head); font-weight: 600; font-size: 15px; text-decoration: none !important; color: var(--mvt-blue); }
.mvt-sec .mvt-posts a.fl-post-grid-more::after { content: " →"; }

/* Legal copy */
.mvt-sec .mvt-legal h2 { font-size: 1.4rem; margin-top: 1.6em; }

/* Utility */
.mvt-sec .mvt-mt-0 .fl-module-content { margin-top: 0; }
.mvt-sec .mvt-small p { font-size: 14px; color: var(--mvt-muted); }
.mvt-sec .mvt-maxw p { max-width: 640px; }
.mvt-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Blue panel contrast */
.mvt-panel--blue .mvt-eyebrow p { color: var(--mvt-amber) !important; }
.mvt-panel--blue .mvt-eyebrow p::before { background: var(--mvt-amber); box-shadow: 0 0 0 4px rgba(246, 182, 71, .22); }
.mvt-panel--blue a:not(.mvt-btn) { color: #fff !important; }
.mvt-panel--blue .mvt-checks li { color: #e6ecfb; }
.mvt-sec .mvt-checks--lg li { padding-top: 1px; font-size: 16px; }
.mvt-sec .mvt-checks--lg ul { gap: 16px; }
/* Footer sits on a slightly deeper navy so it separates from the CTA band */
.fl-row.mvt-footer > .fl-row-content-wrap { background: #030f30; }
/* Menu: room for the submenu arrow */
.mvt-header .fl-menu .fl-has-submenu-container > a { padding-right: 30px !important; }
.mvt-header .fl-menu .fl-menu-toggle { right: 6px; }

/* --------------------------------------------------------------------------
   Homepage hero — team photo grid under a royal-blue tint (from the current site)
   -------------------------------------------------------------------------- */
.fl-row.mvt-hero.mvt-hero--photo > .fl-row-content-wrap {
	background-color: #0a3a9e;
	background-image:
		linear-gradient(90deg, rgba(5, 33, 102, .95) 0%, rgba(6, 50, 150, .88) 42%, rgba(6, 56, 166, .74) 100%),
		url("../img/hero-team-grid.webp");
	background-size: cover, cover;
	background-position: center, center;
	background-repeat: no-repeat;
	padding-top: 84px;
	padding-bottom: 0;
}
@supports not (background-image: url("x.webp")) {
	.fl-row.mvt-hero.mvt-hero--photo > .fl-row-content-wrap { background-image: linear-gradient(90deg, rgba(5, 33, 102, .95) 0%, rgba(6, 50, 150, .88) 42%, rgba(6, 56, 166, .74) 100%), url("../img/hero-team-grid.jpg"); }
}
/* soft fade into the partner band below */
.fl-row.mvt-hero--photo > .fl-row-content-wrap::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 90px;
	background: linear-gradient(rgba(6, 40, 120, 0), rgba(4, 28, 88, .35)); pointer-events: none;
}
.mvt-hero--photo h1, .mvt-hero--photo .fl-heading { color: #fff !important; text-shadow: 0 2px 24px rgba(0, 18, 64, .25); }
.mvt-hero--photo .mvt-lead p { color: #dbe5ff !important; }
.mvt-hero--photo .mvt-eyebrow p { color: var(--mvt-amber) !important; }
.mvt-hero--photo .mvt-eyebrow p::before { background: var(--mvt-amber); box-shadow: 0 0 0 4px rgba(246, 182, 71, .25); }
.mvt-hero--photo .mvt-trust li { color: #fff; }
.mvt-hero--photo .mvt-trust li::before { background-color: var(--mvt-amber); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2306173f'%3E%3Cpath d='M9.5 16.2 5.3 12l-1.4 1.4 5.6 5.6L20.1 8.4 18.7 7z'/%3E%3C/svg%3E"); }
.mvt-hero--photo .mvt-price-pill p { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .22); color: #fff; box-shadow: none; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.mvt-hero--photo .mvt-price-pill p a { color: #fff !important; }
.mvt-hero--photo a.mvt-btn--light { border-color: rgba(255, 255, 255, .5); }
.mvt-hero--photo .mvt-hero-img img { filter: drop-shadow(0 30px 40px rgba(0, 16, 60, .35)); }
@media (max-width: 768px) {
	.fl-row.mvt-hero.mvt-hero--photo > .fl-row-content-wrap {
		padding-top: 56px;
		background-image: linear-gradient(180deg, rgba(5, 33, 102, .94) 0%, rgba(6, 56, 166, .86) 100%), url("../img/hero-team-grid.webp");
		background-position: center, 30% center;
	}
	.mvt-hero--photo .fl-col.mvt-hero-copy > .fl-col-content { padding-bottom: 32px; }
}

/* Partner band under the hero (light blue, full-colour logos like the current site) */
.fl-row.mvt-logos--band > .fl-row-content-wrap { background: #eef3fd; padding-top: 30px; padding-bottom: 30px; }
.mvt-logos--band .mvt-logos-label p { color: var(--mvt-blue); font-size: 14px; letter-spacing: .12em; text-align: left; }
.mvt-sec.mvt-logos--band .mvt-logo img { filter: none; opacity: 1; max-height: 52px; }
@media (max-width: 768px) { .mvt-logos--band .mvt-logos-label p { text-align: center; } }
.mvt-sec.mvt-hero--photo h1 { font-size: clamp(2.2rem, 4.1vw, 3.35rem); line-height: 1.08; }

/* --------------------------------------------------------------------------
   "Multi-talented virtual employees" — orbit image on a world map,
   with the large soft ring on the right edge (from the current homepage)
   -------------------------------------------------------------------------- */
.fl-row.mvt-orbit > .fl-row-content-wrap { background: #fff; }
.fl-row.mvt-orbit > .fl-row-content-wrap::after {
	content: ""; position: absolute; top: 50%; right: -230px; width: 460px; height: 460px; transform: translateY(-50%);
	border-radius: 50%; border: 90px solid var(--mvt-blue-50); pointer-events: none;
}
.mvt-sec .fl-col.mvt-orbit-media > .fl-col-content {
	background: url("../img/world-map-blue.webp") center / 118% auto no-repeat;
}
.mvt-sec .mvt-orbit-img img { width: 100%; max-width: 560px; height: auto; margin: 0 auto; display: block; }
.mvt-orbit .mvt-checks--2 ul { gap: 10px 26px; margin: 6px 0 8px; }
.mvt-orbit .mvt-checks li { font-weight: 600; color: var(--mvt-ink); font-size: 15.5px; }
@media (max-width: 1024px) { .fl-row.mvt-orbit > .fl-row-content-wrap::after { display: none; } }
@media (max-width: 768px) { .mvt-sec .mvt-orbit-img img { max-width: 360px; } }

/* World map behind dark bands (CTA band) */
.fl-row.mvt-ctaband > .fl-row-content-wrap {
	background-image: url("../img/world-map-white.webp");
	background-repeat: no-repeat; background-position: 30% 50%; background-size: min(1300px, 120%) auto;
}
