/**
 * IMAX Financial / Employee Benefits design
 * Keeps original IMAX logo; corporate dark blue & white theme.
 */

/* ------------------------------------------------------------------------
 * Embedded Helvetica webfont
 * --------------------------------------------------------------------- */
@font-face {
	font-family: "HelveticaWeb";
	src: url("./fonts/helvetica-regular.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "HelveticaWeb";
	src: url("./fonts/helvetica-bold.woff2") format("woff2");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "HelveticaWeb";
	src: url("./fonts/helvetica-italic.woff2") format("woff2");
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: "HelveticaWeb";
	src: url("./fonts/helvetica-bolditalic.woff2") format("woff2");
	font-weight: 700;
	font-style: italic;
	font-display: swap;
}

/* Sticky footer: keep footer at viewport bottom on short pages */
html,
body {
	height: 100%;
}
#pagewrap {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}
#body {
	flex: 1 0 auto;
}
#footerwrap {
	flex-shrink: 0;
	margin-top: auto;
}

:root {
	--imax-primary: #003366;
	--imax-primary-light: #004080;
	/* Brand accent (orange in logo) */
	--imax-brand-orange: #f7941d;
	--imax-background-dark: #001a33;
	--imax-text: #334155;
	--imax-text-light: #64748b;
	--imax-bg: #f8fafc;
	--imax-card-bg: #f0f7ff;
	--imax-accent: #f0f7ff;
	--imax-white: #fff;
	--imax-radius: 0.5rem;
	--imax-radius-lg: 0.75rem;
	--imax-shadow: 0 2px 12px rgba(0,0,0,.08);
	--imax-font: "HelveticaWeb";
	/* Horizontal inset for header / footer / mobile menu (tablets were edge-to-edge at 769–1024px). */
	--imax-page-gutter: clamp(1rem, 3.5vw, 1.75rem);
}

html,
body {
	font-family: var(--imax-font) !important;
}

/* Force Helvetica stack site-wide (incl. form controls) */
body,
button,
input,
select,
textarea,
optgroup {
	font-family: var(--imax-font) !important;
}

/* Global no-sidebar layout for this child theme */
#sidebar,
#sidebar-alt,
.sidebar_container,
.widgetized {
	display: none !important;
}

#layout {
	display: block !important;
}

#content {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 auto !important;
}
/* Material Symbols (match code.html) */
body.imax-using-design,
.imax-front-page {
	font-family: var(--imax-font);
}
.material-symbols-outlined {
	font-family: 'Material Symbols Outlined';
	font-weight: 400;
	font-style: normal;
	font-size: 24px;
	line-height: 1;
	letter-spacing: normal;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	/* If the icon font fails to load, the literal ligature text
	 * (e.g. "format_quote", "chevron_right") would otherwise overflow
	 * its container. Clip it so layout never breaks. */
	display: inline-block;
	max-width: 1.5em;
	overflow: hidden;
	white-space: nowrap;
	vertical-align: middle;
}

/* ----- WordPress Admin Bar (top bar when logged in) ----- */
#wpadminbar,
#wpadminbar .ab-item,
#wpadminbar a.ab-item,
#wpadminbar span.ab-label,
#wpadminbar .ab-icon::before,
#wpadminbar .ab-submenu .ab-item,
#wpadminbar .quicklinks .menupop ul li a {
	color: #f0f0f1 !important;
}
#wpadminbar .ab-item:hover,
#wpadminbar a.ab-item:hover,
#wpadminbar .ab-submenu .ab-item:hover,
#wpadminbar .quicklinks .menupop ul li a:hover {
	color: #fff !important;
}
#wpadminbar .ab-icon::before,
#wpadminbar .ab-item::before {
	color: #f0f0f1 !important;
}
#wpadminbar .ab-submenu {
	background: #2c3338;
}

/* ----- Header ----- */
/* Fix flipped layout: theme "Right Pane" / "Left Pane" hides the header and shows the menu on the side.
   Force header to be visible and mobile menu off-canvas until hamburger is clicked. */
body.header-rightpane #headerwrap.imax-design-header,
body.header-leftpane #headerwrap.imax-design-header {
	left: 0 !important;
	right: auto !important;
	position: relative !important;
	width: 100% !important;
	max-width: none !important;
}
body.header-rightpane #headerwrap.imax-design-header #header,
body.header-leftpane #headerwrap.imax-design-header #header {
	width: 100% !important;
	max-width: none !important;
}
/* Mobile nav should open as a dropdown (not a side drawer). */
#headerwrap.imax-design-header #mobile-menu.sidemenu {
	position: absolute !important;
	top: calc(100% + 8px);
	right: 0;
	left: auto;
	width: min(360px, calc(100vw - 2rem));
	max-width: calc(100vw - 2rem);
	height: auto;
	max-height: calc(100vh - 110px);
	background: var(--imax-white);
	border: 1px solid rgba(0, 51, 102, 0.12);
	border-radius: 0.75rem;
	box-shadow: 0 14px 36px rgba(0, 0, 0, 0.16);
	overflow-y: auto;
	z-index: 9998;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-6px);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}
body.mobile-menu-visible #headerwrap.imax-design-header #mobile-menu.sidemenu.sidemenu-on {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}
#headerwrap.imax-design-header .header-icons {
	display: none;
}
@media (max-width: 1024px) {
	#headerwrap.imax-design-header .header-icons {
		display: flex !important;
	}
	/*
	 * Ultra “sidemenu-right” shifts #headerwrap left (−300px) while #mobile-menu
	 * is full width — disconnects hamburger row from the panel and leaves a gutter.
	 * Reset shifts on body/header so the dropdown aligns with the top bar.
	 */
	body.mobile-menu-visible.sidemenu-right,
	body.mobile-menu-visible.sidemenu-right.sidemenu-active {
		left: 0 !important;
		right: 0 !important;
		transform: none !important;
	}
	body.mobile-menu-visible.sidemenu-right #headerwrap.imax-design-header,
	body.mobile-menu-visible.sidemenu-right.sidemenu-active #headerwrap.imax-design-header {
		left: 0 !important;
		right: 0 !important;
		transform: none !important;
		margin-left: 0 !important;
		transition: none !important;
	}
	body.mobile-menu-visible.sidemenu-right #headerwrap.imax-design-header.fixed-header,
	body.mobile-menu-visible.sidemenu-right.sidemenu-active .fixed-header {
		left: 0 !important;
		right: 0 !important;
		transform: none !important;
	}
	/* Override parent "header-overlay" mobile full-screen blur behavior. */
	body.mobile-menu-visible #headerwrap.imax-design-header {
		position: sticky !important;
		top: 0 !important;
		height: auto !important;
		min-height: 0 !important;
		color: inherit !important;
		z-index: 100000 !important;
	}
	/* Avoid "glass" blur artifact on dropdown menu layer in mobile compositing. */
	body.mobile-menu-visible #headerwrap.imax-design-header {
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
		background: #fff !important;
	}
	/* Drop down from #headerwrap bottom (icons are out-of-flow; height = #header bar). */
	body.mobile-menu-visible #headerwrap.imax-design-header #mobile-menu.sidemenu {
		position: absolute !important;
		top: 100% !important;
		left: 0 !important;
		right: 0 !important;
		margin-top: 0 !important;
	}
	/*
	 * Open panel: anchor to header bottom (no fixed pixel stack = no white strip under bar).
	 * Themify dropdown.css uses #main-nav li { transform: translateY(-40px) } — reset below.
	 */
	body.mobile-menu-visible #headerwrap.imax-design-header #mobile-menu.sidemenu.sidemenu-on {
		position: absolute !important;
		top: 100% !important;
		left: 0 !important;
		right: 0 !important;
		bottom: auto !important;
		width: 100% !important;
		max-width: 100vw !important;
		min-width: 0 !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: calc(100vh - 5.5rem - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
		overflow-y: auto !important;
		border-radius: 0 !important;
		border-left: 0 !important;
		border-right: 0 !important;
		border-bottom: 1px solid rgba(0, 51, 102, 0.12) !important;
		background: #fff !important;
		z-index: 99999 !important;
		box-sizing: border-box !important;
		contain: none !important;
		padding-top: 0 !important;
		padding-right: max(var(--imax-page-gutter), env(safe-area-inset-right, 0px)) !important;
		padding-bottom: max(12px, env(safe-area-inset-bottom, 0px)) !important;
		padding-left: max(var(--imax-page-gutter), env(safe-area-inset-left, 0px)) !important;
		margin: 0 !important;
	}
	body.admin-bar.mobile-menu-visible #headerwrap.imax-design-header #mobile-menu.sidemenu.sidemenu-on {
		max-height: calc(100vh - 7.5rem - env(safe-area-inset-bottom, 0px)) !important;
	}
	@media screen and (max-width: 782px) {
		body.admin-bar.mobile-menu-visible #headerwrap.imax-design-header #mobile-menu.sidemenu.sidemenu-on {
			max-height: calc(100vh - 8.5rem - env(safe-area-inset-bottom, 0px)) !important;
		}
	}
	body.mobile-menu-visible #headerwrap.imax-design-header #mobile-menu.sidemenu.sidemenu-on .navbar-wrapper {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin: 0 !important;
	}
	body.mobile-menu-visible #headerwrap.imax-design-header #mobile-menu.sidemenu.sidemenu-on #main-nav-wrap-mobile {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	/* Themify mobile-menu + dropdown animation: drop stray transform / outer margin on nav items. */
	body.mobile-menu-visible #headerwrap.imax-design-header #mobile-menu.sidemenu.sidemenu-on #main-nav li,
	body.mobile-menu-visible #headerwrap.imax-design-header #mobile-menu.sidemenu.sidemenu-on .menu > li {
		transform: none !important;
	}
	body.mobile-menu-visible #headerwrap.imax-design-header #mobile-menu.sidemenu.sidemenu-on #main-nav {
		margin: 0 !important;
		padding: 0 !important;
	}
	body.mobile-menu-visible #headerwrap.imax-design-header #mobile-menu.sidemenu.sidemenu-on .search-button,
	body.mobile-menu-visible #headerwrap.imax-design-header #mobile-menu.sidemenu.sidemenu-on .social-widget,
	body.mobile-menu-visible #headerwrap.imax-design-header #mobile-menu.sidemenu.sidemenu-on .header-widget [class*="col"] {
		transform: none !important;
	}
	/* Keep outside area clickable to close menu, but remove blur. */
	body.mobile-menu-visible .body-overlay,
	body.mobile-menu-visible .body-overlay-on {
		display: block !important;
		opacity: 1 !important;
		visibility: visible !important;
		background: rgba(0, 0, 0, 0.2) !important;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
		z-index: 99990 !important;
	}
	#headerwrap.imax-design-header {
		overflow: visible;
	}
	#headerwrap.imax-design-header #header {
		overflow: visible;
	}
	#headerwrap.imax-design-header #mobile-menu.sidemenu {
		right: 0.5rem;
		width: calc(100vw - 1rem);
		max-width: calc(100vw - 1rem);
		opacity: 1;
		filter: none !important;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
	}
	#headerwrap.imax-design-header #mobile-menu.sidemenu,
	#headerwrap.imax-design-header #mobile-menu.sidemenu * {
		filter: none !important;
	}
	#headerwrap.imax-design-header #menu-icon-close {
		display: none !important;
	}
	#headerwrap.imax-design-header #main-nav-wrap-mobile .menu,
	#headerwrap.imax-design-header #main-nav-wrap-mobile .menu ul {
		display: block;
	}
	/* Expand all nested mobile menu items by default. */
	#headerwrap.imax-design-header #main-nav-wrap-mobile .menu li > ul,
	#headerwrap.imax-design-header #main-nav-wrap-mobile .menu li > .sub-menu {
		display: block !important;
		opacity: 1 !important;
		visibility: visible !important;
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
	}
	/* Themify menu markup can use #main-nav / mega-menu containers; keep all expanded. */
	#headerwrap.imax-design-header #mobile-menu #main-nav li > ul,
	#headerwrap.imax-design-header #mobile-menu #main-nav li > .sub-menu,
	#headerwrap.imax-design-header #mobile-menu #main-nav .has-mega-sub-menu .mega-sub-menu,
	#headerwrap.imax-design-header #mobile-menu #main-nav .has-mega-column > .sub-menu,
	#headerwrap.imax-design-header #mobile-menu #main-nav .has-mega-column > .sub-menu > li > ul {
		display: block !important;
		opacity: 1 !important;
		visibility: visible !important;
		height: auto !important;
		max-height: none !important;
		transform: none !important;
		overflow: visible !important;
		position: static !important;
		float: none !important;
		left: auto !important;
		right: auto !important;
		top: auto !important;
		bottom: auto !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		box-shadow: none !important;
		background: transparent !important;
	}
	/* Flatten mega-menu columns into one mobile-friendly stacked list. */
	#headerwrap.imax-design-header #mobile-menu #main-nav .has-mega-column > .sub-menu > li,
	#headerwrap.imax-design-header #mobile-menu #main-nav .has-mega-sub-menu .mega-sub-menu > ul > li {
		display: block !important;
		width: 100% !important;
		float: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	#headerwrap.imax-design-header #mobile-menu #main-nav .has-mega-column .widgettitle,
	#headerwrap.imax-design-header #mobile-menu #main-nav .has-mega-column > .sub-menu > li > a {
		display: none !important;
	}
	#headerwrap.imax-design-header #mobile-menu #main-nav li li > a {
		display: block !important;
		padding: 0.65rem 1rem 0.65rem 2rem !important;
		font-size: 0.96rem !important;
		border-bottom: 1px solid rgba(0, 51, 102, 0.06) !important;
	}
	#headerwrap.imax-design-header #main-nav-wrap-mobile .menu .child-arrow,
	#headerwrap.imax-design-header #main-nav-wrap-mobile .menu i.toggle-menu {
		display: none !important;
	}
	#headerwrap.imax-design-header #main-nav-wrap-mobile .menu li li > a {
		padding-left: 1.75rem !important;
	}
	#headerwrap.imax-design-header #main-nav-wrap-mobile .menu > li > a {
		display: block;
		padding: 0.8rem 1rem;
		border-bottom: 1px solid rgba(0, 51, 102, 0.08);
	}
}

