/* =========================================================================
   M Squared Manufacturing & Engineering — main stylesheet.
   The ONLY stylesheet for this theme. Token-driven. Mobile-first.

   Design preset: MINIMAL-TECH (overridden with navy/cyan brand)
   Typography:    inter-inter
   ========================================================================= */

/* ---------- 1. Design tokens (brand-locked, do not hardcode) ------------- */

:root {
	/* --- Brand palette (M² brief — Dec 2026) --- */
	--msq-navy:        #003D8F;  /* primary engineering blue */
	--msq-navy-700:    #052A63;  /* deep variant for emphasis bands */
	--msq-navy-dark:   #052A63;
	--msq-cyan:        #1BB5F2;  /* technical cyan */
	--msq-cyan-600:    #0F94C9;
	--msq-mist:        #F8FAFC;  /* primary background */
	--msq-cloud:       #EEF2F7;  /* light gray */
	--msq-graphite:    #4A5A75;
	--msq-paper:       #FFFFFF;

	/* --- Minimal-tech preset tokens (blnr-* — section + hero snippets read these) --- */
	--blnr-bg:           var(--msq-paper);
	--blnr-bg-soft:      var(--msq-mist);
	--blnr-surface:      var(--msq-paper);
	--blnr-surface-2:    var(--msq-cloud);
	--blnr-ink:          var(--msq-navy);
	--blnr-ink-soft:     var(--msq-graphite);
	--blnr-border:       rgba(14, 43, 92, .10);
	--blnr-border-soft:  rgba(14, 43, 92, .05);
	--blnr-accent:       var(--msq-cyan);
	--blnr-on-accent:    var(--msq-paper);
	--blnr-accent-2:     var(--msq-navy);
	--blnr-on-accent-2:  var(--msq-paper);
	--blnr-success:      #1f8a4c;
	--blnr-warn:         #b6701a;
	--blnr-error:        #c0294b;

	/* --- Typography — Roboto headlines + Inter body --- */
	--blnr-font-display: 'Roboto', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--blnr-font-body:    'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--blnr-font-mono:    'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
	--blnr-h1:    clamp(2.25rem, 1.5rem + 3.5vw, 4.25rem);
	--blnr-h2:    clamp(1.75rem, 1.3rem + 2.2vw, 2.75rem);
	--blnr-h3:    clamp(1.35rem, 1.1rem + 1.1vw, 1.875rem);
	--blnr-h4:    clamp(1.125rem, 1rem + .5vw, 1.4rem);
	--blnr-lead:  clamp(1.05rem, 1rem + .25vw, 1.2rem);
	--blnr-body:  1rem;
	--blnr-small: .875rem;
	--blnr-leading-tight:  1.08;
	--blnr-leading-snug:   1.3;
	--blnr-leading-normal: 1.55;
	--blnr-leading-loose:  1.7;
	--blnr-tracking-tight:  -.025em;
	--blnr-tracking-normal: -.005em;
	--blnr-tracking-loose:  .04em;

	/* --- Spacing --- */
	--blnr-sp-1: .25rem; --blnr-sp-2: .5rem; --blnr-sp-3: .75rem; --blnr-sp-4: 1rem;
	--blnr-sp-5: 1.25rem; --blnr-sp-6: 1.5rem; --blnr-sp-7: 1.75rem; --blnr-sp-8: 2rem; --blnr-sp-9: 2.25rem; --blnr-sp-10: 2.5rem;
	--blnr-sp-12: 3rem; --blnr-sp-16: 4rem; --blnr-sp-20: 5rem; --blnr-sp-24: 6rem;
	--blnr-sp-32: 8rem;
	--blnr-section-y: clamp(3rem, 5vw + 1rem, 6rem);
	--blnr-section-x: clamp(1rem, 4vw, 2rem);
	--blnr-container: 1340px;
	--blnr-container-narrow: 760px;
	--blnr-gutter: 32px;
	--blnr-gutter-tablet: 28px;
	--blnr-gutter-mobile: 20px;

	/* --- Radius (soft-rounded — 10–14 px across the board) --- */
	--blnr-r-sm:   6px;
	--blnr-r-md:   10px;
	--blnr-r-lg:   14px;
	--blnr-r-xl:   18px;
	--blnr-r-full: 12px;
	--blnr-r-pill: 999px;         /* opt-in legacy — spinners, play button only */

	/* --- Shadow (Tidii pattern — color-tinted glows on CTAs) --- */
	--blnr-shadow-sm:    0 1px 2px rgba(5,6,8,.06);
	--blnr-shadow-md:    0 2px 8px rgba(5,6,8,.07);
	--blnr-shadow-lg:    0 8px 24px rgba(5,6,8,.09);
	--blnr-shadow-xl:    0 16px 40px rgba(5,6,8,.11);
	--blnr-shadow-2xl:   0 32px 72px rgba(5,6,8,.14);
	--blnr-shadow-card:  0 4px 16px rgba(5,6,8,.06);
	--blnr-shadow-pop:   0 24px 70px rgba(5,6,8,.16);
	/* CTA glow — cyan-tinted, lifts on hover */
	--blnr-shadow-cta:        0 12px 32px rgba(27,181,242,.28);
	--blnr-shadow-cta-hover:  0 18px 40px rgba(27,181,242,.42);
	--blnr-shadow-navy:       0 12px 32px rgba(0,61,143,.22);
	--blnr-shadow-navy-hover: 0 18px 40px rgba(0,61,143,.36);

	/* --- Motion --- */
	--blnr-dur-fast:   120ms;
	--blnr-dur-normal: 220ms;
	--blnr-dur-slow:   380ms;
	--blnr-ease-out:    cubic-bezier(.2, .8, .2, 1);
	--blnr-ease-in-out: cubic-bezier(.5, 0, .5, 1);
	--blnr-ease-spring: cubic-bezier(.34, 1.56, .64, 1);

	/* --- Legacy msq_* aliases (existing template parts read these) --- */
	--msq_ink:        var(--blnr-ink);
	--msq_ink-500:    var(--blnr-ink-soft);
	--msq_cream:      var(--blnr-bg);
	--msq_stone-50:   var(--blnr-bg-soft);
	--msq_stone-100:  var(--blnr-surface-2);
	--msq_stone-200:  var(--msq-cloud);
	--msq_gold:       var(--blnr-accent);
	--msq_accent:     var(--blnr-accent);
	--msq_font-display: var(--blnr-font-display);
	--msq_font-body:    var(--blnr-font-body);
	--msq_font-mono:    var(--blnr-font-mono);
	--msq_gutter: 24px;
	--msq_container-max: var(--blnr-container);
	--msq_radius-sm:   var(--blnr-r-sm);
	--msq_radius-md:   var(--blnr-r-md);
	--msq_radius-lg:   var(--blnr-r-lg);
	--msq_radius-pill: var(--blnr-r-full);
	--msq_shadow-card: var(--blnr-shadow-md);
	--msq_shadow-pop:  var(--blnr-shadow-lg);
	--msq_ease: var(--blnr-ease-out);
}

/* ---------- 2. Reset ----------------------------------------------------- */

*,*::before,*::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	font: 400 var(--blnr-body)/var(--blnr-leading-normal) var(--blnr-font-body);
	color: var(--blnr-ink);
	background: var(--blnr-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: "cv11", "ss01";
	overflow-x: hidden;   /* final safety net — nothing should ever cause horizontal scroll */
}
img,svg,video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--blnr-accent); }
/* Body-content links — navy default (AAA contrast), cyan on hover */
.msq_rich a,
p a:not(.msq_btn):not(.msq_quick__card):not(.msq_servicegrid__card):not(.msq_featured__card) {
	color: var(--msq-navy);
	text-decoration: underline;
	text-decoration-color: rgba(0,61,143,.35);
	text-underline-offset: 3px;
	transition: color .15s, text-decoration-color .15s;
}
.msq_rich a:hover,
p a:not(.msq_btn):not(.msq_quick__card):not(.msq_servicegrid__card):not(.msq_featured__card):hover {
	color: var(--msq-cyan-600);
	text-decoration-color: var(--msq-cyan);
}
button { font: inherit; cursor: pointer; }
:focus-visible { outline: 2px solid var(--blnr-accent); outline-offset: 3px; border-radius: 0; }

/* ---------- 3. Typography ----------------------------------------------- */

h1, h2, h3, h4 {
	font-family: var(--blnr-font-display);
	font-weight: 700;
	line-height: 1.02;
	letter-spacing: -0.038em;
	color: var(--blnr-ink);
	margin: 0 0 var(--blnr-sp-4);
}
h1 { font-weight: 800; font-size: clamp(2.75rem, 1.5rem + 4.6vw, 5.5rem); letter-spacing: -0.042em; }
h2 { font-weight: 800; font-size: clamp(2.25rem, 1.4rem + 3.4vw, 4.5rem); }
h3 { font-size: var(--blnr-h3); line-height: 1.18; letter-spacing: -0.018em; }
h4 { font-size: var(--blnr-h4); line-height: 1.2; }
p  { margin: 0 0 var(--blnr-sp-4); }
.lead, p.lead { font-size: var(--blnr-lead); line-height: var(--blnr-leading-snug); color: var(--blnr-ink-soft); }

/* Eyebrows — Tidii pattern.
   Default: 24×2px cyan bar before the text (left-aligned blocks).
   Centered section heads (.msq_section-head--center): drop the bar, wrap in a
   soft-cyan pill instead.
   --on-dark variant: brighter cyan for dark backgrounds. */
.msq_eyebrow, .eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--blnr-font-display);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--msq-navy);
	margin-bottom: 14px;
}
.msq_eyebrow::before, .eyebrow::before {
	content: '';
	width: 26px; height: 2px;
	background: var(--msq-cyan);
	border-radius: 0;
}
.msq_eyebrow--on-dark, .eyebrow--on-dark { color: var(--msq-cyan); }
.msq_eyebrow--on-dark::before, .eyebrow--on-dark::before { background: var(--msq-cyan); }

/* Centered section heads — pill variant.
   Force the pill to hug its text (it's a grid child by default → stretches). */
.msq_section-head--center .msq_eyebrow,
.msq_section-head--center .eyebrow {
	padding: 7px 18px;
	border-radius: var(--blnr-r-full);
	background: rgba(27,181,242,.12);
	border: 1px solid rgba(27,181,242,.22);
	color: var(--msq-cyan-600);
	justify-self: center;
	align-self: center;
	width: fit-content;
	max-width: max-content;
	margin-bottom: 0;   /* gap controlled by h2 margin-top */
}
.msq_section-head--center .msq_eyebrow::before,
.msq_section-head--center .eyebrow::before { display: none; }

/* ---------- 4. Layout primitives ---------------------------------------- */

.msq_container, .blnr-container {
	width: 100%;
	max-width: var(--blnr-container);
	margin: 0 auto;
	padding: 0 var(--blnr-gutter);
}
@media (max-width: 1023px) { .msq_container, .blnr-container { padding: 0 var(--blnr-gutter-tablet); } }
@media (max-width: 640px)  { .msq_container, .blnr-container { padding: 0 var(--blnr-gutter-mobile); } }
.blnr-container-narrow { max-width: var(--blnr-container-narrow); margin: 0 auto; padding: 0 var(--blnr-gutter); }

.msq_section { padding: var(--blnr-section-y) 0; }
.msq_section-cream { background: var(--blnr-bg); }
.msq_section-stone { background: var(--blnr-bg-soft); }
.msq_section-ink   { background: var(--blnr-ink); color: var(--blnr-bg); }
.msq_section-ink h1, .msq_section-ink h2, .msq_section-ink h3, .msq_section-ink h4 { color: var(--blnr-bg); }

.msq_grid { display: grid; gap: 28px; }
.msq_grid-2, .msq_grid-3, .msq_grid-4 { grid-template-columns: 1fr; }
@media (min-width: 768px) {
	.msq_grid-2 { grid-template-columns: repeat(2, 1fr); }
	.msq_grid-3 { grid-template-columns: repeat(2, 1fr); }
	.msq_grid-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.msq_grid-3 { grid-template-columns: repeat(3, 1fr); }
	.msq_grid-4 { grid-template-columns: repeat(4, 1fr); }
}

.msq_actions-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

/* ---------- 5. Buttons --------------------------------------------------- */

/* Buttons — Tidii motion pattern: color-tinted glow + translateY(-2px) on hover */
.msq_btn, .blnr-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 26px;
	font-family: var(--blnr-font-body);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: -0.005em;
	border-radius: var(--blnr-r-full);
	border: 1px solid transparent;
	transition: background .2s ease, color .2s ease, border-color .2s ease,
	            transform .2s var(--blnr-ease-out), box-shadow .25s var(--blnr-ease-out);
	cursor: pointer;
	text-decoration: none;
	white-space: nowrap;
}
.msq_btn svg { transition: transform .2s var(--blnr-ease-out); }
.msq_btn:hover svg { transform: translateX(3px); }

.msq_btn-primary, .blnr-btn-primary {
	background: var(--blnr-accent);
	color: var(--blnr-on-accent);
	box-shadow: var(--blnr-shadow-cta);
}
.msq_btn-primary:hover, .blnr-btn-primary:hover {
	background: var(--msq-cyan-600);
	color: var(--blnr-on-accent);
	transform: translateY(-2px);
	box-shadow: var(--blnr-shadow-cta-hover);
}

.msq_btn-navy {
	background: var(--msq-navy);
	color: #fff;
	box-shadow: var(--blnr-shadow-navy);
}
.msq_btn-navy:hover {
	background: var(--msq-navy-dark);
	transform: translateY(-2px);
	box-shadow: var(--blnr-shadow-navy-hover);
}

.msq_btn-outline, .blnr-btn-outline {
	background: transparent;
	color: var(--blnr-ink);
	border-color: var(--blnr-ink);
}
.msq_btn-outline:hover, .blnr-btn-outline:hover {
	background: var(--blnr-ink);
	color: var(--blnr-bg);
	transform: translateY(-2px);
	box-shadow: var(--blnr-shadow-lg);
}

.msq_btn-ghost, .blnr-btn-ghost {
	background: transparent;
	color: var(--blnr-ink);
	border-color: transparent;
}
.msq_btn-ghost:hover { color: var(--blnr-accent); }

.msq_btn-on-dark {
	background: rgba(255,255,255,.08);
	color: #fff;
	border: 1px solid rgba(255,255,255,.4);
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.msq_btn-on-dark:hover {
	background: #fff;
	color: var(--msq-navy);
	border-color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 18px 40px rgba(0,0,0,.18);
}

.msq_btn-lg { padding: 16px 32px; font-size: 15.5px; font-weight: 700; }
.msq_btn-sm { padding: 9px 18px; font-size: 13px; }

/* ---------- 6. Cards ----------------------------------------------------- */

.msq_card {
	background: var(--blnr-surface);
	border: 1px solid var(--blnr-border);
	border-radius: var(--blnr-r-lg);
	padding: var(--blnr-sp-6);
	transition: transform var(--blnr-dur-normal) var(--blnr-ease-out),
	            box-shadow var(--blnr-dur-normal) var(--blnr-ease-out),
	            border-color var(--blnr-dur-fast) var(--blnr-ease-out);
}
.msq_card:hover {
	transform: translateY(-2px);
	box-shadow: var(--blnr-shadow-lg);
	border-color: rgba(14,43,92,.18);
}

/* ---------- 7. Hero (sptlabtech-style: heavy navy left → transparent right) ---------- */

.msq_hero {
	position: relative;
	isolation: isolate;
	min-height: clamp(540px, 72vh, 760px);
	display: grid;
	align-items: center;
	color: #fff;
	overflow: hidden;
	margin-top: -1px;
}
.msq_hero__bg { position: absolute; inset: 0; z-index: -2; }
.msq_hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: center right; }
.msq_hero__bg-fallback {
	position: absolute; inset: 0; z-index: -2;
	background:
		radial-gradient(ellipse at 85% 50%, rgba(31,168,224,.45), transparent 55%),
		linear-gradient(135deg, #0E2B5C 0%, #1B3F7A 55%, #2BB7E5 110%);
}
/* THE gradient — heavy navy on the left, fading to fully transparent
   on the right. Dark stays dark for the first ~40% of the width, so the
   headline always reads. */
.msq_hero__scrim {
	position: absolute; inset: 0; z-index: -1;
	background:
		linear-gradient(90deg,
			rgba(14,43,92,.96)  0%,
			rgba(14,43,92,.92) 20%,
			rgba(14,43,92,.80) 40%,
			rgba(14,43,92,.40) 65%,
			rgba(14,43,92,.10) 85%,
			rgba(14,43,92,0)  100%
		),
		linear-gradient(180deg, rgba(14,43,92,.30) 0%, rgba(14,43,92,0) 22%);
}
.msq_hero__inner {
	position: relative;
	padding: clamp(64px, 8vw, 120px) 0 clamp(56px, 7vw, 100px);
	max-width: 640px;
}
/* Hero eyebrow — pill variant on dark, matches the Tidii centered eyebrow */
.msq_hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--blnr-font-display);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--msq-cyan);
	padding: 7px 16px;
	border-radius: var(--blnr-r-full);
	background: rgba(27,181,242,.14);
	border: 1px solid rgba(27,181,242,.30);
	margin-bottom: var(--blnr-sp-5);
	-webkit-backdrop-filter: blur(8px);
	        backdrop-filter: blur(8px);
}
.msq_hero__title {
	color: #fff;
	font-weight: 800;
	font-size: clamp(2.5rem, 1.3rem + 4vw, 4.75rem);
	letter-spacing: -0.040em;
	line-height: 1.05;
	margin: 0 0 var(--blnr-sp-6);
	max-width: 22ch;
	text-wrap: balance;
}
.msq_hero__title .msq_hl,
.msq_hero__title mark {
	background: none;
	color: var(--msq-cyan);
	font-style: normal;
	font-weight: 800;
}
.msq_hero__lead {
	color: rgba(255,255,255,.86);
	font-size: clamp(1rem, .95rem + .25vw, 1.1875rem);
	line-height: 1.6;
	max-width: 52ch;
	margin: 0 0 var(--blnr-sp-8);
}
.msq_hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* ----------------------------------------------------------------------
   Hero welcoming animation — CSS-only, LCP-safe.

   Strategy: the hero IS the LCP candidate. Children start at opacity:0
   with a small translateY, then fade-up on `animation-fill: both` so they
   keep their final state. Total animation budget ~1 second from first
   paint, staggered, with the H1 (LCP target) finishing under 900ms.

   Background image: 1.4s slow scale-in for cinematic feel — the scrim
   ensures content readability throughout.

   Honors prefers-reduced-motion (zeroes the transforms).
   ---------------------------------------------------------------------- */

@keyframes msq-hero-fade-up {
	from { opacity: 0; transform: translateY(20px); }
	to   { opacity: 1; transform: none; }
}
@keyframes msq-hero-bg-in {
	from { opacity: 0; transform: scale(1.06); }
	to   { opacity: 1; transform: none; }
}
@keyframes msq-hero-scrim-in {
	from { opacity: 0; }
	to   { opacity: 1; }
}
@keyframes msq-hero-play-in {
	from { opacity: 0; transform: translateY(-50%) scale(.85); }
	to   { opacity: 1; transform: translateY(-50%) scale(1); }
}

/* Apply to children — staggered by animation-delay */
.msq_hero__bg img         { animation: msq-hero-bg-in 1.4s var(--blnr-ease-out) both; }
.msq_hero__scrim,
.msq_hero__blueprint      { animation: msq-hero-scrim-in 1s var(--blnr-ease-out) both 100ms; }
.msq_hero__eyebrow        { animation: msq-hero-fade-up 0.7s var(--blnr-ease-out) both 200ms; }
.msq_hero__title          { animation: msq-hero-fade-up 0.7s var(--blnr-ease-out) both 320ms; }
.msq_hero__lead           { animation: msq-hero-fade-up 0.7s var(--blnr-ease-out) both 460ms; }
.msq_hero__actions        { animation: msq-hero-fade-up 0.7s var(--blnr-ease-out) both 580ms; }
.msq_hero__play           { animation: msq-hero-play-in 0.6s var(--blnr-ease-out) both 700ms; }

@media (prefers-reduced-motion: reduce) {
	.msq_hero__bg img,
	.msq_hero__scrim,
	.msq_hero__blueprint,
	.msq_hero__eyebrow,
	.msq_hero__title,
	.msq_hero__lead,
	.msq_hero__actions,
	.msq_hero__play {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
	}
	.msq_hero__play { transform: translateY(-50%) !important; }
}

/* Circular play button — sits on the right of the hero, vertically centered */
.msq_hero__play {
	position: absolute;
	right: clamp(20px, 6vw, 88px);
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	width: clamp(80px, 9vw, 132px);
	height: clamp(80px, 9vw, 132px);
	border-radius: 50%;
	border: 2px solid var(--msq-cyan);
	background: rgba(255,255,255,.06);
	color: #fff;
	display: grid;
	place-items: center;
	cursor: pointer;
	transition: transform .25s var(--blnr-ease-out), background .25s var(--blnr-ease-out), box-shadow .25s var(--blnr-ease-out);
	box-shadow: 0 0 0 0 rgba(31,168,224,.4);
	animation: msq-hero-play-pulse 2.4s ease-out infinite;
}
.msq_hero__play:hover { background: var(--msq-cyan); color: #fff; transform: translateY(-50%) scale(1.04); }
.msq_hero__play svg { width: 38%; height: 38%; margin-left: 6%; }
@keyframes msq-hero-play-pulse {
	0%   { box-shadow: 0 0 0 0 rgba(31,168,224,.45); }
	70%  { box-shadow: 0 0 0 22px rgba(31,168,224,0); }
	100% { box-shadow: 0 0 0 0 rgba(31,168,224,0); }
}
@media (max-width: 880px) {
	.msq_hero__play { right: 20px; bottom: 28px; top: auto; transform: none; width: 64px; height: 64px; }
	.msq_hero__play:hover { transform: scale(1.04); }
}

/* Video lightbox (opened by play button) */
.msq_lightbox { position: fixed; inset: 0; z-index: 200; background: rgba(14,43,92,.92); display: grid; place-items: center; padding: 24px; opacity: 0; transition: opacity .25s var(--blnr-ease-out); }
.msq_lightbox.is-open { opacity: 1; }
.msq_lightbox__inner { width: min(1100px, 100%); aspect-ratio: 16/9; border-radius: var(--blnr-r-lg); overflow: hidden; box-shadow: var(--blnr-shadow-2xl); background: #000; }
.msq_lightbox__inner iframe, .msq_lightbox__inner video { width: 100%; height: 100%; border: 0; display: block; }
.msq_lightbox__close { position: absolute; top: 18px; right: 22px; background: transparent; border: 0; color: #fff; font-size: 2.5rem; line-height: 1; cursor: pointer; padding: 4px 12px; }
.msq_lightbox__close:hover { color: var(--msq-cyan); }
body.msq-no-scroll { overflow: hidden; }

/* ---------- 8. Features 3-up ----------------------------------------------- */

.msq_features-3up { padding: var(--blnr-section-y) 0; background: var(--blnr-bg); }
.msq_features-3up__head { max-width: 760px; margin: 0 auto var(--blnr-sp-12); text-align: center; }
.msq_features-3up__grid { display: grid; gap: 28px; grid-template-columns: 1fr; }
@media (min-width: 768px) { .msq_features-3up__grid { grid-template-columns: repeat(3, 1fr); } }
.msq_features-3up__card { padding: var(--blnr-sp-6); background: var(--blnr-surface); border: 1px solid var(--blnr-border); border-radius: var(--blnr-r-lg); }
.msq_features-3up__icon { width: 44px; height: 44px; border-radius: var(--blnr-r-md); background: rgba(27,181,242,.10); color: var(--msq-cyan-600); display: grid; place-items: center; margin-bottom: var(--blnr-sp-4); }
.msq_features-3up__title { font-size: 1.25rem; margin: 0 0 var(--blnr-sp-2); }
.msq_features-3up__body { color: var(--blnr-ink-soft); margin: 0; }

/* ---------- 9. Features 2-col alt ---------------------------------------- */

.msq_features-alt { padding: var(--blnr-section-y) 0; background: var(--blnr-bg-soft); }
.msq_features-alt__row { display: grid; gap: 40px; align-items: center; margin-bottom: var(--blnr-sp-16); }
.msq_features-alt__row:last-child { margin-bottom: 0; }
@media (min-width: 880px) {
	.msq_features-alt__row { grid-template-columns: 1fr 1fr; }
	.msq_features-alt__row.is-reversed .msq_features-alt__media { order: 2; }
}
.msq_features-alt__media img { width: 100%; border-radius: var(--blnr-r-lg); box-shadow: var(--blnr-shadow-lg); aspect-ratio: 4/3; object-fit: cover; }
.msq_features-alt__title { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); margin: 0 0 var(--blnr-sp-3); }

/* ---------- 10. Logo / Rolling banner ----------------------------------- */

.msq_marquee { background: var(--blnr-ink); color: var(--blnr-bg); padding: var(--blnr-sp-10) 0; overflow: hidden; }
.msq_marquee__label { display: block; text-align: center; font: 600 .8125rem/1 var(--blnr-font-body); text-transform: uppercase; letter-spacing: var(--blnr-tracking-loose); color: rgba(255,255,255,.6); margin-bottom: var(--blnr-sp-6); }
.msq_marquee__track { display: flex; gap: 80px; animation: msq-marquee 28s linear infinite; will-change: transform; }
.msq_marquee__item { font: 700 clamp(1.5rem, 2vw + 1rem, 2.5rem)/1 var(--blnr-font-display); white-space: nowrap; letter-spacing: var(--blnr-tracking-tight); color: rgba(255,255,255,.92); display: flex; align-items: center; gap: 80px; }
.msq_marquee__item::after { content: "·"; color: var(--blnr-accent); }
@keyframes msq-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
	.msq_marquee__track { animation: none; }
	.msq_hero__play { animation: none; }
}

/* ---------- 11. Team grid (used on About page) -------------------------- */

.msq_team__head { max-width: 720px; margin: 0 auto var(--blnr-sp-12); text-align: center; }
.msq_team__grid { display: grid; gap: 32px; grid-template-columns: 1fr; }
@media (min-width: 720px) { .msq_team__grid { grid-template-columns: repeat(2, 1fr); } }
.msq_team__card {
	background: var(--msq-paper);
	border: 1px solid var(--blnr-border);
	border-radius: var(--blnr-r-xl);
	overflow: hidden;
	box-shadow: var(--blnr-shadow-card);
	transition: transform .25s var(--blnr-ease-out), box-shadow .25s, border-color .2s;
}
.msq_team__card:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 36px rgba(0,61,143,.10);
	border-color: rgba(27,181,242,.40);
}
.msq_team__photo { aspect-ratio: 4/3; background: var(--blnr-bg-soft); overflow: hidden; }
.msq_team__photo img { width: 100%; height: 100%; object-fit: cover; }
.msq_team__body { padding: var(--blnr-sp-7) var(--blnr-sp-6); position: relative; }
.msq_team__name {
	font-family: var(--blnr-font-display);
	font-weight: 800;
	font-size: 1.5rem;
	letter-spacing: -0.02em;
	color: var(--msq-navy-dark);
	margin: 0 0 6px;
}
.msq_team__role { font: 700 .75rem/1.2 var(--blnr-font-display); text-transform: uppercase; letter-spacing: .18em; color: var(--msq-cyan-600); margin: 0 0 8px; }
.msq_team__bio { color: var(--blnr-ink-soft); margin: 0; line-height: 1.65; }