.imax-design-header#headerwrap,
#headerwrap.imax-design-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(255,255,255,0.9) !important;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-bottom: 1px solid rgba(0,51,102,0.1);
	box-shadow: none;
}
/* Logo SVG from code.html (header) */
.imax-logo-svg-wrap {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	text-decoration: none;
	color: inherit;
}
.imax-logo-svg {
	display: inline-flex;
	flex-shrink: 0;
	width: 2rem;
	height: 2rem;
	color: var(--imax-primary);
}
.imax-logo-svg svg {
	width: 100%;
	height: 100%;
}
.imax-logo-text {
	font-size: 1.25rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	text-transform: uppercase;
}
#headerwrap.imax-design-header .imax-logo-text { color: var(--imax-primary) !important; }
/* Lock header to a fixed height */
#headerwrap.imax-design-header #header {
	min-height: 64px;
	max-height: 64px;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	padding-left: var(--imax-page-gutter);
	padding-right: var(--imax-page-gutter);
}
/* Hamburger sits outside #header (sibling); match header content inset. */
#headerwrap.imax-design-header > .header-icons {
	right: var(--imax-page-gutter) !important;
}
/* Header wording: force blue so it's visible (override any white from parent theme) */
#headerwrap.imax-design-header,
#headerwrap.imax-design-header #header,
#headerwrap.imax-design-header .header-bar {
	color: var(--imax-primary) !important;
}
#headerwrap.imax-design-header #site-logo,
#headerwrap.imax-design-header #site-logo a,
#headerwrap.imax-design-header .site-logo-image {
	color: var(--imax-primary) !important;
}
.imax-design-header .imax-header-inner {
	display: block;
}
.imax-header-bar {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	flex-wrap: nowrap;
	gap: 1rem;
	padding: 0 0;
	min-height: 64px;
	max-height: 64px;
	width: 100%;
}
.imax-header-bar #site-logo {
	margin: 0;
}
.imax-header-bar #site-logo a {
	display: inline-flex;
	align-items: center;
	color: var(--imax-primary) !important;
}
.imax-header-bar .site-logo-image {
	max-height: 42px;
	width: auto;
	height: auto;
}
.imax-header-nav-cta {
	display: flex;
	align-items: center;
	gap: 2rem;
}
.imax-main-nav-wrap {
	display: block;
}
.imax-nav-menu,
.imax-main-nav-wrap .menu {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 1.5rem;
}
.imax-nav-menu a,
.imax-main-nav-wrap .menu a,
#headerwrap.imax-design-header #main-nav-wrap a,
#headerwrap.imax-design-header .menu a {
	color: var(--imax-primary) !important;
	text-decoration: none;
	font-weight: 500;
	font-size: 0.95rem;
}
.imax-nav-menu a:hover,
.imax-main-nav-wrap .menu a:hover,
#headerwrap.imax-design-header #main-nav-wrap a:hover,
#headerwrap.imax-design-header .menu a:hover {
	color: var(--imax-primary-light) !important;
	opacity: 0.9;
}
.imax-cta-button {
	display: inline-block;
	background: var(--imax-primary);
	color: var(--imax-white) !important;
	padding: 0.6rem 1.25rem;
	border-radius: var(--imax-radius);
	text-decoration: none;
	font-weight: 600;
	font-size: 0.8rem;
	letter-spacing: 0.02em;
}
.imax-cta-button:hover {
	background: var(--imax-primary-light);
	color: var(--imax-white);
}
.imax-design-header .header-bar .site_tagline {
	display: none;
}
@media (max-width: 1024px) {
	.imax-header-nav-cta { display: none; }
	.imax-design-header .header-icons { display: block !important; }
}

/* ----- Hero ----- */
.imax-hero {
	position: relative;
	min-height: 85vh;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	background-color: var(--imax-primary);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.imax-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		90deg,
		rgba(0,0,0,0.65) 0%,
		rgba(0,0,0,0.35) 40%,
		rgba(0,0,0,0.0) 80%
	);
	pointer-events: none;
}
.imax-hero-inner {
	position: relative;
	z-index: 1;
	text-align: left;
	max-width: 60rem; /* allow hero text bar to be longer */
	padding: 3rem 1.5rem;
}
.imax-hero-title {
	color: var(--imax-white);
	font-size: clamp(2rem, 5vw, 4rem);
	font-weight: 800;
	line-height: 1.1;
	margin: 0 0 1rem;
}
.imax-hero-desc {
	color: rgba(255,255,255,0.9);
	font-size: 1.125rem;
	line-height: 1.6;
	margin: 0 0 1.5rem;
	/* make the black bar span left→right inside the hero text area */

  }
@media (min-width: 768px) {
	.imax-hero-desc { font-size: 1.25rem; }
}
.imax-btn {
	display: inline-block;
	padding: 0.75rem 1.75rem;
	border-radius: var(--imax-radius);
	text-decoration: none;
	font-weight: 600;
	font-size: 0.95rem;
	cursor: pointer;
	border: 2px solid transparent;
}
.imax-btn-outline {
	background: var(--imax-primary);
	color: var(--imax-white);
	border-color: var(--imax-primary);
	padding: 1rem 2.5rem;
	font-size: 1rem;
}
.imax-btn-outline:hover {
	background: var(--imax-primary-light);
	color: var(--imax-white);
	opacity: 0.95;
}
.imax-hero .imax-btn-outline {
	/* Match code.html: solid primary button in hero */
	padding: 1rem 2.5rem;
	font-size: 1rem;
	font-weight: 700;
}
.imax-btn-solid {
	background: var(--imax-primary);
	color: var(--imax-white);
	border-color: var(--imax-primary);
}
.imax-btn-solid:hover {
	background: var(--imax-primary-light);
	opacity: 0.9;
}

/* [imax_whatsapp] shortcode — spacing below article/body content */
.imax-whatsapp-cta-wrap {
	margin: 2rem 0 0;
	text-align: center;
}
.imax-whatsapp-cta-wrap .imax-whatsapp-cta {
	min-width: 12rem;
}

/* Floating WhatsApp bubble (site-wide) */
.imax-whatsapp-bubble {
	position: fixed;
	right: 1.25rem;
	bottom: 5.25rem; /* keep clear of Themify "back to top" button */
	width: 52px;
	height: 52px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.18);
	text-decoration: none !important;
	z-index: 99998;
	transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}
.imax-whatsapp-bubble:hover {
	transform: translateY(-1px);
	box-shadow: 0 18px 44px rgba(0, 0, 0, 0.22);
	filter: saturate(1.05);
}
.imax-whatsapp-bubble:focus-visible {
	outline: 3px solid rgba(37, 211, 102, 0.45);
	outline-offset: 4px;
}
.imax-whatsapp-bubble-icon {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 999px;
}
@media (max-width: 520px) {
	.imax-whatsapp-bubble {
		right: 1rem;
		bottom: 5rem;
		width: 50px;
		height: 50px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.imax-whatsapp-bubble {
		transition: none;
	}
	.imax-whatsapp-bubble:hover {
		transform: none;
	}
}

/* ----- Sections ----- */
.imax-section {
	padding: 4rem 1.5rem;
}
.pagewidth {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1rem;
}
.imax-section-title {
	font-size: 1.75rem;
	font-weight: 700;
	color: var(--imax-text);
	margin: 0 0 2rem;
}
.imax-section-title-underline {
	text-align: center;
	padding-bottom: 0.75rem;
	margin-bottom: 2.5rem;
}
.imax-section-title-underline::after {
	content: '';
	display: block;
	width: 5rem;
	height: 4px;
	background: var(--imax-primary);
	margin: 1rem auto 0;
}
.imax-section-title-muted {
	color: var(--imax-text-light);
	font-weight: 600;
	font-size: 0.875rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.imax-section-label {
	display: block;
	color: var(--imax-primary);
	font-weight: 700;
	font-size: 0.75rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	margin-bottom: 0.5rem;
}

/* Landing page: make "About I-MAX" label more prominent (scoped) */
.imax-timeline-section .imax-section-label {
	font-size: 0.95rem;
	letter-spacing: 0.12em;
	margin-bottom: 0.75rem;
}

/* Solutions cards */
.imax-solutions {
	background: var(--imax-white);
}
.imax-cards-two {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 2rem;
	align-items: stretch;
}
.imax-card--personal,
.imax-card--business {
	display: flex;
	flex-direction: column;
}
.imax-card--about {
	display: flex;
	flex-direction: column;
}
.imax-card {
	background: var(--imax-white);
	padding: 2.5rem;
	border-radius: var(--imax-radius-lg);
	border: 1px solid rgba(0,51,102,0.1);
	box-shadow: var(--imax-shadow);
	transition: box-shadow 0.2s ease;
}
.imax-card:hover {
	box-shadow: 0 12px 24px rgba(0,0,0,.1);
}
.imax-work-card-title-link {
	color: inherit;
	text-decoration: none;
}
.imax-work-card-title-link:hover {
	color: var(--imax-primary);
	text-decoration: none;
}
.imax-card-icon {
	width: 3.5rem;
	height: 3.5rem;
	background: var(--imax-primary);
	color: var(--imax-white);
	border-radius: var(--imax-radius);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.5rem;
}
.imax-card-icon .material-symbols-outlined {
	font-size: 1.75rem;
}
.imax-card-title {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--imax-text);
	margin: 0 0 1rem;
}
.imax-card-desc {
	color: var(--imax-text-light);
	line-height: 1.6;
	margin: 0 0 1.5rem;
	font-size: 0.95rem;
}
.imax-card-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.imax-card-list li {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
	color: var(--imax-text);
	font-size: 0.9rem;
	font-weight: 500;
}
.imax-list-icon {
	color: var(--imax-primary);
	font-size: 1.25rem !important;
	flex-shrink: 0;
}
.imax-card-list li::before {
	content: none;
}

/* Personal & Business Services — expanded cards */
.imax-card--personal .imax-card-lead,
.imax-card--business .imax-card-lead {
	font-weight: 600;
	color: var(--imax-text);
	margin: 0 0 0.35rem;
	font-size: 1rem;
	line-height: 1.5;
}
.imax-card--about .imax-card-lead {
	font-weight: 600;
	color: var(--imax-text);
	margin: 0 0 0.35rem;
	font-size: 1rem;
	line-height: 1.5;
}
.imax-card--personal .imax-card-note,
.imax-card--business .imax-card-note {
	color: var(--imax-text-light);
	font-size: 0.875rem;
	margin: 0 0 1rem;
}
.imax-card--about .imax-card-note {
	color: var(--imax-text-light);
	font-size: 0.875rem;
	margin: 0 0 1rem;
}
.imax-card--personal .imax-card-actions,
.imax-card--business .imax-card-actions {
	margin: 0 0 1.25rem;
}
.imax-card--about .imax-card-actions {
	margin: 0 0 1.25rem;
}
.imax-btn-card {
	padding: 0.55rem 1.35rem;
	font-size: 0.875rem;
	font-weight: 600;
	border-radius: var(--imax-radius);
}
.imax-card--personal .imax-card-prose,
.imax-card--business .imax-card-prose {
	margin-bottom: 1rem;
}
.imax-card--about .imax-card-prose {
	margin-bottom: 1rem;
}
.imax-card--personal .imax-card-prose p,
.imax-card--business .imax-card-prose p {
	color: var(--imax-text-light);
	line-height: 1.65;
	font-size: 0.9rem;
	margin: 0 0 0.85rem;
}
.imax-card--about .imax-card-prose p {
	color: var(--imax-text-light);
	line-height: 1.65;
	font-size: 0.9rem;
	margin: 0 0 0.85rem;
}
.imax-card--personal .imax-card-prose p:last-child,
.imax-card--business .imax-card-prose p:last-child {
	margin-bottom: 0;
}
.imax-card--about .imax-card-prose p:last-child {
	margin-bottom: 0;
}
.imax-card--personal .imax-card-prose-heading,
.imax-card--business .imax-card-prose-heading {
	font-weight: 600;
	color: var(--imax-text);
	margin: 0 0 0.5rem;
	font-size: 0.95rem;
}
.imax-card--about .imax-card-prose-heading {
	font-weight: 600;
	color: var(--imax-text);
	margin: 0 0 0.5rem;
	font-size: 0.95rem;
}
.imax-card--business .imax-card-prose-heading--coverage {
	margin-top: 0;
	margin-bottom: 0.65rem;
}
.imax-coverage-wrap {
	margin: 0 0 1.25rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.imax-coverage-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.85rem;
	line-height: 1.45;
}
.imax-coverage-table th {
	text-align: left;
	vertical-align: top;
	padding: 0.55rem 0.75rem 0.55rem 0;
	color: var(--imax-text);
	font-weight: 700;
	width: 38%;
	border-bottom: 1px solid rgba(0, 51, 102, 0.1);
}
.imax-coverage-table td {
	vertical-align: top;
	padding: 0.55rem 0 0.55rem 0.75rem;
	color: var(--imax-text-light);
	border-bottom: 1px solid rgba(0, 51, 102, 0.1);
}
.imax-coverage-table tr:last-child th,
.imax-coverage-table tr:last-child td {
	border-bottom: none;
}
@media (max-width: 640px) {
	.imax-coverage-table th,
	.imax-coverage-table td {
		display: block;
		width: 100%;
		padding: 0.45rem 0;
	}
	.imax-coverage-table th {
		padding-bottom: 0.15rem;
		border-bottom: none;
	}
	.imax-coverage-table td {
		padding-top: 0;
		padding-left: 0;
		border-bottom: 1px solid rgba(0, 51, 102, 0.1);
	}
}
.imax-business-emphasis {
	background: var(--imax-card-bg);
	border: 1px solid rgba(0, 51, 102, 0.12);
	border-radius: var(--imax-radius);
	padding: 1.25rem 1.35rem;
	margin-bottom: 1.25rem;
}
.imax-business-emphasis-intro {
	font-weight: 700;
	color: var(--imax-text);
	margin: 0 0 0.65rem;
	font-size: 0.95rem;
}
.imax-card--business .imax-card-list--eb {
	margin-bottom: 0;
}
.imax-card--business .imax-card-list--eb li {
	font-size: 0.85rem;
	line-height: 1.45;
	align-items: flex-start;
}
.imax-business-readmore-intro {
	margin-bottom: 0.35rem;
}
.imax-question-list {
	margin: 0 0 1.25rem;
	padding-left: 1.25rem;
	color: var(--imax-text);
	font-size: 0.9rem;
	line-height: 1.55;
}
.imax-question-list li {
	margin-bottom: 0.35rem;
}
.imax-question-list li:last-child {
	margin-bottom: 0;
}
.imax-philosophy-intro {
	margin: 0 0 0.5rem;
	font-size: 0.9rem;
	color: var(--imax-text);
	font-weight: 500;
}
.imax-philosophy-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.5rem;
	margin: 0 0 1.5rem;
	font-size: 0.95rem;
}
.imax-philosophy-links a {
	color: var(--imax-primary);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.imax-philosophy-links a:hover {
	color: var(--imax-primary-light);
}
.imax-philosophy-sep {
	color: var(--imax-text-light);
	user-select: none;
}
.imax-personal-cta {
	background: var(--imax-card-bg);
	border: 1px solid rgba(0, 51, 102, 0.12);
	border-radius: var(--imax-radius);
	padding: 1.25rem 1.35rem;
	margin-bottom: 1.25rem;
}
.imax-personal-cta-label {
	font-weight: 700;
	color: var(--imax-text);
	margin: 0 0 0.65rem;
	font-size: 0.95rem;
}
.imax-wonder-list {
	margin: 0 0 1rem;
	padding-left: 1.1rem;
	color: var(--imax-text-light);
	font-size: 0.88rem;
	font-style: italic;
	line-height: 1.55;
}
.imax-wonder-list li {
	margin-bottom: 0.4rem;
}
.imax-personal-cta > p:not(.imax-personal-cta-label):not(.imax-personal-promise-heading) {
	color: var(--imax-text-light);
	font-size: 0.9rem;
	line-height: 1.6;
	margin: 0 0 1rem;
}
.imax-personal-promise-heading {
	font-weight: 700;
	color: var(--imax-text);
	margin: 0 0 0.5rem;
	font-size: 0.95rem;
}
.imax-card-list--promises {
	margin-bottom: 0;
}
.imax-card--personal .imax-card-list--promises li,
.imax-card--business .imax-card-list--promises li {
	font-size: 0.85rem;
	line-height: 1.45;
	align-items: flex-start;
}
.imax-money-quiz-teaser {
	margin-top: 1.25rem;
	margin-bottom: 0;
	/* Remove “double layer” look: keep only the button surface */
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
	padding-right: 0.75rem; /* pull right edge slightly left */
}
.imax-money-quiz-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	gap: 0.55rem;
	color: var(--imax-white) !important;
	font-weight: 700;
	font-size: 1.05rem;
	letter-spacing: 0.2px;
	text-decoration: none !important;
	padding: 1rem 1.25rem;
	padding-right: 0rem; /* optical centering vs right arrow */
	min-height: 3.35rem;
	border-radius: 999px;
	background: linear-gradient(180deg, #ffb247 0%, var(--imax-brand-orange) 55%, #e46f00 100%);
	border: 1px solid rgba(255, 255, 255, 0.18);
	box-shadow: 0 10px 26px rgba(247, 148, 29, 0.28);
	transition: transform 0.16s ease, box-shadow 0.16s ease, filter 0.16s ease;
	line-height: 1.15;
	text-align: center;
}
.imax-money-quiz-link:visited {
	color: var(--imax-white) !important;
}
.imax-money-quiz-link:hover {
	text-decoration: none;
	transform: translateY(-1px);
	box-shadow: 0 14px 34px rgba(247, 148, 29, 0.36);
	filter: saturate(1.05);
}
.imax-money-quiz-link:focus-visible {
	outline: 3px solid rgba(255, 255, 255, 0.85);
	outline-offset: 3px;
}
.imax-money-quiz-link .material-symbols-outlined {
	font-size: 1.6rem;
	flex-shrink: 0;
}
.imax-money-quiz-arrow {
	font-size: 1.2rem !important;
	opacity: 0.92;
	flex-shrink: 0;
}
@media (prefers-reduced-motion: reduce) {
	.imax-money-quiz-link {
		transition: none;
	}
	.imax-money-quiz-link:hover {
		transform: none;
	}
}

/* Money personality quiz: answer labels read as normal sentences (override theme button uppercase). */
.imax-money-personality-page .imax-mpt-option-btn,
.imax-money-personality-page .imax-mpt-option-text {
	text-transform: none !important;
	font-variant: normal !important;
	letter-spacing: normal !important;
}
.imax-money-personality-page .imax-mpt-option-text {
	font-weight: 400;
	line-height: 1.45;
}
.imax-money-personality-page .imax-mpt-question-title {
	text-transform: none !important;
	font-variant: normal !important;
	letter-spacing: normal !important;
}

/* Timeline */
.imax-timeline-section {
	background: var(--imax-white);
}
.imax-timeline-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
	align-items: start;
}
.imax-timeline-title {
	font-size: 1.75rem;
	font-weight: 700;
	color: var(--imax-text);
	margin: 0 0 1rem;
}
.imax-timeline-desc {
	color: var(--imax-text-light);
	line-height: 1.6;
	margin: 0 0 2rem;
}
.imax-timeline {
	position: relative;
	padding-left: 2rem;
	border-left: 2px solid rgba(0,51,102,0.2);
}
.imax-timeline-item {
	position: relative;
	margin-bottom: 1.5rem;
	padding-bottom: 1rem;
}
.imax-timeline-item::before {
	content: '';
	position: absolute;
	left: -2rem;
	top: 0.35rem;
	transform: translateX(-50%);
	width: 16px;
	height: 16px;
	background: var(--imax-primary);
	border-radius: 50%;
	border: 2px solid var(--imax-white);
	box-shadow: 0 0 0 1px var(--imax-primary);
}
.imax-timeline-item:nth-child(2)::before { opacity: 0.7; }
.imax-timeline-item:nth-child(3)::before { opacity: 0.5; }
.imax-timeline-year {
	display: block;
	font-weight: 700;
	color: var(--imax-primary);
	font-size: 0.95rem;
	margin-bottom: 0.25rem;
}
.imax-timeline-item:nth-child(n+2) .imax-timeline-year { color: var(--imax-text-light); }
.imax-timeline-item strong {
	display: block;
	color: var(--imax-text);
	margin-bottom: 0.25rem;
}
.imax-timeline-item p {
	margin: 0;
	color: var(--imax-text-light);
	font-size: 0.9rem;
	line-height: 1.5;
}
.imax-timeline-sidebar {
	display: flex;
	flex-direction: column;
	gap: 1.75rem;
}
.imax-timeline-image {
	border-radius: var(--imax-radius);
	overflow: hidden;
	box-shadow: var(--imax-shadow);
}
.imax-purpose-values {
	background: var(--imax-card-bg);
	border: 1px solid rgba(0, 51, 102, 0.1);
	border-radius: var(--imax-radius-lg);
	padding: 1.5rem 1.5rem 1.35rem;
	box-shadow: var(--imax-shadow);
}
.imax-purpose-values-title {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--imax-primary);
	margin: 0 0 0.85rem;
	line-height: 1.3;
}
.imax-purpose-values-intro {
	margin: 0 0 1.15rem;
	color: var(--imax-text);
	font-size: 0.95rem;
	line-height: 1.65;
}
.imax-values-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.imax-values-list li {
	position: relative;
	padding-left: 0.85rem;
	margin: 0 0 1rem;
	color: var(--imax-text-light);
	font-size: 0.9rem;
	line-height: 1.65;
	border-left: 3px solid var(--imax-primary);
}
.imax-values-list li:last-of-type {
	margin-bottom: 1.15rem;
}
.imax-values-list strong {
	display: block;
	color: var(--imax-text);
	font-weight: 700;
	font-size: 0.92rem;
	margin-bottom: 0.35rem;
}
.imax-purpose-values-belief {
	margin: 0;
	color: var(--imax-text);
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.6;
}
.imax-timeline-video {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	height: 0;
}
.imax-timeline-video iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}
.imax-timeline-image img {
	width: 100%;
	height: auto;
	display: block;
}
.imax-timeline-image-placeholder {
	background: linear-gradient(135deg, var(--imax-card-bg) 0%, #e2e8f0 100%);
	min-height: 320px;
}
.imax-timeline-image:empty {
	background: var(--imax-card-bg);
	min-height: 320px;
}
@media (max-width: 900px) {
	.imax-timeline-grid { grid-template-columns: 1fr; }
	.imax-timeline-sidebar { order: -1; }
}

/* News */
.imax-news {
	background: var(--imax-accent);
}
.imax-news-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem;
	margin-bottom: 2rem;
}
.imax-news-header .imax-section-title { margin: 0; }
.imax-link-view-all {
	color: var(--imax-text-light);
	text-decoration: none;
	font-weight: 500;
}
.imax-link-view-all:hover { color: var(--imax-primary); }
.imax-news-list {
	background: var(--imax-white);
	border-radius: var(--imax-radius-lg);
	border: 1px solid rgba(0, 51, 102, 0.08);
	box-shadow: var(--imax-shadow);
	overflow: hidden;
}
.imax-news-item {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.35rem 0;
	padding: 1.35rem 1.5rem;
	border-bottom: 1px solid rgba(0, 51, 102, 0.1);
	transition: background-color 0.15s ease;
}
.imax-news-item:last-child {
	border-bottom: none;
}
.imax-news-item:hover {
	background: rgba(240, 247, 255, 0.55);
}
.imax-news-item-body {
	min-width: 0;
}
.imax-news-label {
	display: block;
	color: var(--imax-primary);
	font-weight: 700;
	font-size: 0.75rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	margin-bottom: 0.5rem;
}
.imax-link-view-all .imax-arrow {
	display: inline-block;
	margin-left: 0.25rem;
	vertical-align: middle;
	font-size: 1rem !important;
}
.imax-news-item time {
	display: block;
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--imax-text-light);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.imax-news-item h3 {
	font-size: 1.1rem;
	margin: 0 0 0.35rem;
}
.imax-news-item h3 a {
	color: var(--imax-text);
	text-decoration: none;
}
.imax-news-item h3 a:hover {
	color: var(--imax-primary);
}
.imax-news-item p {
	margin: 0;
	font-size: 0.9rem;
	color: var(--imax-text-light);
	line-height: 1.55;
}
@media (min-width: 640px) {
	.imax-news-item {
		grid-template-columns: 7.75rem minmax(0, 1fr);
		gap: 0 1.5rem;
		align-items: start;
	}
	.imax-news-item time {
		padding-top: 0.15rem;
	}
}