/* "ID-card" variant — no headshot. Slim cyan→navy accent bar + corner gear chip. */
.msq_team__card--no-photo { position: relative; }
.msq_team__bar {
	display: block;
	height: 6px;
	background: linear-gradient(90deg, var(--msq-cyan) 0%, var(--msq-navy) 100%);
}
.msq_team__card--no-photo .msq_team__body { padding-top: calc(var(--blnr-sp-7) + 4px); padding-right: calc(var(--blnr-sp-6) + 48px); }
.msq_team__badge {
	position: absolute;
	top: 22px; right: 22px;
	width: 40px; height: 40px;
	display: grid; place-items: center;
	color: var(--msq-cyan-600);
	background: rgba(27,181,242,.10);
	border: 1px solid rgba(27,181,242,.30);
	border-radius: var(--blnr-r-md);
}
@media (max-width: 520px) {
	.msq_team__card--no-photo .msq_team__body { padding-right: var(--blnr-sp-6); }
	.msq_team__badge { top: 18px; right: 18px; width: 34px; height: 34px; }
}

/* ---------- 12. CTA banner ----------------------------------------------- */

.msq_cta-banner { background: var(--blnr-ink); color: var(--blnr-bg); padding: var(--blnr-section-y) 0; position: relative; overflow: hidden; }
.msq_cta-banner::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at top right, rgba(31,168,224,.22), transparent 55%); pointer-events: none; }
.msq_cta-banner__inner { position: relative; display: grid; gap: var(--blnr-sp-6); align-items: center; }
@media (min-width: 880px) { .msq_cta-banner__inner { grid-template-columns: 1fr auto; gap: var(--blnr-sp-10); } }
.msq_cta-banner h2 { color: var(--blnr-bg); margin: 0; }
.msq_cta-banner p { color: rgba(255,255,255,.82); margin: var(--blnr-sp-3) 0 0; max-width: 56ch; }

/* ---------- 13. Announcement bar ---------------------------------------- */

.msq_announce {
	background: var(--msq-navy);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .01em;
	position: relative;
	z-index: 100;
	border-bottom: 1px solid rgba(255,255,255,.12);
}
.msq_announce__inner {
	display: flex; align-items: center; justify-content: center;
	gap: 14px; padding: 11px 56px 11px 24px; position: relative; text-align: center;
}
.msq_announce__text { margin: 0; }
.msq_announce__dot { display: inline-block; margin-right: 6px; color: var(--msq-cyan); font-size: 12px; }
.msq_announce__link { color: #fff; font-weight: 800; border-bottom: 2px solid rgba(255,255,255,.5); margin-left: 6px; transition: border-color .2s; }
.msq_announce__link:hover { border-bottom-color: #fff; color: var(--msq-cyan); }
.msq_announce__close { position: absolute; right: 18px; top: 50%; transform: translateY(-50%); color: rgba(255,255,255,.65); padding: 6px; border-radius: 50%; background: transparent; border: 0; display: inline-flex; transition: color .2s, background .2s; cursor: pointer; }
.msq_announce__close:hover { color: #fff; background: rgba(255,255,255,.12); }
.msq_announce.is-hidden { display: none; }

/* ---------- 14. Sticky header (Tidii pattern) --------------------------- */

.msq_header {
	position: sticky; top: 0; z-index: 90;
	background: rgba(255,255,255,.94);
	backdrop-filter: saturate(180%) blur(20px);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	border-bottom: 1px solid var(--blnr-border-soft);
	transition: box-shadow .25s ease, background .25s ease;
}
.msq_header.is-scrolled { box-shadow: 0 6px 24px rgba(14,43,92,.06); }
.msq_header__inner {
	display: flex; align-items: center; justify-content: space-between;
	gap: 24px;
	padding: 14px clamp(12px, 1.6vw, 28px);
	min-height: 84px;
}
.msq_header__brand { display: inline-flex; align-items: center; flex-shrink: 0; }
.msq_brand { display: inline-flex; align-items: center; text-decoration: none; }
/* Logo is 420×90 viewBox; at 56px height = 261px wide. Auto width keeps proportion. */
.msq_brand img, .msq_brand .msq_brand-mark, .msq_brand .custom-logo, .msq_header__brand .custom-logo, .msq_mobile__top .custom-logo { display: block; height: auto; width: auto; max-height: 56px; max-width: 280px; }
@media (max-width: 720px) { .msq_brand img, .msq_brand .msq_brand-mark, .msq_brand .custom-logo, .msq_header__brand .custom-logo, .msq_mobile__top .custom-logo { max-height: 44px; max-width: 220px; } }
.msq_header__inner { min-height: 96px; }

/* Desktop nav (centered) */
.msq_header__nav { display: none; }
@media (min-width: 1100px) { .msq_header__nav { display: block; flex: 1; } }
.msq_menu { display: flex; align-items: center; gap: 2px; justify-content: center; list-style: none; margin: 0; padding: 0; }
.msq_menu__item { position: relative; list-style: none; }
.msq_menu__link {
	display: inline-flex; align-items: center; gap: 4px;
	padding: 10px 14px;
	font-size: 14.5px; font-weight: 600;
	color: var(--msq-navy); border-radius: 0;
	transition: background .2s, color .2s; white-space: nowrap;
	text-decoration: none;
}
@media (max-width: 1399px) {
	.msq_menu { gap: 0; }
	.msq_menu__link { padding: 10px 10px; font-size: 14px; }
}
.msq_menu__link:hover { background: rgba(31,168,224,.10); color: var(--msq-cyan-600); }
.msq_menu__caret { display: inline-flex; opacity: .55; transition: transform .2s; margin-left: 2px; }
.msq_menu__item--has-children:hover > .msq_menu__link .msq_menu__caret { transform: rotate(180deg); }
/* Mobile drawer uses its own JS-injected expand button, hide the inline caret */
.msq_mobile__list .msq_menu__caret { display: none; }

/* Active page indicator */
.msq_menu > .msq_menu__item.is-current > .msq_menu__link,
.msq_menu > .msq_menu__item.current-menu-item > .msq_menu__link,
.msq_menu > .msq_menu__item.current_page_item > .msq_menu__link,
.msq_menu > .msq_menu__item.current-menu-parent > .msq_menu__link,
.msq_menu > .msq_menu__item.current-menu-ancestor > .msq_menu__link {
	color: var(--msq-cyan-600); background: rgba(31,168,224,.10); font-weight: 700; position: relative;
}
/* Sub-menu current item (desktop dropdown) */
.msq_menu__sub .msq_menu__item.is-current > .msq_menu__link,
.msq_menu__sub .msq_menu__item.current-menu-item > .msq_menu__link {
	color: var(--msq-cyan-600);
	background: rgba(31,168,224,.08);
	font-weight: 600;
}
.msq_menu > .msq_menu__item.is-current > .msq_menu__link::after,
.msq_menu > .msq_menu__item.current-menu-item > .msq_menu__link::after,
.msq_menu > .msq_menu__item.current_page_item > .msq_menu__link::after,
.msq_menu > .msq_menu__item.current-menu-parent > .msq_menu__link::after,
.msq_menu > .msq_menu__item.current-menu-ancestor > .msq_menu__link::after {
	content: ''; position: absolute; left: 14px; right: 14px; bottom: 4px;
	height: 2px; background: var(--msq-cyan); border-radius: 0;
}

/* Hover dropdown */
.msq_menu__sub {
	position: absolute; top: calc(100% - 4px); left: 0;
	background: #fff; border: 1px solid var(--blnr-border);
	border-radius: var(--blnr-r-lg); padding: 10px;
	min-width: 280px; box-shadow: var(--blnr-shadow-xl);
	opacity: 0; visibility: hidden; transform: translateY(-8px);
	transition: opacity .2s, visibility .2s, transform .2s;
	z-index: 100; list-style: none; margin: 0;
}
.msq_menu__item--has-children:hover > .msq_menu__sub,
.msq_menu__item--has-children:focus-within > .msq_menu__sub {
	opacity: 1; visibility: visible; transform: translateY(0);
}
.msq_menu__sub .msq_menu__link { display: block; padding: 10px 14px; font-size: 14px; font-weight: 500; border-radius: 0; color: var(--msq-navy); }
.msq_menu__sub .msq_menu__link:hover { background: rgba(31,168,224,.10); color: var(--msq-cyan-600); }

/* Header actions */
.msq_header__actions { display: flex; align-items: center; gap: 12px; }
.msq_header__phone { display: none; align-items: center; gap: 8px; font-size: 14.5px; font-weight: 700; color: var(--msq-navy); padding: 8px 12px; border-radius: 0; white-space: nowrap; text-decoration: none; }
@media (min-width: 1100px) { .msq_header__phone { display: inline-flex; } }
.msq_header__phone:hover { color: var(--msq-cyan-600); background: rgba(31,168,224,.08); }
.msq_header__cta { display: none; white-space: nowrap; }
@media (min-width: 720px) { .msq_header__cta { display: inline-flex; } }

.msq_header__burger { display: inline-flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px; width: 44px; height: 44px; background: transparent; border: 0; border-radius: 0; cursor: pointer; }
.msq_header__burger span { display: block; width: 22px; height: 2px; background: var(--msq-navy); border-radius: 0; transition: transform .25s var(--blnr-ease-out), opacity .15s; }
.msq_header__burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.msq_header__burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.msq_header__burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
@media (min-width: 1100px) { .msq_header__burger { display: none; } }

/* ---------- 15. Full-screen mobile drawer ------------------------------- */

.msq_mobile {
	position: fixed; inset: 0; background: #fff; z-index: 110;
	display: flex; flex-direction: column;
	transform: translateX(100%);
	transition: transform .35s var(--blnr-ease-out);
	overflow-y: auto;
}
.msq_mobile.is-open { transform: translateX(0); }
.msq_mobile__backdrop {
	position: fixed; inset: 0;
	background: rgba(14,43,92,.55);
	opacity: 0; visibility: hidden;
	transition: opacity .25s, visibility .25s;
	z-index: 105;
}
.msq_mobile__backdrop.is-visible { opacity: 1; visibility: visible; }

.msq_mobile__top {
	display: flex; align-items: center; justify-content: space-between;
	padding: 16px 20px;
	border-bottom: 1px solid var(--blnr-border);
}
.msq_mobile__close {
	width: 44px; height: 44px; border-radius: 0;
	border: 1px solid var(--blnr-border); background: transparent;
	display: inline-flex; align-items: center; justify-content: center;
	color: var(--msq-navy); cursor: pointer;
}
.msq_mobile__close:hover { background: var(--blnr-bg-soft); }

.msq_mobile__nav { padding: 20px; flex: 1; }
.msq_mobile__list,
.msq_mobile .msq_menu { display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 2px; list-style: none; padding: 0; margin: 0; }
.msq_mobile__list .msq_menu__link { width: 100%; }
.msq_mobile__list .msq_menu__item { position: relative; list-style: none; }
.msq_mobile__list .msq_menu__link {
	display: flex; align-items: center; justify-content: space-between;
	padding: 16px 18px;
	font-size: 17px; font-weight: 700; letter-spacing: -0.01em;
	color: var(--msq-navy); border-radius: 0;
	position: relative; text-decoration: none;
}
.msq_mobile__list .msq_menu__link:hover { background: var(--blnr-bg-soft); }
.msq_mobile__list .msq_menu__item.is-current > .msq_menu__link,
.msq_mobile__list .msq_menu__item.current-menu-item > .msq_menu__link,
.msq_mobile__list .msq_menu__item.current_page_item > .msq_menu__link {
	color: var(--msq-cyan-600); background: rgba(31,168,224,.10);
	box-shadow: inset 4px 0 0 var(--msq-cyan);
}

/* Submenu collapsed by default */
.msq_mobile__list .msq_menu__sub {
	position: static; opacity: 1; visibility: visible; transform: none;
	background: var(--blnr-bg-soft); border: 0;
	padding: 0; margin: 4px 8px 8px; border-radius: 0;
	box-shadow: none; min-width: 0;
	max-height: 0; overflow: hidden;
	transition: max-height .35s var(--blnr-ease-out), padding .2s ease;
}
.msq_mobile__list .msq_menu__item--has-children.is-expanded > .msq_menu__sub {
	max-height: 1200px; padding: 6px 10px 10px;
}
.msq_mobile__list .msq_menu__sub .msq_menu__link { font-size: 15px; font-weight: 500; padding: 10px 14px; }
.msq_mobile__list .msq_menu__link:link,
.msq_mobile__list .msq_menu__link:visited { color: var(--msq-navy); }

/* Per-parent expand chevron — injected by JS */
.msq_mobile__expand {
	position: absolute; top: 8px; right: 8px;
	width: 40px; height: 40px;
	display: inline-flex; align-items: center; justify-content: center;
	background: transparent; border: 0; border-radius: 0;
	color: var(--msq-navy);
	transition: transform .2s var(--blnr-ease-out), background .15s;
	cursor: pointer;
}
.msq_mobile__expand:hover { background: var(--blnr-bg-soft); }
.msq_mobile__expand:focus { outline: none; }
.msq_mobile__expand:focus-visible { outline: 2px solid var(--msq-cyan); outline-offset: 2px; }
.msq_menu__item--has-children.is-expanded > .msq_mobile__expand { transform: rotate(180deg); }

.msq_mobile__cta {
	padding: 20px;
	border-top: 1px solid var(--blnr-border);
	display: flex; flex-direction: column; gap: 10px;
	background: var(--blnr-bg-soft);
}
.msq_mobile__cta .msq_btn { width: 100%; justify-content: center; }

body.msq-no-scroll { overflow: hidden; }

/* ---------- 15. Footer — premium, deep navy --------------------------- */

.msq_footer {
	position: relative;
	background: #fff;
	color: var(--blnr-ink-soft);
	padding: clamp(72px, 9vw, 128px) 0 clamp(28px, 3vw, 40px);
	overflow: hidden;
	isolation: isolate;
	border-top: 1px solid rgba(5,42,99,.08);
}
.msq_footer__glow {
	position: absolute; inset: 0; z-index: -1;
	background:
		radial-gradient(ellipse at 15% 0%, rgba(27,181,242,.06), transparent 55%),
		radial-gradient(ellipse at 85% 100%, rgba(0,61,143,.04), transparent 50%);
	pointer-events: none;
}

.msq_footer a {
	color: var(--blnr-ink-soft);
	text-decoration: none;
	transition: color .15s ease;
}
.msq_footer a:hover { color: var(--msq-cyan-600); }

.msq_footer__grid {
	display: grid;
	gap: clamp(40px, 5vw, 64px);
	grid-template-columns: 1fr;
	margin-bottom: clamp(56px, 7vw, 96px);
}
@media (min-width: 720px)  { .msq_footer__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .msq_footer__grid { grid-template-columns: 1.7fr 1fr 1fr 1.2fr; } }

/* Column 1: brand block */
.msq_footer__brand-col .msq_brand img,
.msq_footer__brand-col .msq_brand-mark,
.msq_footer__brand-col .custom-logo {
	height: auto;
	width: auto;
	max-height: 64px;
	max-width: 280px;
	margin-bottom: var(--blnr-sp-6);
}
.msq_footer__tagline {
	color: var(--blnr-ink-soft);
	font-size: 1rem;
	line-height: 1.65;
	max-width: 38ch;
	margin: 0 0 var(--blnr-sp-6);
}
.msq_footer__reach {
	list-style: none; padding: 0; margin: 0;
	display: grid; gap: 6px;
	font-size: .9375rem;
}
.msq_footer__reach a {
	font-weight: 600;
	color: var(--msq-navy-dark);
}
.msq_footer__reach a:hover { color: var(--msq-cyan-600); }

/* Columns 2-4 */
.msq_footer__col-title {
	font-family: var(--blnr-font-display);
	font-weight: 800;
	font-size: .8125rem;
	text-transform: uppercase;
	letter-spacing: .22em;
	color: var(--msq-cyan-600);
	margin: 0 0 clamp(20px, 2vw, 28px);
}
.msq_footer__list {
	list-style: none; margin: 0; padding: 0;
	display: grid; gap: 14px;
	font-size: .9375rem;
	line-height: 1.45;
}
.msq_footer__list a {
	position: relative;
	display: inline-flex; align-items: center;
	gap: 6px;
}
.msq_footer__list a::before {
	content: "";
	width: 8px; height: 1px;
	background: var(--msq-cyan-600);
	opacity: 0;
	transition: opacity .2s, width .2s var(--blnr-ease-out);
}
.msq_footer__list a:hover::before { opacity: 1; width: 12px; }

/* Contact column variant — Label / value pairs */
.msq_footer__list--contact { gap: 18px; }
.msq_footer__list--contact li { display: grid; gap: 4px; }
.msq_footer__lbl {
	font: 700 .6875rem/1 var(--blnr-font-display);
	text-transform: uppercase;
	letter-spacing: .18em;
	color: rgba(5,42,99,.55);
}

/* Contact column — founders' direct lines */
.msq_footer__founders { list-style: none; margin: 0 0 var(--blnr-sp-6); padding: 0; display: grid; gap: 20px; }
.msq_footer__founder { display: grid; gap: 2px; font-size: .9375rem; line-height: 1.5; }
.msq_footer__founder-name {
	font: 700 .6875rem/1 var(--blnr-font-display);
	text-transform: uppercase;
	letter-spacing: .18em;
	color: rgba(5,42,99,.55);
	margin-bottom: 4px;
}
.msq_footer__founder-email,
.msq_footer__founder-phone {
	display: block;
	font-weight: 600;
	color: var(--msq-navy-dark);
	word-break: break-word;
}
.msq_footer__founder-email:hover,
.msq_footer__founder-phone:hover { color: var(--msq-cyan-600); }

.msq_footer__address {
	display: grid; gap: 2px;
	font-style: normal;
	font-size: .9375rem;
	line-height: 1.55;
	color: var(--blnr-ink-soft);
	margin: 0 0 var(--blnr-sp-4);
}
.msq_footer__hours {
	font-size: .8125rem;
	color: var(--blnr-ink-soft);
	margin: 0;
}

/* Certifications / NDA line — soft trust signal above bottom bar */
.msq_footer__certs {
	padding: 18px 0;
	margin-bottom: clamp(16px, 2vw, 24px);
	border-top: 1px solid rgba(5,42,99,.08);
	border-bottom: 1px solid rgba(5,42,99,.08);
	text-align: center;
	font: 600 .8125rem/1.4 var(--blnr-font-display);
	letter-spacing: .04em;
	color: var(--blnr-ink-soft);
}

/* Bottom bar */
.msq_footer__bottom {
	padding-top: clamp(24px, 3vw, 36px);
	border-top: 1px solid rgba(5,42,99,.10);
	display: flex;
	flex-wrap: wrap;
	gap: var(--blnr-sp-4);
	justify-content: space-between;
	align-items: center;
	font-size: .8125rem;
	color: rgba(5,42,99,.55);
}
.msq_footer__bottom-links {
	list-style: none; margin: 0; padding: 0;
	display: flex; flex-wrap: wrap;
	gap: clamp(20px, 3vw, 36px);
	font-size: .8125rem;
}
.msq_footer__bottom-links a { color: rgba(5,42,99,.62); }
.msq_footer__credit a { color: var(--msq-cyan-600); font-weight: 600; }

/* ---------- 16. Forms ---------------------------------------------------- */

.msq_form-row { display: grid; gap: 16px; margin-bottom: 18px; }
@media (min-width: 640px) { .msq_form-row-2 { grid-template-columns: 1fr 1fr; } }
.msq_form-field label {
	display: block;
	font: 700 .75rem/1 var(--blnr-font-display);
	text-transform: uppercase;
	letter-spacing: .18em;
	color: var(--msq-cyan-600);
	margin-bottom: 8px;
}
.msq_form-field input,
.msq_form-field select,
.msq_form-field textarea {
	width: 100%; padding: 14px 16px; font: inherit; color: var(--blnr-ink);
	background: var(--msq-paper); border: 1px solid var(--blnr-border);
	border-radius: var(--blnr-r-md);
	box-shadow: 0 1px 2px rgba(5,42,99,.04);
	transition: border-color .2s var(--blnr-ease-out), box-shadow .25s var(--blnr-ease-out), transform .15s;
}
.msq_form-field input:hover,
.msq_form-field select:hover,
.msq_form-field textarea:hover {
	border-color: rgba(27,181,242,.45);
	box-shadow: 0 4px 12px rgba(5,42,99,.06);
}
.msq_form-field input:focus,
.msq_form-field select:focus,
.msq_form-field textarea:focus {
	outline: 0;
	border-color: var(--msq-cyan-600);
	box-shadow: 0 0 0 4px rgba(27,181,242,.18), 0 6px 18px rgba(5,42,99,.08);
}
.msq_form-field textarea { min-height: 160px; resize: vertical; }

/* Contact form card — make the whole quote-request panel pop */
.msq_contact__form-col {
	background: var(--msq-paper);
	border: 1px solid rgba(5,42,99,.06);
	border-radius: var(--blnr-r-xl);
	padding: clamp(28px, 4vw, 44px) clamp(24px, 4vw, 40px);
	box-shadow:
		0 1px 0 rgba(255,255,255,.6) inset,
		0 12px 32px rgba(5,42,99,.08),
		0 32px 72px -28px rgba(27,181,242,.18);
	transition: box-shadow .35s var(--blnr-ease-out), transform .35s var(--blnr-ease-out);
}
.msq_contact__form-col:hover,
.msq_contact__form-col:focus-within {
	box-shadow:
		0 1px 0 rgba(255,255,255,.6) inset,
		0 20px 48px rgba(5,42,99,.12),
		0 44px 96px -24px rgba(27,181,242,.30);
	transform: translateY(-2px);
}
.msq_contact__form-title {
	font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.125rem);
	color: var(--msq-navy-dark);
	margin: 0 0 var(--blnr-sp-3);
}
.msq_contact__form-intro {
	color: var(--blnr-ink-soft);
	font-size: 1rem;
	line-height: 1.6;
	margin: 0 0 var(--blnr-sp-8);
}

/* Submit button — bigger lift on hover */
.msq_inquiry-form .msq_btn[type="submit"] {
	margin-top: var(--blnr-sp-3);
	box-shadow: 0 8px 22px rgba(27,181,242,.30), 0 2px 4px rgba(5,42,99,.10);
	transition: transform .25s var(--blnr-ease-out), box-shadow .25s var(--blnr-ease-out), background .2s;
}
.msq_inquiry-form .msq_btn[type="submit"]:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 30px rgba(27,181,242,.40), 0 4px 8px rgba(5,42,99,.14);
}

/* ---------- 17. FAQ accordion ------------------------------------------- */

.msq_faq { padding: var(--blnr-section-y) 0; }
.msq_faq__list { display: grid; gap: 12px; max-width: 880px; margin: 0 auto; }
.msq_faq__item { background: var(--blnr-bg); border: 1px solid var(--blnr-border); border-radius: var(--blnr-r-lg); overflow: hidden; }
.msq_faq__q { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 16px; text-align: left; padding: 18px 22px; font: 600 1.0625rem/1.3 var(--blnr-font-body); background: transparent; border: 0; color: var(--blnr-ink); }
.msq_faq__q[aria-expanded="true"] { color: var(--blnr-accent); }
.msq_faq__icon { flex: 0 0 20px; width: 20px; height: 20px; position: relative; }
.msq_faq__icon::before, .msq_faq__icon::after { content: ""; position: absolute; inset: 0; margin: auto; background: currentColor; transition: transform var(--blnr-dur-fast) var(--blnr-ease-out); }
.msq_faq__icon::before { width: 2px; height: 14px; }
.msq_faq__icon::after  { width: 14px; height: 2px; }
.msq_faq__q[aria-expanded="true"] .msq_faq__icon::before { transform: rotate(90deg); }
.msq_faq__a { max-height: 0; overflow: hidden; transition: max-height var(--blnr-dur-normal) var(--blnr-ease-out); }
.msq_faq__a-inner { padding: 0 22px 20px; color: var(--blnr-ink-soft); }

/* ---------- 18. Utility ------------------------------------------------- */

.msq_eyebrow-accent { color: var(--blnr-accent); }
.msq_center { text-align: center; }
.msq_mt-0 { margin-top: 0; }
.msq_mt-4 { margin-top: var(--blnr-sp-4); }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* ====================================================================
   Projects archive (page-template) + Single project case study
   ==================================================================== */

.msq_projects-archive { padding: clamp(80px, 10vw, 140px) 0; }
.msq_projects-grid {
	display: grid; gap: 24px;
	grid-template-columns: 1fr;
}
@media (min-width: 640px)  { .msq_projects-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .msq_projects-grid { grid-template-columns: repeat(3, 1fr); gap: 28px; } }

.msq_projects-card {
	display: flex; flex-direction: column;
	background: var(--msq-paper);
	border: 1px solid var(--blnr-border);
	border-radius: var(--blnr-r-lg);
	overflow: hidden;
	text-decoration: none;
	color: var(--msq-navy);
	box-shadow: var(--blnr-shadow-card);
	transition: transform .3s var(--blnr-ease-out), box-shadow .3s, border-color .2s;
}
.msq_projects-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 28px 60px rgba(0,61,143,.16);
	border-color: rgba(27,181,242,.45);
}