/* Testimonials (home: carousel with full text) */
.imax-testimonials {
	background: var(--imax-white);
}
.imax-testimonial-card blockquote {
	font-style: italic;
}
.imax-testimonial-carousel {
	position: relative;
	margin-top: 1rem;
}
.imax-testimonial-track {
	display: flex;
	gap: 1.5rem;
	overflow-x: auto;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	padding: 0.5rem 0;
	width: 100%;
	-webkit-overflow-scrolling: touch;
}
.imax-testimonial-track::-webkit-scrollbar {
	display: none;
}
.imax-testimonial-track {
	scrollbar-width: none;
}
.imax-testimonial-carousel .imax-testimonial-card {
	flex: 0 0 100%;
	min-width: 0;
	scroll-snap-align: start;
	scroll-snap-stop: always;
	box-sizing: border-box;
}
.imax-testimonial-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}

/* Landing page: up to 3 testimonials from WP; grid on desktop & tablet; phone-only carousel */
.imax-testimonial-landing-wrap {
	position: relative;
}
.imax-testimonial-landing-track {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}
.imax-testimonial-landing-page {
	display: contents;
}
.imax-testimonial-card {
	background: var(--imax-accent);
	padding: 2rem;
	border-radius: var(--imax-radius-lg);
	display: flex;
	flex-direction: column;
	gap: 1rem;
	border: 1px solid rgba(0,51,102,0.05);
}
.imax-testimonial-card blockquote {
	margin: 0;
	font-size: 1.125rem;
	line-height: 1.6;
	color: var(--imax-text);
	font-style: italic;
	flex: 1;
}
.imax-testimonial-card blockquote p {
	margin: 0 0 0.75em;
}
.imax-testimonial-card blockquote p:last-child {
	margin-bottom: 0;
}
.imax-testimonial-author {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-top: auto;
}
.imax-testimonial-avatar {
	width: 3rem;
	height: 3rem;
	background: rgba(0,51,102,0.1);
	border-radius: 50%;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 0.9rem;
	color: var(--imax-primary);
}
.imax-testimonial-author strong {
	display: block;
	font-size: 0.9rem;
	color: var(--imax-text);
}
.imax-testimonial-author span {
	font-size: 0.75rem;
	color: var(--imax-text-light);
}
.imax-testimonial-quote-icon {
	color: var(--imax-primary);
	opacity: 0.2;
	font-size: 2.5rem !important;
	line-height: 1;
	display: block;
	width: 2.5rem;
	max-width: 100%;
	overflow: hidden;
	white-space: nowrap;
}
.imax-testimonial-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid rgba(0,51,102,0.15);
	background: var(--imax-white);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 2;
	box-shadow: 0 2px 8px rgba(0,51,102,0.08);
	transition: background 0.2s, border-color 0.2s;
}
.imax-testimonial-nav:hover {
	background: var(--imax-accent);
	border-color: rgba(0,51,102,0.2);
}
.imax-testimonial-nav .material-symbols-outlined {
	font-size: 1.5rem;
	color: var(--imax-primary);
}
.imax-testimonial-nav-prev { left: -12px; }
.imax-testimonial-nav-next { right: -12px; }
.imax-testimonial-dots {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
	margin-top: 1.25rem;
	flex-wrap: wrap;
}
.imax-testimonial-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: none;
	background: rgba(0,51,102,0.2);
	cursor: pointer;
	padding: 0;
	transition: background 0.2s, transform 0.2s;
}
.imax-testimonial-dot:hover {
	background: rgba(0,51,102,0.4);
}
.imax-testimonial-dot.is-active {
	background: var(--imax-primary);
	transform: scale(1.2);
}
.imax-read-more {
	display: none;
}
.imax-testimonials-more {
	text-align: center;
	margin: 1.5rem 0 0;
}
.imax-testimonials-more-link {
	color: var(--imax-primary);
	font-weight: 600;
	text-decoration: none;
}
.imax-testimonials-more-link:hover {
	text-decoration: underline;
}
@media (max-width: 1024px) {
	.imax-testimonial-cards { grid-template-columns: 1fr; }
	.imax-testimonial-nav { width: 36px; height: 36px; }
	.imax-testimonial-nav-prev { left: 4px; }
	.imax-testimonial-nav-next { right: 4px; }
}
/* iPad / tablet: same as original theme — stack testimonials in one column, no carousel */
@media (min-width: 768px) and (max-width: 1024px) {
	.imax-testimonial-landing-track {
		grid-template-columns: 1fr;
	}
}
/* Phone: paginate one testimonial at a time */
@media (max-width: 767px) {
	.imax-testimonial-landing-track {
		display: flex;
		flex-direction: row;
		align-items: stretch;
		gap: 1.25rem;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-behavior: smooth;
		scroll-snap-type: x mandatory;
		padding: 0.25rem 0 0.5rem;
		width: 100%;
		box-sizing: border-box;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.imax-testimonial-landing-track::-webkit-scrollbar {
		display: none;
	}
	.imax-testimonial-landing-page {
		display: flex;
		flex-direction: column;
		flex: 0 0 100%;
		min-width: 0;
		width: 100%;
		max-width: 100%;
		scroll-snap-align: start;
		scroll-snap-stop: always;
		gap: 1.25rem;
		box-sizing: border-box;
	}
}
@media (min-width: 768px) {
	.imax-testimonial-landing-wrap .imax-testimonial-landing-nav,
	.imax-testimonial-landing-wrap .imax-testimonial-landing-dots {
		display: none !important;
	}
}

/* Testimonials page (page-testimonials.php) */
.imax-testimonials-page-hero {
	padding-top: 2rem;
	padding-bottom: 0.5rem;
}
.imax-testimonials-page-hero .imax-section-title {
	margin-bottom: 0.5rem;
}
.imax-testimonials-page-intro {
	margin: 0;
	font-size: 1.125rem;
	color: var(--imax-text-light);
	max-width: 42rem;
}
/* Optional: 2 columns on testimonials page; override in CSS if you prefer 3 */
.imax-testimonial-cards--page {
	grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 1024px) {
	.imax-testimonial-cards--page { grid-template-columns: 1fr; }
}

/* Partners */
.imax-partners {
	background: var(--imax-white);
	border-top: 1px solid rgba(0,51,102,0.05);
	border-bottom: 1px solid rgba(0,51,102,0.05);
}
.imax-section-title-center {
	text-align: center;
	margin-bottom: 0.5rem;
}
.imax-partners-label {
	text-align: center;
	font-size: 0.9rem;
	color: var(--imax-text-light);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	margin: 0 0 2rem;
}
.imax-partner-groups {
	display: flex;
	flex-direction: column;
	gap: 3rem;
	margin-top: 2rem;
}
.imax-partner-group-heading {
	text-align: center;
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--imax-text);
	margin: 0 0 1rem;
}
.imax-partner-carousel {
	position: relative;
}
.imax-partner-carousel--single .imax-partner-track {
	justify-content: center;
	overflow-x: visible;
}
.imax-partner-track {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	overflow-x: auto;
	scroll-behavior: smooth;
	padding: 0.5rem 2.5rem;
	justify-content: flex-start; /* allow continuous scroll for loop */
}
.imax-partner-track::-webkit-scrollbar {
	display: none;
}
.imax-partner-logo {
	min-width: 200px;
	height: 110px;
	background: transparent;
	border-radius: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.8rem;
	color: var(--imax-text-light);
	flex-shrink: 0;
	padding: 0 1.5rem;
	text-align: center;
	box-shadow: none;
}
.imax-partner-logo-img,
.imax-partner-logo img {
	max-height: 80px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
	display: block;
}
.imax-partner-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 32px;
	height: 32px;
	border-radius: 999px;
	border: 1px solid rgba(0,51,102,0.15);
	background: var(--imax-white);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: var(--imax-text-light);
	box-shadow: 0 4px 10px rgba(15,23,42,0.08);
}
.imax-partner-nav:hover {
	color: var(--imax-primary);
	border-color: rgba(0,51,102,0.35);
}
.imax-partner-nav-prev {
	left: 0;
}
.imax-partner-nav-next {
	right: 0;
}
@media (max-width: 768px) {
	.imax-partner-track {
		padding: 0.5rem 1.5rem;
	}
	.imax-partner-nav {
		display: none;
	}
}

/* Partners — physical display board (single grid + header) */
.imax-partners--board {
	background: #eef1f4;
	border-top: 1px solid rgba(0, 51, 102, 0.06);
	border-bottom: 1px solid rgba(0, 51, 102, 0.06);
}
.imax-partners-board-shell {
	position: relative;
	max-width: min(88rem, 100%);
	margin: 0 auto 0.5rem;
	padding: 1.25rem clamp(0.75rem, 2vw, 1.25rem) 2rem;
}
.imax-partners-board-stack {
	display: flex;
	flex-direction: column;
	gap: clamp(2rem, 4vw, 2.75rem);
	margin-top: 0.5rem;
}
.imax-partners-board-group {
	margin: 0;
}
.imax-partners-board-group-header {
	padding: clamp(0.85rem, 2vw, 1.1rem) clamp(1.25rem, 3vw, 2rem);
	border-bottom: 1px solid #eee;
	background: linear-gradient(180deg, #fafbfc 0%, var(--imax-white) 100%);
}
.imax-partners-board-group-title {
	margin: 0;
	font-family: var(--imax-font);
	font-size: clamp(0.95rem, 2vw, 1.125rem);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--imax-primary);
	text-align: center;
}
.imax-partners-board-empty--global {
	max-width: 40rem;
	margin: 0 auto;
	padding: 1.5rem 1rem 0;
	text-align: center;
	font-size: 0.95rem;
	color: var(--imax-text-light);
	line-height: 1.55;
}
.imax-partners-board-standoffs {
	position: absolute;
	inset: 0.35rem 0.5rem 0.85rem;
	pointer-events: none;
	z-index: 0;
}
.imax-partners-board-standoff {
	position: absolute;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: radial-gradient(circle at 30% 30%, #f5f5f5, #b8bcc4 45%, #8a9099 100%);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
}
.imax-partners-board-standoff:nth-child(1) {
	top: 0;
	left: 0;
}
.imax-partners-board-standoff:nth-child(2) {
	top: 0;
	right: 0;
}
.imax-partners-board-standoff:nth-child(3) {
	bottom: 0;
	left: 0;
}
.imax-partners-board-standoff:nth-child(4) {
	bottom: 0;
	right: 0;
}
.imax-partners-board {
	position: relative;
	z-index: 1;
	background: var(--imax-white);
	border: 1px solid #e2e6ea;
	border-radius: 2px;
	box-shadow:
		0 12px 40px rgba(15, 23, 42, 0.08),
		0 2px 8px rgba(15, 23, 42, 0.04);
	overflow: hidden;
}
.imax-partners-board-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 1px;
	padding: 1px;
	background: #e8e8e8;
}
.imax-partners-board-cell {
	background: var(--imax-white);
	min-height: clamp(5.75rem, 11vw, 8rem);
	display: flex;
	align-items: center;
	justify-content: center;
}
.imax-partners-board-cell-inner {
	width: 100%;
	height: 100%;
	min-height: inherit;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(0.65rem, 2vw, 1.15rem) clamp(0.5rem, 1.5vw, 1rem);
	box-sizing: border-box;
}
.imax-partners-board-img,
.imax-partners-board-cell-inner img {
	max-width: 100%;
	max-height: clamp(3.25rem, 6.5vw, 5.25rem);
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
}
.imax-partners-board-fallback {
	font-size: 0.7rem;
	line-height: 1.25;
	text-align: center;
	color: var(--imax-text-light);
	padding: 0 0.25rem;
}
.imax-partners-board-empty {
	grid-column: 1 / -1;
	margin: 0;
	padding: 2rem 1.5rem;
	text-align: center;
	font-size: 0.95rem;
	color: var(--imax-text-light);
	background: var(--imax-white);
}
@media (max-width: 1200px) {
	.imax-partners-board-grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}
@media (max-width: 900px) {
	.imax-partners-board-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
@media (max-width: 640px) {
	.imax-partners-board-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
@media (max-width: 520px) {
	.imax-partners-board-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Contact (shared section + Contact page) */
.imax-contact {
	background: var(--imax-accent);
}
.imax-contact-inner {
	max-width: 100%;
}
.imax-contact-header {
	text-align: center;
	margin-bottom: 2.5rem;
}
.imax-contact-header .imax-section-title {
	margin-bottom: 0.75rem;
}
.imax-contact-intro {
	color: var(--imax-text-light);
	font-size: 1.125rem;
	line-height: 1.6;
	margin: 0;
	max-width: 42ch;
	margin-left: auto;
	margin-right: auto;
}
.imax-contact-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
	align-items: start;
}
.imax-contact-details {
	min-width: 0;
}
.imax-contact-cards {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}
.imax-contact-card {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	background: rgba(255, 255, 255, 0.08);
	border-radius: var(--imax-radius);
	padding: 1.25rem 1.25rem;
	border: 1px solid rgba(255, 255, 255, 0.12);
}
.imax-contact-card-icon {
	width: 2.75rem;
	height: 2.75rem;
	flex-shrink: 0;
	background: var(--imax-primary);
	color: var(--imax-white);
	border-radius: var(--imax-radius);
	display: flex;
	align-items: center;
	justify-content: center;
}
.imax-contact-card-icon .material-symbols-outlined {
	font-size: 1.25rem;
}
.imax-contact-card-body {
	min-width: 0;
}
.imax-contact-card-label {
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--imax-text);
	margin: 0 0 0.35rem;
}
.imax-contact-card-value {
	font-size: 0.95rem;
	color: var(--imax-text-light);
	margin: 0;
	line-height: 1.5;
}
.imax-contact-card-value a {
	color: var(--imax-primary);
	text-decoration: none;
}
.imax-contact-card-value a:hover {
	text-decoration: underline;
}
.imax-contact-form-wrap {
	background: var(--imax-white);
	padding: 2rem;
	border-radius: var(--imax-radius-lg);
	box-shadow: 0 10px 40px rgba(0,0,0,.08);
	border: 1px solid rgba(0,51,102,0.1);
}
.imax-contact-notice {
	margin-bottom: 1.5rem;
	padding: 0.85rem 1rem;
	border-radius: var(--imax-radius);
	font-size: 0.9rem;
}
.imax-contact-notice-success {
	background: #ecfdf3;
	color: #166534;
	border: 1px solid #bbf7d0;
}
.imax-contact-notice-error {
	background: #fef2f2;
	color: #b91c1c;
	border: 1px solid #fecaca;
}
.imax-contact-form p {
	margin: 0 0 1rem;
}
.imax-contact-form .imax-form-row {
	display: grid;
	gap: 1.5rem;
	margin-bottom: 1.5rem;
}
.imax-contact-form .imax-form-row-half {
	grid-template-columns: 1fr 1fr;
}
@media (max-width: 600px) {
	.imax-contact-form .imax-form-row-half { grid-template-columns: 1fr; }
}
.imax-form-field {
	margin-bottom: 1.5rem;
}
.imax-form-label {
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--imax-text);
	margin-bottom: 0.5rem;
}
.imax-contact-form input[type="text"],
.imax-contact-form input[type="email"],
.imax-contact-form textarea,
.imax-contact-form select.imax-form-select {
	width: 100%;
	padding: 0.75rem 1rem;
	border: 1px solid #e2e8f0;
	border-radius: var(--imax-radius);
	font-family: inherit;
	font-size: 1rem;
	background-color: var(--imax-white);
	color: var(--imax-text);
}
.imax-contact-form select.imax-form-select {
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding-right: 2.5rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke-linecap='round' width='100' height='100' stroke='%2364748b' stroke-width='3'%3E%3Cpolyline points='2.7,2.3 49.1,57.2 95.5,2.3 '/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: 12px;
	background-position: calc(100% - 12px) 50%;
}
.imax-contact-form textarea {
	min-height: 100px;
	resize: vertical;
}
.imax-btn-full {
	width: 100%;
	padding: 1rem 1.5rem;
}
@media (max-width: 900px) {
	.imax-contact-grid { grid-template-columns: 1fr; }
	.imax-contact-header { margin-bottom: 2rem; }
}

/* Landing contact strip (no form): cards + CTA to Contact page */
.imax-contact-landing .imax-contact-landing-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2rem;
	max-width: 36rem;
	margin: 0 auto;
}
.imax-contact-landing .imax-contact-details {
	width: 100%;
}
.imax-contact-cta {
	margin: 0;
	text-align: center;
}
.imax-contact-cta .imax-btn {
	min-width: 10rem;
}

/* Contact page hero */
.imax-contact-page .imax-contact-hero {
	background: transparent;
	padding: 3rem 0;
}
.imax-contact-hero-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.imax-contact-hero-copy {
	max-width: 36rem;
	margin: 0 auto;
}
.imax-contact-page-title {
	font-size: clamp(1.75rem, 4vw, 2.25rem);
	color: var(--imax-text);
	margin: 0 0 0.75rem;
}
.imax-contact-hero-intro {
	color: var(--imax-text-light);
	font-size: 1.125rem;
	line-height: 1.6;
	margin: 0;
}

/* Contact page map */
.imax-contact-map-section {
	background: var(--imax-background);
	padding: 2.5rem 0;
}
.imax-contact-map-title {
	margin-bottom: 1.5rem;
}
.imax-contact-map-wrap {
	position: relative;
	width: 100%;
	border-radius: var(--imax-radius-lg);
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	border: 1px solid rgba(0, 51, 102, 0.08);
}
.imax-contact-map-iframe {
	display: block;
	width: 100%;
	height: 450px;
}
@media (max-width: 600px) {
	.imax-contact-map-iframe {
		height: 320px;
	}
}

/* ----- Join Us page ----- */
.imax-join-page {
	background: var(--imax-bg);
}
.imax-join-hero {
	background: linear-gradient(180deg, var(--imax-card-bg) 0%, var(--imax-white) 100%);
	padding: 3.5rem 1.5rem 3rem;
	text-align: center;
}
.imax-join-hero-inner {
	max-width: 44rem;
	margin: 0 auto;
}
.imax-join-title {
	font-size: clamp(1.85rem, 4.5vw, 2.5rem);
	font-weight: 800;
	color: var(--imax-primary);
	margin: 0 0 1.25rem;
	line-height: 1.2;
	letter-spacing: -0.02em;
}
.imax-join-subtitle {
	font-size: 1.1rem;
	line-height: 1.65;
	color: var(--imax-text);
	margin: 0 0 1.75rem;
	font-weight: 500;
}
.imax-join-cta-wrap {
	margin: 0;
}
.imax-join-hero .imax-join-cta {
	padding: 0.85rem 1.75rem;
	font-weight: 700;
}
.imax-join-section {
	padding: 3rem 1.5rem;
	background: var(--imax-white);
}
.imax-join-section.imax-join-solution {
	background: var(--imax-bg);
}
.imax-join-narrow {
	max-width: 40rem;
	margin: 0 auto;
}
.imax-join-section-heading {
	font-size: 1.35rem;
	font-weight: 700;
	color: var(--imax-primary);
	margin: 0 0 1.25rem;
}
.imax-join-prose {
	color: var(--imax-text-light);
	font-size: 0.98rem;
	line-height: 1.7;
}
.imax-join-prose p {
	margin: 0 0 1rem;
}
.imax-join-prose p:last-child {
	margin-bottom: 0;
}
.imax-join-pull-list {
	list-style: none;
	margin: 1.25rem 0;
	padding: 0;
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--imax-text);
	line-height: 1.5;
}
.imax-join-pull-list li {
	margin-bottom: 0.35rem;
	padding-left: 0.5rem;
	border-left: 4px solid var(--imax-primary);
}
.imax-join-emphasis {
	font-size: 1.2rem;
	font-weight: 800;
	color: var(--imax-primary);
	margin: 1.25rem 0 1.5rem;
	letter-spacing: 0.02em;
}
.imax-join-divider {
	max-width: 12rem;
	margin: 0 auto;
	height: 2px;
	background: repeating-linear-gradient(
		90deg,
		var(--imax-primary),
		var(--imax-primary) 6px,
		transparent 6px,
		transparent 12px
	);
	opacity: 0.35;
}
.imax-join-friday {
	background: var(--imax-white);
	padding: 2.5rem 1.5rem;
}
.imax-join-friday-intro {
	font-weight: 600;
	color: var(--imax-text);
	margin: 0 0 1rem;
	font-size: 1rem;
	line-height: 1.55;
}
.imax-join-bullet-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.imax-join-bullet-list li {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
	color: var(--imax-text-light);
	font-size: 0.95rem;
	line-height: 1.55;
}
.imax-join-bullet-list li:last-child {
	margin-bottom: 0;
}
.imax-join-bullet-list .material-symbols-outlined {
	flex-shrink: 0;
	font-size: 1.25rem;
	color: var(--imax-primary);
	margin-top: 0.1rem;
}
.imax-join-fit {
	padding: 3rem 1.5rem 4rem;
	background: var(--imax-card-bg);
	border-top: 1px solid rgba(0, 51, 102, 0.08);
}
.imax-join-fit-inner {
	max-width: 40rem;
	margin: 0 auto;
}
.imax-join-fit-lead {
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--imax-text);
	line-height: 1.6;
	margin: 0 0 1.5rem;
}
.imax-join-fit-heading {
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--imax-primary);
	margin: 0 0 1rem;
}
.imax-join-fit-list {
	margin-bottom: 1.75rem;
}
.imax-join-fit-list li {
	align-items: flex-start;
	font-size: 0.92rem;
	line-height: 1.45;
}
.imax-join-fit-cta {
	margin: 0;
}