.msq_projects-card__media {
	position: relative;
	aspect-ratio: 16 / 10;
	background: var(--msq-cloud);
	overflow: hidden;
}
.msq_projects-card__img {
	width: 100%; height: 100%; object-fit: cover;
	transition: transform .55s var(--blnr-ease-out);
}
.msq_projects-card:hover .msq_projects-card__img { transform: scale(1.06); }
.msq_projects-card__placeholder {
	width: 100%; height: 100%;
	display: grid; place-items: center;
	background: linear-gradient(135deg, rgba(27,181,242,.1), var(--msq-cloud));
	color: rgba(0,61,143,.35);
}
.msq_projects-card__overlay {
	position: absolute; inset: 0;
	background: linear-gradient(0deg, rgba(5,42,99,.6) 0%, transparent 50%);
	pointer-events: none;
}
.msq_projects-card__tag {
	position: absolute;
	top: 16px; left: 16px;
	font: 700 .6875rem/1 var(--blnr-font-display);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #fff;
	padding: 6px 12px;
	background: rgba(0,61,143,.85);
	border-radius: var(--blnr-r-full);
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}

.msq_projects-card__body { padding: 22px 24px 24px; display: flex; flex-direction: column; flex: 1; }
.msq_projects-card__title {
	font-family: var(--blnr-font-display);
	font-weight: 700;
	font-size: 1.25rem;
	letter-spacing: -0.018em;
	color: var(--msq-navy-dark);
	margin: 0 0 6px;
}
.msq_projects-card__client {
	font: 600 .8125rem/1 var(--blnr-font-display);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--blnr-ink-soft);
	margin: 0 0 12px;
}
.msq_projects-card__summary {
	font-size: .9375rem;
	line-height: 1.55;
	color: var(--blnr-ink-soft);
	margin: 0 0 18px;
	flex: 1;
}
.msq_projects-card__cta {
	display: inline-flex; align-items: center; gap: 6px;
	font: 700 .8125rem/1 var(--blnr-font-display);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--msq-cyan-600);
}
.msq_projects-card__cta svg { transition: transform .2s var(--blnr-ease-out); }
.msq_projects-card:hover .msq_projects-card__cta svg { transform: translateX(3px); }

/* Empty state */
.msq_projects-empty {
	background: var(--msq-mist);
	border-radius: 0;
	padding: clamp(48px, 6vw, 80px);
	text-align: center;
}
.msq_projects-empty__inner { max-width: 640px; margin: 0 auto; }
.msq_projects-empty h2 { font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.25rem); margin: 0 0 14px; color: var(--msq-navy-dark); }
.msq_projects-empty p { color: var(--blnr-ink-soft); margin: 0 0 var(--blnr-sp-6); }

/* Single project — case study layout */
.msq_project-single { padding: clamp(40px, 5vw, 64px) 0; }
.msq_project-single__layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(36px, 5vw, 64px);
	align-items: start;
	margin-bottom: clamp(48px, 6vw, 80px);
}
@media (min-width: 980px) { .msq_project-single__layout { grid-template-columns: 320px 1fr; } }

.msq_project-single__facts-card {
	background: var(--msq-paper);
	border: 1px solid var(--blnr-border);
	border-radius: 0;
	padding: 28px 26px;
	box-shadow: var(--blnr-shadow-card);
	position: sticky;
	top: 108px;
}
.msq_project-single__facts-card h2 {
	font-family: var(--blnr-font-display);
	font-weight: 800;
	font-size: 1rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--msq-cyan-600);
	margin: 0 0 var(--blnr-sp-5);
}
.msq_project-single__facts-card ul { list-style: none; margin: 0 0 var(--blnr-sp-6); padding: 0; display: grid; gap: 14px; }
.msq_project-single__facts-card li { display: grid; gap: 4px; }
.msq_project-single__facts-card .msq_caps__lbl { margin-bottom: 0; }
.msq_project-single__cta { width: 100%; justify-content: center; }

.msq_project-single__body { max-width: 760px; }
.msq_project-single__block { margin-bottom: clamp(28px, 4vw, 48px); }
.msq_project-single__block:last-child { margin-bottom: 0; }
.msq_project-single__block .msq_eyebrow { margin-bottom: var(--blnr-sp-3); }
.msq_project-single__block .msq_rich p { font-size: 1.0625rem; line-height: 1.7; color: var(--blnr-ink-soft); }

/* Gallery grid */
.msq_project-single__gallery {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(2, 1fr);
	margin-top: clamp(48px, 6vw, 80px);
}
@media (min-width: 720px)  { .msq_project-single__gallery { grid-template-columns: repeat(3, 1fr); gap: 24px; } }
.msq_project-single__gallery-item {
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: var(--blnr-r-lg);
	overflow: hidden;
	cursor: zoom-in;
	background: var(--msq-paper);
	border: 1px solid rgba(5,42,99,.08);
	padding: 10px;
	box-shadow: 0 4px 12px rgba(5,42,99,.06), 0 1px 2px rgba(5,42,99,.04);
	transition: transform .28s var(--blnr-ease-out), box-shadow .28s var(--blnr-ease-out), border-color .2s;
}
.msq_project-single__gallery-item:hover {
	transform: translateY(-4px);
	border-color: rgba(27,181,242,.45);
	box-shadow: 0 18px 36px rgba(5,42,99,.14), 0 6px 12px rgba(27,181,242,.10);
}
.msq_project-single__gallery-item img {
	width: 100%; height: 100%; object-fit: cover;
	border-radius: calc(var(--blnr-r-lg) - 4px);
	display: block;
}

/* Image-lightbox stage (extends the existing .msq_lightbox base) */
.msq_lightbox--gallery .msq_lightbox__stage {
	width: min(94vw, 1280px);
	max-height: 88vh;
	display: grid; place-items: center;
}
.msq_lightbox--gallery .msq_lightbox__stage img {
	max-width: 100%; max-height: 88vh;
	width: auto; height: auto;
	border-radius: var(--blnr-r-md);
	box-shadow: 0 30px 60px rgba(0,0,0,.5);
	display: block;
}
.msq_lightbox--gallery .msq_lightbox__nav {
	position: absolute;
	top: 50%; transform: translateY(-50%);
	width: 48px; height: 48px;
	display: grid; place-items: center;
	background: rgba(255,255,255,.10);
	border: 1px solid rgba(255,255,255,.20);
	color: #fff;
	border-radius: 50%;
	font-size: 22px;
	cursor: pointer;
	transition: background .15s, transform .15s;
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.msq_lightbox--gallery .msq_lightbox__nav:hover { background: rgba(255,255,255,.20); transform: translateY(-50%) scale(1.06); }
.msq_lightbox--gallery .msq_lightbox__nav--prev { left: clamp(12px, 3vw, 32px); }
.msq_lightbox--gallery .msq_lightbox__nav--next { right: clamp(12px, 3vw, 32px); }
.msq_lightbox--gallery .msq_lightbox__count {
	position: absolute;
	bottom: 24px; left: 50%; transform: translateX(-50%);
	font: 700 .75rem/1 var(--blnr-font-display);
	letter-spacing: .22em;
	color: rgba(255,255,255,.72);
	background: rgba(255,255,255,.06);
	padding: 8px 14px;
	border-radius: var(--blnr-r-full);
}

/* ====================================================================
   Services page — sticky anchor nav + 6 alternating blocks (SPT pattern)
   ==================================================================== */

.msq_svc-nav-wrap {
	position: sticky;
	top: 84px;
	z-index: 30;
	background: rgba(255,255,255,.94);
	-webkit-backdrop-filter: saturate(180%) blur(12px);
	        backdrop-filter: saturate(180%) blur(12px);
	border-bottom: 1px solid var(--blnr-border-soft);
	padding: 12px 0;
}
.msq_svc-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	overflow-x: auto;
	scrollbar-width: none;
}
.msq_svc-nav::-webkit-scrollbar { display: none; }
.msq_svc-nav__link {
	display: inline-flex; align-items: center;
	padding: 9px 16px;
	font: 600 .8125rem/1 var(--blnr-font-display);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--blnr-ink-soft);
	border-radius: var(--blnr-r-full);
	transition: background .15s, color .15s;
	white-space: nowrap;
}
.msq_svc-nav__link:hover {
	background: rgba(27,181,242,.10);
	color: var(--msq-cyan-600);
}
.msq_svc-nav__link.is-active {
	background: var(--msq-navy);
	color: #fff;
}

.msq_svc-page { background: var(--msq-paper); overflow: hidden; }

/* Single-service page (rendered when /services/<slug>/ is hit) */
.msq_svc-detail { padding: clamp(48px, 6vw, 96px) 0 clamp(64px, 8vw, 120px); background: var(--msq-paper); }
.msq_svc-detail__back { margin: 0 0 var(--blnr-sp-10); font-size: .9375rem; }
.msq_svc-detail__back a { color: var(--msq-cyan-600); font-weight: 600; text-decoration: none; }
.msq_svc-detail__back a:hover { color: var(--msq-navy-dark); }

.msq_svc-detail__overview {
	display: grid;
	gap: clamp(32px, 4vw, 64px);
	grid-template-columns: 1fr;
	align-items: start;
	margin-bottom: clamp(48px, 6vw, 96px);
}
@media (min-width: 880px) {
	.msq_svc-detail__overview { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); }
}
.msq_svc-detail__media img,
.msq_svc-detail__placeholder { width: 100%; height: 100%; min-height: 320px; display: block; aspect-ratio: 4/3; object-fit: cover; }
.msq_svc-detail__placeholder { background: linear-gradient(135deg, var(--msq-navy-dark) 0%, var(--msq-navy) 100%); display: grid; place-items: center; color: rgba(255,255,255,.55); }

.msq_svc-detail__lead { font-size: clamp(1.125rem, 1rem + .4vw, 1.3125rem); line-height: 1.55; color: var(--blnr-ink); margin: 0 0 var(--blnr-sp-8); }

.msq_svc-detail__facts {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px 32px;
	margin: 0 0 var(--blnr-sp-8);
	padding: 22px 26px;
	background: var(--msq-mist);
	border-left: 3px solid var(--msq-cyan);
}
@media (min-width: 560px) { .msq_svc-detail__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.msq_svc-detail__fact dt {
	font: 700 .6875rem/1 var(--blnr-font-display);
	text-transform: uppercase;
	letter-spacing: .18em;
	color: var(--msq-cyan-600);
	margin-bottom: 6px;
}
.msq_svc-detail__fact dd { margin: 0; font-size: .9375rem; color: var(--blnr-ink); line-height: 1.45; }

.msq_svc-detail__actions { display: flex; flex-wrap: wrap; gap: 14px; }

.msq_svc-detail__body { display: none; }

/* "What's included" inline — sits in the overview right column */
.msq_svc-detail__caps-inline {
	margin: 0 0 var(--blnr-sp-7);
}
.msq_svc-detail__caps-inline .msq_svc-detail__caps-label {
	display: block;
	font: 700 .6875rem/1 var(--blnr-font-display);
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--msq-cyan-600);
	margin-bottom: var(--blnr-sp-4);
}
.msq_svc-detail__caps-inline ul {
	list-style: none; padding: 0; margin: 0;
	display: grid; gap: 8px 18px;
	grid-template-columns: 1fr;
}
@media (min-width: 560px) { .msq_svc-detail__caps-inline ul { grid-template-columns: repeat(2, minmax(0,1fr)); } }
.msq_svc-detail__caps-inline li {
	display: flex; gap: 10px; align-items: flex-start;
	font-size: .9375rem;
	line-height: 1.4;
	color: var(--blnr-ink);
}
.msq_svc-detail__caps-inline .msq_svc-detail__cap-mark {
	flex: 0 0 18px;
	width: 18px; height: 18px;
	display: inline-grid; place-items: center;
	color: var(--msq-cyan-600);
	margin-top: 2px;
}

.msq_svc-detail__caps,
.msq_svc-detail__process,
.msq_svc-detail__why { margin-bottom: clamp(48px, 6vw, 96px); }

/* ============================================================
   Reusable Tidii-pattern step cards (.msq_steps)
   Used on home Process Timeline + per-service "How it runs".
   Square cards · big blue numeral · corner icon chip · dashed connectors.
   ============================================================ */
.msq_steps {
	list-style: none; padding: 0; margin: 0;
	display: grid; gap: 32px 24px;
	grid-template-columns: 1fr;
	align-items: start;
	counter-reset: msq-step;
}
@media (min-width: 640px)  { .msq_steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .msq_steps { grid-template-columns: repeat(var(--msq-steps-cols, 4), minmax(0, 1fr)); gap: 0 32px; } }

.msq_steps__item {
	position: relative;
	display: flex; flex-direction: column;
	text-align: center;
	padding: 0 clamp(8px, 1vw, 14px);
}

.msq_steps__card {
	position: relative;
	display: grid; place-items: center;
	width: 100%;
	aspect-ratio: 1;
	max-width: 150px;
	margin: 0 auto var(--blnr-sp-6);
	border-radius: var(--blnr-r-lg);
	background:
		radial-gradient(120% 80% at 50% 0%, rgba(27,181,242,.06) 0%, transparent 65%),
		var(--msq-paper);
	border: 2px solid rgba(27,181,242,.65);
	box-shadow:
		0 1px 0 rgba(27,181,242,.10) inset,
		0 10px 26px rgba(0,61,143,.10),
		0 30px 60px -28px rgba(27,181,242,.30);
	transition: transform .28s var(--blnr-ease-out), box-shadow .28s, border-color .25s;
}
.msq_steps__item:hover .msq_steps__card {
	transform: translateY(-6px);
	border-color: var(--msq-cyan-600);
	box-shadow:
		0 1px 0 rgba(27,181,242,.18) inset,
		0 18px 38px rgba(0,61,143,.14),
		0 40px 80px -28px rgba(27,181,242,.45);
}

/* Icon: large, centered (was the number) */
.msq_steps__icon {
	display: inline-grid; place-items: center;
	color: var(--msq-cyan-600);
	width: clamp(56px, 6vw, 72px);
	height: clamp(56px, 6vw, 72px);
	background: rgba(27,181,242,.10);
	border-radius: var(--blnr-r-lg);
}
.msq_steps__icon svg { width: 60%; height: 60%; }

/* Number: small chip top-right (was the icon) */
.msq_steps__num {
	position: absolute;
	top: -10px; right: -10px;
	min-width: 32px; height: 32px;
	padding: 0 10px;
	display: inline-grid; place-items: center;
	background: var(--msq-navy-dark);
	color: #fff;
	font: 800 .8125rem/1 var(--blnr-font-display);
	letter-spacing: .04em;
	border-radius: var(--blnr-r-md);
	box-shadow: 0 6px 14px rgba(5,42,99,.28);
}

/* Step connectors — solid cyan line + chevron tip (real-process feel) */
@media (min-width: 1024px) {
	.msq_steps { gap: 0 clamp(40px, 5vw, 72px); }
	.msq_steps__item:not(:last-child)::after {
		content: "";
		position: absolute;
		top: 75px;
		left: calc(50% + 80px);
		right: calc(-50% + 80px);
		height: 3px;
		background: linear-gradient(to right, rgba(27,181,242,.30), var(--msq-cyan-600) 50%, var(--msq-cyan-600));
		box-shadow: 0 2px 6px rgba(27,181,242,.20);
		pointer-events: none;
		z-index: 0;
	}
	/* Chevron tip at the end of the connector */
	.msq_steps__item:not(:last-child)::before {
		content: "";
		position: absolute;
		top: 66px;
		right: calc(-50% + 74px);
		width: 16px; height: 16px;
		border-top: 3px solid var(--msq-cyan-600);
		border-right: 3px solid var(--msq-cyan-600);
		transform: rotate(45deg);
		pointer-events: none;
		z-index: 1;
		filter: drop-shadow(0 2px 4px rgba(27,181,242,.30));
	}
}

.msq_steps__title {
	font-family: var(--blnr-font-display);
	font-weight: 600;
	font-size: 1.125rem;
	letter-spacing: -0.015em;
	color: var(--msq-navy-dark);
	margin: 0 0 var(--blnr-sp-3);
}
.msq_steps__desc {
	font-size: .9375rem;
	line-height: 1.55;
	color: var(--blnr-ink-soft);
	margin: 0;
	max-width: 26ch;
	margin-left: auto;
	margin-right: auto;
}

/* Step grids on detail pages cap at 3 columns */
.msq_svc-detail__process .msq_steps { --msq-steps-cols: 3; }
.msq_process .msq_steps { --msq-steps-cols: 5; }
.msq_svc-detail__caps h2,
.msq_svc-detail__why h2 {
	font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.125rem);
	color: var(--msq-navy-dark);
	margin: 0 0 var(--blnr-sp-8);
}

/* Engineering principle callout — italic serif on cream band (Tidii-style) */
.msq_svc-detail__principle {
	position: relative;
	padding: clamp(112px, 14vw, 180px) clamp(20px, 4vw, 40px);
	margin: clamp(48px, 6vw, 80px) 0 0;
	text-align: center;
	isolation: isolate;
}
.msq_svc-detail__principle::before {
	content: "";
	position: absolute;
	top: 0; bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	background:
		radial-gradient(ellipse at 50% 50%, rgba(27,181,242,.10) 0%, transparent 60%),
		linear-gradient(180deg, #EAF1F8 0%, #D7E2EF 100%);
	z-index: -1;
}
.msq_svc-detail__principle-mark {
	width: 12px; height: 12px;
	margin: 0 auto var(--blnr-sp-5);
	background: var(--msq-cyan-600);
	transform: rotate(45deg);
	box-shadow: 0 4px 10px rgba(27,181,242,.35);
}
.msq_svc-detail__principle-text {
	max-width: 36ch;
	margin: 0 auto;
	font-family: Georgia, 'Iowan Old Style', 'Times New Roman', serif;
	font-style: italic;
	font-weight: 400;
	font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem);
	line-height: 1.4;
	letter-spacing: -0.012em;
	color: var(--msq-navy-dark);
	text-wrap: balance;
}
.msq_svc-detail__principle-rule { display: none; }
.msq_svc-detail__principle-blueprint {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(5,42,99,.06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(5,42,99,.06) 1px, transparent 1px);
	background-size: 56px 56px;
	-webkit-mask-image: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.85) 0%, rgba(0,0,0,0) 70%);
	        mask-image: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.85) 0%, rgba(0,0,0,0) 70%);
	pointer-events: none;
	z-index: -1;
}
.msq_svc-detail__principle-text {
	font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.125rem);
	max-width: 42ch;
}

/* ====================================================================
   Premium service detail — sections beyond the principle band
   ==================================================================== */

/* Service-detail hero: taller, larger H1 */
body.page-template-template-services .msq_pgh { min-height: clamp(520px, 72vh, 720px); padding-top: clamp(120px, 14vw, 168px); padding-bottom: clamp(96px, 12vw, 128px); }
body.page-template-template-services .msq_pgh__title { font-size: clamp(3rem, 1.6rem + 5.2vw, 5.75rem); max-width: 14ch; }
body.page-template-template-services .msq_pgh__lead { max-width: 56ch; }

/* Hero capability badges band — sits between hero and overview */
.msq_svc-detail__badges-band {
	background: var(--msq-paper);
	border-bottom: 1px solid rgba(5,42,99,.08);
	padding: clamp(28px, 3.2vw, 44px) 0;
}
.msq_svc-detail__badges {
	list-style: none; padding: 0; margin: 0;
	display: flex; flex-wrap: wrap;
	justify-content: center;
	gap: 18px clamp(36px, 5vw, 64px);
}
.msq_svc-detail__badges li {
	display: inline-flex; align-items: center; gap: 10px;
	font: 700 .8125rem/1 var(--blnr-font-display);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--msq-navy-dark);
}
.msq_svc-detail__badges li svg {
	color: var(--msq-cyan-600);
	flex: 0 0 14px;
}

/* Dual specification panels — wrapped in an engineering-document card */
.msq_svc-detail__specs {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(24px, 4vw, 36px);
	margin: clamp(48px, 6vw, 72px) 0 0;
	background: linear-gradient(180deg, #F4F7FB 0%, #ECF1F7 100%);
	border: 1px solid rgba(5,42,99,.08);
	border-radius: var(--blnr-r-lg);
	padding: clamp(28px, 3.4vw, 44px);
	box-shadow: 0 6px 18px rgba(5,42,99,.06);
}
/* Mobile: divider between stacked panels */
@media (max-width: 719px) {
	.msq_svc-detail__specs .msq_svc-detail__spec-panel + .msq_svc-detail__spec-panel {
		border-top: 1px solid rgba(5,42,99,.10);
		padding-top: clamp(20px, 4vw, 28px);
	}
}
@media (min-width: 720px) {
	.msq_svc-detail__specs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: clamp(36px, 4vw, 56px);
	}
	.msq_svc-detail__specs .msq_svc-detail__spec-panel + .msq_svc-detail__spec-panel {
		border-left: 1px solid rgba(5,42,99,.10);
		padding-left: clamp(36px, 4vw, 56px);
	}
}
.msq_svc-detail__spec-panel {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
	box-shadow: none;
}
.msq_svc-detail__spec-label {
	display: block;
	font: 700 .6875rem/1 var(--blnr-font-display);
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--msq-cyan-600);
	margin-bottom: var(--blnr-sp-5);
}
.msq_svc-detail__spec-panel ul {
	list-style: none; padding: 0; margin: 0;
	display: grid; gap: 10px;
}
.msq_svc-detail__spec-panel li {
	font-size: .9375rem;
	color: var(--blnr-ink);
	padding-left: 16px;
	position: relative;
	line-height: 1.4;
}
.msq_svc-detail__spec-panel li::before {
	content: "";
	position: absolute;
	left: 0; top: 8px;
	width: 6px; height: 6px;
	background: var(--msq-cyan-600);
	transform: rotate(45deg);
}