/* ----- Footer ----- */
#footerwrap.imax-footer-wrap {
	background: var(--imax-background-dark) !important;
	display: block !important;
	visibility: visible !important;
	overflow-x: hidden;
}
.imax-footer.imax-footer {
	background: transparent;
	padding: 3rem var(--imax-page-gutter) 0;
	box-sizing: border-box;
}
.imax-footer-grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr 1fr;
	gap: 2.5rem;
	padding-bottom: 2.5rem;
	border-bottom: 1px solid rgba(255,255,255,0.15);
}
.imax-footer-col {
	color: rgba(255,255,255,0.9);
	text-align: left;
}
/* Brand: company name */
.imax-footer-brand-heading {
	color: var(--imax-white);
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	margin: 0 0 0.75rem;
	line-height: 1.35;
}
.imax-footer-logo #footer-logo a img,
.imax-footer-logo .site-logo-image {
	filter: brightness(0) invert(1);
	max-height: 32px;
	margin-bottom: 0.5rem;
}
/* Footer brand logo when rendered inline in the heading */
.imax-footer-brand-heading .site-logo-image {
	display: block;
	max-height: 70px;
	width: auto;
	margin: 0 0 0.75rem;
}
/* Footer logo SVG from code.html (white) */
.imax-footer .imax-logo-svg-wrap { color: var(--imax-white); }
.imax-footer .imax-logo-svg { color: var(--imax-white); }
.imax-footer .imax-logo-text { color: var(--imax-white) !important; font-size: 1.125rem; }
.imax-footer-desc {
	font-size: 0.9rem;
	line-height: 1.6;
	margin: 0 0 1rem;
	max-width: 22rem;
	opacity: 0.9;
}
.imax-footer-social {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.imax-footer-heading {
	color: var(--imax-white);
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	margin: 0 0 1rem;
}
.imax-footer-col ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.imax-footer-col ul li { margin-bottom: 0.5rem; }
.imax-footer-col ul a {
	color: rgba(255,255,255,0.85);
	text-decoration: none;
	font-size: 0.9rem;
}
.imax-footer-col ul a:hover { color: var(--imax-white); }
/* Office locations: two rows with pin icon */
.imax-footer-locations-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.imax-footer-locations-list li {
	position: relative;
	padding-left: 1.5rem;
	margin-bottom: 1rem;
	font-size: 0.9rem;
	line-height: 1.5;
}
.imax-footer-locations-list li:last-child { margin-bottom: 0; }
.imax-footer-location-pin {
	/* Hide the previous bullet-style location pin since we only
	   show a single address and it caused a stray dot in the footer */
	display: none;
}
.imax-footer-location-name {
	display: inline-block;
	font-weight: 600;
	color: rgba(255,255,255,0.95);
}
.imax-footer-location-addr {
	color: rgba(255,255,255,0.8);
}
/* Contact: phone + email with icons */
.imax-footer-contact-list {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 0.9rem;
}
.imax-footer-contact-list li {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.5rem;
}
.imax-footer-contact-list a {
	color: rgba(255,255,255,0.85);
	text-decoration: none;
}
.imax-footer-contact-list a:hover { color: var(--imax-white); }
/* Bottom bar: matches code.html, contained within footer width */
.imax-footer-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem;
	padding: 1.25rem 0 0;
	margin-top: 2.5rem;
	border-top: 1px solid rgba(255,255,255,0.08);
}
.imax-footer-copy {
	font-size: 0.85rem;
	color: rgba(255,255,255,0.8);
}
.imax-footer-legal {
	display: flex;
	gap: 1.5rem;
}
.imax-footer-legal a {
	color: rgba(255,255,255,0.85);
	text-decoration: none;
	font-size: 0.85rem;
}
.imax-footer-legal a:hover { color: var(--imax-white); }
@media (max-width: 900px) {
	.imax-footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
	.imax-footer-grid { grid-template-columns: 1fr; }
	.imax-footer-bottom { flex-direction: column; text-align: center; }
}

/* Ensure front page has no extra layout padding */
.imax-front-page {
	padding: 0;
	max-width: none;
}
#body .imax-front-page {
	margin: 0;
}

/* ========================================================================
 * Team Page (Our People)
 * Layout inspired by team_i_max_financial/code.html
 * ===================================================================== */

/* Page background & base typography */
body.page-template-page-team {
	background-color: rgba(0, 51, 102, 0.04);
}

.imax-team-page {
	background-color: transparent;
	color: #0b1120;
}

/* Hero */
.imax-team-hero {
	padding: 0rem 1.5rem 2.25rem;
}

.imax-team-hero-inner {
	max-width: 1120px;
	margin: 0 auto;
}

.imax-team-hero-copy {
	max-width: 680px;
}

.imax-team-title {
	font-size: clamp(2.5rem, 4vw, 3.5rem);
	font-weight: 900;
	line-height: 1.1;
	letter-spacing: -0.03em;
	color: #020617;
	margin: 0 0 1rem;
}

.imax-team-intro {
	font-size: 1.0625rem;
	line-height: 1.7;
	color: #64748b;
	margin: 0;
}

/* Filters */
.imax-team-filters-section {
	padding: 0 1.5rem 1.75rem;
}

.imax-team-filters-bordered {
	max-width: 1120px;
	margin: 0 auto;
	border-bottom: 1px solid rgba(0, 51, 102, 0.08);
	padding-bottom: 1.75rem;
}

.imax-team-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
}

.imax-team-filter-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	row-gap: 0.75rem;
	column-gap: 1.5rem;
	width: 100%;
}

.imax-team-filter-label {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #a0aec0;
}

.imax-team-filter-controls {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
}

.imax-team-filter-select {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-left: 0.5rem;
}

.imax-team-filter-select label {
	font-size: 0.75rem;
	font-weight: 600;
	color: #9ca3af;
}

.imax-team-filter-select select {
	border-radius: 999px;
	border: 1px solid rgba(0, 51, 102, 0.15);
	background-color: #ffffff;
	padding: 0.45rem 2.25rem 0.45rem 0.9rem;
	font-size: 0.8125rem;
	color: #111827;
	appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, #9ca3af 50%),
		linear-gradient(135deg, #9ca3af 50%, transparent 50%);
	background-position: calc(100% - 12px) 55%, calc(100% - 8px) 55%;
	background-size: 4px 4px, 4px 4px;
	background-repeat: no-repeat;
}

@media (max-width: 640px) {
	.imax-team-filter-select {
		width: 100%;
		justify-content: flex-start;
		margin-left: 0;
	}
}

/* Team grid & cards */
.imax-team-grid-section {
	padding: 0 1.5rem 4.5rem;
}

.imax-team-grid {
	max-width: 1120px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: 2rem;
	row-gap: 3rem;
}

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

@media (max-width: 900px) {
	.imax-team-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.imax-team-grid {
		grid-template-columns: 1fr;
	}
}

.imax-team-card-group {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	cursor: pointer;
}

.imax-team-card-link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.imax-team-card-link:focus-visible {
	outline: 3px solid rgba(0, 51, 102, 0.45);
	outline-offset: 4px;
	border-radius: 0.75rem;
}

.imax-team-photo {
	position: relative;
	border-radius: 999px;
	overflow: hidden;
	background-color: #e2e8f0;
	aspect-ratio: 1 / 1;
}

.imax-team-photo-inner {
	position: relative;
	width: 100%;
	height: 100%;
}

.imax-team-photo-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.imax-team-photo-overlay {
	display: none;
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(15, 23, 42, 0.75), transparent 55%);
	opacity: 0;
	align-items: flex-end;
	justify-content: flex-start;
	padding: 1.25rem;
	transition: opacity 0.3s ease;
}

.imax-team-photo-overlay-text {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.8125rem;
	font-weight: 700;
	color: #ffffff;
	text-transform: uppercase;
	letter-spacing: 0.12em;
}

.imax-team-photo-overlay-icon {
	font-size: 1rem;
}

.imax-team-card-group:hover .imax-team-photo-img {
	transform: scale(1.06);
}

.imax-team-card-group:hover .imax-team-photo-overlay {
	opacity: 1;
}

.imax-team-meta {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	align-items: center;
	text-align: center;
}

.imax-team-name {
	font-size: 1.0625rem;
	font-weight: 700;
	color: #020617;
	margin: 0;
	transition: color 0.2s ease;
}

.imax-team-card-group:hover .imax-team-name {
	color: var(--imax-primary);
}

.imax-team-role {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: var(--imax-primary);
	margin: 0.15rem 0 0;
}

.imax-team-region {
	font-size: 0.78rem;
	font-weight: 500;
	color: #4b5563;
	margin: 0rem 0 0;
}

.imax-team-location {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	font-size: 0.75rem;
	color: #6b7280;
	margin: 0.2rem 0 0;
	justify-content: center;
}

.imax-team-location .material-symbols-outlined {
	font-size: 0.9rem;
}

/* CTA */
.imax-team-cta {
	background-color: rgba(0, 51, 102, 0.04);
	padding: 4.5rem 1.5rem 3.5rem 1.5rem;
}

.imax-team-cta-inner {
	max-width: 960px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	text-align: left;
}

.imax-team-cta-title {
	font-size: clamp(2rem, 3vw, 2.75rem);
	font-weight: 900;
	line-height: 1.1;
	margin: 0 0 0.75rem;
	color: #020617;
}

.imax-team-cta-text {
	font-size: 1rem;
	line-height: 1.7;
	color: #64748b;
	max-width: 520px;
	margin: 0;
}

.imax-team-cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.9rem;
	margin-top: 1rem;
}

.imax-team-cta .imax-btn {
	min-width: 210px;
	height: 3rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.9375rem;
	padding: 0.75rem 1.5rem;
	box-sizing: border-box;
}