/* Shared centered section head for new sections */
.msq_svc-detail__section-head {
	text-align: center;
	max-width: 640px;
	margin: 0 auto clamp(40px, 5vw, 64px);
}
.msq_svc-detail__section-head h2 {
	font-size: clamp(1.75rem, 1.1rem + 2vw, 2.5rem);
	color: var(--msq-navy-dark);
	margin: var(--blnr-sp-5) auto var(--blnr-sp-4);
	letter-spacing: -0.022em;
	max-width: 36ch;
	line-height: 1.18;
	text-align: center;
	text-wrap: pretty;
}
/* Some nested rules earlier set the why h2 with no text-align — force center */
.msq_svc-detail__why .msq_svc-detail__section-head h2,
.msq_svc-detail__deliverables .msq_svc-detail__section-head h2,
.msq_svc-detail__industries .msq_svc-detail__section-head h2 { text-align: center; }
.msq_svc-detail__section-lead {
	font-size: clamp(1rem, .95rem + .25vw, 1.125rem);
	line-height: 1.55;
	color: var(--blnr-ink-soft);
	margin: 0 auto;
	max-width: 56ch;
}

/* Section 5 — Featured case study */
.msq_svc-detail__case {
	margin: clamp(48px, 5.5vw, 72px) 0 0;
	padding: clamp(40px, 4.5vw, 60px) 0;
	scroll-margin-top: 96px;
}
.msq_svc-detail__case-head { text-align: center; max-width: 720px; margin: 0 auto clamp(28px, 3.5vw, 48px); }
.msq_svc-detail__case-eyebrow {
	display: inline-block;
	font: 700 .75rem/1 var(--blnr-font-display);
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--msq-cyan-600);
	margin-bottom: var(--blnr-sp-4);
}
.msq_svc-detail__case-head h2 {
	font-size: clamp(2rem, 1.3rem + 2.4vw, 3rem);
	color: var(--msq-navy-dark);
	margin: 0 0 var(--blnr-sp-4);
	letter-spacing: -0.024em;
}
.msq_svc-detail__case-sum {
	font-size: clamp(1.0625rem, .95rem + .35vw, 1.1875rem);
	color: var(--blnr-ink-soft);
	margin: 0 auto;
	max-width: 56ch;
	line-height: 1.6;
}
.msq_svc-detail__case-media {
	margin: clamp(32px, 4vw, 56px) 0;
	border-radius: var(--blnr-r-lg);
	overflow: hidden;
	box-shadow: 0 24px 60px rgba(5,42,99,.16), 0 6px 14px rgba(5,42,99,.08);
	background: var(--msq-mist);
}
.msq_svc-detail__case-media img {
	width: 100%; height: auto; display: block;
	aspect-ratio: 16/9;
	object-fit: cover;
	transition: transform .6s var(--blnr-ease-out);
}
.msq_svc-detail__case-media:hover img { transform: scale(1.03); }
.msq_svc-detail__case-placeholder {
	width: 100%;
	aspect-ratio: 16/9;
	display: grid; place-items: center;
	background:
		radial-gradient(ellipse at 25% 25%, rgba(27,181,242,.20), transparent 55%),
		linear-gradient(135deg, var(--msq-navy-dark) 0%, var(--msq-navy) 100%);
	color: rgba(255,255,255,.40);
}
/* Editorial mini case story — labelled rows, no cards */
.msq_svc-detail__case-story {
	max-width: 760px;
	margin: 0 auto;
	display: grid;
	gap: clamp(28px, 3.5vw, 48px);
}
.msq_svc-detail__case-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px clamp(28px, 3vw, 40px);
	padding-bottom: clamp(28px, 3.5vw, 48px);
	border-bottom: 1px solid rgba(5,42,99,.10);
}
.msq_svc-detail__case-row:last-child { border-bottom: 0; padding-bottom: 0; }
@media (min-width: 720px) {
	.msq_svc-detail__case-row { grid-template-columns: 200px 1fr; align-items: start; }
}
.msq_svc-detail__case-label {
	font: 700 .75rem/1.2 var(--blnr-font-display);
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--msq-cyan-600);
}
.msq_svc-detail__case-row .msq_rich p {
	margin: 0;
	font-size: 1.0625rem;
	color: var(--blnr-ink);
	line-height: 1.65;
}
.msq_svc-detail__case-actions { text-align: center; margin-top: clamp(40px, 5vw, 72px); }

/* Section 6 — Deliverables grid */
.msq_svc-detail__deliverables {
	margin: clamp(48px, 5.5vw, 72px) 0 0;
	padding: clamp(40px, 5vw, 64px) 0;
	position: relative;
}
.msq_svc-detail__deliverables::before {
	content: "";
	position: absolute;
	top: 0; bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	background: var(--msq-mist);
	z-index: -1;
}
.msq_svc-detail__deliv-grid {
	list-style: none; padding: 0; margin: 0;
	display: grid;
	gap: 16px;
	grid-template-columns: 1fr;
}
@media (min-width: 560px)  { .msq_svc-detail__deliv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 880px)  { .msq_svc-detail__deliv-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.msq_svc-detail__deliv-card {
	background: var(--msq-paper);
	border: 1px solid rgba(5,42,99,.08);
	border-radius: var(--blnr-r-md);
	padding: clamp(20px, 2.4vw, 26px);
	display: flex; align-items: center; gap: 14px;
	transition: transform .25s var(--blnr-ease-out), box-shadow .25s, border-color .2s;
	box-shadow: 0 2px 6px rgba(5,42,99,.04);
}
.msq_svc-detail__deliv-card:hover {
	transform: translateY(-3px);
	border-color: rgba(27,181,242,.45);
	box-shadow: 0 14px 28px rgba(5,42,99,.10);
}
.msq_svc-detail__deliv-icon {
	flex: 0 0 40px;
	width: 40px; height: 40px;
	display: inline-grid; place-items: center;
	background: rgba(27,181,242,.12);
	color: var(--msq-cyan-600);
	border-radius: var(--blnr-r-md);
}
.msq_svc-detail__deliv-label {
	font-weight: 600;
	font-size: .9375rem;
	color: var(--msq-navy-dark);
	line-height: 1.3;
}

/* Section 7 — Why M² 4 equal trust cards (Option B) */
.msq_svc-detail__why {
	margin: clamp(48px, 5.5vw, 72px) 0 0;
	padding: clamp(40px, 5vw, 64px) 0;
	background: none;
}
.msq_svc-detail__why::before { display: none; }
.msq_svc-detail__why-grid {
	list-style: none; padding: 0; margin: 0;
	display: grid;
	gap: 20px;
	grid-template-columns: 1fr;
}
@media (min-width: 560px) { .msq_svc-detail__why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; } }
@media (min-width: 880px) { .msq_svc-detail__why-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; } }
.msq_svc-detail__why-card {
	display: flex; flex-direction: column;
	background: var(--msq-paper);
	border: 1px solid rgba(5,42,99,.08);
	border-radius: var(--blnr-r-md);
	padding: clamp(22px, 2.4vw, 30px) clamp(20px, 2.2vw, 26px);
	box-shadow: 0 4px 14px rgba(5,42,99,.05);
	transition: transform .28s var(--blnr-ease-out), box-shadow .28s var(--blnr-ease-out), border-color .2s;
	min-height: 100%;
}
.msq_svc-detail__why-card:hover {
	transform: translateY(-4px);
	border-color: rgba(27,181,242,.40);
	box-shadow: 0 18px 36px rgba(5,42,99,.10);
}
.msq_svc-detail__why-icon {
	display: inline-grid; place-items: center;
	width: 48px; height: 48px;
	background: rgba(27,181,242,.10);
	color: var(--msq-cyan-600);
	border-radius: var(--blnr-r-md);
	margin-bottom: var(--blnr-sp-5);
}
.msq_svc-detail__why-card h3 {
	font-size: 1.125rem;
	color: var(--msq-navy-dark);
	margin: 0 0 var(--blnr-sp-3);
	letter-spacing: -0.012em;
}
.msq_svc-detail__why-card p {
	color: var(--blnr-ink-soft);
	font-size: .9375rem;
	line-height: 1.6;
	margin: 0;
}

/* Section 8 — Statistics strip — full-width band */
.msq_svc-detail__stats {
	margin: clamp(48px, 5.5vw, 72px) 0 0;
	padding: clamp(40px, 4.5vw, 60px) clamp(24px, 4vw, 64px);
	background: linear-gradient(135deg, var(--msq-navy-dark) 0%, var(--msq-navy) 70%, #114E9C 100%);
	color: #fff;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	border-radius: 0;
	overflow: hidden;
	isolation: isolate;
	box-shadow: 0 20px 40px rgba(0,61,143,.15);
}
.msq_svc-detail__stats::before {
	content: "";
	position: absolute; inset: 0;
	z-index: -1;
	background:
		radial-gradient(ellipse at 15% 25%, rgba(27,181,242,.20), transparent 50%),
		radial-gradient(ellipse at 90% 90%, rgba(27,181,242,.15), transparent 55%);
}
.msq_svc-detail__stats ul {
	list-style: none; padding: 0; margin: 0;
	display: grid; gap: 32px 24px;
	grid-template-columns: repeat(2, 1fr);
	text-align: center;
}
@media (min-width: 720px) { .msq_svc-detail__stats ul { grid-template-columns: repeat(4, 1fr); } }
.msq_svc-detail__stats li { display: grid; gap: 8px; }
.msq_svc-detail__stats strong {
	font: 700 clamp(3.25rem, 1.8rem + 4.4vw, 5.25rem)/1 var(--blnr-font-display);
	color: #fff;
	letter-spacing: -0.036em;
}
.msq_svc-detail__stats span {
	font: 600 .625rem/1.3 var(--blnr-font-display);
	text-transform: uppercase;
	letter-spacing: .20em;
	color: rgba(255,255,255,.60);
	max-width: 22ch;
	margin: 0 auto;
}

/* Section 9 — Industries served */
.msq_svc-detail__industries {
	margin: clamp(48px, 5.5vw, 72px) 0 0;
	padding: clamp(40px, 5vw, 64px) 0 clamp(40px, 5vw, 64px);
}
.msq_svc-detail__ind-grid {
	list-style: none; padding: 0; margin: 0;
	display: grid; gap: clamp(20px, 2.5vw, 32px);
	grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 640px)  { .msq_svc-detail__ind-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .msq_svc-detail__ind-grid { grid-template-columns: repeat(5, 1fr); } }
.msq_svc-detail__ind-grid li {
	background: var(--msq-paper);
	border: 1px solid rgba(5,42,99,.08);
	border-radius: var(--blnr-r-md);
	padding: clamp(28px, 3vw, 36px) clamp(20px, 2.4vw, 28px);
	display: flex; flex-direction: column; align-items: center;
	gap: clamp(14px, 1.8vw, 20px);
	text-align: center;
	transition: transform .25s var(--blnr-ease-out), border-color .2s, box-shadow .25s;
}
.msq_svc-detail__ind-grid li:hover {
	transform: translateY(-3px);
	border-color: rgba(27,181,242,.45);
	box-shadow: 0 14px 28px rgba(5,42,99,.10);
}
.msq_svc-detail__ind-icon {
	display: inline-grid; place-items: center;
	width: 72px; height: 72px;
	background: rgba(27,181,242,.10);
	color: var(--msq-cyan-600);
	border-radius: var(--blnr-r-md);
}
.msq_svc-detail__ind-icon svg { width: 38px; height: 38px; }
.msq_svc-detail__ind-grid li span:last-child {
	font: 700 .75rem/1.2 var(--blnr-font-display);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--msq-navy-dark);
}

/* Section 10 — Personalized final CTA */
.msq_svc-detail__cta {
	margin: clamp(48px, 6vw, 72px) 0 0;
	padding: clamp(96px, 12vw, 144px) 0;
	background: linear-gradient(135deg, var(--msq-navy-dark) 0%, var(--msq-navy) 60%, #114E9C 100%);
	color: #fff;
	position: relative;
	overflow: hidden;
	isolation: isolate;
	text-align: center;
}
.msq_svc-detail__cta h2 { max-width: 26ch; }
.msq_svc-detail__cta p { max-width: 60ch; }
/* Pin the CTA flush to the footer — no orphan white strip between them */
.msq_svc-detail__cta + footer.msq_footer,
section.msq_svc-detail > .msq_svc-detail__cta:last-child { margin-bottom: 0; }
.msq_svc-detail { padding-bottom: 0; }
.msq_svc-detail__cta-glow {
	position: absolute; inset: 0; z-index: -1;
	background:
		radial-gradient(ellipse at 50% 0%, rgba(27,181,242,.30), transparent 60%),
		radial-gradient(ellipse at 90% 100%, rgba(27,181,242,.18), transparent 55%);
	pointer-events: none;
}
.msq_svc-detail__cta-eyebrow {
	display: inline-block;
	font: 700 .75rem/1 var(--blnr-font-display);
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--msq-cyan);
	padding: 8px 18px;
	background: rgba(27,181,242,.14);
	border: 1px solid rgba(27,181,242,.30);
	border-radius: var(--blnr-r-full);
	margin-bottom: var(--blnr-sp-6);
}
.msq_svc-detail__cta h2 {
	font-size: clamp(2rem, 1.3rem + 2.6vw, 3.25rem);
	color: #fff;
	margin: 0 auto var(--blnr-sp-5);
	max-width: 22ch;
	letter-spacing: -0.030em;
	text-wrap: balance;
}
.msq_svc-detail__cta p {
	color: rgba(255,255,255,.85);
	font-size: clamp(1rem, .95rem + .35vw, 1.1875rem);
	line-height: 1.55;
	margin: 0 auto var(--blnr-sp-8);
	max-width: 56ch;
}
.msq_svc-detail__cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
}

/* "How it runs" — own band (Tidii pattern) */
.msq_svc-detail__process {
	position: relative;
	padding: clamp(56px, 7vw, 96px) 0;
	margin: clamp(48px, 6vw, 96px) 0 0;
}
.msq_svc-detail__process::before {
	content: "";
	position: absolute;
	top: 0; bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	background: linear-gradient(180deg, #EEF1F5 0%, #DDE3EB 100%);
	z-index: -1;
}

/* "Why M²" — alternating image+text (mirrors the overview's image-left layout) */
.msq_svc-detail__why {
	position: relative;
	padding: clamp(64px, 8vw, 112px) 0;
	margin: 0 0 clamp(48px, 6vw, 96px);
}
.msq_svc-detail__why::before {
	content: "";
	position: absolute;
	top: 0; bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	background: linear-gradient(180deg, var(--msq-paper) 0%, var(--msq-mist) 100%);
	z-index: -1;
}
.msq_svc-detail__why-intro {
	display: grid;
	gap: clamp(32px, 4vw, 64px);
	grid-template-columns: 1fr;
	align-items: center;
}
@media (min-width: 880px) {
	.msq_svc-detail__why-intro {
		grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	}
	/* Image right, text left (alternation from the overview) */
	.msq_svc-detail__why-text  { order: 1; }
	.msq_svc-detail__why-media { order: 2; }
}
.msq_svc-detail__why-eyebrow {
	display: inline-block;
	font: 700 .75rem/1 var(--blnr-font-display);
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--msq-cyan-600);
	margin-bottom: var(--blnr-sp-4);
}
.msq_svc-detail__why h2 {
	font-size: clamp(1.75rem, 1.1rem + 2vw, 2.5rem);
	color: var(--msq-navy-dark);
	margin: var(--blnr-sp-5) auto var(--blnr-sp-4);
	max-width: 36ch;
	line-height: 1.18;
	letter-spacing: -0.022em;
	text-align: center;
	text-wrap: pretty;
}
.msq_svc-detail__why-lead {
	font-size: clamp(1.0625rem, .95rem + .35vw, 1.1875rem);
	line-height: 1.6;
	color: var(--blnr-ink-soft);
	margin: 0 0 var(--blnr-sp-8);
	max-width: 56ch;
}
.msq_svc-detail__why-list {
	list-style: none; padding: 0; margin: 0;
	display: grid; gap: 18px;
}
.msq_svc-detail__why-list li {
	display: grid;
	grid-template-columns: 14px 1fr;
	gap: 14px;
	align-items: start;
}
.msq_svc-detail__why-list strong {
	display: block;
	color: var(--msq-navy-dark);
	font-weight: 700;
	margin-bottom: 2px;
}
.msq_svc-detail__why-list span {
	color: var(--blnr-ink-soft);
	font-size: .9375rem;
	line-height: 1.55;
}
.msq_svc-detail__why-mark {
	width: 10px; height: 10px;
	margin-top: 9px;
	background: var(--msq-cyan-600);
	transform: rotate(45deg);
}
.msq_svc-detail__why-media img {
	width: 100%; height: auto; display: block;
	aspect-ratio: 4/3;
	object-fit: cover;
	border-radius: var(--blnr-r-lg);
	box-shadow: 0 16px 40px rgba(5,42,99,.12), 0 4px 10px rgba(5,42,99,.06);
}
.msq_svc-detail__why-placeholder {
	position: relative;
	width: 100%;
	aspect-ratio: 4/3;
	display: grid; place-items: center;
	background:
		radial-gradient(ellipse at 25% 20%, rgba(27,181,242,.20), transparent 55%),
		radial-gradient(ellipse at 80% 90%, rgba(27,181,242,.15), transparent 55%),
		linear-gradient(135deg, var(--msq-navy-dark) 0%, var(--msq-navy) 65%, #114E9C 100%);
	color: rgba(255,255,255,.40);
	border-radius: var(--blnr-r-lg);
	box-shadow: 0 16px 40px rgba(5,42,99,.20);
	overflow: hidden;
	isolation: isolate;
}
.msq_svc-detail__why-placeholder::before {
	content: "";
	position: absolute; inset: 0;
	z-index: -1;
	background-image:
		linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
	background-size: 36px 36px;
	-webkit-mask-image: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.65) 0%, rgba(0,0,0,0) 75%);
	        mask-image: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.65) 0%, rgba(0,0,0,0) 75%);
}
.msq_svc-detail__why-placeholder svg {
	width: clamp(80px, 14vw, 144px);
	height: clamp(80px, 14vw, 144px);
}
.msq_svc-detail__process-head {
	max-width: 640px;
	margin: 0 auto clamp(40px, 5vw, 64px);
	text-align: center;
}
.msq_svc-detail__process-eyebrow {
	display: inline-block;
	font: 700 .75rem/1 var(--blnr-font-display);
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--msq-cyan-600);
	padding: 8px 18px;
	background: rgba(27,181,242,.12);
	border: 1px solid rgba(27,181,242,.28);
	margin-bottom: var(--blnr-sp-5);
}
.msq_svc-detail__process h2 {
	font-size: clamp(1.875rem, 1.2rem + 2.2vw, 2.75rem);
	color: var(--msq-navy-dark);
	margin: 0 0 var(--blnr-sp-5);
	letter-spacing: -0.022em;
	text-wrap: balance;
}
.msq_svc-detail__process-lead {
	font-size: clamp(1rem, .95rem + .35vw, 1.1875rem);
	line-height: 1.55;
	color: var(--blnr-ink-soft);
	margin: 0;
	max-width: 56ch;
	margin-inline: auto;
}

.msq_svc-detail__cap-grid {
	list-style: none; padding: 0; margin: 0;
	display: grid; gap: 14px 28px;
	grid-template-columns: 1fr;
}
@media (min-width: 640px)  { .msq_svc-detail__cap-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .msq_svc-detail__cap-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.msq_svc-detail__cap-grid li { display: flex; gap: 12px; align-items: flex-start; font-size: .9375rem; color: var(--blnr-ink); line-height: 1.4; }
.msq_svc-detail__cap-mark {
	flex: 0 0 28px;
	width: 28px; height: 28px;
	display: inline-grid; place-items: center;
	background: rgba(27,181,242,.10);
	color: var(--msq-cyan-600);
	border: 1px solid rgba(27,181,242,.30);
	margin-top: 1px;
}

.msq_svc-detail__steps {
	list-style: none; padding: 0; margin: 0;
	display: grid; gap: 18px;
	counter-reset: msq-svc-step;
}
@media (min-width: 880px) { .msq_svc-detail__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; } }
.msq_svc-detail__step {
	background: var(--msq-paper);
	border: 1px solid var(--blnr-border);
	padding: 26px 24px;
	border-radius: 0;
	transition: border-color .2s, transform .25s var(--blnr-ease-out);
}
.msq_svc-detail__step:hover { border-color: var(--msq-cyan); transform: translateY(-2px); }
.msq_svc-detail__step-num {
	display: inline-block;
	font: 700 .75rem/1 var(--blnr-font-display);
	letter-spacing: .18em;
	color: var(--msq-cyan-600);
	margin-bottom: var(--blnr-sp-4);
}
.msq_svc-detail__step h3 {
	color: var(--msq-navy-dark);
	font-size: 1.125rem;
	margin: 0 0 var(--blnr-sp-3);
}
.msq_svc-detail__step p {
	color: var(--blnr-ink-soft);
	font-size: .9375rem;
	line-height: 1.6;
	margin: 0;
}

/* (legacy 3-up dark cards — superseded by the 4-card editorial grid above) */

/* ====================================================================
   Hero — right-side tilted-stack composition (3 images)
   ==================================================================== */
.msq_hero { position: relative; overflow: hidden; }
.msq_hero__stack {
	/* Mobile-first: flows below the hero text, full container width */
	position: relative;
	width: 100%;
	max-width: 380px;
	margin: clamp(24px, 6vw, 48px) auto 0;
	aspect-ratio: 1 / 1;
	display: block;
	z-index: 1;
	/* 3D context so cards layer via translateZ (animatable) — no z-index snapping */
	perspective: 1400px;
	transform-style: preserve-3d;
}
@media (min-width: 1101px) {
	.msq_hero__stack {
		position: absolute;
		top: 50%;
		right: clamp(32px, 4vw, 80px);
		transform: translateY(-50%);
		width: min(40vw, 560px);
		max-width: none;
		margin: 0;
	}
}
.msq_hero__stack-card {
	position: absolute;
	/* Cards are 80 % of the container — leaves 10 % each side for the peek */
	top: 50%;
	left: 50%;
	width: 80%;
	height: 80%;
	margin: 0;
	padding: clamp(20px, 2.4vw, 30px);
	border-radius: var(--blnr-r-lg);
	overflow: hidden;
	background: var(--msq-paper);
	box-shadow:
		0 24px 48px rgba(5,42,99,.32),
		0 8px 18px rgba(0,0,0,.18),
		0 0 0 1px rgba(255,255,255,.08) inset;
	transform-origin: center center;
	transform-style: preserve-3d;
	backface-visibility: hidden;
	will-change: transform;
	/* Single composited transform — no z-index, no opacity, no filter swaps */
	transition: transform .8s cubic-bezier(.32, .72, .35, 1);
}
.msq_hero__stack-card img {
	width: 100%; height: 100%;
	object-fit: contain;
	display: block;
}

/* Default state: center card forward, side cards pushed back in Z (no z-index swap) */
.msq_hero__stack-card[data-msq-stack-slot="0"] {
	transform: translate3d(-75%, -50%, -120px) scale(.88);
}
.msq_hero__stack-card[data-msq-stack-slot="1"] {
	transform: translate3d(-50%, -50%, 0) scale(1);
}
.msq_hero__stack-card[data-msq-stack-slot="2"] {
	transform: translate3d(-25%, -50%, -120px) scale(.88);
}

/* Front-card promotion via [data-msq-front] on the stack */
.msq_hero__stack[data-msq-front="0"] .msq_hero__stack-card[data-msq-stack-slot="0"] {
	transform: translate3d(-50%, -50%, 0) scale(1);
}
.msq_hero__stack[data-msq-front="0"] .msq_hero__stack-card[data-msq-stack-slot="1"] {
	transform: translate3d(-25%, -50%, -120px) scale(.88);
}
.msq_hero__stack[data-msq-front="0"] .msq_hero__stack-card[data-msq-stack-slot="2"] {
	transform: translate3d(-75%, -50%, -120px) scale(.88);
}

.msq_hero__stack[data-msq-front="2"] .msq_hero__stack-card[data-msq-stack-slot="2"] {
	transform: translate3d(-50%, -50%, 0) scale(1);
}
.msq_hero__stack[data-msq-front="2"] .msq_hero__stack-card[data-msq-stack-slot="0"] {
	transform: translate3d(-25%, -50%, -120px) scale(.88);
}
.msq_hero__stack[data-msq-front="2"] .msq_hero__stack-card[data-msq-stack-slot="1"] {
	transform: translate3d(-75%, -50%, -120px) scale(.88);
}

/* Make sure the hero text column doesn't fight the stack visually */
@media (min-width: 1100px) {
	.msq_hero__inner { max-width: 52%; }
}

@media (prefers-reduced-motion: reduce) {
	.msq_hero__stack-card,
	.msq_hero__stack-card[data-msq-stack-slot="1"] { animation: none !important; transition: none; }
}