@media (max-width: 640px) {
	.imax-team-cta-inner {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* Hide prev/next on "Work With Us" single posts (Related Posts module is off in functions.php) */
body.single-post.category-work-with-us .post-nav {
	display: none !important;
}

/* ========================================================================
 * Team Member Profile (single-team_member.php)
 * ===================================================================== */

body.single-team_member {
	background-color: rgba(0, 51, 102, 0.04);
}

/* Reduce whitespace below header (profile content only) */
body.single-team_member #body {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* Center the single profile content area */
body.single-team_member #layout {
	max-width: 1280px;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Force no-sidebar layout on single member profile */
body.single-team_member #sidebar,
body.single-team_member #sidebar-alt,
body.single-team_member .sidebar_container,
body.single-team_member .widgetized {
	display: none !important;
}

body.single-team_member #content {
	width: 100% !important;
	float: none !important;
	margin: 0 auto !important;
	max-width: 1180px;
}

body.single-team_member main#content.imax-member-profile {
	margin-top: 0 !important;
	padding-top: 0.75rem !important;
	padding-bottom: 4rem !important;
}

.imax-member-profile {
	padding: 0.75rem 0 4rem;
}

.imax-member-back {
	margin-bottom: 0.75rem;
}

.imax-member-back-link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--imax-primary);
	text-decoration: none;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-size: 0.75rem;
}

.imax-member-back-link:hover {
	color: var(--imax-primary-light);
}

.imax-member-grid {
	display: grid;
	grid-template-columns: 420px minmax(0, 1fr);
	gap: 3rem;
	align-items: start;
}

.imax-member-aside {
	position: sticky;
	top: 110px;
}

.imax-member-card {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.imax-member-photo {
	position: relative;
	border-radius: 0.75rem;
	overflow: hidden;
	background: #e2e8f0;
	aspect-ratio: 4 / 5;
	box-shadow: 0 18px 40px rgba(15, 23, 42, 0.15);
	width: 100%;
	box-sizing: border-box;
}

.imax-member-photo-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	filter: grayscale(20%);
	transition: filter 0.6s ease;
}

.imax-member-photo:hover .imax-member-photo-img {
	filter: grayscale(0%);
}

.imax-member-photo-placeholder {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #cbd5e1 0%, #e2e8f0 60%, #f8fafc 100%);
}

.imax-member-photo-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 26, 51, 0.85), transparent 60%);
}

.imax-member-photo-caption {
	position: absolute;
	left: 1.25rem;
	right: 1.25rem;
	bottom: 1.25rem;
	color: #fff;
}

.imax-member-name {
	font-size: 2rem;
	line-height: 1.1;
	margin: 0 0 0.35rem;
	font-weight: 900;
	color: #ffffff !important;
}

.imax-member-role {
	margin: 0;
	font-size: 0.95rem;
	opacity: 0.9;
	font-weight: 400;
	color: #ffffff !important;
}

.imax-member-contact {
	display: grid;
	gap: 0.75rem;
}

.imax-member-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	align-self: stretch;
	padding: 1rem 1.25rem;
	border-radius: 0.75rem;
	background: var(--imax-primary);
	color: #fff !important;
	text-decoration: none;
	font-weight: 900;
	font-size: 1rem;
	box-shadow: 0 14px 30px rgba(0, 51, 102, 0.22);
	transition: transform 0.15s ease, background 0.2s ease;
	box-sizing: border-box;
}

.imax-member-cta:hover {
	background: var(--imax-primary-light);
	transform: translateY(-1px);
}

.imax-member-office-contact {
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(0, 51, 102, 0.12);
	border-radius: 0.75rem;
	padding: 0.9rem 1rem;
}

.imax-member-office-title {
	margin: 0 0 0.5rem;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #64748b;
}

.imax-member-office-item {
	margin: 0.35rem 0;
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
}

.imax-member-office-item .material-symbols-outlined {
	flex-shrink: 0;
	width: 1.25rem;
	font-size: 18px;
	line-height: 1.35;
	color: var(--imax-primary);
	margin-top: 0.1em;
}

.imax-member-office-item a,
.imax-member-office-item .imax-member-office-text {
	flex: 1;
	min-width: 0;
}

.imax-member-office-item a {
	color: #0f172a;
	text-decoration: none;
	font-weight: 600;
}

.imax-member-office-text {
	color: #0f172a;
	font-weight: 500;
	line-height: 1.5;
}

.imax-member-office-item a:hover {
	color: var(--imax-primary);
	text-decoration: underline;
}

.imax-member-contact-card {
	display: flex;
	align-items: flex-start;
	gap: 0.85rem;
	padding: 1rem 1rem;
	border-radius: 0.75rem;
	border: 1px solid rgba(0, 51, 102, 0.12);
	background: rgba(255,255,255,0.9);
	text-decoration: none;
	color: inherit;
	transition: border-color 0.2s ease, transform 0.2s ease;
}

.imax-member-contact-card:hover {
	border-color: rgba(0, 51, 102, 0.35);
	transform: translateY(-1px);
}

.imax-member-contact-card--static:hover {
	transform: none;
}

.imax-member-contact-icon {
	width: 44px;
	height: 44px;
	border-radius: 0.65rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 51, 102, 0.08);
	color: var(--imax-primary);
	font-size: 22px;
	flex-shrink: 0;
}

.imax-member-contact-body {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	min-width: 0;
}

.imax-member-contact-label {
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-weight: 800;
	color: #64748b;
}

.imax-member-contact-value {
	font-size: 0.95rem;
	font-weight: 600;
	color: #0f172a;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.imax-member-main {
	display: flex;
	flex-direction: column;
	gap: 2.25rem;
}

.imax-member-section {
	background: rgba(255,255,255,0.75);
	border: 1px solid rgba(0, 51, 102, 0.08);
	border-radius: 0.75rem;
	padding: 1.75rem 1.75rem;
	box-shadow: 0 4px 18px rgba(15, 23, 42, 0.06);
}

.imax-member-section-title {
	margin: 0 0 1rem;
	color: var(--imax-primary);
	font-size: 0.8rem;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.imax-member-section-title::before {
	content: '';
	display: inline-block;
	width: 2.25rem;
	height: 2px;
	background: var(--imax-primary);
	opacity: 0.9;
}

.imax-member-subnote {
	margin: -0.25rem 0 1.25rem;
	color: #475569;
	font-size: 0.98rem;
	line-height: 1.6;
}

.imax-member-empty {
	margin: 0;
	color: #64748b;
	font-size: 0.95rem;
	line-height: 1.7;
}

.imax-member-expertise-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.9rem;
}

.imax-member-expertise-card {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	padding: 1rem 1rem;
	background: rgba(255,255,255,0.9);
	border: 1px solid rgba(0, 51, 102, 0.1);
	border-left: 4px solid var(--imax-primary);
	border-radius: 0.65rem;
	box-shadow: 0 1px 6px rgba(15, 23, 42, 0.06);
}

.imax-member-expertise-icon {
	color: var(--imax-primary);
	font-size: 22px;
	margin-top: 1px;
}

.imax-member-expertise-title {
	margin: 0;
	font-weight: 900;
	color: #0f172a;
	line-height: 1.35;
}

.imax-member-timeline {
	position: relative;
	padding-left: 1.5rem;
	border-left: 2px solid rgba(0, 51, 102, 0.14);
	display: grid;
	gap: 1.1rem;
}

.imax-member-timeline-item {
	position: relative;
	padding-left: 0.25rem;
}

.imax-member-timeline-dot {
	position: absolute;
	left: -1.5rem;
	top: 0.35rem;
	transform: translateX(-50%);
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: rgba(0, 51, 102, 0.35);
	box-shadow: 0 0 0 3px rgba(255,255,255,0.85);
}

.imax-member-timeline-item.is-current .imax-member-timeline-dot {
	background: var(--imax-primary);
}

.imax-member-timeline-years {
	margin: 0 0 0.15rem;
	color: var(--imax-primary);
	font-weight: 900;
	font-size: 0.8rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.imax-member-timeline-item:not(.is-current) .imax-member-timeline-years {
	color: #64748b;
}

.imax-member-timeline-role {
	margin: 0 0 0.15rem;
	font-weight: 900;
	color: #0f172a;
	font-size: 1.05rem;
}

.imax-member-timeline-desc {
	margin: 0;
	color: #64748b;
	line-height: 1.6;
	font-size: 0.95rem;
}

.imax-member-section--primary {
	background: var(--imax-primary);
	border-color: rgba(0, 51, 102, 0.2);
}

.imax-member-section-title--light {
	color: rgba(255,255,255,0.95);
}

.imax-member-section-title--light::before {
	background: rgba(255,255,255,0.9);
}

.imax-member-empty--light {
	color: rgba(255,255,255,0.8);
}

.imax-member-certs {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem 1.25rem;
	color: #fff;
}

.imax-member-certs li {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 700;
}

.imax-member-certs .material-symbols-outlined {
	font-size: 20px;
	opacity: 0.8;
}

.imax-member-prose {
	color: #475569;
	font-size: 1.05rem;
	line-height: 1.8;
}

.imax-member-prose p {
	margin: 0 0 1rem;
}

.imax-member-prose p:last-child {
	margin-bottom: 0;
}

.imax-member-highlight {
	margin: 0;
	font-size: 1.25rem;
	font-weight: 800;
	color: #0f172a;
}

.imax-member-list {
	margin: 0;
	padding-left: 1.1rem;
	color: #475569;
	line-height: 1.7;
}

.imax-member-list li {
	margin: 0.35rem 0;
}

.imax-member-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.imax-member-chip {
	display: inline-flex;
	align-items: center;
	padding: 0.45rem 0.75rem;
	border-radius: 999px;
	background: rgba(0, 51, 102, 0.08);
	border: 1px solid rgba(0, 51, 102, 0.14);
	color: #0f172a;
	font-weight: 700;
	font-size: 0.85rem;
}

@media (max-width: 1024px) {
	.imax-member-grid {
		grid-template-columns: 360px minmax(0, 1fr);
		gap: 2rem;
	}
}

@media (max-width: 900px) {
	.imax-member-grid {
		grid-template-columns: 1fr;
	}
	.imax-member-aside {
		position: static;
	}
	.imax-member-expertise-grid,
	.imax-member-certs {
		grid-template-columns: 1fr;
	}
}

/* ----- Category archives (Business / Personal articles) ----- */
body.category #layout.pagewidth {
	/* Themify wraps category.php in a centered .pagewidth box; make it full-bleed */
	max-width: 100%;
	padding: 0;
}
body.category #layout.tf_box {
	background: transparent;
	box-shadow: none;
}
.imax-category-hero {
	background: var(--imax-white);
	padding-top: 2.5rem;
	padding-bottom: 1.5rem;
}
.imax-announcement-hero {
	background: var(--imax-white);
}
.imax-category-hero-title {
	font-size: clamp(1.75rem, 4vw, 2.35rem);
	font-weight: 800;
	color: var(--imax-primary);
	margin: 0.35rem 0 0;
	line-height: 1.2;
}
.imax-category-hero-desc {
	margin-top: 1rem;
	max-width: 48rem;
	color: var(--imax-text);
	font-size: 1rem;
	line-height: 1.65;
}
.imax-category-hero-desc p {
	margin: 0 0 0.75rem;
}
.imax-category-hero-desc p:last-child {
	margin-bottom: 0;
}
.imax-category-list-section {
	background: var(--imax-white);
	padding-bottom: 3rem;
}
.imax-archive-article-list {
	margin-top: 0.5rem;
}
.imax-archive-article {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.35rem 0;
	padding: 1.35rem 1.5rem;
	border-bottom: 1px solid rgba(0, 51, 102, 0.1);
	transition: background-color 0.15s ease;
	align-items: start;
}
.imax-archive-article:last-child {
	border-bottom: none;
}
.imax-archive-article:hover {
	background: rgba(240, 247, 255, 0.55);
}
.imax-archive-article-main {
	min-width: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.35rem 0;
}
.imax-archive-thumb {
	display: block;
	border-radius: var(--imax-radius);
	overflow: hidden;
	align-self: start;
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08);
	background: rgba(0, 0, 0, 0.03);
}
.imax-archive-thumb img {
	width: 100%;
	aspect-ratio: 4 / 3;
	height: auto;
	object-fit: cover;
	display: block;
}
.imax-archive-article time {
	display: block;
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--imax-text-light);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.imax-archive-title {
	font-size: 1.1rem;
	margin: 0 0 0.35rem;
	font-weight: 700;
}
.imax-archive-title a {
	color: var(--imax-text);
	text-decoration: none;
}
.imax-archive-title a:hover {
	color: var(--imax-primary);
}
.imax-archive-article-body p {
	margin: 0;
	font-size: 0.9rem;
	color: var(--imax-text-light);
	line-height: 1.55;
}
.imax-category-empty {
	margin: 2rem 0;
	text-align: center;
	color: var(--imax-text-light);
	font-size: 1rem;
}
.imax-archive-pagination {
	margin-top: 2rem;
	display: flex;
	justify-content: center;
}
.imax-archive-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1rem;
}
.imax-archive-pagination a,
.imax-archive-pagination span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	padding: 0.45rem 0.65rem;
	border-radius: var(--imax-radius);
	font-weight: 600;
	font-size: 0.9rem;
	text-decoration: none;
	color: var(--imax-text);
	border: 1px solid rgba(0, 51, 102, 0.12);
	background: var(--imax-white);
}
.imax-archive-pagination a:hover {
	border-color: var(--imax-primary);
	color: var(--imax-primary);
}
.imax-archive-pagination span.page-numbers.current {
	background: var(--imax-primary);
	color: var(--imax-white);
	border-color: var(--imax-primary);
}
@media (min-width: 640px) {
	.imax-archive-article-main {
		grid-template-columns: 7.75rem minmax(0, 1fr);
		gap: 0 1.5rem;
		align-items: start;
	}
	.imax-archive-article time {
		padding-top: 0.15rem;
	}
	.imax-archive-article--has-thumb {
		grid-template-columns: 148px minmax(0, 1fr);
		gap: 0 1.5rem;
		align-items: start;
	}
	.imax-archive-article--has-thumb .imax-archive-article-main {
		grid-column: 2;
	}
}
@media (min-width: 640px) and (max-width: 699px) {
	.imax-archive-article--has-thumb .imax-archive-article-main {
		grid-template-columns: 1fr;
	}
}
@media (min-width: 700px) {
	.imax-archive-article--has-thumb .imax-archive-article-main {
		grid-template-columns: 7.75rem minmax(0, 1fr);
	}
}