/* Stack arrows + dots */
.msq_hero__stack-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px; height: 44px;
	display: grid; place-items: center;
	background: rgba(5,42,99,.78);
	color: #fff;
	border: 1px solid rgba(255,255,255,.20);
	border-radius: 50%;
	cursor: pointer;
	pointer-events: auto;
	transition: background .2s, transform .2s var(--blnr-ease-out), box-shadow .2s;
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	box-shadow: 0 10px 22px rgba(0,0,0,.30);
	z-index: 6;
}
.msq_hero__stack-nav:hover {
	background: var(--msq-cyan-600);
	transform: translateY(-50%) scale(1.06);
}
.msq_hero__stack-nav--prev { left: -12px; }
.msq_hero__stack-nav--next { right: -12px; }
@media (max-width: 1200px) {
	.msq_hero__stack-nav--prev { left: 4px; }
	.msq_hero__stack-nav--next { right: 4px; }
}

.msq_hero__stack-dots {
	position: absolute;
	left: 50%; bottom: -26px;
	transform: translateX(-50%);
	display: inline-flex; gap: 10px;
	pointer-events: auto;
	z-index: 6;
}
.msq_hero__stack-dot {
	width: 10px; height: 10px;
	background: rgba(255,255,255,.40);
	border: 1px solid rgba(255,255,255,.55);
	border-radius: var(--blnr-r-sm);
	cursor: pointer;
	padding: 0;
	transition: background .2s, transform .2s, border-color .2s;
}
.msq_hero__stack-dot:hover { background: rgba(255,255,255,.70); }
.msq_hero__stack-dot[aria-current="true"] {
	background: var(--msq-cyan);
	border-color: var(--msq-cyan);
	width: 26px;
	transform: scaleY(1.1);
}

/* Manual nav — arrows + squared dots */
.msq_hero__stack-nav,
.msq_hero__stack-dots { pointer-events: auto; }

.msq_hero__stack-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px; height: 44px;
	display: inline-grid; place-items: center;
	background: rgba(5,42,99,.78);
	color: #fff;
	border: 1px solid rgba(255,255,255,.15);
	border-radius: var(--blnr-r-md);
	cursor: pointer;
	z-index: 5;
	opacity: 0;
	transition: opacity .25s, background .2s, transform .2s var(--blnr-ease-out);
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	box-shadow: 0 6px 14px rgba(0,0,0,.20);
}
.msq_hero__stack:hover .msq_hero__stack-nav,
.msq_hero__stack:focus-within .msq_hero__stack-nav { opacity: 1; }
.msq_hero__stack-nav:hover {
	background: var(--msq-cyan-600);
	border-color: var(--msq-cyan);
	transform: translateY(-50%) scale(1.06);
}
.msq_hero__stack-nav--prev { left: 6%; }
.msq_hero__stack-nav--next { right: 6%; }
@media (min-width: 1100px) {
	.msq_hero__stack-nav--prev { left: 4%; }
	.msq_hero__stack-nav--next { right: 4%; }
}

.msq_hero__stack-dots {
	position: absolute;
	left: 50%;
	bottom: -36px;
	transform: translateX(-50%);
	display: flex; gap: 10px;
	z-index: 5;
}
.msq_hero__stack-dot {
	width: 14px; height: 14px;
	background: transparent;
	border: 1.5px solid rgba(255,255,255,.55);
	border-radius: 3px;
	padding: 0;
	cursor: pointer;
	transition: background .2s, border-color .2s, transform .15s var(--blnr-ease-out);
}
.msq_hero__stack-dot:hover { border-color: #fff; transform: scale(1.1); }
.msq_hero__stack[data-msq-front="0"] .msq_hero__stack-dot[data-msq-stack-goto="0"],
.msq_hero__stack[data-msq-front="1"] .msq_hero__stack-dot[data-msq-stack-goto="1"],
.msq_hero__stack[data-msq-front="2"] .msq_hero__stack-dot[data-msq-stack-goto="2"] {
	background: var(--msq-cyan);
	border-color: var(--msq-cyan);
}
.msq_svc-block {
	padding: clamp(40px, 5vw, 64px) 0;
	border-top: 1px solid var(--blnr-border-soft);
	scroll-margin-top: 160px;   /* offset for sticky nav when anchor-linked */
}
.msq_svc-block:first-child { border-top: 0; padding-top: clamp(48px, 6vw, 80px); }
.msq_svc-block:nth-child(even) { background: var(--msq-mist); }

.msq_svc-block__grid {
	display: grid; gap: 0;
	grid-template-columns: 1fr;
	align-items: center;
}
@media (min-width: 980px) {
	.msq_svc-block__grid { grid-template-columns: 1.05fr 1fr; gap: clamp(40px, 5vw, 80px); }
	.msq_svc-block.is-reversed .msq_svc-block__media        { grid-column: 2; grid-row: 1; }
	.msq_svc-block.is-reversed .msq_svc-block__content-wrap { grid-column: 1; grid-row: 1; }
}

/* Media */
.msq_svc-block__media {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--msq-cloud);
}
@media (min-width: 980px) {
	.msq_svc-block:not(.is-reversed) .msq_svc-block__media { border-radius: 0; }
	.msq_svc-block.is-reversed .msq_svc-block__media       { border-radius: 0; }
}
.msq_svc-block__img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--blnr-ease-out); }
.msq_svc-block:hover .msq_svc-block__img { transform: scale(1.04); }
.msq_svc-block__placeholder {
	width: 100%; height: 100%;
	display: grid; place-items: center;
	background: linear-gradient(135deg, rgba(27,181,242,.10) 0%, var(--msq-cloud) 100%);
	color: rgba(0,61,143,.40);
}
.msq_svc-block__num {
	position: absolute;
	top: 18px; left: 22px;
	font: 800 .9375rem/1 var(--blnr-font-display);
	color: #fff;
	padding: 7px 14px;
	background: rgba(0,61,143,.70);
	border-radius: var(--blnr-r-md);
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}

/* Content */
.msq_svc-block__content-wrap {
	padding: 32px var(--blnr-gutter);
	display: flex; align-items: center;
}
@media (min-width: 980px) {
	.msq_svc-block:not(.is-reversed) .msq_svc-block__content-wrap {
		padding-right: max(var(--blnr-gutter), calc((100vw - var(--blnr-container)) / 2));
		padding-left: 0;
	}
	.msq_svc-block.is-reversed .msq_svc-block__content-wrap {
		padding-left: max(var(--blnr-gutter), calc((100vw - var(--blnr-container)) / 2));
		padding-right: 0;
	}
}
.msq_svc-block__content { max-width: 540px; }

.msq_svc-block__icon-row {
	display: flex; align-items: center; gap: 14px;
	margin-bottom: var(--blnr-sp-4);
}
.msq_svc-block__icon {
	display: inline-grid; place-items: center;
	width: 44px; height: 44px;
	border-radius: 0;
	background: rgba(27,181,242,.12);
	color: var(--msq-cyan-600);
}
.msq_svc-block__eyebrow {
	font: 700 .75rem/1 var(--blnr-font-display);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--msq-navy-dark);
}
.msq_svc-block__title {
	font-family: var(--blnr-font-display);
	font-weight: 800;
	font-size: clamp(2rem, 1.4rem + 2.4vw, 3.25rem);
	letter-spacing: -0.038em;
	line-height: 1.02;
	color: var(--msq-navy-dark);
	margin: 0 0 var(--blnr-sp-4);
	max-width: 16ch;
	text-wrap: balance;
}
.msq_svc-block__summary {
	font-size: clamp(1rem, .95rem + .25vw, 1.1875rem);
	line-height: 1.55;
	color: var(--msq-navy);
	font-weight: 500;
	margin: 0 0 var(--blnr-sp-4);
}
.msq_svc-block__body {
	color: var(--blnr-ink-soft);
	font-size: 1rem;
	line-height: 1.65;
	margin: 0 0 var(--blnr-sp-6);
}
.msq_svc-block__body p { margin: 0 0 var(--blnr-sp-4); }
.msq_svc-block__body p:last-child { margin-bottom: 0; }

/* Capabilities list */
.msq_svc-block__caps {
	padding: 22px 24px;
	background: var(--msq-mist);
	border: 1px solid var(--blnr-border-soft);
	border-radius: 0;
	margin-bottom: var(--blnr-sp-6);
}
.msq_svc-block:nth-child(even) .msq_svc-block__caps {
	background: var(--msq-paper);
}
.msq_svc-block__caps-title {
	font: 800 .75rem/1 var(--blnr-font-display);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--msq-cyan-600);
	margin: 0 0 14px;
}
.msq_svc-block__caps ul {
	list-style: none; padding: 0; margin: 0;
	display: grid; gap: 10px;
}
@media (min-width: 640px) { .msq_svc-block__caps ul { grid-template-columns: 1fr 1fr; gap: 10px 22px; } }
.msq_svc-block__caps li {
	display: flex; align-items: flex-start; gap: 10px;
	font-size: .9375rem;
	color: var(--msq-navy-dark);
	font-weight: 500;
}
.msq_svc-block__caps li::before {
	content: ""; flex: 0 0 6px;
	width: 6px; height: 6px;
	background: var(--msq-cyan);
	border-radius: 0;
	transform: rotate(45deg);
	margin-top: 8px;
}

.msq_svc-block__actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* ====================================================================
   About page — Story + Timeline + Values
   ==================================================================== */

.msq_about-story { padding: clamp(40px, 5vw, 64px) 0; background: var(--msq-paper); }

/* Editorial 2-col grid: heading anchors the left, body fills the right.
   On mobile: stacks naturally. */
.msq_about-story__grid {
	display: grid;
	gap: clamp(32px, 4vw, 64px);
	grid-template-columns: 1fr;
	max-width: 1200px;
	margin: 0 auto;
}
@media (min-width: 880px) {
	.msq_about-story__grid {
		grid-template-columns: minmax(280px, 1fr) minmax(0, 1.8fr);
		gap: clamp(48px, 6vw, 100px);
		align-items: start;
	}
}

.msq_about-story__head { margin: 0; }
@media (min-width: 880px) {
	.msq_about-story__head {
		position: sticky;
		top: 120px;   /* clears sticky header + breathing room */
	}
}
.msq_about-story__head .msq_eyebrow {
	margin-bottom: 0;
}
.msq_about-story__head h2 {
	font-family: var(--blnr-font-display);
	font-weight: 800;
	font-size: clamp(2rem, 1.4rem + 2.4vw, 3.25rem);
	letter-spacing: -0.038em;
	line-height: 1.04;
	color: var(--msq-navy-dark);
	margin: 18px 0 0;
	max-width: 14ch;
	text-wrap: balance;
}

.msq_about-story__body {
	max-width: 660px;
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--blnr-ink-soft);
}
.msq_about-story__body p { margin: 0 0 var(--blnr-sp-5); }
.msq_about-story__body p:last-child { margin: 0; }
.msq_about-story__body p:first-child::first-letter {
	/* Subtle editorial detail: slightly bigger first letter */
	font-weight: 600;
	color: var(--msq-navy-dark);
}

/* Team section — give it a soft mist background so it differentiates from the
   white sections above/below */
.msq_team {
	padding: clamp(40px, 5vw, 64px) 0;
	background: var(--msq-mist);
}

/* Timeline */
.msq_timeline { padding: clamp(80px, 10vw, 140px) 0; background: var(--msq-mist); }
.msq_timeline__list {
	list-style: none; padding: 0; margin: 0;
	max-width: 880px; margin: 0 auto;
	position: relative;
}
.msq_timeline__list::before {
	content: ""; position: absolute;
	left: 86px; top: 28px; bottom: 28px;
	width: 2px;
	background: linear-gradient(180deg, var(--msq-cyan) 0%, rgba(0,61,143,.20) 100%);
}
.msq_timeline__step {
	position: relative;
	display: grid;
	grid-template-columns: 120px 1fr;
	grid-template-areas: "year content";
	gap: 32px;
	align-items: start;
	padding-bottom: clamp(32px, 4vw, 56px);
}
.msq_timeline__step:last-child { padding-bottom: 0; }

.msq_timeline__year {
	grid-area: year;
	font-family: var(--blnr-font-display);
	font-weight: 800;
	font-size: .9375rem;
	letter-spacing: -0.02em;
	color: #fff;
	padding: 8px 14px;
	background: linear-gradient(135deg, var(--msq-cyan) 0%, var(--msq-navy) 100%);
	border-radius: var(--blnr-r-md);
	box-shadow: 0 6px 14px rgba(0,61,143,.18);
	position: relative;
	z-index: 2;
	text-align: center;
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	justify-self: stretch;
}
.msq_timeline__year-arrow { display: none; flex: 0 0 auto; }

.msq_timeline__content { grid-area: content; }

@media (max-width: 720px) {
	.msq_timeline__list::before { display: none; }
	.msq_timeline__step {
		grid-template-columns: 1fr;
		grid-template-areas:
			"year"
			"content";
		gap: 10px;
	}
	.msq_timeline__year {
		font-size: .8125rem;
		padding: 6px 12px 6px 10px;
		letter-spacing: 0;
		justify-self: start;
		box-shadow: 0 4px 10px rgba(0,61,143,.14);
	}
	.msq_timeline__year-arrow { display: inline-block; color: rgba(255,255,255,.9); }
}

.msq_timeline__content {
	background: var(--msq-paper);
	border: 1px solid var(--blnr-border);
	border-radius: var(--blnr-r-lg);
	padding: 22px 26px 24px;
	box-shadow: var(--blnr-shadow-card);
	transition: transform .25s var(--blnr-ease-out), box-shadow .25s, border-color .2s;
}
.msq_timeline__step:hover .msq_timeline__content {
	transform: translateX(4px);
	border-color: rgba(27,181,242,.45);
	box-shadow: 0 14px 32px rgba(0,61,143,.10);
}
.msq_timeline__title {
	font-family: var(--blnr-font-display);
	font-weight: 700;
	font-size: 1.1875rem;
	letter-spacing: -0.015em;
	color: var(--msq-navy-dark);
	margin: 0 0 8px;
}
.msq_timeline__body {
	font-size: .9375rem;
	line-height: 1.6;
	color: var(--blnr-ink-soft);
	margin: 0;
}

/* Core values */
.msq_values { padding: clamp(40px, 5vw, 64px) 0; background: var(--msq-mist); }
.msq_values__grid {
	display: grid; gap: 20px;
	grid-template-columns: 1fr;
}
@media (min-width: 640px)  { .msq_values__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .msq_values__grid { grid-template-columns: repeat(4, 1fr); gap: 24px; } }
.msq_values__card {
	background: var(--msq-paper);
	border: 1px solid var(--blnr-border);
	border-radius: var(--blnr-r-lg);
	padding: 28px 26px;
	transition: border-color .2s, background .2s;
}
.msq_values__card:hover { border-color: var(--msq-cyan); background: rgba(27,181,242,.03); }
.msq_values__card:hover .msq_values__icon { background: var(--msq-cyan); color: #fff; }
.msq_values__icon {
	display: inline-grid; place-items: center;
	width: 48px; height: 48px;
	border-radius: var(--blnr-r-md);
	background: rgba(27,181,242,.12);
	color: var(--msq-cyan-600);
	margin-bottom: 18px;
	transition: background .2s, color .2s;
}
.msq_values__title {
	font-family: var(--blnr-font-display);
	font-weight: 700;
	font-size: 1.0625rem;
	letter-spacing: -0.01em;
	color: var(--msq-navy-dark);
	margin: 0 0 8px;
}
.msq_values__body {
	font-size: .9375rem;
	line-height: 1.6;
	color: var(--blnr-ink-soft);
	margin: 0;
}

.msq_team__creds {
	font-size: .875rem;
	color: var(--blnr-ink-soft);
	margin: 0 0 var(--blnr-sp-3);
}

/* ---------- 19. Premium page hero (interior pages, ~30% shorter than home) ---- */

.msq_pgh {
	position: relative;
	min-height: clamp(400px, 56vh, 560px);
	display: grid;
	align-items: center;
	color: #fff;
	overflow: hidden;
	isolation: isolate;
	padding: clamp(80px, 11vw, 120px) 0 clamp(60px, 8vw, 80px);
}
.msq_pgh__bg, .msq_pgh__bg-fallback {
	position: absolute; inset: 0; z-index: -3;
	pointer-events: none;
}
.msq_pgh__bg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.msq_pgh__bg-fallback {
	background: linear-gradient(135deg, var(--msq-navy-dark) 0%, var(--msq-navy) 60%, #114E9C 100%);
}
/* Page-hero scrim — matches the homepage hero pattern: dramatic left-heavy
   horizontal fade so the bg image is fully visible on the right while text
   stays AAA-readable on the left. Plus a soft top fade so the breadcrumb /
   header doesn't fight with the image. Uses the same navy as the home hero. */
.msq_pgh__scrim {
	position: absolute; inset: 0; z-index: -2;
	background:
		linear-gradient(90deg,
			rgba(0,61,143,.96)  0%,
			rgba(0,61,143,.92) 22%,
			rgba(0,61,143,.78) 42%,
			rgba(0,61,143,.38) 65%,
			rgba(0,61,143,.10) 85%,
			rgba(0,61,143,0)  100%
		),
		linear-gradient(180deg, rgba(5,42,99,.32) 0%, rgba(5,42,99,0) 22%);
	opacity: 0;
	transition: opacity .4s;
}
.msq_pgh.has-bg .msq_pgh__scrim { opacity: 1; }
.msq_pgh__glow {
	position: absolute; inset: 0; z-index: -1;
	background:
		radial-gradient(ellipse at 18% 30%, rgba(27,181,242,.22), transparent 55%),
		radial-gradient(ellipse at 90% 85%, rgba(27,181,242,.16), transparent 50%);
	pointer-events: none;
}
.msq_pgh__blueprint {
	position: absolute; inset: 0; z-index: -1;
	background-image:
		linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
	background-size: 60px 60px;
	-webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,.10) 60%, transparent 100%);
	        mask-image: linear-gradient(90deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,.10) 60%, transparent 100%);
	pointer-events: none;
}

.msq_pgh__inner { max-width: 760px; }
.msq_pgh__eyebrow {
	display: inline-flex; align-items: center; gap: 8px;
	font-family: var(--blnr-font-display);
	font-weight: 700;
	font-size: .75rem;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--msq-cyan);
	padding: 7px 16px;
	background: rgba(27,181,242,.14);
	border: 1px solid rgba(27,181,242,.30);
	border-radius: var(--blnr-r-full);
	margin-bottom: var(--blnr-sp-5);
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.msq_pgh__title {
	font-family: var(--blnr-font-display);
	font-weight: 800;
	font-size: clamp(2.25rem, 1.4rem + 3.4vw, 4rem);
	letter-spacing: -0.040em;
	line-height: 1.02;
	color: #fff;
	margin: 0 0 var(--blnr-sp-5);
	max-width: 18ch;
	text-wrap: balance;
}
.msq_pgh__lead {
	font-size: clamp(1rem, .95rem + .25vw, 1.1875rem);
	line-height: 1.55;
	color: rgba(255,255,255,.85);
	max-width: 56ch;
	margin: 0;
}

/* Hero entrance — reuse the homepage keyframes */
.msq_pgh__bg img      { animation: msq-hero-bg-in 1.4s var(--blnr-ease-out) both; }
.msq_pgh__scrim,
.msq_pgh__blueprint,
.msq_pgh__glow        { animation: msq-hero-scrim-in 1s var(--blnr-ease-out) both 100ms; }
.msq_pgh__eyebrow     { animation: msq-hero-fade-up 0.7s var(--blnr-ease-out) both 200ms; }
.msq_pgh__title       { animation: msq-hero-fade-up 0.7s var(--blnr-ease-out) both 320ms; }
.msq_pgh__lead        { animation: msq-hero-fade-up 0.7s var(--blnr-ease-out) both 460ms; }

@media (prefers-reduced-motion: reduce) {
	.msq_pgh__bg img, .msq_pgh__scrim, .msq_pgh__blueprint, .msq_pgh__glow,
	.msq_pgh__eyebrow, .msq_pgh__title, .msq_pgh__lead {
		animation: none !important; opacity: 1 !important; transform: none !important;
	}
}

/* Breadcrumbs — generous padding so it breathes from the sticky header */
.msq_breadcrumbs {
	background: var(--msq-mist);
	padding: clamp(20px, 3vw, 32px) 0 clamp(16px, 2.5vw, 24px);
}

/* Legacy .msq_page-hero kept for fallback (used in places not yet migrated) */
.msq_page-hero {
	padding: clamp(72px, 9vw, 120px) 0 clamp(40px, 5vw, 64px);
	background:
		linear-gradient(180deg, var(--blnr-bg-soft), var(--blnr-bg) 80%),
		radial-gradient(ellipse at 90% 0%, rgba(31,168,224,.10), transparent 60%);
	border-bottom: 1px solid var(--blnr-border-soft);
}
.msq_page-hero__inner { max-width: 820px; }
.msq_page-hero h1 {
	margin: var(--blnr-sp-4) 0 var(--blnr-sp-5);
	font-size: clamp(2rem, 1.4rem + 2.4vw, 3.5rem);
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.08;
}
.msq_page-hero .lead {
	margin: 0;
	font-size: clamp(1.0625rem, .95rem + .35vw, 1.25rem);
	line-height: 1.6;
	color: var(--blnr-ink-soft);
	max-width: 60ch;
}

/* ---------- 20. Rich text on interior pages — body text discipline ------ */

.msq_rich { color: var(--blnr-ink-soft); font-size: 1.0625rem; line-height: 1.7; }
.msq_rich h2 { color: var(--msq-navy-dark); font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); margin: var(--blnr-sp-10) 0 var(--blnr-sp-4); font-weight: 800; letter-spacing: -0.02em; }
.msq_rich h3 { color: var(--msq-navy-dark); font-size: 1.375rem; margin: var(--blnr-sp-8) 0 var(--blnr-sp-3); font-weight: 700; }
.msq_rich p  { color: var(--blnr-ink-soft); margin: 0 0 var(--blnr-sp-5); }
.msq_rich p:last-child { margin-bottom: 0; }
.msq_rich strong { color: var(--msq-navy-dark); font-weight: 700; }
.msq_rich em { color: var(--blnr-ink-soft); font-style: italic; }
.msq_rich a  { color: var(--msq-cyan-600); border-bottom: 1px solid rgba(27,181,242,.35); transition: border-color .15s; }
.msq_rich a:hover { border-bottom-color: var(--msq-cyan-600); }
.msq_rich ul, .msq_rich ol { margin: 0 0 var(--blnr-sp-5) 1.25rem; padding: 0; }
.msq_rich li { margin: 0 0 var(--blnr-sp-2); }
.msq_rich blockquote { margin: var(--blnr-sp-8) 0; padding: var(--blnr-sp-4) var(--blnr-sp-6); border-left: 3px solid var(--msq-cyan); background: var(--blnr-bg-soft); color: var(--blnr-ink); font-style: italic; }
.msq_rich strong { color: var(--blnr-ink); font-weight: 700; }
.msq_rich em { font-style: italic; }

/* ====================================================================
   Marquee — rolling banner of project names under hero/USPs
   ==================================================================== */
.msq_marquee {
	background: var(--msq-navy-dark);
	color: #fff;
	padding: clamp(40px, 5vw, 64px) 0 clamp(40px, 5vw, 64px);
	overflow: hidden;
	position: relative;
	isolation: isolate;
}
.msq_marquee::before, .msq_marquee::after {
	content: "";
	position: absolute;
	top: 50%; transform: translateY(-50%);
	width: 120px; height: 100%;
	z-index: 2;
	pointer-events: none;
}
.msq_marquee::before { left: 0;  background: linear-gradient(90deg, var(--msq-navy-dark), transparent); }
.msq_marquee::after  { right: 0; background: linear-gradient(-90deg, var(--msq-navy-dark), transparent); }
.msq_marquee__label {
	display: block;
	text-align: center;
	font: 700 .75rem/1 var(--blnr-font-display);
	letter-spacing: .26em;
	text-transform: uppercase;
	color: rgba(255,255,255,.55);
	margin-bottom: clamp(20px, 2.5vw, 32px);
}
.msq_marquee__track {
	display: flex;
	gap: 80px;
	animation: msq-marquee 32s linear infinite;
	will-change: transform;
}
.msq_marquee__item {
	display: flex; align-items: center; gap: 80px;
	flex-shrink: 0;
}
.msq_marquee__item span {
	font: 700 clamp(1.5rem, 1rem + 2vw, 2.75rem)/1 var(--blnr-font-display);
	letter-spacing: -0.02em;
	white-space: nowrap;
	color: #fff;
	display: inline-flex; align-items: center; gap: 80px;
}
.msq_marquee__item span::after {
	content: "·";
	color: var(--msq-cyan);
	margin-left: 80px;
}
.msq_marquee__item span:last-child::after { display: none; }
@keyframes msq-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
	.msq_marquee__track { animation: none; }
	.msq_marquee__track { justify-content: center; flex-wrap: wrap; }
}

/* ====================================================================
   Project Showcase — 4 alternating full-width blocks with rotating image
   ==================================================================== */
.msq_projshow-section {
	background: var(--msq-paper);
	padding: clamp(80px, 10vw, 140px) 0 clamp(60px, 7vw, 96px);
	overflow: hidden;   /* contain any potential cell bleed */
}
.msq_projshow-section__all {
	margin-top: clamp(40px, 5vw, 64px);
	text-align: center;
}

/* Edge-to-edge SPT pattern.
   The whole section is full-width (no container wrapper), so the grid's
   image column naturally extends to the nearest viewport edge — no
   negative margins needed. Content column uses calculated padding so
   it lines up with the rest of the page's container.

   IMPORTANT: section gets `overflow: hidden` so any tiny rounding
   error never escapes and causes horizontal page scroll. */

.msq_projshow {
	padding: clamp(56px, 7vw, 96px) 0;
	border-top: 1px solid var(--blnr-border-soft);
	overflow: hidden;
}
.msq_projshow:first-of-type { border-top: 0; padding-top: 0; }

.msq_projshow__grid {
	display: grid;
	gap: 0;
	grid-template-columns: 1fr;
	align-items: stretch;
}
@media (min-width: 980px) {
	.msq_projshow__grid {
		grid-template-columns: 1.05fr 1fr;
		gap: clamp(40px, 5vw, 80px);
		align-items: center;
	}
	/* When reversed, swap which column each part lands in */
	.msq_projshow.is-reversed .msq_projshow__media        { grid-column: 2; grid-row: 1; }
	.msq_projshow.is-reversed .msq_projshow__content-wrap { grid-column: 1; grid-row: 1; }
}

/* --- Media side: takes its grid column, which already touches the
   nearest viewport edge because the section is full-width --- */
.msq_projshow__media {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--msq-mist);
	border-radius: var(--blnr-r-lg);
	box-shadow: 0 20px 60px rgba(0,61,143,.16), 0 4px 12px rgba(0,61,143,.06);
}
.msq_projshow__carousel {
	position: relative; width: 100%; height: 100%;
}
.msq_projshow__img {
	position: absolute; inset: 0;
	width: 100%; height: 100%; object-fit: cover;
	opacity: 0;
	transition: opacity 1s var(--blnr-ease-out);
}
.msq_projshow__img.is-active { opacity: 1; }
.msq_projshow__placeholder {
	width: 100%; height: 100%;
	display: grid; place-items: center;
	gap: 14px;
	background: linear-gradient(135deg, rgba(27,181,242,.10) 0%, var(--msq-cloud) 100%);
	color: rgba(0,61,143,.40);
	font: 600 .9375rem/1.4 var(--blnr-font-display);
}
.msq_projshow__placeholder svg { display: block; }
.msq_projshow__placeholder span { text-align: center; max-width: 24ch; }

/* Dots indicator (bottom-center) — clickable */
.msq_projshow__dots {
	position: absolute;
	bottom: 18px;
	left: 50%; transform: translateX(-50%);
	display: flex; gap: 8px;
	background: rgba(5,42,99,.55);
	padding: 8px 12px;
	border-radius: var(--blnr-r-full);
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	z-index: 3;
}
.msq_projshow__dot {
	width: 10px; height: 10px;
	padding: 0;
	border: 0;
	border-radius: 0;             /* squared dots, on-brand for M² */
	background: rgba(255,255,255,.45);
	cursor: pointer;
	transition: background .3s, transform .2s var(--blnr-ease-out);
}
.msq_projshow__dot:hover { background: rgba(255,255,255,.7); transform: scale(1.15); }
.msq_projshow__dot:focus-visible { outline: 2px solid var(--msq-cyan); outline-offset: 3px; }
.msq_projshow__dot.is-active { background: var(--msq-cyan); transform: scale(1.15); }

/* Prev / Next nav arrows */
.msq_projshow__nav {
	position: absolute;
	top: 50%; transform: translateY(-50%);
	width: 48px; height: 48px;
	display: inline-grid; place-items: center;
	border: 0;
	border-radius: var(--blnr-r-md);   /* squared 8px corners */
	background: rgba(255,255,255,.92);
	color: var(--msq-navy);
	cursor: pointer;
	box-shadow: 0 8px 20px rgba(5,42,99,.18);
	transition: background .2s, color .2s, transform .25s var(--blnr-ease-out), box-shadow .2s;
	z-index: 3;
	opacity: 0;
}
.msq_projshow__media:hover .msq_projshow__nav,
.msq_projshow__nav:focus-visible { opacity: 1; }
.msq_projshow__nav:hover {
	background: var(--msq-cyan);
	color: #fff;
	box-shadow: 0 12px 28px rgba(27,181,242,.32);
}
.msq_projshow__nav--prev { left: 18px; }
.msq_projshow__nav--next { right: 18px; }
.msq_projshow__media:hover .msq_projshow__nav--prev:hover { transform: translateY(-50%) translateX(-2px); }
.msq_projshow__media:hover .msq_projshow__nav--next:hover { transform: translateY(-50%) translateX(2px); }
@media (max-width: 720px) {
	/* Always visible on touch */
	.msq_projshow__nav { opacity: 1; width: 40px; height: 40px; }
}

/* Big project number behind the card */
.msq_projshow__num {
	position: absolute;
	top: 18px; left: 22px;
	font: 800 1rem/1 var(--blnr-font-display);
	letter-spacing: -0.02em;
	color: rgba(255,255,255,.92);
	padding: 7px 13px;
	background: rgba(0,61,143,.65);
	border-radius: var(--blnr-r-md);
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	z-index: 3;
}

/* --- Content side: respects container width --- */
.msq_projshow__content-wrap {
	display: flex;
	align-items: center;
	padding: 32px var(--blnr-gutter);
}
@media (min-width: 980px) {
	/* When image is on left, content sits in right half of container */
	.msq_projshow:not(.is-reversed) .msq_projshow__content-wrap {
		padding-right: max(var(--blnr-gutter), calc((100vw - var(--blnr-container)) / 2));
		padding-left: 0;
	}
	.msq_projshow.is-reversed .msq_projshow__content-wrap {
		padding-left: max(var(--blnr-gutter), calc((100vw - var(--blnr-container)) / 2));
		padding-right: 0;
	}
}
.msq_projshow__content { max-width: 540px; }
.msq_projshow__eyebrow {
	display: inline-flex;
	align-items: center;
	font: 700 .75rem/1 var(--blnr-font-display);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--msq-cyan-600);
	margin: 0 0 var(--blnr-sp-4);
	padding: 0;
}
.msq_projshow__eyebrow::before {
	content: "";
	width: 26px; height: 2px;
	background: var(--msq-cyan);
	border-radius: 0;
	margin-right: 10px;
}
.msq_projshow__title {
	font-family: var(--blnr-font-display);
	font-weight: 800;
	font-size: clamp(2rem, 1.3rem + 2.8vw, 3.5rem);
	letter-spacing: -0.038em;
	line-height: 1.02;
	color: var(--msq-navy-dark);
	margin: 0 0 var(--blnr-sp-5);
	max-width: 14ch;
	text-wrap: balance;
}
.msq_projshow__body {
	font-size: clamp(1rem, .95rem + .25vw, 1.125rem);
	line-height: 1.65;
	color: var(--blnr-ink-soft);
	margin: 0 0 var(--blnr-sp-6);
}
.msq_projshow__specs {
	list-style: none;
	margin: 0 0 var(--blnr-sp-8);
	padding: 0;
	display: grid; gap: 10px;
}
.msq_projshow__specs li {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: .9375rem;
	color: var(--msq-navy-dark);
	font-weight: 500;
}
.msq_projshow__specs li::before {
	content: "";
	flex: 0 0 8px;
	width: 8px; height: 8px;
	border-radius: 0;
	background: var(--msq-cyan);
	transform: rotate(45deg);
}

/* ====================================================================
   M² strategy — homepage sections (Dec 2026)
   ==================================================================== */

/* Shared section-head layout (left-aligned by default; --center variant) */
/* Single-col by default. Add .msq_section-head--with-cta when a CTA
   button sits on the right side at >=880px. */
.msq_section-head {
	display: block;
	margin: 0 auto clamp(48px, 6vw, 80px);
	max-width: var(--blnr-container);
}
@media (min-width: 880px) {
	.msq_section-head--with-cta {
		display: grid;
		grid-template-columns: minmax(0, 1.4fr) auto;
		gap: var(--blnr-sp-10);
		align-items: end;
	}
}
.msq_section-head h2 {
	font-family: var(--blnr-font-display);
	font-weight: 800;
	letter-spacing: -0.04em;
	font-size: clamp(2.5rem, 1.4rem + 3.6vw, 4.5rem);
	margin: 22px 0 0;                         /* more eyebrow → headline space */
	line-height: 1.0;                         /* tightest possible — confident */
	text-wrap: balance;
	max-width: 16ch;                          /* narrower → forces 2-line wrap */
}
.msq_section-head--center h2 {
	max-width: 18ch;                          /* tight centered — also 2-line */
	margin-left: auto; margin-right: auto;
}
/* Section heads — eyebrow inherits the global pattern (navy text + cyan bar) */
.msq_section-head--center {
	display: block;
	text-align: center;
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
}
.msq_section-head--center h2 {
	margin: 18px auto 0;
	max-width: 26ch;
}

/* Apply balanced wrapping site-wide */
h1, h2, h3 { text-wrap: balance; }

/* Blueprint overlay for hero (subtle grid) */
.msq_hero__blueprint {
	position: absolute; inset: 0; z-index: -1;
	background-image:
		linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
	background-size: 60px 60px;
	-webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.15) 60%, transparent 100%);
	        mask-image: linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.15) 60%, transparent 100%);
	pointer-events: none;
}

/* ---------- SECTION 1.5 — USP STRIP (brand promise manifest) ----------
   Sits directly under the hero. Numbered statements with subtle vertical
   dividers; intentionally restrained so it reads as "facts about us"
   rather than another marketing card grid. */
.msq_usp {
	padding: clamp(56px, 8vw, 96px) 0;
	background: var(--msq-paper);
	border-bottom: 1px solid var(--blnr-border-soft);
}
.msq_usp__head {
	text-align: center;
	margin-bottom: clamp(36px, 5vw, 56px);
}
.msq_usp__head .msq_eyebrow {
	/* Use the centered-pill pattern even though not in .msq_section-head--center */
	padding: 7px 18px;
	border-radius: var(--blnr-r-full);
	background: rgba(27,181,242,.12);
	border: 1px solid rgba(27,181,242,.22);
	color: var(--msq-cyan-600);
	display: inline-flex;
	margin-bottom: 0;
}
.msq_usp__head .msq_eyebrow::before { display: none; }
.msq_usp__title {
	font-family: var(--blnr-font-display);
	font-weight: 800;
	font-size: clamp(2.25rem, 1.4rem + 3vw, 4rem);
	letter-spacing: -0.038em;
	line-height: 1.02;
	color: var(--msq-navy-dark);
	margin: 20px auto 0;
	max-width: 18ch;
	text-wrap: balance;
}

.msq_usp__grid {
	display: grid; gap: 32px 0;
	grid-template-columns: 1fr;
}
@media (min-width: 720px)  { .msq_usp__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .msq_usp__grid { grid-template-columns: repeat(4, 1fr); gap: 0; } }

.msq_usp__item {
	padding: 8px 28px;
	position: relative;
	transition: transform .25s var(--blnr-ease-out);
}
@media (min-width: 1100px) {
	.msq_usp__item + .msq_usp__item::before {
		content: "";
		position: absolute;
		left: 0; top: 16px; bottom: 16px;
		width: 1px;
		background: linear-gradient(180deg, transparent 0%, rgba(0,61,143,.18) 30%, rgba(0,61,143,.18) 70%, transparent 100%);
	}
}
.msq_usp__item:hover { transform: translateY(-3px); }
.msq_usp__item:hover .msq_usp__num { color: var(--msq-cyan); }

.msq_usp__num {
	display: block;
	font-family: var(--blnr-font-display);
	font-weight: 800;
	font-size: clamp(2.25rem, 1.4rem + 2.4vw, 3.25rem);
	letter-spacing: -0.04em;
	line-height: 1;
	color: var(--msq-cyan-600);
	margin-bottom: 18px;
	transition: color .25s;
	-webkit-text-stroke: 0;
}
.msq_usp__heading {
	font-family: var(--blnr-font-display);
	font-weight: 700;
	font-size: 1.0625rem;
	line-height: 1.3;
	letter-spacing: -0.005em;
	color: var(--msq-navy-dark);
	margin: 0 0 10px;
}
.msq_usp__body {
	font-size: .9375rem;
	line-height: 1.6;
	color: var(--blnr-ink-soft);
	margin: 0;
}

/* ---------- SECTION 2 — Quick Access cards ---------- */
.msq_quick { padding: clamp(56px, 8vw, 96px) 0; background: var(--msq-paper); }
.msq_quick__grid {
	display: grid; gap: 20px;
	grid-template-columns: 1fr;
}
@media (min-width: 720px) { .msq_quick__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .msq_quick__grid { grid-template-columns: repeat(4, 1fr); } }

.msq_quick__card {
	position: relative;
	display: flex; flex-direction: column;
	padding: 32px 28px 28px;
	background: var(--msq-paper);
	border: 1px solid var(--blnr-border);
	border-radius: 0;
	color: var(--msq-navy);
	text-decoration: none;
	transition: transform .25s var(--blnr-ease-out), box-shadow .25s var(--blnr-ease-out), border-color .15s, background .25s;
	overflow: hidden;
	isolation: isolate;
}
.msq_quick__card::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(135deg, rgba(27,181,242,.06) 0%, transparent 60%);
	opacity: 0; transition: opacity .25s;
}
.msq_quick__card:hover {
	transform: translateY(-6px);
	box-shadow: 0 28px 56px rgba(0,61,143,.14), 0 4px 16px rgba(0,61,143,.06);
	border-color: rgba(27,181,242,.55);
}
.msq_quick__card:hover::before { opacity: 1; }
.msq_quick__icon {
	display: inline-grid; place-items: center;
	width: 56px; height: 56px;
	border-radius: 0;
	background: linear-gradient(135deg, var(--msq-cyan) 0%, var(--msq-navy) 100%);
	color: #fff;
	margin-bottom: 22px;
	box-shadow: 0 8px 20px rgba(0,61,143,.18);
}
.msq_quick__title {
	font-family: var(--blnr-font-display);
	font-weight: 700;
	font-size: 1.1875rem;
	letter-spacing: -0.01em;
	margin: 0 0 10px;
	color: var(--msq-navy-dark);
}
.msq_quick__summary {
	font-size: .9375rem;
	line-height: 1.55;
	color: var(--blnr-ink-soft);
	margin: 0 0 24px;
	flex: 1;
}
.msq_quick__arrow {
	display: inline-flex; align-items: center; justify-content: center;
	width: 36px; height: 36px;
	border-radius: var(--blnr-r-md);
	background: var(--msq-cloud);
	color: var(--msq-navy);
	transition: background .2s, color .2s, transform .2s;
}
.msq_quick__card:hover .msq_quick__arrow { background: var(--msq-cyan); color: #fff; transform: translateX(3px); }

/* ---------- SECTION 3 — Why Choose M² ---------- */
.msq_why {
	padding: clamp(88px, 11vw, 160px) 0;
	background: var(--msq-paper);
	position: relative;
}
.msq_why__head {
	display: grid; gap: var(--blnr-sp-6);
	grid-template-columns: 1fr;
	margin-bottom: clamp(40px, 6vw, 72px);
	align-items: end;
}
@media (min-width: 880px) {
	.msq_why__head { grid-template-columns: minmax(0, 1.1fr) 1fr; gap: clamp(40px, 6vw, 80px); }
}
.msq_why__head h2 {
	font-family: var(--blnr-font-display);
	font-weight: 800;
	letter-spacing: -0.04em;
	font-size: clamp(2.5rem, 1.4rem + 3.6vw, 4.5rem);
	line-height: 1.0;
	margin: 22px 0 0;
	max-width: 16ch;
	text-wrap: balance;
}
.msq_why__lead {
	font-size: 1.0625rem;
	line-height: 1.65;
	color: var(--blnr-ink-soft);
	margin: 0;
}
.msq_why__grid {
	display: grid; gap: 20px;
	grid-template-columns: 1fr;
}
@media (min-width: 720px) { .msq_why__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .msq_why__grid { grid-template-columns: repeat(4, 1fr); } }
/* Why Choose cards — TIER 3 (almost flat, border only).
   Border only at rest, no shadow. Tiny hover treatment to register interaction
   without competing with the project cards above. */
.msq_why__card {
	background: var(--msq-paper);
	border: 1px solid var(--blnr-border);
	border-radius: var(--blnr-r-lg);
	padding: 32px 28px;
	box-shadow: none;
	transition: border-color .2s, background .2s;
}
.msq_why__card:hover {
	transform: none;
	border-color: var(--msq-cyan);
	background: rgba(27,181,242,.03);   /* whisper-thin cyan tint */
}
.msq_why__card:hover .msq_why__icon {
	background: var(--msq-cyan);
	color: #fff;
}
.msq_why__icon { transition: background .2s, color .2s; }
.msq_why__icon {
	display: inline-grid; place-items: center;
	width: 52px; height: 52px;
	border-radius: 0;
	background: rgba(27,181,242,.12);
	color: var(--msq-cyan-600);
	margin-bottom: 20px;
}
.msq_why__title {
	font-family: var(--blnr-font-display);
	font-weight: 700;
	font-size: 1.125rem;
	letter-spacing: -0.005em;
	margin: 0 0 10px;
	color: var(--msq-navy-dark);
	line-height: 1.3;
}
.msq_why__body {
	font-size: .9375rem;
	line-height: 1.6;
	color: var(--blnr-ink-soft);
	margin: 0;
}

/* ====================================================================
   Image-led divider — full-bleed "wow" moment
   Sits between Stats and Featured Projects. When an image is uploaded
   to _msq_div_image, the section becomes a cinematic break: photo
   tinted navy with cyan glow accents and one large centered headline.
   ==================================================================== */
.msq_divider {
	position: relative;
	min-height: clamp(480px, 65vh, 720px);
	display: grid;
	align-items: center;
	color: #fff;
	background: linear-gradient(135deg, var(--msq-navy-dark) 0%, var(--msq-navy) 70%, #114E9C 100%);
	overflow: hidden;
	isolation: isolate;
	padding: clamp(100px, 12vw, 180px) 0;
}
.msq_divider__bg {
	position: absolute; inset: 0; z-index: -3;
	pointer-events: none;
}
.msq_divider__bg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.msq_divider__scrim {
	position: absolute; inset: 0; z-index: -2;
	background:
		linear-gradient(180deg, rgba(5,42,99,.55) 0%, rgba(0,61,143,.78) 60%, rgba(5,42,99,.90) 100%),
		linear-gradient(135deg, rgba(0,61,143,.40) 0%, transparent 60%);
	opacity: 0;
	pointer-events: none;
	transition: opacity .4s;
}
.msq_divider.has-bg .msq_divider__scrim { opacity: 1; }
.msq_divider__glow {
	position: absolute; inset: 0; z-index: -1;
	background:
		radial-gradient(ellipse at 18% 80%, rgba(27,181,242,.28), transparent 55%),
		radial-gradient(ellipse at 88% 10%, rgba(27,181,242,.20), transparent 50%);
	pointer-events: none;
}

.msq_divider__inner {
	max-width: 880px;
	text-align: center;
	margin: 0 auto;
}
.msq_divider__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font: 700 .75rem/1 var(--blnr-font-display);
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--msq-cyan);
	padding: 8px 18px;
	border-radius: var(--blnr-r-full);
	background: rgba(27,181,242,.14);
	border: 1px solid rgba(27,181,242,.32);
	margin-bottom: var(--blnr-sp-6);
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.msq_divider__title {
	font-family: var(--blnr-font-display);
	font-weight: 800;
	font-size: clamp(2.5rem, 1.4rem + 3.6vw, 4.75rem);
	letter-spacing: -0.042em;
	line-height: 1.02;
	color: #fff;
	margin: 0 auto var(--blnr-sp-6);
	max-width: 22ch;
	text-wrap: balance;
}
.msq_divider__sub {
	font-size: clamp(1rem, .95rem + .25vw, 1.1875rem);
	line-height: 1.6;
	color: rgba(255,255,255,.82);
	margin: 0 auto;
	max-width: 56ch;
}

/* ---------- SECTION 4 — Featured Projects ---------- */
.msq_featured {
	padding: clamp(88px, 11vw, 160px) 0;
	background: #F5F8FB;  /* subtle gray — depth without competing with services white */
}
.msq_featured__lead {
	font-size: 1.0625rem;
	line-height: 1.6;
	color: var(--blnr-ink-soft);
	margin: var(--blnr-sp-4) 0 0;
	max-width: 56ch;
}
.msq_featured__all { white-space: nowrap; }
.msq_featured__grid {
	display: grid; gap: 24px;
	grid-template-columns: 1fr;
}
@media (min-width: 720px) { .msq_featured__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .msq_featured__grid { grid-template-columns: repeat(3, 1fr); } }

/* Project cards — TIER 1 (highest visual prominence)
   Larger imagery, darker overlay that lightens on hover, deep shadow,
   strong lift. This is the "wow" card type. */
.msq_featured__card {
	position: relative;
	display: flex; flex-direction: column;
	background: var(--msq-paper);
	border: 1px solid transparent;
	border-radius: 0;
	text-decoration: none;
	color: var(--msq-navy);
	overflow: hidden;
	box-shadow: 0 6px 20px rgba(0,61,143,.10), 0 1px 4px rgba(0,61,143,.05);
	transition: transform .35s var(--blnr-ease-out),
	            box-shadow .35s var(--blnr-ease-out),
	            border-color .2s;
}
.msq_featured__card:hover {
	transform: translateY(-10px);
	box-shadow: 0 36px 80px rgba(0,61,143,.22), 0 8px 20px rgba(0,61,143,.10);
	border-color: rgba(27,181,242,.45);
}

.msq_featured__media {
	position: relative;
	aspect-ratio: 16 / 10;        /* larger than before (was 4/3) */
	background: var(--msq-cloud);
	overflow: hidden;
}
.msq_featured__media::after {
	content: "";
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(5,42,99,.0) 30%, rgba(5,42,99,.55) 100%);
	transition: opacity .4s var(--blnr-ease-out);
	pointer-events: none;
	z-index: 1;
}
.msq_featured__card:hover .msq_featured__media::after { opacity: .65; }
.msq_featured__media img {
	width: 100%; height: 100%; object-fit: cover;
	transition: transform .7s var(--blnr-ease-out);
}
.msq_featured__card:hover .msq_featured__media img { transform: scale(1.08); }
.msq_featured__placeholder {
	width: 100%; height: 100%;
	display: grid; place-items: center;
	color: rgba(0,61,143,.30);
	background:
		radial-gradient(ellipse at 70% 30%, rgba(27,181,242,.15), transparent 60%),
		linear-gradient(135deg, var(--msq-cloud) 0%, var(--msq-paper) 100%);
}
.msq_featured__number {
	position: absolute;
	top: 18px; left: 18px;
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px;
	border-radius: var(--blnr-r-md);
	background: rgba(255,255,255,.95);
	color: var(--msq-navy);
	font: 800 .8125rem/1 var(--blnr-font-display);
	letter-spacing: .04em;
	box-shadow: 0 4px 10px rgba(0,61,143,.12);
}

.msq_featured__body {
	padding: 26px 28px 28px;
	display: flex; flex-direction: column; flex: 1;
}
.msq_featured__title {
	font-family: var(--blnr-font-display);
	font-weight: 700;
	font-size: 1.25rem;
	letter-spacing: -0.01em;
	margin: 0 0 10px;
	color: var(--msq-navy-dark);
}
.msq_featured__overview {
	font-size: .9375rem;
	line-height: 1.6;
	color: var(--blnr-ink-soft);
	margin: 0 0 20px;
	flex: 1;
}
.msq_featured__cta {
	display: inline-flex; align-items: center; gap: 8px;
	color: var(--msq-cyan-600);
	font-weight: 700;
	font-size: .9375rem;
	letter-spacing: -0.005em;
	transition: gap .2s, color .2s;
}
.msq_featured__card:hover .msq_featured__cta { gap: 12px; color: var(--msq-navy); }

/* ====================================================================
   Section 2.5 — CREDIBILITY STATS STRIP
   Dark navy band, big cyan numbers, white labels, vertical dividers.
   ==================================================================== */