/* ----- About page: match "Personal Services" style + video at bottom ----- */
body.page-about .entry-content {
	max-width: 52rem;
	margin-left: auto;
	margin-right: auto;
}

body.page-about .module_row,
body.page-about .entry-content {
	text-align: left;
}

/* Force About page typography to black */
body.page-about .entry-content,
body.page-about .entry-content p,
body.page-about .entry-content li,
body.page-about .tb_text_wrap,
body.page-about .tb_text_wrap p,
body.page-about .tb_text_wrap li {
	color: #111;
}

body.page-about .entry-content h1,
body.page-about .entry-content h2,
body.page-about .entry-content h3,
body.page-about .entry-content h4,
body.page-about .entry-content h5,
body.page-about .entry-content h6,
body.page-about .module-title,
body.page-about .module-title a {
	color: #111;
}

/* Builder blocks used to stack max-width: 52rem + margin:auto on text and video
 * separately, so narrower text modules centred off a different axis than the
 * video — title/body drifted inward while the embed stayed wider. Share one
 * width by filling the column and letting .entry-content cap the overall line. */
body.page-about .module-text,
body.page-about .module-title {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
	margin-left: 0;
	margin-right: 0;
}

body.page-about .module-text .tb_text_wrap {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
	margin-left: 0;
	margin-right: 0;
}

body.page-about .module-video {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
	margin-left: 0;
	margin-right: 0;
}

body.page-about .module-video .video-wrap-outer,
body.page-about .module-video .video-wrap,
body.page-about .module-video .wp-video,
body.page-about .module-video iframe,
body.page-about .module-video video {
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
	float: none !important;
	display: block;
}

body.page-about .module-video .video-wrap-outer {
	width: 100% !important;
}

/* About (#1920): Company History sits in `.tb_section-companyhistory`; the Video module
 * is built as the NEXT row (`tb_*` hashes change each save — use sibling selector).
 * Themify outputs row padding only on the first row, so video spanned wider; mirror gutters. */
body.page-about #themify_builder_content-1920 .tb_section-companyhistory + .module_row {
	box-sizing: border-box;
	padding-left: 117px !important;
	padding-right: 117px !important;
}

@media screen and (max-width: 600px) {
	body.page-about #themify_builder_content-1920 .tb_section-companyhistory + .module_row {
		padding-left: 25px !important;
		padding-right: 25px !important;
	}
}

/* Per-module margins compiled into Themify’s concat bundles can outweigh theme CSS. */
body.page-about #themify_builder_content-1920 .module-video {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.page-about #themify_builder_content-1920 .module-text,
body.page-about #themify_builder_content-1920 .module-fancy-heading {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* ============================================================
 * Mobile responsiveness pass (site-wide review fixes)
 * ============================================================ */

/* Parent theme hard-codes .pagewidth { width: 1160px } which can leak
 * wider than the viewport on tablets (~768–1024px) and force the page
 * to overflow horizontally. Make it truly responsive site-wide. */
.pagewidth,
.module_row > .row_inner,
.module-layout-part .module_row.fullwidth_row_container > .row_inner {
	width: 100% !important;
	max-width: 1200px !important;
	box-sizing: border-box;
}
/* And the same for the header/footer pagewidth shells which override
 * via `body.header-rightpane / leftpane` selectors elsewhere. */
#headerwrap #header.pagewidth,
#footerwrap #footer.pagewidth {
	width: 100% !important;
	max-width: 1200px !important;
	box-sizing: border-box;
}

/* Universal media safety: keep images/embeds inside their box */
img,
video,
iframe,
embed,
object {
	max-width: 100%;
	height: auto;
}
svg {
	max-width: 100%;
}

/* Long URLs / emails should wrap on phones (footer, contact, archive) */
.imax-footer-contact-list a,
.imax-footer-locations-list,
.imax-footer-locations-list li,
.imax-footer-bottom,
.imax-contact-card-value,
.imax-contact-card-value a,
.imax-member-contact-value,
.imax-archive-article-body p {
	overflow-wrap: anywhere;
	word-break: break-word;
}

/* Tables inside post content scroll horizontally instead of overflowing */
.entry-content table {
	display: block;
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* ----- Tablet & phones (≤ 768px) ----- */
@media (max-width: 768px) {
	/* Section spacing scales down on small screens */
	.imax-section {
		padding: 2.5rem 1rem;
	}
	/* Match header/footer gutter; avoid double-padding on #header/#footer shells (they use --imax-page-gutter above). */
	.pagewidth:not(#header):not(#footer) {
		padding-left: var(--imax-page-gutter);
		padding-right: var(--imax-page-gutter);
	}

	/* Hero: shorter, less aggressive on phones */
	.imax-hero {
		min-height: 60vh;
	}
	.imax-hero-inner {
		padding: 2.25rem 1rem;
	}
	.imax-hero-desc {
		font-size: 1rem;
		margin-bottom: 1.25rem;
	}
	.imax-hero .imax-btn-outline {
		padding: 0.85rem 1.5rem;
		font-size: 0.95rem;
	}

	/* Section titles tighten */
	.imax-section-title {
		font-size: 1.45rem;
		margin-bottom: 1.5rem;
	}
	.imax-section-title-underline {
		margin-bottom: 1.75rem;
	}
	.imax-section-title-underline::after {
		width: 4rem;
	}

	/* Cards: reduce internal padding so text gets more width */
	.imax-card {
		padding: 1.5rem;
	}
	.imax-cards-two {
		gap: 1.5rem;
	}
	.imax-personal-cta,
	.imax-business-emphasis {
		padding: 1rem;
	}

	/* News: stack title and "View All" link */
	.imax-news-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.5rem;
		margin-bottom: 1.5rem;
	}
	.imax-news-item {
		padding: 1.1rem 1rem;
	}

	/* Timeline: tighten */
	.imax-timeline-title {
		font-size: 1.4rem;
	}
	.imax-timeline {
		padding-left: 1.5rem;
	}
	.imax-timeline-item::before {
		left: -1.5rem;
	}

	/* Testimonials */
	.imax-testimonial-card {
		padding: 1.5rem;
	}
	.imax-testimonial-card blockquote {
		font-size: 1rem;
	}

	/* Money quiz pill button stays comfortable on narrow screens */
	.imax-money-quiz-link {
		font-size: 0.95rem;
		padding: 0.85rem 1rem;
		min-height: 3rem;
	}
	.imax-money-quiz-link .material-symbols-outlined {
		font-size: 1.35rem;
	}
	.imax-money-quiz-arrow {
		display: none; /* save space on tiny screens */
	}

	/* Contact form inner padding */
	.imax-contact-form-wrap {
		padding: 1.25rem;
	}

	/* Footer breathing room */
	.imax-footer-grid {
		gap: 1.75rem;
		padding-bottom: 1.75rem;
	}
	.imax-footer-bottom {
		margin-top: 1.5rem;
	}

	/* About page: use full mobile width (already centered/black) */
	body.page-about .module-text,
	body.page-about .module-video,
	body.page-about .tb_text_wrap,
	body.page-about .entry-content {
		max-width: 100%;
	}

	/* Keep WhatsApp bubble and Themify "Back to top" from clashing */
	.imax-whatsapp-bubble {
		right: 0.75rem;
		bottom: 4.75rem;
	}
	.back-top.back-top-float {
		right: 0.75rem !important;
		bottom: 0.75rem !important;
	}

	/* Team page hero / filters padding */
	.imax-team-hero {
		padding: 0 1rem 1.5rem;
	}
	.imax-team-filters-section {
		padding: 0 1rem 1.25rem;
	}
	.imax-team-grid-section {
		padding: 0 1rem 3rem;
	}
}

/* ----- Phones (≤ 600px) ----- */
@media (max-width: 600px) {
	.imax-section {
		padding: 2rem 0.85rem;
	}
	.imax-hero-title {
		font-size: clamp(1.6rem, 6vw, 2.25rem);
	}
	.imax-section-title {
		font-size: 1.3rem;
	}

	/* Single-column layouts where useful */
	.imax-testimonial-cards--page {
		grid-template-columns: 1fr;
	}

	/* Contact landing layout */
	.imax-contact-landing .imax-contact-landing-content {
		gap: 1.5rem;
	}

	/* Footer copy */
	.imax-footer-copy,
	.imax-footer-legal a {
		font-size: 0.8rem;
	}
	.imax-footer-bottom {
		gap: 0.75rem;
	}
	.imax-footer-legal {
		flex-wrap: wrap;
		justify-content: center;
		gap: 0.75rem 1rem;
	}

	/* Single team member: tighten card padding */
	.imax-member-section {
		padding: 1.25rem;
	}
}

/* ----- Small phones (≤ 480px) ----- */
@media (max-width: 480px) {
	.imax-hero-title {
		font-size: clamp(1.5rem, 7vw, 2rem);
	}
	.imax-hero-desc {
		font-size: 0.95rem;
	}

	/* CTA buttons: full-width on tiny screens for easy tapping */
	.imax-hero .imax-btn-outline {
		display: block;
		width: 100%;
		text-align: center;
		box-sizing: border-box;
	}

	/* Header logo tighten */
	.imax-header-bar .site-logo-image {
		max-height: 36px;
	}

	/* Card padding even tighter */
	.imax-card {
		padding: 1.25rem 1rem;
	}

	/* Money quiz: keep label readable on 320px screens */
	.imax-money-quiz-link {
		font-size: 0.9rem;
		padding: 0.8rem 0.75rem;
	}

	/* Reduce category hero hero font */
	.imax-category-hero {
		padding-top: 1.75rem;
		padding-bottom: 1rem;
	}
}