.msq_creds {
	position: relative;
	background: linear-gradient(135deg, var(--msq-navy-dark) 0%, var(--msq-navy) 100%);
	color: #fff;
	padding: clamp(56px, 7vw, 88px) 0;
	overflow: hidden;
	isolation: isolate;
}
.msq_creds__glow {
	position: absolute; inset: 0; z-index: -1;
	background:
		radial-gradient(ellipse at 18% 30%, rgba(27,181,242,.20), transparent 55%),
		radial-gradient(ellipse at 88% 70%, rgba(27,181,242,.15), transparent 50%);
	pointer-events: none;
}

/* Subtle decorative sparkles */
.msq_creds__sparkle {
	position: absolute;
	color: rgba(27,181,242,.45);
	pointer-events: none;
	z-index: 0;
}
.msq_creds__sparkle svg { width: 18px; height: 18px; display: block; }
.msq_creds__sparkle--a { top: 22%;   left: 26%; transform: rotate(8deg); }
.msq_creds__sparkle--b { top: 32%; right: 22%; transform: rotate(-12deg); }
.msq_creds__sparkle--a svg { width: 14px; height: 14px; }
.msq_creds__sparkle--b svg { width: 22px; height: 22px; }
@media (max-width: 880px) { .msq_creds__sparkle { display: none; } }

.msq_creds__head {
	text-align: center;
	max-width: 720px;
	margin: 0 auto clamp(36px, 5vw, 56px);
}
.msq_creds__head .msq_eyebrow {
	margin-bottom: 0;
	padding: 7px 18px;
	border-radius: var(--blnr-r-full);
	background: rgba(27,181,242,.14);
	border: 1px solid rgba(27,181,242,.30);
	color: var(--msq-cyan);
	display: inline-flex;
}
.msq_creds__head .msq_eyebrow::before { display: none; }
.msq_creds__title {
	font-family: var(--blnr-font-display);
	font-weight: 800;
	font-size: clamp(2rem, 1.3rem + 2.4vw, 3.25rem);
	letter-spacing: -0.034em;
	line-height: 1.08;
	color: #fff;
	margin: 18px auto 0;
	max-width: 22ch;
	text-wrap: balance;
}

.msq_creds__grid {
	display: grid; gap: 28px 0;
	grid-template-columns: 1fr;
	align-items: stretch;
}
@media (min-width: 720px)  { .msq_creds__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .msq_creds__grid { grid-template-columns: repeat(4, 1fr); gap: 0; } }

.msq_creds__item {
	display: flex; flex-direction: column; align-items: center;
	padding: 12px 24px;
	text-align: center;
	position: relative;
	transition: transform .25s var(--blnr-ease-out);
}
.msq_creds__item:hover { transform: translateY(-3px); }
.msq_creds__item:hover .msq_creds__num { color: #fff; }

/* Vertical dividers between items on desktop */
@media (min-width: 1100px) {
	.msq_creds__item + .msq_creds__item::before {
		content: "";
		position: absolute;
		left: 0; top: 18px; bottom: 18px;
		width: 1px;
		background: linear-gradient(180deg, transparent 0%, rgba(27,181,242,.35) 30%, rgba(27,181,242,.35) 70%, transparent 100%);
	}
}

.msq_creds__num {
	font-family: var(--blnr-font-display);
	font-weight: 800;
	font-size: clamp(2.5rem, 1.6rem + 3vw, 4.25rem);
	letter-spacing: -0.04em;
	line-height: 1;
	color: var(--msq-cyan);
	margin-bottom: 14px;
	transition: color .25s;
}
.msq_creds__lbl {
	font-size: .9375rem;
	font-weight: 500;
	line-height: 1.4;
	color: rgba(255,255,255,.82);
	max-width: none;
	white-space: nowrap;
}
@media (max-width: 720px) { .msq_creds__lbl { white-space: normal; } }

/* ====================================================================
   Section 3b — SERVICES GRID (6-up with images, Tidii pattern)
   ==================================================================== */
.msq_servicegrid {
	padding: clamp(88px, 11vw, 160px) 0;
	background: var(--msq-paper);   /* white — makes services feel prominent */
}
.msq_servicegrid__lead {
	font-size: 1.0625rem;
	line-height: 1.6;
	color: var(--blnr-ink-soft);
	margin: var(--blnr-sp-4) auto 0;
	max-width: 60ch;
}
.msq_servicegrid__grid {
	display: grid; gap: 24px;
	grid-template-columns: 1fr;
}
@media (min-width: 720px)  { .msq_servicegrid__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .msq_servicegrid__grid { grid-template-columns: repeat(3, 1fr); gap: 28px; } }

/* Service cards — TIER 2 (clean, minimal) */
.msq_servicegrid__card {
	position: relative;
	display: flex; flex-direction: column;
	background: var(--msq-paper);
	border: 1px solid var(--blnr-border);
	border-radius: var(--blnr-r-lg);
	overflow: hidden;
	text-decoration: none;
	color: var(--msq-navy);
	box-shadow: none;   /* clean at rest — no shadow */
	transition: transform .25s var(--blnr-ease-out),
	            box-shadow .25s var(--blnr-ease-out),
	            border-color .2s;
}
.msq_servicegrid__card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 28px rgba(0,61,143,.08);   /* gentle */
	border-color: rgba(27,181,242,.45);
}

/* Top accent bar — scales in from left on hover (the Tidii touch) */
.msq_servicegrid__bar {
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--msq-cyan) 0%, var(--msq-navy) 100%);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .4s var(--blnr-ease-out);
	z-index: 2;
}
.msq_servicegrid__card:hover .msq_servicegrid__bar { transform: scaleX(1); }

.msq_servicegrid__media {
	aspect-ratio: 16 / 10;
	background: linear-gradient(135deg, rgba(27,181,242,.10) 0%, var(--msq-cloud) 100%);
	display: grid; place-items: center;
	overflow: hidden;
	position: relative;
}
.msq_servicegrid__img {
	width: 100%; height: 100%; object-fit: cover;
	transition: transform .55s var(--blnr-ease-out);
}
.msq_servicegrid__card:hover .msq_servicegrid__img { transform: scale(1.05); }
.msq_servicegrid__placeholder {
	color: rgba(0,61,143,.35);
	transition: transform .4s var(--blnr-ease-out), color .25s;
}
.msq_servicegrid__card:hover .msq_servicegrid__placeholder {
	color: var(--msq-cyan-600);
	transform: scale(1.06);
}

.msq_servicegrid__body { padding: 26px 28px 28px; }
.msq_servicegrid__icon-mini {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px;
	border-radius: 0;
	background: rgba(27,181,242,.12);
	color: var(--msq-cyan-600);
	margin-bottom: 16px;
	transition: background .25s, color .25s, transform .25s var(--blnr-ease-out);
}
.msq_servicegrid__card:hover .msq_servicegrid__icon-mini {
	background: var(--msq-cyan);
	color: #fff;
	transform: scale(1.06);
}
.msq_servicegrid__title {
	font-family: var(--blnr-font-display);
	font-weight: 700;
	font-size: 1.25rem;
	letter-spacing: -0.01em;
	margin: 0 0 10px;
	color: var(--msq-navy-dark);
	transition: color .2s;
}
.msq_servicegrid__card:hover .msq_servicegrid__title { color: var(--msq-cyan-600); }
.msq_servicegrid__excerpt {
	font-size: .9375rem;
	line-height: 1.6;
	color: var(--blnr-ink-soft);
	margin: 0 0 18px;
}
.msq_servicegrid__cta {
	display: inline-flex; align-items: center; gap: 6px;
	font-size: .8125rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--msq-cyan-600);
}
.msq_servicegrid__cta svg { transition: transform .2s var(--blnr-ease-out); }
.msq_servicegrid__card:hover .msq_servicegrid__cta svg { transform: translateX(4px); }

.msq_servicegrid__bottom-cta { text-align: center; margin-top: clamp(40px, 5vw, 56px); }

/* ====================================================================
   Section 4.5 — INDUSTRIES SERVED — bold image tiles (SPT pattern)
   ==================================================================== */
.msq_industries {
	padding: clamp(80px, 10vw, 140px) 0;
	background: var(--msq-paper);
}
.msq_industries__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	max-width: 1340px;
	margin: 0 auto;
}
@media (min-width: 720px)  { .msq_industries__grid { grid-template-columns: repeat(2, 1fr); gap: 18px; } }
@media (min-width: 1024px) { .msq_industries__grid { grid-template-columns: repeat(3, 1fr); gap: 20px; } }
@media (min-width: 1200px) { .msq_industries__grid { grid-template-columns: 1.4fr 1fr 1fr; grid-template-rows: 1fr 1fr; }
	/* First tile spans 2 rows (hero tile) */
	.msq_industries__tile:nth-child(1) { grid-row: 1 / 3; }
	.msq_industries__tile:nth-child(2) { grid-column: 2; }
	.msq_industries__tile:nth-child(3) { grid-column: 3; }
	.msq_industries__tile:nth-child(4) { grid-column: 2; }
	.msq_industries__tile:nth-child(5) { grid-column: 3; }
}

.msq_industries__tile {
	position: relative;
	min-height: 220px;
	aspect-ratio: 16 / 11;
	border-radius: var(--blnr-r-lg);
	overflow: hidden;
	isolation: isolate;
	display: grid;
	place-items: end start;
	padding: clamp(24px, 3vw, 36px);
	cursor: default;
	background: linear-gradient(135deg, var(--msq-navy-dark) 0%, var(--msq-navy) 100%);
	transition: transform .35s var(--blnr-ease-out), box-shadow .35s var(--blnr-ease-out);
	box-shadow: var(--blnr-shadow-card);
}
.msq_industries__tile:hover {
	transform: translateY(-4px);
	box-shadow: 0 24px 60px rgba(0,61,143,.20);
}
@media (min-width: 1200px) {
	.msq_industries__tile:nth-child(1) { aspect-ratio: auto; min-height: 100%; }
}

.msq_industries__tile-bg {
	position: absolute; inset: 0; z-index: -2;
}
.msq_industries__tile-bg img {
	width: 100%; height: 100%; object-fit: cover;
	transition: transform .8s var(--blnr-ease-out);
}
.msq_industries__tile:hover .msq_industries__tile-bg img { transform: scale(1.06); }

.msq_industries__tile-overlay {
	position: absolute; inset: 0; z-index: -1;
	background:
		linear-gradient(0deg, rgba(5,42,99,.85) 0%, rgba(5,42,99,.40) 55%, rgba(5,42,99,.20) 100%),
		linear-gradient(135deg, rgba(0,61,143,.30) 0%, rgba(27,181,242,.18) 100%);
	transition: opacity .35s;
}
.msq_industries__tile:hover .msq_industries__tile-overlay { opacity: .55; }

.msq_industries__tile-icon {
	position: absolute;
	top: clamp(20px, 3vw, 32px);
	left: clamp(20px, 3vw, 32px);
	display: inline-grid; place-items: center;
	width: 64px; height: 64px;
	border-radius: 0;
	background: rgba(27,181,242,.18);
	border: 1px solid rgba(27,181,242,.35);
	color: #fff;
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}

.msq_industries__tile-label {
	font-family: var(--blnr-font-display);
	font-weight: 600;
	font-size: clamp(.8125rem, .75rem + .35vw, 1rem);
	letter-spacing: .04em;
	text-transform: uppercase;
	line-height: 1.2;
	color: #fff;
	z-index: 1;
	display: inline-block;
	padding: 10px 16px;
	background: rgba(5, 42, 99, .82);
	border-left: 3px solid var(--msq-cyan);
	-webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
}
@media (min-width: 1200px) {
	.msq_industries__tile:nth-child(1) .msq_industries__tile-label {
		font-size: clamp(.9375rem, .85rem + .4vw, 1.125rem);
		padding: 12px 20px;
	}
}

/* ====================================================================
   Section 4.5 — PROCESS TIMELINE (How We Work)
   Vertical timeline. Circular cyan number badge per step, navy connector
   line linking them, soft arrow glyph between steps.
   ==================================================================== */
.msq_process {
	padding: clamp(40px, 5vw, 64px) 0;
	background: linear-gradient(180deg, var(--msq-mist) 0%, #EAF2FB 100%);
	position: relative;
}
/* Tidii-band head — chip eyebrow + tighter H2 + lead */
.msq_process .msq_section-head { max-width: 640px; }
.msq_process .msq_section-head h2 {
	font-size: clamp(1.875rem, 1.2rem + 2.2vw, 2.75rem);
	max-width: 22ch;
	letter-spacing: -0.022em;
	margin-top: var(--blnr-sp-5);
}
.msq_process .msq_eyebrow {
	display: inline-block;
	padding: 8px 18px;
	background: rgba(27,181,242,.12);
	border: 1px solid rgba(27,181,242,.28);
	color: var(--msq-cyan-600);
	border-radius: var(--blnr-r-full);
	letter-spacing: .22em;
	font-weight: 700;
	font-size: .75rem;
	text-transform: uppercase;
}
.msq_process .msq_eyebrow::before { display: none; }
.msq_process__lead {
	font-size: clamp(1rem, .95rem + .35vw, 1.1875rem);
	line-height: 1.55;
	color: var(--blnr-ink-soft);
	margin: var(--blnr-sp-5) auto 0;
	max-width: 56ch;
}

.msq_process__list {
	list-style: none;
	margin: 0;
	padding: 0;
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
	counter-reset: msq-process;
}

.msq_process__step {
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: 28px;
	align-items: start;
	position: relative;
	padding-bottom: clamp(24px, 4vw, 40px);
}
.msq_process__step:last-child { padding-bottom: 0; }

/* Rail (left column) — holds the number badge + connector */
.msq_process__rail {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
}

.msq_process__num {
	font-family: var(--blnr-font-display);
	font-weight: 800;
	font-size: 1.25rem;
	letter-spacing: -0.02em;
	color: #fff;
	width: 64px;
	height: 64px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--blnr-r-md);   /* squared 8px — M² brand */
	background: linear-gradient(135deg, var(--msq-cyan) 0%, var(--msq-navy) 100%);
	box-shadow: 0 8px 20px rgba(0,61,143,.20),
	            inset 0 0 0 4px rgba(255,255,255,.18);
	position: relative;
	z-index: 2;
	flex-shrink: 0;
	transition: transform .3s var(--blnr-ease-out), box-shadow .3s var(--blnr-ease-out);
}
.msq_process__step:hover .msq_process__num {
	transform: scale(1.06);
	box-shadow: 0 12px 28px rgba(27,181,242,.30),
	            inset 0 0 0 4px rgba(255,255,255,.25);
}

/* Connector line — dashed cyan from number to next step's number */
.msq_process__connector {
	flex: 1;
	width: 2px;
	margin-top: 14px;
	background-image: linear-gradient(180deg, rgba(0,61,143,.32) 50%, transparent 50%);
	background-size: 2px 10px;
	background-repeat: repeat-y;
	min-height: 36px;
}

/* Down arrow glyph (between every step) */
.msq_process__arrow {
	color: var(--msq-cyan);
	margin: 6px 0;
	opacity: .85;
	flex-shrink: 0;
}

/* Content card */
.msq_process__content {
	background: var(--msq-paper);
	border: 1px solid var(--blnr-border);
	border-radius: 0;
	padding: 24px 28px 26px;
	box-shadow: var(--blnr-shadow-card);
	transition: transform .25s var(--blnr-ease-out), box-shadow .25s var(--blnr-ease-out), border-color .2s;
}
.msq_process__step:hover .msq_process__content {
	transform: translateX(4px);
	box-shadow: 0 14px 32px rgba(0,61,143,.10);
	border-color: rgba(27,181,242,.40);
}
.msq_process__title {
	font-family: var(--blnr-font-display);
	font-weight: 700;
	font-size: 1.25rem;
	letter-spacing: -0.01em;
	color: var(--msq-navy-dark);
	margin: 0 0 8px;
}
.msq_process__desc {
	font-size: .9375rem;
	line-height: 1.6;
	color: var(--blnr-ink-soft);
	margin: 0;
}

@media (max-width: 640px) {
	.msq_process__step { grid-template-columns: 56px 1fr; gap: 18px; }
	.msq_process__num  { width: 52px; height: 52px; font-size: 1.0625rem; }
}

/* ====================================================================
   Section 3c — DARK CTA BAND
   Deep navy, radial cyan glow, blueprint-grid texture, stats column
   ==================================================================== */
.msq_darkcta {
	position: relative;
	background: linear-gradient(135deg, var(--msq-navy-dark) 0%, var(--msq-navy) 100%);
	color: #fff;
	padding: clamp(72px, 10vw, 128px) 0;
	overflow: hidden;
	isolation: isolate;
}
/* Background image layer (only present when CMB2 _msq_dc_image is uploaded) */
.msq_darkcta__bg {
	position: absolute; inset: 0; z-index: -3;
	pointer-events: none;
}
.msq_darkcta__bg img {
	width: 100%; height: 100%; object-fit: cover;
	display: block;
}
/* Navy scrim — sits between image and content, keeps text readable.
   When NO image: invisible (gradient on section itself does the job).
   When image:    layered navy tint so text stays AAA-readable. */
.msq_darkcta__scrim {
	position: absolute; inset: 0; z-index: -2;
	background: linear-gradient(135deg,
		rgba(5,42,99,.92) 0%,
		rgba(0,61,143,.86) 50%,
		rgba(0,61,143,.78) 100%);
	opacity: 0;
	pointer-events: none;
}
.msq_darkcta.has-bg .msq_darkcta__scrim { opacity: 1; }

.msq_darkcta__glow {
	position: absolute; inset: 0; z-index: -1;
	background:
		radial-gradient(ellipse at 12% 30%, rgba(27,181,242,.32), transparent 55%),
		radial-gradient(ellipse at 95% 80%, rgba(27,181,242,.18), transparent 50%);
	pointer-events: none;
}
.msq_darkcta__grid-bg {
	position: absolute; inset: 0; z-index: -1;
	background-image:
		linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
	background-size: 56px 56px;
	-webkit-mask-image: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.6) 0%, rgba(0,0,0,.15) 70%, transparent 100%);
	        mask-image: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.6) 0%, rgba(0,0,0,.15) 70%, transparent 100%);
	pointer-events: none;
}
.msq_darkcta.has-bg .msq_darkcta__grid-bg { opacity: .55; }

.msq_darkcta__inner {
	display: grid;
	gap: clamp(40px, 6vw, 72px);
	align-items: center;
	grid-template-columns: 1fr;
}
@media (min-width: 1024px) {
	.msq_darkcta__inner { grid-template-columns: minmax(0, 1.2fr) auto; }
}

.msq_darkcta__eyebrow {
	display: inline-block;
	font: 700 .75rem/1 var(--blnr-font-body);
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--msq-cyan);
	margin-bottom: var(--blnr-sp-4);
	padding: 8px 14px;
	background: rgba(27,181,242,.12);
	border: 1px solid rgba(27,181,242,.30);
	border-radius: var(--blnr-r-full);
}
.msq_darkcta__title {
	font-family: var(--blnr-font-display);
	font-weight: 800;
	font-size: clamp(2.5rem, 1.4rem + 3.6vw, 4.5rem);
	letter-spacing: -0.04em;
	line-height: 1.0;
	color: #fff;
	margin: 0 0 var(--blnr-sp-5);
	max-width: 16ch;
	text-wrap: balance;
}
.msq_darkcta__body {
	font-size: clamp(1rem, .95rem + .25vw, 1.1875rem);
	line-height: 1.65;
	color: rgba(255,255,255,.85);
	margin: 0 0 var(--blnr-sp-8);
	max-width: 56ch;
}
.msq_darkcta__actions { display: flex; flex-wrap: wrap; gap: 14px; }

/* Stats column */
.msq_darkcta__stats {
	display: grid;
	gap: 18px;
	min-width: 260px;
}
.msq_darkcta__stat {
	padding: 22px 24px;
	background: rgba(255,255,255,.05);
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 0;
	-webkit-backdrop-filter: blur(8px);
	        backdrop-filter: blur(8px);
	transition: background .25s, border-color .25s, transform .25s var(--blnr-ease-out);
}
.msq_darkcta__stat:hover {
	background: rgba(27,181,242,.10);
	border-color: rgba(27,181,242,.45);
	transform: translateY(-2px);
}
.msq_darkcta__stat-num {
	display: block;
	font-family: var(--blnr-font-display);
	font-weight: 800;
	font-size: clamp(2rem, 1.4rem + 1.8vw, 2.75rem);
	letter-spacing: -0.025em;
	color: var(--msq-cyan);
	line-height: 1;
	margin-bottom: 8px;
}
.msq_darkcta__stat-lbl {
	display: block;
	font-size: .9375rem;
	line-height: 1.4;
	color: rgba(255,255,255,.78);
}

/* ====================================================================
   Scroll reveal — Tidii pattern
   ELEMENTS DEFAULT TO VISIBLE so Lighthouse can measure LCP at first
   paint. JS adds .msq-reveal-pending only to elements BELOW the fold;
   only those get the fade-in. Above-the-fold content (hero) is never
   hidden, so LCP fires correctly.
   ==================================================================== */

[data-msq-reveal].msq-reveal-pending {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity .7s var(--blnr-ease-out), transform .7s var(--blnr-ease-out);
}
[data-msq-reveal].msq-reveal-pending.is-visible {
	opacity: 1;
	transform: none;
}

/* Stagger children — `data-msq-reveal-stagger` on a parent staggers up to 8 children */
[data-msq-reveal-stagger].msq-reveal-pending > * {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .6s var(--blnr-ease-out), transform .6s var(--blnr-ease-out);
}
[data-msq-reveal-stagger].msq-reveal-pending.is-visible > *:nth-child(1) { transition-delay: 0ms;   }
[data-msq-reveal-stagger].msq-reveal-pending.is-visible > *:nth-child(2) { transition-delay: 80ms;  }
[data-msq-reveal-stagger].msq-reveal-pending.is-visible > *:nth-child(3) { transition-delay: 160ms; }
[data-msq-reveal-stagger].msq-reveal-pending.is-visible > *:nth-child(4) { transition-delay: 240ms; }
[data-msq-reveal-stagger].msq-reveal-pending.is-visible > *:nth-child(5) { transition-delay: 320ms; }
[data-msq-reveal-stagger].msq-reveal-pending.is-visible > *:nth-child(6) { transition-delay: 400ms; }
[data-msq-reveal-stagger].msq-reveal-pending.is-visible > *:nth-child(7) { transition-delay: 480ms; }
[data-msq-reveal-stagger].msq-reveal-pending.is-visible > *:nth-child(8) { transition-delay: 560ms; }
[data-msq-reveal-stagger].msq-reveal-pending.is-visible > * {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	[data-msq-reveal].msq-reveal-pending,
	[data-msq-reveal-stagger].msq-reveal-pending > * {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* ====================================================================
   Inquiry form (Contact page)
   ==================================================================== */
.msq_contact__layout {
	display: grid;
	gap: clamp(36px, 5vw, 64px);
	grid-template-columns: 1fr;
	align-items: start;
}
@media (min-width: 980px) { .msq_contact__layout { grid-template-columns: 1.6fr 1fr; } }
.msq_contact__form-title {
	font-family: var(--blnr-font-display);
	font-weight: 800;
	font-size: clamp(1.875rem, 1.2rem + 2vw, 2.75rem);
	letter-spacing: -0.032em;
	line-height: 1.05;
	margin: 0 0 12px;
	color: var(--msq-navy-dark);
	max-width: 16ch;
	text-wrap: balance;
}
.msq_contact__form-intro {
	font-size: 1.0625rem;
	color: var(--blnr-ink-soft);
	margin: 0 0 var(--blnr-sp-8);
	max-width: 56ch;
}
.msq_inquiry-form .msq_btn[type="submit"] { margin-top: var(--blnr-sp-3); }
.msq_inquiry-form .msq_btn.is-loading {
	opacity: .7; cursor: progress; pointer-events: none;
	position: relative;
}
.msq_inquiry-form .msq_btn.is-loading::after {
	content: ""; width: 16px; height: 16px;
	border: 2px solid rgba(255,255,255,.4);
	border-top-color: #fff;
	border-radius: 50%;
	display: inline-block;
	margin-left: 10px;
	animation: msq-spin .8s linear infinite;
}
@keyframes msq-spin { to { transform: rotate(360deg); } }

.msq_form-field--file input[type="file"] {
	padding: 12px 14px;
	background: var(--msq-mist);
	cursor: pointer;
}
.msq_form-field__hint {
	display: block;
	margin-top: 6px;
	font-size: .8125rem;
	color: var(--blnr-ink-soft);
}

.msq_form__status {
	margin-top: var(--blnr-sp-4);
	padding: 0;
	font-size: .9375rem;
	min-height: 0;
}
.msq_form__status.is-success {
	padding: 14px 18px;
	background: rgba(27,181,242,.10);
	border: 1px solid rgba(27,181,242,.35);
	border-left: 3px solid var(--msq-cyan);
	color: var(--msq-navy-dark);
	border-radius: var(--blnr-r-md);
}
.msq_form__status.is-error {
	padding: 14px 18px;
	background: rgba(192,41,75,.08);
	border: 1px solid rgba(192,41,75,.30);
	border-left: 3px solid #C0294B;
	color: #8A1F38;
	border-radius: var(--blnr-r-md);
}
.msq_form__certs {
	margin-top: var(--blnr-sp-6);
	font-size: .8125rem;
	color: var(--blnr-ink-soft);
	padding-top: 16px;
	border-top: 1px solid var(--blnr-border-soft);
}

.msq_contact__side { display: grid; gap: 20px; align-self: start; }
.msq_contact__panel {
	background: var(--msq-mist);
	border: 1px solid var(--blnr-border-soft);
	border-radius: 0;
	padding: 28px;
}
.msq_contact__panel h3 {
	font-family: var(--blnr-font-display);
	font-weight: 800;
	font-size: 1.125rem;
	letter-spacing: -0.018em;
	color: var(--msq-navy-dark);
	margin: 0 0 var(--blnr-sp-4);
}
.msq_contact__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.msq_contact__list li { display: grid; gap: 4px; font-size: .9375rem; }
.msq_contact__list strong {
	font: 700 .75rem/1 var(--blnr-font-display);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--blnr-ink-soft);
}
.msq_contact__founders { list-style: none; margin: 0 0 var(--blnr-sp-6); padding: 0; display: grid; gap: 22px; }
.msq_contact__founders li { display: grid; gap: 4px; }
.msq_contact__founder-name {
	font: 700 .75rem/1 var(--blnr-font-display);
	text-transform: uppercase;
	letter-spacing: .18em;
	color: var(--msq-cyan-600);
	margin-bottom: 4px;
}
.msq_contact__founder-link {
	display: block;
	font-weight: 600;
	font-size: 1rem;
	color: var(--msq-navy-dark);
	text-decoration: none;
	word-break: break-word;
}
.msq_contact__founder-link:hover { color: var(--msq-cyan-600); }
.msq_contact__address {
	display: grid; gap: 2px;
	font-style: normal;
	font-size: .9375rem;
	line-height: 1.55;
	color: var(--blnr-ink-soft);
	margin: 0 0 var(--blnr-sp-4);
}
.msq_contact__hours { font-size: .8125rem; color: var(--blnr-ink-soft); margin: 0; }
.msq_contact__panel--cyan {
	background: linear-gradient(135deg, var(--msq-navy) 0%, var(--msq-cyan-600) 100%);
	color: #fff;
	border: 0;
}
.msq_contact__panel--cyan h3 { color: #fff; }
.msq_contact__panel--cyan p { color: rgba(255,255,255,.85); margin: 0 0 var(--blnr-sp-4); font-size: .9375rem; line-height: 1.5; }

/* ====================================================================
   Mobile typography clamps — prevent giant H1/H2 overflow on small screens
   ==================================================================== */
@media (max-width: 640px) {
	.msq_hero__title           { font-size: clamp(2rem, 8vw, 2.5rem); max-width: 100%; line-height: 1.05; }
	.msq_hero__inner           { padding: 110px 0 60px; max-width: 100%; }
	.msq_section-head h2,
	.msq_section-head--center h2,
	.msq_why__head h2,
	.msq_darkcta__title,
	.msq_divider__title,
	.msq_pgh__title            { font-size: clamp(1.75rem, 7vw, 2.25rem); max-width: 100%; line-height: 1.08; }
	.msq_creds__title,
	.msq_usp__title            { font-size: clamp(1.5rem, 6vw, 2rem); }
	.msq_projshow__title       { font-size: clamp(1.75rem, 7vw, 2.25rem); max-width: 100%; }
	.msq_svc-block__title      { font-size: clamp(1.75rem, 7vw, 2.25rem); max-width: 100%; }
	.msq_minicta__inner        { grid-template-columns: 1fr; text-align: left; }
	.msq_darkcta__inner        { grid-template-columns: 1fr; }
	.msq_darkcta__stats        { gap: 12px; }

	/* Tighter section padding on phones */
	.msq_section, .msq_servicegrid, .msq_industries, .msq_process,
	.msq_why, .msq_testimonial, .msq_faqteaser, .msq_about-story,
	.msq_timeline, .msq_values, .msq_caps, .msq_projects-archive,
	.msq_project-single { padding: clamp(48px, 9vw, 80px) 0; }
	.msq_darkcta, .msq_creds { padding: clamp(56px, 10vw, 88px) 0; }

	/* Page hero on mobile — more compact */
	.msq_pgh { min-height: 340px; padding: 80px 0 56px; }

	/* Project showcase + service blocks: tighter media + content on mobile */
	.msq_projshow { padding: 48px 0; }
	.msq_projshow__content-wrap { padding: 32px var(--blnr-gutter-mobile); }
	.msq_svc-block { padding: 56px 0; }
	.msq_svc-block__content-wrap { padding: 32px var(--blnr-gutter-mobile); }

	/* Image divider — shorter on mobile */
	.msq_divider { min-height: 380px; padding: 72px 0; }

	/* Footer — tighter on mobile */
	.msq_footer { padding: 64px 0 32px; }
	.msq_footer__grid { gap: 32px; }

	/* Industries — bigger touch targets */
	.msq_industries__tile { aspect-ratio: 16/12; min-height: 180px; }

	/* Service sticky nav — squish padding */
	.msq_svc-nav-wrap { padding: 8px 0; top: 76px; }
	.msq_svc-nav__link { padding: 7px 12px; font-size: .75rem; }

	/* Hide carousel nav arrows on phones — touch swipe via dots */
	.msq_projshow__nav { display: none; }

	/* Mobile form fields — bigger tap targets */
	.msq_form-field input,
	.msq_form-field select,
	.msq_form-field textarea {
		font-size: 16px;   /* prevents iOS auto-zoom on focus */
		padding: 14px 16px;
	}

	/* Premium mini-CTA stacks cleanly */
	.msq_minicta__inner { padding: 28px 20px; }
}

@media (max-width: 980px) {
	/* Service block content padding — keep mobile gutter */
	.msq_svc-block__content-wrap { padding: 32px var(--blnr-gutter-mobile); }
	.msq_projshow__content-wrap   { padding: 32px var(--blnr-gutter-mobile); }
}

/* Tablet refinements (640–880) */
@media (min-width: 641px) and (max-width: 879px) {
	.msq_industries__tile { aspect-ratio: 16/10; }
}

/* ====================================================================
   Trusted-by logos strip
   ==================================================================== */
.msq_trusted {
	padding: clamp(40px, 5vw, 64px) 0;
	background: var(--msq-paper);
	border-bottom: 1px solid var(--blnr-border-soft);
}
.msq_trusted__label {
	text-align: center;
	font: 700 .75rem/1 var(--blnr-font-display);
	text-transform: uppercase;
	letter-spacing: .22em;
	color: var(--blnr-ink-soft);
	margin: 0 0 clamp(24px, 3vw, 36px);
}
.msq_trusted__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 36px;
	align-items: center;
	justify-items: center;
	max-width: 1100px;
	margin: 0 auto;
}
@media (min-width: 640px) { .msq_trusted__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .msq_trusted__grid { grid-template-columns: repeat(6, 1fr); gap: 48px; } }
.msq_trusted__logo {
	max-width: 140px;
	opacity: .55;
	filter: grayscale(100%) brightness(0) saturate(100%);   /* grayscale baseline */
	transition: opacity .25s, filter .25s;
}
.msq_trusted__logo:hover { opacity: 1; filter: none; }
.msq_trusted__logo img { width: 100%; height: auto; max-height: 48px; object-fit: contain; }

/* ====================================================================
   Testimonial — single quote card
   ==================================================================== */
.msq_testimonial {
	padding: clamp(56px, 7vw, 96px) 0;
	background: var(--msq-paper);
	position: relative;
}
.msq_testimonial__card {
	max-width: 900px;
	margin: 0 auto;
	padding: clamp(40px, 5vw, 72px) clamp(28px, 4vw, 56px);
	background: linear-gradient(135deg, var(--msq-mist) 0%, #EAF3FB 100%);
	border-radius: 0;
	position: relative;
	overflow: hidden;
}
.msq_testimonial__mark {
	color: var(--msq-cyan);
	position: absolute;
	top: 32px; left: 32px;
}
.msq_testimonial__quote {
	font-family: var(--blnr-font-display);
	font-weight: 700;
	font-size: clamp(1.375rem, .9rem + 1.4vw, 2rem);
	letter-spacing: -0.022em;
	line-height: 1.3;
	color: var(--msq-navy-dark);
	margin: 0 0 var(--blnr-sp-8);
	padding-top: 32px;
	text-wrap: balance;
}
.msq_testimonial__quote::before { content: open-quote; }
.msq_testimonial__quote::after  { content: close-quote; }
.msq_testimonial__author {
	display: flex; align-items: center; gap: 16px;
}
.msq_testimonial__photo {
	width: 56px; height: 56px;
	border-radius: var(--blnr-r-md);
	object-fit: cover;
	flex-shrink: 0;
	box-shadow: 0 4px 10px rgba(0,61,143,.12);
}
.msq_testimonial__person { display: flex; flex-direction: column; }
.msq_testimonial__name {
	font-family: var(--blnr-font-display);
	font-weight: 700;
	font-size: 1rem;
	color: var(--msq-navy-dark);
}
.msq_testimonial__role {
	font-size: .875rem;
	color: var(--blnr-ink-soft);
}

/* ====================================================================
   FAQ Teaser (uses .msq_faq__* classes from the FAQ page section)
   ==================================================================== */
.msq_faqteaser {
	padding: clamp(56px, 8vw, 96px) 0;
	background: var(--msq-mist);
}
.msq_faqteaser__list {
	display: grid; gap: 12px;
	max-width: 880px;
	margin: 0 auto;
}
.msq_faqteaser__bottom-cta {
	text-align: center;
	margin-top: clamp(28px, 4vw, 44px);
}

/* ====================================================================
   Sticky mobile call button (cyan pill bottom-right)
   ==================================================================== */
.msq_callbar {
	position: fixed;
	bottom: 16px;
	right: 16px;
	z-index: 70;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 22px;
	font: 700 .9375rem/1 var(--blnr-font-body);
	color: #fff;
	background: var(--msq-cyan);
	border-radius: var(--blnr-r-full);
	box-shadow: var(--blnr-shadow-cta);
	text-decoration: none;
	transition: transform .2s var(--blnr-ease-out), box-shadow .2s;
}
.msq_callbar:hover { transform: translateY(-2px); box-shadow: var(--blnr-shadow-cta-hover); color: #fff; }
.msq_callbar:focus { color: #fff; }
.msq_callbar svg { width: 18px; height: 18px; }
@media (min-width: 980px) { .msq_callbar { display: none; } }
body.msq-no-scroll .msq_callbar { display: none; }

/* ====================================================================
   Visible skip-to-content focus state (was visually-hidden only)
   ==================================================================== */
.visually-hidden:focus,
.visually-hidden:focus-visible {
	position: absolute;
	top: 16px; left: 16px;
	width: auto; height: auto;
	margin: 0; clip: auto;
	padding: 12px 18px;
	background: var(--msq-navy);
	color: #fff;
	font-weight: 700;
	font-size: .9375rem;
	border-radius: var(--blnr-r-md);
	box-shadow: var(--blnr-shadow-lg);
	z-index: 9999;
	white-space: nowrap;
}

/* ====================================================================
   Breadcrumbs — visible above page heroes (interior pages)
   Refined: chevron separator instead of slash, navy current page,
   subtle cyan accent on hover, comfortable padding above + below.
   ==================================================================== */
.msq_breadcrumbs {
	background: var(--msq-mist);
	border-bottom: 1px solid var(--blnr-border-soft);
	padding: clamp(18px, 2.5vw, 24px) 0;
}
.msq_breadcrumbs__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	font: 600 .8125rem/1 var(--blnr-font-display);
	letter-spacing: .04em;
	color: var(--blnr-ink-soft);
}
.msq_breadcrumbs__list a {
	color: var(--blnr-ink-soft);
	text-decoration: none;
	padding: 4px 0;
	transition: color .15s ease;
}
.msq_breadcrumbs__list a:hover { color: var(--msq-cyan-600); }
.msq_breadcrumbs__sep {
	color: rgba(0,61,143,.28);
	font-weight: 500;
	user-select: none;
}
/* Replace text slash with a chevron — cleaner visual */
.msq_breadcrumbs__sep::before {
	content: "›";
	font-size: 1rem;
	line-height: 1;
}
.msq_breadcrumbs__sep { font-size: 0; }
.msq_breadcrumbs__sep::before { font-size: 1rem; }
.msq_breadcrumbs__list li[aria-current="page"] {
	color: var(--msq-navy-dark);
	font-weight: 700;
}
.msq_breadcrumbs__list li[aria-current="page"] span {
	padding: 4px 0;
}

/* ====================================================================
   Capabilities matrix (About page)
   ==================================================================== */
.msq_caps {
	padding: clamp(40px, 5vw, 64px) 0;
	background: var(--msq-paper);
}
.msq_caps__title {
	font-family: var(--blnr-font-display);
	font-weight: 800;
	font-size: clamp(1.75rem, 1.2rem + 1.8vw, 2.5rem);
	letter-spacing: -0.03em;
	margin: 0 0 clamp(32px, 4vw, 48px);
	color: var(--msq-navy-dark);
	text-align: center;
}
.msq_caps__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	max-width: 1080px;
	margin: 0 auto;
}
@media (min-width: 640px) { .msq_caps__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .msq_caps__grid { grid-template-columns: repeat(3, 1fr); gap: 28px; } }
.msq_caps__item {
	background: var(--msq-paper);
	border: 1px solid var(--blnr-border);
	border-radius: 0;
	padding: 24px 26px;
}
.msq_caps__lbl {
	display: block;
	font: 700 .75rem/1 var(--blnr-font-display);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--msq-cyan-600);
	margin-bottom: 10px;
}
.msq_caps__val {
	font-family: var(--blnr-font-body);
	font-weight: 500;
	font-size: 1rem;
	letter-spacing: 0;
	color: var(--msq-navy-dark);
	line-height: 1.55;
}

/* ====================================================================
   Custom 404 — engineering-themed
   ==================================================================== */
.msq_404 {
	position: relative;
	min-height: 70vh;
	display: grid;
	place-items: center;
	padding: clamp(80px, 12vw, 160px) 0;
	background: linear-gradient(135deg, var(--msq-navy-dark) 0%, var(--msq-navy) 100%);
	color: #fff;
	overflow: hidden;
	isolation: isolate;
}
.msq_404__bg {
	position: absolute; inset: 0; z-index: -1;
	background:
		radial-gradient(ellipse at 20% 30%, rgba(27,181,242,.22), transparent 55%),
		radial-gradient(ellipse at 90% 80%, rgba(27,181,242,.18), transparent 50%);
	pointer-events: none;
}
.msq_404__inner {
	text-align: center;
	max-width: 720px;
}
.msq_404__inner .msq_eyebrow {
	margin-bottom: var(--blnr-sp-5);
}
.msq_404__title {
	font-family: var(--blnr-font-display);
	font-weight: 800;
	font-size: clamp(2.5rem, 1.4rem + 4vw, 4.5rem);
	letter-spacing: -0.04em;
	line-height: 1.0;
	color: #fff;
	margin: 0 0 var(--blnr-sp-5);
	text-wrap: balance;
}
.msq_404__sub {
	font-size: clamp(1rem, .95rem + .25vw, 1.1875rem);
	color: rgba(255,255,255,.82);
	max-width: 56ch;
	margin: 0 auto var(--blnr-sp-8);
}
.msq_404__actions {
	display: flex; flex-wrap: wrap; gap: 12px;
	justify-content: center;
	margin-bottom: var(--blnr-sp-12);
}
.msq_404__sitemap {
	margin-top: var(--blnr-sp-8);
	padding-top: var(--blnr-sp-6);
	border-top: 1px solid rgba(255,255,255,.12);
}
.msq_404__sitemap-label {
	display: block;
	font: 700 .75rem/1 var(--blnr-font-display);
	text-transform: uppercase;
	letter-spacing: .2em;
	color: rgba(255,255,255,.55);
	margin-bottom: 16px;
}
.msq_404__sitemap ul {
	list-style: none; padding: 0; margin: 0;
	display: flex; flex-wrap: wrap; justify-content: center;
	gap: 14px 24px;
}
.msq_404__sitemap a {
	color: var(--msq-cyan);
	font-weight: 600;
	font-size: .9375rem;
}
.msq_404__sitemap a:hover { color: #fff; }

/* ====================================================================
   Sticky service nav (Services page) — left rail with scroll-spy hooks
   ==================================================================== */
.msq_service-nav {
	position: sticky;
	top: 108px;
	display: none;
	margin-top: 8px;
}
@media (min-width: 1024px) { .msq_service-nav { display: block; } }
.msq_service-nav__list {
	list-style: none; padding: 0; margin: 0;
	display: grid; gap: 4px;
}
.msq_service-nav__list a {
	display: block;
	padding: 10px 14px;
	border-left: 2px solid transparent;
	color: var(--blnr-ink-soft);
	font-size: .9375rem;
	font-weight: 600;
	transition: color .15s, background .15s, border-color .15s;
}
.msq_service-nav__list a:hover {
	color: var(--msq-navy);
	background: rgba(27,181,242,.06);
	border-left-color: rgba(27,181,242,.4);
}
.msq_service-nav__list a.is-active {
	color: var(--msq-navy-dark);
	background: rgba(27,181,242,.08);
	border-left-color: var(--msq-cyan);
}

/* ====================================================================
   Pre-footer mini CTA — SPT-style soft closer right above the footer
   ==================================================================== */
.msq_minicta {
	background: linear-gradient(180deg, var(--msq-mist) 0%, var(--msq-paper) 100%);
	padding: clamp(48px, 6vw, 80px) 0;
	border-top: 1px solid var(--blnr-border-soft);
}
.msq_minicta__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(24px, 4vw, 48px);
	align-items: center;
	max-width: 1100px;
	margin: 0 auto;
	padding: clamp(32px, 4vw, 48px);
	background: var(--msq-paper);
	border: 1px solid var(--blnr-border);
	border-radius: 0;
	box-shadow: var(--blnr-shadow-card);
}
@media (min-width: 880px) {
	.msq_minicta__inner { grid-template-columns: 1fr auto; }
}

.msq_minicta__title {
	font-family: var(--blnr-font-display);
	font-weight: 800;
	font-size: clamp(1.75rem, 1.2rem + 1.8vw, 2.75rem);
	letter-spacing: -0.034em;
	line-height: 1.05;
	color: var(--msq-navy-dark);
	margin: 0 0 8px;
	max-width: 20ch;
	text-wrap: balance;
}
.msq_minicta__sub {
	font-size: 1.0625rem;
	line-height: 1.5;
	color: var(--blnr-ink-soft);
	margin: 0;
}
.msq_minicta__btn { white-space: nowrap; }

/* ====================================================================
   TRIAL — heading font/weight to match the logo wordmark.
   Swap font-family between 'Roboto' and 'Oxanium' to A/B.
   Remove this block to revert to bold 800 Montserrat headings.
   ==================================================================== */
h1, h2, h3, h4,
.msq_hero__title,
.msq_hero__title .msq_hl,
.msq_hero__title mark,
.msq_section-head h2,
.msq_divider__title,
.msq_projshow__title,
.msq_svc-block__title,
.msq_proj-card__title,
.msq_about-story__head h2,
.msq_why__head h2,
.msq_features-alt__title,
.msq_cta-banner h2,
.msq_value-card__title,
.msq_milestone__year,
.msq_proc-num,
.msq_team__name,
.msq_stats-band__num,
.msq_stat-card__num,
.msq_rich h2,
.msq_rich h3,
.msq_usp__title,
.msq_usp__heading,
.msq_creds__title,
.msq_servicegrid__title,
.msq_process__title,
.msq_why__title,
.msq_darkcta__title,
.msq_minicta__title,
.msq_footer__col-title,
.msq_industries__title,
.msq_industries h2,
.msq_industries h3,
.msq_industry-tile__title,
.msq_testimonial__quote,
.msq_faq__q,
.msq_caps__num,
.msq_caps__label,
.msq_promise h2,
.msq_promise h3,
.msq_proc h2,
.msq_proc h3,
.msq_servicegrid h2,
.msq_servicegrid h3,
.msq_why h2,
.msq_why h3 {
	font-weight: 600;
	letter-spacing: -0.018em;
}

/* ====================================================================
   Tidii-grade polish pass — site-wide
   Alternating section backgrounds · deeper card shadows ·
   sticky-shadowed header · larger hero titles · richer overlays.
   ==================================================================== */

/* --- Page hero: taller, bigger title, layered gradient + grid overlay --- */
.msq_pgh {
	min-height: clamp(440px, 64vh, 640px);
	padding: clamp(96px, 12vw, 140px) 0 clamp(72px, 10vw, 96px);
}
.msq_pgh__title {
	font-size: clamp(2.5rem, 1.5rem + 4.2vw, 4.75rem);
	max-width: 20ch;
	letter-spacing: -0.044em;
}
.msq_pgh__lead {
	font-size: clamp(1.0625rem, .95rem + .35vw, 1.3125rem);
	max-width: 60ch;
	color: rgba(255,255,255,.88);
}
/* Stronger scrim that still leaves image visible on the right */
.msq_pgh__scrim {
	background:
		linear-gradient(90deg,
			rgba(5,42,99,.97)  0%,
			rgba(5,42,99,.92) 28%,
			rgba(5,42,99,.74) 50%,
			rgba(5,42,99,.34) 75%,
			rgba(5,42,99,.08) 92%,
			rgba(5,42,99,0)  100%
		),
		linear-gradient(180deg, rgba(5,42,99,.40) 0%, rgba(5,42,99,0) 30%);
}
.msq_pgh__glow {
	background:
		radial-gradient(ellipse at 15% 25%, rgba(27,181,242,.28), transparent 50%),
		radial-gradient(ellipse at 90% 90%, rgba(27,181,242,.20), transparent 55%);
}
/* Render the blueprint grid even without a bg image — gives empty heros texture */
.msq_pgh:not(.has-bg) .msq_pgh__blueprint {
	-webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,.50) 0%, rgba(0,0,0,.18) 60%, transparent 100%);
	        mask-image: linear-gradient(90deg, rgba(0,0,0,.50) 0%, rgba(0,0,0,.18) 60%, transparent 100%);
}

/* --- Section background rhythm — alternating mist / paper / cream --- */
.msq_promise   { background: var(--msq-paper); }
.msq_creds     { background: linear-gradient(180deg, var(--msq-navy-dark) 0%, var(--msq-navy) 100%); }
.msq_servicegrid { background: var(--msq-mist); }
.msq_industries  { background: var(--msq-paper); }
.msq_process,
.msq_proc        { background: var(--msq-mist); }
.msq_why         { background: var(--msq-paper); }
.msq_testimonial { background: linear-gradient(180deg, var(--msq-mist) 0%, var(--msq-paper) 100%); }
.msq_faq-teaser  { background: var(--msq-mist); }

/* --- Card elevation — Tidii-style soft-but-present shadows --- */
.msq_servicegrid__card,
.msq_svc-block,
.msq_why__card,
.msq_values__card,
.msq_team__card,
.msq_proc__step,
.msq_svc-detail__step,
.msq_features-3up__card,
.msq_timeline__content,
.msq_proj-card,
.msq_projects-grid__card {
	box-shadow: 0 4px 14px rgba(5,42,99,.06), 0 1px 2px rgba(5,42,99,.04);
	transition: transform .35s var(--blnr-ease-out), box-shadow .35s var(--blnr-ease-out), border-color .2s;
}
.msq_servicegrid__card:hover,
.msq_svc-block:hover,
.msq_values__card:hover,
.msq_team__card:hover,
.msq_proc__step:hover,
.msq_svc-detail__step:hover,
.msq_features-3up__card:hover,
.msq_timeline__content:hover,
.msq_proj-card:hover,
.msq_projects-grid__card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(5,42,99,.12), 0 4px 10px rgba(5,42,99,.06);
}

/* --- Header — soft-shadow on scroll for a Tidii sticky feel --- */
.msq_header {
	background: rgba(255,255,255,.92);
	-webkit-backdrop-filter: saturate(160%) blur(10px);
	        backdrop-filter: saturate(160%) blur(10px);
	border-bottom: 1px solid rgba(0,61,143,.06);
	transition: box-shadow .25s var(--blnr-ease-out), background .25s;
}
.msq_header.is-scrolled {
	box-shadow: 0 6px 24px rgba(5,42,99,.07);
	background: rgba(255,255,255,.96);
}

/* --- Breadcrumb sits closer to hero on shorter heros --- */
.msq_breadcrumbs { background: var(--msq-mist); }

/* --- Final CTA banner: a touch more presence --- */
.msq_cta-banner { box-shadow: 0 24px 60px rgba(0,61,143,.18); }
