/*
* Theme Name: 321 Child Theme
* Theme URI: https://www.321webmarketing.com/
* Author: 321 Web Marketing
* Author URI: https://www.321webmarketing.com/
* Description: 321 inspired child theme for the Genesis Framework.
* Version: 1.0.01
* License: GPL-3.0-or-later
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
* Text Domain: tto-child
* Domain Path: /languages
* Template: genesis
*/

@charset 'UTF-8';

/* ## Custom Theme CSS
--------------------------------------------- */

/* ## Design Tokens (Figma: Luxor Staffing 5zTwHAW5Q3XFO3GmFtUtRq)
--------------------------------------------- */
:root {
	/* Colors */
	--lux-green-dark: #1c5a29;
	--lux-green: #6cc780;
	--lux-green-process: #ddf0d0;
	--lux-green-chip: #daf1df;
	--lux-green-band: #eff6f0;
	--lux-green-mist: #f1fff4;
	--lux-green-circle: #f0f9f2;
	--lux-sage: #d1e2d5;
	--lux-navy: #0c121b;
	--lux-grey-band: #f6f6f6;
	--lux-grey-mist: #eef0ef;
	--lux-ink: #1a1a1a;
	/* Figma-aligned neutrals + surfaces */
	--lux-steel: #3d5e78;
	/* muted body / secondary text */
	--lux-accent: #e8ac05;
	/* highlight yellow — hero shine, badges */
	--lux-border: #e5e5e5;
	/* subtle dividers / card outlines */
	--lux-border-input: #d3d3d3;
	/* form field border */
	--lux-surface-muted: #f4f4f4;
	/* chip / soft-card background */
	/* Type */
	--lux-font: 'DM Sans', sans-serif;
	/* Layout: design content box is 1347 wide @ x=47 on the 1440 frame */
	--lux-container: 134.7rem;
	--lux-pad: 4.7rem;
	/* The wrap is controlled by these two vars ONLY (round-3): never restyle the
	parent's gb-columns wrap chain structurally. */
	--theme-wrap-width: 94%;
	--theme-wrap-max-width: 134.7rem;
	--theme-section-padding: 10rem;
	--theme-section-padding-mobile: 8rem;
	--theme-wrap-padding-mobile: 3vw;
	/* Radii (Figma-aligned) */
	--lux-r-sm: 0.8rem;
	/* buttons, small cards */
	--lux-r-md: 1.2rem;
	/* medium cards */
	--lux-r-lg: 2rem;
	/* large panels */
	--lux-r-pill: 2.8rem;
	/* pills, form inputs */
	/* Shadows */
	--lux-shadow-card: 0 1.4rem 1.23rem rgba(0, 0, 0, 0.04);
	--lux-shadow-pop: 0 0.8rem 2.29rem rgba(0, 0, 0, 0.09);
	--lux-shadow-nav: 0 0.7rem 0.97rem rgba(0, 0, 0, 0.08);
	--lux-shadow-soft: 0 0.4rem 1rem rgba(122, 122, 122, 0.12);
	--lux-shadow-accent: 0 0.4rem 2rem rgba(255, 235, 131, 0.25);
	--lux-grey-band-2: #f0f0f0;
}

/*** Parent Theme Overrides */
@layer overrides {
	.faq-block .accordion-button {
		padding: 2.2rem 0 !important;
	}
}

/* NOTE: tto-parent sets html{font-size:62.5%} — author ALL sizes in px, never rem. */
body {
	color: var(--lux-ink);
	font-family: var(--lux-font);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--lux-font);
	letter-spacing: normal;
}

h2 {
	color: var(--lux-navy);
	font-size: 4.2rem;
	font-weight: 600;
	line-height: 5.5rem;
	margin-bottom: 2rem;
	letter-spacing: -0.01em;
}

h3 {
	margin-bottom: 2rem;
}

.wrap {
	padding-inline: var(--lux-pad);
}

.entry-content p a:not(.button) {
    color: var(--lux-green-dark);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 0.3rem;
}

.entry-content p a:not(.button):hover {
	opacity: 0.8;
}

@media (max-width: 767px) {
	h2 {
		font-size: 3.2rem;
		line-height: 4rem;
	}
}

/* ## Chrome: top bar
--------------------------------------------- */
.top-nav-bar {
	background-color: var(--lux-green-dark);
	padding: 0.5rem 0;
}

.top-nav-bar > .wrap {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 2.4rem;
	max-width: 144rem;
	margin-inline: auto;
	padding: 0;
}

.top-nav-bar .top-nav-menu {
	display: flex;
	align-items: center;
	gap: 2.4rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.top-nav-bar .top-nav-menu li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.top-nav-bar .top-nav-menu li::marker {
	content: '';
}

.top-nav-bar .top-nav-menu li.menu-item-gtranslate {
	min-width: 120px;
	min-height: 24px;
}

.top-nav-bar .top-nav-menu li.menu-item-gtranslate > div {
	top: 0;
}

.top-nav-bar .top-nav-menu li.menu-item-gtranslate .gt_switcher {
    width: 120px;
}

.top-nav-bar .top-nav-menu li.menu-item-gtranslate .gt_switcher .gt_selected {
    background-color: transparent;
    background-image: none;
	margin: 0 0 6px 6px;
}

.top-nav-bar .top-nav-menu li.menu-item-gtranslate .gt_switcher .gt_selected a,
.top-nav-bar .top-nav-menu li.menu-item-gtranslate .gt_switcher .gt_option a:not(.gt_current) {
	background-color: transparent;
	display: flex;
    align-items: center;
    gap: 1rem;
	width: 100%;
	color: #fff;
	font-size: 1.4rem;
    font-weight: 400;
	font-family: var(--lux-font);
    line-height: 2.4rem;
}

.top-nav-bar .top-nav-menu li.menu-item-gtranslate .gt_switcher .gt_option a:not(.gt_current) {
	color: var(--lux-navy);
}

.top-nav-bar .top-nav-menu li.menu-item-gtranslate .gt_switcher .gt_selected a {
    border: none;
    padding: 0;
}

.top-nav-bar .top-nav-menu li.menu-item-gtranslate .gt_switcher .gt_selected a:after {
    right: 0;
	filter: brightness(0) invert(1);
}

.top-nav-bar .top-nav-menu li.menu-item-gtranslate .gt_switcher .gt_option {
	width: 120px;
}

.gtranslate-container > .gb-container-inside > .gb-container-content > p {
    display: none;
}

@media (min-width: 896px) {
	.primary-header-ctas .widget:has(.gtranslate-container) {
		display: none;
	}
}

.top-nav-bar .top-nav-menu a {
	color: #fff;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2.4rem;
	text-decoration: none;
}

.lang-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: #fff;
	font-size: 1.4rem;
	line-height: 2.4rem;
	text-transform: uppercase;
}

.lang-chip img {
	object-fit: cover;
	width: 1.7rem;
	height: 1.7rem;
	border-radius: 50%;
}

.lang-chip i {
	font-size: 1.1rem;
}

/* ## Chrome: header
--------------------------------------------- */
.site-header {
	background-color: #fff;
	box-shadow: var(--lux-shadow-nav);
}

.site-header > .wrap {
	max-width: 144rem;
	margin-inline: auto;
	padding: 0;
}

.custom-logo-link {
    max-height: 8rem;
	padding: 0.25rem 0;
}

.custom-logo-link .custom-logo {
	width: 20rem;
	height: auto;
	max-height: 8rem;
}

/* Base — green by default. `.pill--green` is redundant but kept so existing
markup still works. The other variants (--solid, --outline, --ghost)
override for their looks. */
.pill {
	background-color: var(--lux-green-dark);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.2rem;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.5;
	padding: 0.6rem 1.6rem;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	border-radius: 3.5rem;
}

.pill:hover {
	background-color: #2a893e;
}

.pill--solid {
	background-color: var(--lux-green-dark);
	color: #fff;
	font-weight: 700;
	border: 0.2rem solid var(--lux-green-dark);
}

.pill--solid:hover {
	background-color: #14401d;
	color: #fff;
	border-color: #14401d;
}

.pill--outline {
	background-color: transparent;
	color: var(--lux-navy);
	font-weight: 500;
	border: 0.2rem solid var(--lux-navy);
	box-shadow: 0 0 0.98rem rgba(0, 0, 0, 0.05);
}

.pill--outline:hover {
	background-color: var(--lux-navy);
	color: #fff;
}

.pill--green {
	background-color: var(--lux-green-dark);
	color: #fff;
	font-weight: 600;
}

.pill--green:hover {
	background-color: #2a893e;
}

.pill--ghost {
	background-color: transparent;
	color: #fff;
	font-weight: 600;
	border: 0.1rem solid #fff;
}

.pill--ghost:hover {
	background-color: rgba(255, 255, 255, 0.12);
	color: #fff;
}

.pill.white {
	background-color: #fff;
	color: var(--lux-ink);
}

.pill.white:hover {
	background-color: #f0f0f0;
	color: var(--lux-ink);
}

@media (min-width: 896px) {
	.site-header > .wrap {
		display: grid !important;
		grid-template-columns: auto 1fr;
		align-items: center;
	}

	.site-header .title-area {
		padding: 0;
	}

	.site-header .nav-primary {
		display: flex;
		align-items: center;
		justify-content: flex-end;
	}

	/* Push menu + CTAs to the right, tight cluster next to the Log In edge */
	.nav-primary > .wrap {
		justify-content: flex-end;
		gap: 2.4rem;
		padding-right: 0;
	}

	.nav-primary .menu {
		flex: 0 0 auto;
		justify-content: flex-end;
	}

	.nav-primary .menu > .menu-item > a .dropdown-icon {
		transition: 0.25s ease-in-out all;
	}

	.nav-primary .menu > .menu-item:hover > a .dropdown-icon {
		transform: rotate(-180deg);
	}

	/* Menu items drive the header's vertical rhythm (no padding on .site-header) */
	.nav-primary .menu > .menu-item,
	.site-header.shrink .nav-primary .menu > .menu-item {
		padding-top: 2.75rem;
		padding-bottom: 2.75rem;
	}

	.primary-header-ctas {
		display: flex;
		align-items: center;
		gap: 1.2rem;
		margin-left: 0;
	}

	.primary-header-ctas .custom-button {
		margin: 0 !important;
	}

	.site-header .menu-toggle,
	.site-header .sub-menu-toggle {
		display: none;
	}

	/* Plain dropdowns (Find a Job / About) */
	.nav-primary .menu-item.dropdown .sub-menu {
		background-color: #fff;
		gap: 0.8rem;
		min-width: 23rem;
		padding: 0.8rem 0;
		border-radius: 0 0 0.8rem 0.8rem;
		clip-path: inset(0 -3rem -5rem);
		box-shadow: 0 1.8rem 3rem rgba(12, 18, 27, 0.12);
	}

	.nav-primary .menu-item.dropdown .sub-menu a {
		display: block;
		color: var(--lux-navy);
		font-size: 1.5rem;
		font-weight: 500;
		padding: 0.9rem 2.2rem;
	}

	.nav-primary .menu-item.dropdown .sub-menu a:hover {
		background-color: var(--lux-green-band);
		color: var(--lux-green-dark);
	}

	/* Mega menus (parent handles positioning via .wrap-header + hover reveal) */
	.nav-primary.wrap-header .menu > .menu-item.mega-menu > .mega-menu-container {
		width: 100vw;
		max-width: 143.8rem;
		padding: 0;
		border-top: none;
		box-shadow: 0 2.4rem 4rem rgba(12, 18, 27, 0.14);
		clip-path: inset(0 -5rem -5rem);
	}

	.nav-primary.wrap-header .menu > .menu-item.mega-menu.mega-employers > .mega-menu-container {
		max-width: 1000px;
	}

	.nav-primary .mega-menu-wrap {
		background-color: #fff;
		position: relative;
		display: flex;
		align-items: stretch;
		border: none;
		border-radius: 0 0 0.8rem 0.8rem;
		border-top: 0.1rem solid #f0f0f0;
		overflow: hidden;
	}

	.nav-primary .mega-menu-wrap > .sub-menu {
		flex: 1 1 auto;
		position: static !important;
		display: flex;
		justify-content: flex-start;
		gap: 6rem;
		min-width: 0 !important;
		width: auto !important;
		inset: auto !important;
		margin: 0 !important;
		padding: 2.8rem 4.6rem 4rem !important;
		opacity: 1 !important;
		box-shadow: none !important;
		background: transparent !important;
		list-style: none;
	}

	.mega-menu:not(.mega-areas) > .mega-menu-container > .mega-menu-wrap > .sub-menu > .menu-item {
		flex: 1 1 calc((100% - min(12rem, 8.88vw)) / 3);
		gap: 0;
		max-width: calc((100% - min(12rem, 8.88vw)) / 3);
	}

	.mega-menu.mega-employers > .mega-menu-container > .mega-menu-wrap > .sub-menu > .menu-item {
		flex: 1 1 calc((100% - min(8rem, 5.92vw)) / 2);
		max-width: calc((100% - min(8rem, 5.92vw)) / 2);
	}

	.nav-primary .mega-menu-wrap .sub-menu li {
		margin: 0;
		list-style: none;
	}
	.nav-primary .mega-menu-wrap .sub-menu li::marker {
		content: '';
	}

	/* Nested lists inside a mega wrap are always visible */
	.nav-primary .mega-menu-wrap .sub-menu .sub-menu {
		position: static !important;
		display: flex !important;
		flex-direction: column;
		gap: 1.2rem;
		min-width: 0 !important;
		width: auto !important;
		inset: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		opacity: 1 !important;
		border: none !important;
		box-shadow: none !important;
		pointer-events: auto !important;
		clip-path: none !important;
		background: transparent !important;
	}

	/* Group headings (Services / Industries) */
	.mega-group > a,
	.mega-group > p {
		display: block;
		color: var(--lux-navy) !important;
		font-size: 1.7rem !important;
		font-weight: 700 !important;
		margin: 0 0 1.4rem !important;
		pointer-events: none;
	}

	.nav-primary .mega-menu-wrap .sub-menu .sub-menu a,
	.mega-areas .mega-menu-wrap .sub-menu a {
		color: var(--lux-ink);
		font-size: 1.6rem;
		font-weight: 400;
	}

	.nav-primary .mega-menu-wrap .sub-menu a:hover,
	.nav-primary .mega-menu-wrap .sub-menu .sub-menu a:hover,
	.mega-areas .mega-menu-wrap .sub-menu a:hover {
		color: var(--lux-green-dark);
	}

	.mega-employers .mega-menu-wrap > .sub-menu > .menu-item:first-child > .sub-menu > .menu-item:last-child {
		margin-top: 1.8rem;
	}

	.mega-employers .mega-menu-wrap > .sub-menu > .menu-item:first-child > .sub-menu > .menu-item:last-child > a {
		font-size: 1.7rem;
        font-weight: 700;
	}

	/* State-level (tertiary) items in Service Areas: a touch bolder + roomier */
	.mega-areas .mega-menu-wrap > .sub-menu > li > a {
		font-size: 1.7rem !important;
		font-weight: 700;
		margin: 0 0 1.4rem !important;
		padding: 0;
	}

	/* Service Areas mega: heading + flat multi-column flow */
	/* .mega-areas .mega-menu-wrap::before {
		content: 'Service Areas';
		position: absolute;
		top: 2.8rem;
		left: 4.6rem;
		font-size: 1.7rem;
		font-weight: 700;
		color: var(--lux-navy);
		z-index: 2;
	} */

	.mega-areas .mega-menu-wrap > .sub-menu {
		display: block;
		column-gap: 6rem;
		column-count: 3;
	}

	.mega-areas .mega-menu-wrap > .sub-menu > li {
		margin-bottom: 3rem;
		break-inside: avoid-column;
	}

	.mega-areas .mega-menu-wrap .sub-menu .sub-menu {
		gap: 0.8rem !important;
	}

	.mega-areas .mega-menu-wrap .sub-menu li {
		display: block;
	}

	.mega-areas .mega-menu-wrap .sub-menu a {
		display: block;
	}

	/* Promo pill keeps its colors regardless of menu link rules */
	.mega-promo .pill--solid {
		color: #fff !important;
		font-size: 1.4rem !important;
		font-weight: 700 !important;
	}

	/* Promo panel */
	.mega-promo {
		flex: 0 0 36%;
		background-color: #ecefec;
		position: relative;
		overflow: hidden;
	}

	.mega-promo--content {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 1.6rem;
		max-width: 43rem;
		padding: 5rem 5.5rem;
		z-index: 2;
	}

	.mega-promo--heading {
		color: var(--lux-navy);
		font-size: 2.4rem;
		font-weight: 600;
		font-family: 'Onest', var(--lux-font);
		line-height: 1.14;
		margin: 0;
	}

	.mega-promo--copy {
		max-width: 28.9rem;
		color: var(--lux-navy);
		font-size: 1.4rem;
		font-weight: 500;
		font-family: 'Onest', var(--lux-font);
		line-height: 1.35;
		margin: 0;
	}

	.mega-promo--photo {
		display: none;
		object-fit: contain;
		object-position: bottom;
		position: absolute;
		width: 24rem;
		height: 31.5rem;
		bottom: 0;
		right: 2.2rem;
		z-index: 1;
	}
}

/* ## Chrome + mega menu: viewport-based scaling between 896 and 1352
Uses the same min(px, vw) pattern as tto-parent (targets meet at ~135.2rem). */
@media (min-width: 896px) and (max-width: 1352px) {
	/* Logo + buttons + primary menu should shrink with viewport */
	.custom-logo-link .custom-logo {
		width: min(20rem, 14.8vw);
	}

	.pill {
		font-size: min(1.4rem, 1.04vw);
		padding: min(0.6rem, 0.44vw) min(1.6rem, 1.18vw);
	}

	.primary-header-ctas .custom-button .button {
		font-size: min(1.4rem, 1.04vw);
		padding: min(0.6rem, 0.44vw) min(1.6rem, 1.18vw);
	}

	.primary-header-ctas {
		gap: min(1.2rem, 0.9vw);
	}

	.nav-primary > .wrap {
		gap: min(2.4rem, 1.78vw);
	}

	.nav-primary .menu > .menu-item,
	.site-header.shrink .nav-primary .menu > .menu-item {
		padding-top: min(2.75rem, 2.03vw);
		padding-bottom: min(2.75rem, 2.03vw);
	}

	/* Non-mega dropdowns */
	.nav-primary .menu-item.dropdown .sub-menu a {
		font-size: min(1.5rem, 1.11vw);
		padding: min(0.9rem, 0.67vw) min(2.2rem, 1.63vw);
	}

	/* Mega menu container: scale gap + padding */
	.nav-primary .mega-menu-wrap > .sub-menu {
		gap: min(6rem, 4.44vw);
		padding: min(2.8rem, 2.07vw) min(4.6rem, 3.4vw) min(4rem, 2.96vw) !important;
	}

	.nav-primary .mega-menu-wrap .sub-menu .sub-menu {
		gap: min(1.2rem, 0.9vw);
	}

	.mega-employers .mega-menu-wrap > .sub-menu > .menu-item:first-child > .sub-menu > .menu-item:last-child {
		margin-top: min(1.8rem, 1.32vw);
	}

	.mega-employers .mega-menu-wrap > .sub-menu > .menu-item:first-child > .sub-menu > .menu-item:last-child > a {
		font-size: min(1.7rem, 1.26vw);
	}

	.mega-group > a,
	.mega-group > p {
		font-size: min(1.7rem, 1.26vw) !important;
		margin: 0 0 min(1.4rem, 1.04vw) !important;
	}

	.nav-primary .mega-menu-wrap .sub-menu .sub-menu a,
	.mega-areas .mega-menu-wrap .sub-menu a {
		font-size: min(1.6rem, 1.18vw);
	}

	/* Service Areas mega */
	/* .mega-areas .mega-menu-wrap::before {
		top: min(2.8rem, 2.07vw);
		left: min(4.6rem, 3.4vw);
		font-size: min(1.7rem, 1.26vw);
	} */

	/* padding: min(8rem, 5.92vw) min(4.6rem, 3.4vw) min(3rem, 2.22vw) !important; */
	.mega-areas .mega-menu-wrap > .sub-menu {
		column-gap: min(6rem, 4.44vw);
	}

	.mega-areas .mega-menu-wrap > .sub-menu > li {
		margin-bottom: min(3rem, 2.22vw);
	}

	.mega-areas .mega-menu-wrap > .sub-menu > li:first-child {
		margin-bottom: 0;
	}

	/* State-level (tertiary) items in Service Areas: a touch bolder + roomier */
	.mega-areas .mega-menu-wrap > .sub-menu > li > a {
		font-size: min(1.7rem, 1.26vw) !important;
		font-weight: 700;
		margin: 0 0 min(1.4rem, 1.04vw) !important;
		padding: 0;
	}

	/* Promo panel — width is already percentage; scale inner sizes with viewport */
	.mega-promo--content {
		gap: min(1.6rem, 1.18vw);
		padding: min(5rem, 3.7vw) min(5.5rem, 4.07vw);
	}

	.mega-promo--heading {
		font-size: min(2.4rem, 1.78vw);
	}

	.mega-promo--copy {
		font-size: min(1.4rem, 1.04vw);
	}

	.mega-promo .pill--solid {
		font-size: min(1.4rem, 1.04vw) !important;
	}

	.mega-promo--photo {
		display: none;
		width: min(24rem, 17.75vw);
		height: min(31.5rem, 23.3vw);
		right: min(2.2rem, 1.63vw);
	}

	/* Top bar: scale its own type + gaps in-range too */
	/* .top-nav-bar .top-nav-menu a,
	.top-nav-bar .top-nav-menu li.menu-item-gtranslate .gt_switcher .gt_selected a {
		font-size: min(1.4rem, 1.04vw);
	} */
}

@media (max-width: 767px) {
	.site-header > .wrap {
		padding: 0 var(--theme-wrap-padding-mobile);
	}
}

/* ## Chrome: footer
--------------------------------------------- */
.site-footer {
	background-color: var(--lux-navy);
	padding: 0;
}

.site-footer > .wrap {
	max-width: none;
	padding: 0;
}

/* ## Footer — widget-area driven (Appearance → Widgets → Footer)
--------------------------------------------- */
.site-footer-widgets {
	background-color: var(--lux-navy);
	color: #fff;
	padding: 9.6rem 0 0;
}


/* Genesis Blocks column shell — brand column on the left, menu column right. */
.site-footer--area > .gb-layout-column-wrap {
	display: grid;
	grid-template-columns: minmax(0, 42.5rem) minmax(0, 1fr);
	align-items: start;
	gap: 8rem;
}

/* Brand column */
.footer-logo {
	display: flex;
}
.footer-logo--link {
	display: inline-block;
	transition: opacity 0.25s;
}
.footer-logo--link:hover {
	opacity: 0.85;
}
.footer-logo--image {
	display: block;
	max-width: 17.2rem;
	height: auto;
}

.site-footer-widgets .wp-block-paragraph {
	color: rgba(255, 255, 255, 0.75);
	font-size: 1.5rem;
	line-height: 2.6rem;
	margin: 0 0 2.4rem;
}

.site-footer-widgets .wp-block-paragraph:last-of-type {
	margin: 0;
}

.custom-socials {
	display: flex;
	gap: 1.2rem;
}

.custom-social--link {
	background-color: rgba(255, 255, 255, 0.1);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
	color: #fff;
	text-decoration: none;
	border-radius: 50%;
	transition: background 0.25s, color 0.25s;
}
.custom-social--link:hover {
	background-color: var(--lux-green);
	color: #fff;
}
.custom-social--link svg,
.custom-social--link i {
	width: 1.6rem;
	height: 1.6rem;
	color: #fff;
	font-size: 1.6rem;
	/* FA SVGs use fill=currentColor */
	fill: #fff;
}
.screen-reader-text {
	position: absolute !important;
	width: 0.1rem;
	height: 0.1rem;
	margin: -0.1rem;
	padding: 0;
	white-space: nowrap;
	border: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}

.site-footer-widgets .custom-socials + figure.wp-block-image {
	margin: 0;
}
.site-footer-widgets .custom-socials + figure.wp-block-image img {
	background-color: #fff;
	max-width: 12rem;
	height: auto;
	padding: 0.4rem;
	border-radius: 0.6rem;
}

/* Menu column — 3-up top-level headings, sub-menus stacked underneath. */
.menu-widget--items > ul.menu {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 6rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.menu-widget--items > ul.menu > li {
	margin: 0;
	list-style: none;
}
.menu-widget--items > ul.menu > li::marker {
	content: '';
}

.menu-widget--items > ul.menu > li > p {
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.menu-widget--items ul.sub-menu {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.menu-widget--items ul.sub-menu li {
	margin: 0;
	list-style: none;
}
.menu-widget--items ul.sub-menu li::marker {
	content: '';
}

.menu-widget--items ul.sub-menu a {
	color: rgba(255, 255, 255, 0.75);
	font-size: 1.4rem;
	line-height: 1.5;
	text-decoration: none;
	transition: color 0.25s;
}
.menu-widget--items ul.sub-menu a:hover {
	color: #fff;
}

.footer-awards > .gb-layout-column-wrap {
    display: flex;
    align-items: center;
    gap: 6rem;
}

.footer-awards > .gb-layout-column-wrap > .gb-block-layout-column {
    flex: 0 1 fit-content;
}

.footer-awards .wp-block-image {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}

.footer-awards .wp-block-image img {
    object-fit: contain;
    object-position: center center;
    width: auto;
    height: 70px;
    filter: grayscale(1);
}

/* Credits row — spans the full page width (border-top edge to edge). */
.site-footer-credits {
	padding: 2rem 4rem;
	border-top: 0.1rem solid rgba(255, 255, 255, 0.12);
}

.site-footer-credits > section > .widget-wrap {
	max-width: none;
	margin: 0;
	padding: 0;
}

.footer-credits p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 1.2rem;
	color: rgba(255, 255, 255, 0.6);
	font-size: 1.3rem;
	margin: 0;
}

.footer-credits .credit a {
	color: rgba(255, 255, 255, 0.85);
}

.footer-credits .credit a:hover {
	color: #fff;
}

.footer-credits .separator {
	color: rgba(255, 255, 255, 0.5);
	user-select: none;
}

/* Group the credits: left row = ©/Powered-by, right row = Privacy/Terms.
Hiding the 4th separator drops the dot between "Powered by" and
"Privacy", and margin-left:auto on credit #5 shoves Privacy + Terms
(and their remaining separator) to the far right. */
.footer-credits .separator:nth-child(4) {
	display: none;
}

@media (min-width: 767px) {
	.footer-credits .credit:nth-child(5) {
		margin-left: auto;
	}
}

@media (max-width: 991px) {
	.site-footer-widgets {
		padding: 6.4rem 2.4rem 2rem;
	}
	.site-footer--area > .gb-layout-column-wrap {
		grid-template-columns: 1fr;
		gap: 4.8rem;
	}
	.menu-widget--items > ul.menu {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 3.2rem;
	}
}

@media (max-width: 767px) {
	.site-footer--area > .gb-layout-column-wrap {
		display: block;
	}

	.site-footer--area > .gb-layout-column-wrap > .gb-block-layout-column:last-of-type {
		display: none;
	}

	.footer-credits p {
		gap: 0.8rem;
		font-size: 1.2rem;
	}
}

/* ## gb-columns shells (layout scaffold; transparent by default)
--------------------------------------------- */
/* Shell rows add no spacing of their own; the parent's wrap vars size the inner
wrap (round-3: never restyle the global gb-columns wrap chain). Band backgrounds
paint on the shell row itself (see the :has rules below). */
.gb-shell {
	margin: 0 !important;
	padding: 0;
}

.gb-shell .gb-block-layout-column-inner {
	padding: 0;
}

.gb-shell:has(.contact-form--card) {
	position: relative;
	overflow: visible;
	z-index: 20;
}

.gb-shell:has(.contact-form--card) > .gb-layout-column-wrap,
.gb-shell:has(.contact-form--card) .gb-block-layout-column-inner {
	overflow: visible;
}

.gb-shell:has(.video-testimonial) {
	background-color: var(--lux-grey-band);
}

/* Shells wrapping a block that overlaps upward (negative margin) must not clip it,
and must stack above the preceding hero (whose content carries z-index:2). */

.gb-section > .gb-layout-column-wrap {
	width: min(var(--lux-container), calc(100vw - 4.8rem));
	margin-inline: auto;
	padding: 0;
}

/* ## Blog archive — design: 3-col card grid (photo, title, date, author chip)
--------------------------------------------- */

.blog .page-hero-section {
	padding: 14rem 0;
}

.blog .page-hero-section > .gb-layout-column-wrap {
	width: var(--theme-wrap-width);
	max-width: var(--theme-wrap-max-width);
	margin: 0 auto;
}

.archive-grid--wrapper,
.blog-archive--wrapper .blog-recent-articles--wrapper {
	gap: 2.6rem;
}

.blog-archive--wrapper .wrap {
	padding-top: 4rem;
	padding-bottom: 6rem;
}

.archive-grid:first-child {
	margin-top: 0;
}

.archive-content--main > .wrap,
.archive-content--after > .wrap {
    padding: 0;
}

.archive-single--content h2, .archive-single--content h3 {
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.3;
	margin: 0;
}

.single-post .buttons-row > .gb-layout-column-wrap {
    flex-direction: column;
}

/* design cards have no excerpt / Read More */

/* author chip substitute: brand chip under date */

.blog-archive--section-heading,
.archive-content .blog-filters {
	display: none;
}

.archive-pagination {
	text-align: center;
}

@media (max-width: 991px) {
	.blog-archive--wrapper .blog-recent-articles--wrapper {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 767px) {
	.blog .page-hero-section {
		padding: var(--theme-section-padding-mobile) 0;
	}

	.blog .page-hero-section > .gb-layout-column-wrap {
		width: 100%;
		max-width: 100%;
		margin: 0;
		padding: 0 var(--theme-wrap-padding-mobile);
	}
}

/* ## Reused parent blocks — Luxor restyles
--------------------------------------------- */

/* tto-faq-accordion → borderless divider rows (Bootstrap markup) */
.faq-block .faq-accordion-items {
    max-width: 896px;
    margin: 0 auto;
}

.faq-block .accordion {
	gap: 0;
}

.faq-block .accordion-item {
	background-color: transparent;
	border: none;
	border-top: 0.1rem solid rgba(12, 18, 27, 0.18);
	border-radius: 0;
}

.faq-block .accordion-item:last-child {
	border-bottom: 0.1rem solid rgba(12, 18, 27, 0.18);
}

.faq-block .accordion-button {
	background-color: transparent;
	color: var(--lux-ink);
	font-size: 1.6rem;
	font-weight: 700;
	font-family: var(--lux-font);
	box-shadow: none;
}

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

.faq-block .accordion-button i {
	color: var(--lux-ink);
}

.faq-block .accordion-body {
	background-color: transparent;
	color: var(--lux-ink);
	font-size: 1.6rem;
	line-height: 2.5rem;
	padding: 0 0 2.2rem;
	opacity: 0.9;
}

/* gb rows inherit an 8rem section padding from the stack — the margin IS the rhythm here */
.faq-block {
	max-width: 128rem;
	margin: 8rem auto;
	padding: 0;
}

.faq-block.is-sage {
	background-color: var(--lux-sage);
	max-width: none;
	margin: 0;
	padding: 14rem 0 10.5rem;
}

.faq-block.is-sage .faq-block--title {
	font-size: 3.2rem;
	margin-bottom: 4.8rem;
}

.faq-block.is-sage .accordion {
	max-width: 128rem;
	margin-inline: auto;
}

/* Luxor FAQ section wrapper (heading + accordion group) */

.faq-block--title {
	color: var(--lux-ink);
	font-size: 2rem;
	font-weight: 600;
	margin: 0 0 2.6rem;
	text-align: center;
}

/* Contact page FAQ: sage band (design: 75.8rem — 140 top / 105 bottom, first item open) */

/* tto-success-numbers → Luxor stat tiles. Match both `.stats` (the parent
theme's convention) and `.stats-section` (the className used on this
site's pages so both variants render the same tile). */
.stats .success-numbers,
.stats-section .success-numbers {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	align-items: stretch;
	gap: 2.2rem;
	max-width: var(--lux-container);
	margin-inline: auto;
}

.stats .success-numbers > *,
.stats-section .success-numbers > * {
	max-width: none;
}

.stats .success-number,
.stats .success-numbers--item,
.stats-section .success-number,
.stats-section .success-numbers--item {
	background-color: #fff;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	max-width: none;
	padding: 2.6rem 3rem;
	text-align: left;
	border: 0.1rem solid #e7efe9;
	border-radius: var(--lux-r-sm);
	overflow: hidden;
}

.stats .success-number::before,
.stats .success-numbers--item::before,
.stats-section .success-number::before,
.stats-section .success-numbers--item::before {
	background-color: var(--lux-green-circle);
	position: absolute;
	width: 30rem;
	height: 30rem;
	top: auto;
	left: max(-34%, -10rem);
	border-radius: 50%;
	content: '';
}

.stats.is-dark .success-number,
.stats.is-dark .success-numbers--item,
.stats-section.is-dark .success-number,
.stats-section.is-dark .success-numbers--item {
	background-color: var(--lux-green-dark);
	border-color: var(--lux-green-dark);
}

.stats.is-dark .success-number::before,
.stats.is-dark .success-numbers--item::before,
.stats-section.is-dark .success-number::before,
.stats-section.is-dark .success-numbers--item::before {
	display: none;
}

.stats .success-number *,
.stats .success-numbers--item *,
.stats-section .success-number *,
.stats-section .success-numbers--item * {
	position: relative;
	color: var(--lux-green-dark);
	font-family: var(--lux-font);
	z-index: 1;
}

.stats.is-dark .success-number *,
.stats.is-dark .success-numbers--item *,
.stats-section.is-dark .success-number *,
.stats-section.is-dark .success-numbers--item * {
	color: #fff;
}

.success-number p {
	align-items: flex-start;
	gap: 1.2rem;
}

.stats .append,
.stats-section .append {
	white-space: pre;
}

@media (max-width: 991px) {
	.stats .success-numbers,
	.stats-section .success-numbers {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.stats .success-numbers,
	.stats-section .success-numbers {
		grid-template-columns: auto;
	}

	.stats-section h2 {
		margin: 0 0 4rem;
		text-align: center;
	}
}

/* ## ============ Block styles (merged from per-block block.css — single-stylesheet standard) ============ */

/* ## Block: contact-form
--------------------------------------------- */
/* Luxor Contact Form */
.contact-form {
	position: relative;
	display: flex;
	align-items: center;
	gap: 4rem;
	max-width: var(--lux-container);
	margin: -14rem auto 10rem;
	z-index: 5;
}

.contact-form .gform_wrapper {
	--gf-color-primary: var(--lux-green-dark);
	--gf-ctrl-btn-bg-color: var(--lux-green-dark);
	--gf-ctrl-btn-bg-color-hover: #14401d;
	--gf-ctrl-btn-color: #fff;
	--gf-ctrl-btn-radius: 2.4rem;
}

.contact-form .gform_wrapper label.gfield_label {
	color: var(--lux-ink);
	font-size: 1.3rem;
	font-weight: 600;
}

.contact-form .gform_wrapper input[type="text"],
.contact-form .gform_wrapper input[type="email"],
.contact-form .gform_wrapper input[type="tel"],
.contact-form .gform_wrapper select,
.contact-form .gform_wrapper textarea {
	background-color: #fff;
	height: auto !important;
	font-size: 1.4rem;
	font-family: var(--lux-font);
	padding: 1.2rem 1.4rem !important;
	border: 0.1rem solid #e0e0e0;
	border-radius: var(--lux-r-sm);
}

.contact-form .gform_wrapper textarea {
	min-height: 11rem;
}

.contact-form .gform_footer button,
.contact-form .gform_footer input[type="submit"] {
	width: 100% !important;
	color: #fff !important;
	font-size: 1.5rem !important;
	font-weight: 700 !important;
	font-family: var(--lux-font) !important;
	padding: 1.3rem 2rem !important;
	text-transform: uppercase !important;
	border: none !important;
	border-radius: 2.4rem !important;
	cursor: pointer;
	background: var(--lux-green-dark) !important;
}

.contact-form .gform_wrapper .gform_required_legend,
.contact-form .gform_wrapper .gform-field-decorator {
	display: none !important;
}

.contact-form--panel {
	background-color: var(--lux-sage);
	width: 68.4rem;
	max-width: 52%;
	padding: 4.4rem 4.6rem;
	border-radius: var(--lux-r-sm);
	align-self: center;
}

.contact-form--panel p {
	color: var(--lux-navy);
	font-size: 1.6rem;
	line-height: 2.5rem;
	margin: 0;
	opacity: 0.85;
}

.contact-form--card {
	flex: 1 1 auto;
	background-color: #fff;
	padding: 3.4rem 3.8rem;
	border-radius: var(--lux-r-md);
	box-shadow: 0 1.3rem 6.37rem rgba(0, 0, 0, 0.12);
}

.contact-form--card {
	background-color: #fff;
	position: relative;
	padding: 3.4rem 3.8rem;
	border-radius: var(--lux-r-md);
	box-shadow: 0 1.3rem 6.37rem rgba(0, 0, 0, 0.12);
	z-index: 5;
}

.contact-form--form-heading {
	color: var(--lux-ink);
	font-size: 1.8rem;
	font-weight: 700;
	margin: 0 0 1.6rem;
}

/* Gravity Forms restyle (Orbital theme vars + explicit rules) */

@media (max-width: 991px) {
	.contact-form {
		flex-direction: column;
		margin: 6rem auto;
		padding-inline: 2.4rem;
	}
	.contact-form--panel {
		width: 100%;
		max-width: 100%;
		padding: 3.2rem 2.4rem;
	}
	.contact-form--card {
		width: 100%;
		padding: 2.4rem;
	}
}

/* ## Block: featured-jobs
--------------------------------------------- */
/* Luxor Featured Jobs */
.featured-jobs {
	padding: 9rem 0;
}

.featured-jobs.is-careers {
	background-color: var(--lux-grey-band);
	padding: 12rem 0 13rem;
}

.featured-jobs.is-careers .job-card {
	flex-direction: column;
	align-items: flex-start;
	gap: 1.2rem;
	padding: 2.6rem 2.8rem;
}

.featured-jobs.is-careers .job-card--title {
	font-size: 1.8rem;
}

.featured-jobs--inner {
	max-width: var(--lux-container);
	margin-inline: auto;
}

.featured-jobs--head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 2.8rem;
}

.featured-jobs--grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.6rem;
}

.job-card {
	background-color: #fff;
	display: flex;
	align-items: center;
	gap: 2rem;
	padding: 2.6rem 2.8rem;
	border: 0.1rem solid var(--lux-border);
	border-radius: var(--lux-r-md);
}

.job-card--logo {
	flex: 0 0 5.6rem;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 5.6rem;
	border: 0.1rem solid var(--lux-border);
	border-radius: 1rem;
	overflow: hidden;
}

.job-card--logo img {
	max-width: 3.8rem;
	max-height: 3.8rem;
}

.job-card--main {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}

.job-card--title {
	color: var(--lux-ink);
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	text-transform: capitalize;
}

.job-card--company {
	color: #7b7b7b;
	font-size: 1.4rem;
}

.job-card--chips {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.8rem;
	margin-top: 0.6rem;
}

.job-card--chips .chip {
	background-color: var(--lux-surface-muted);
	color: var(--lux-ink);
	font-size: 1.3rem;
	padding: 0.5rem 1.2rem;
	border-radius: var(--lux-r-lg);
}

.job-card--chips .chip.has-icon {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 0.8rem;
}

.job-card--chips .chip.is-plain {
	background-color: var(--lux-surface-muted);
}

.job-card--chips .dot {
	color: #b5b5b5;
	font-size: 1.1rem;
}

.job-card--side {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 1.2rem;
}

.job-card--rate {
	color: var(--lux-ink);
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.job-card--apply {
	background-color: var(--lux-green-dark);
	display: inline-flex;
	align-items: center;
	gap: 0.8rem;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	padding: 0.9rem 2rem;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 2.4rem;
}

.job-card--apply:hover {
	background-color: #2a893e;
}

/* Careers variant — megaforce-style two-column search page.
   Left: sticky filter sidebar.  Right: sortable job list. */
.featured-jobs.is-careers .featured-jobs--head {
	flex-direction: column;
	align-items: flex-start;
	gap: 0.4rem;
	margin: 0 0 3.2rem;
}

.featured-jobs--title {
	color: var(--lux-navy);
	font-size: 3.6rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	margin: 0;
}

.featured-jobs--tagline {
	color: var(--lux-ink);
	font-size: 1.6rem;
	margin: 0;
	opacity: 0.7;
}

.featured-jobs--layout {
	display: grid;
	grid-template-columns: 28rem 1fr;
	gap: 4rem;
	align-items: start;
}

.featured-jobs--sidebar {
	position: sticky;
	top: 2.4rem;
	background-color: #fff;
	padding: 2.4rem;
	border: 0.1rem solid var(--lux-border);
	border-radius: var(--lux-r-md);
}

.featured-jobs--filters {
	display: flex;
	flex-direction: column;
	gap: 1.6rem;
	margin: 0;
}

.filter-field {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}

.filter-field label {
	color: var(--lux-ink);
	font-size: 1.3rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

/* Secondary hint next to a label (e.g. "Keywords & Location") — reads as
   lighter text at the same case so it stays visually subordinate. */
/* .filter-field--hint {
	color: var(--lux-ink);
	font-weight: 500;
	opacity: 0.65;
} */

.filter-field input,
.filter-field select {
	background-color: #fff;
	width: 100%;
	color: var(--lux-ink);
	font-size: 1.4rem;
	font-family: var(--lux-font);
	padding: 1rem 1.4rem;
	border: 0.1rem solid var(--lux-border-input);
	border-radius: var(--lux-r-sm);
	appearance: none;
	-webkit-appearance: none;
}

.filter-field select {
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23333333' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-position: right 1.4rem center;
	background-repeat: no-repeat;
	padding-right: 3.4rem;
	cursor: pointer;
}

.filter-field--actions {
	margin-top: 0.8rem;
}

.filter-field--actions .pill {
	width: 100%;
}

.featured-jobs--results {
	min-width: 0;
}

.featured-jobs--results-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.2rem;
	margin: 0 0 1.6rem;
}

.featured-jobs--count {
	color: var(--lux-ink);
	font-size: 1.5rem;
	font-weight: 700;
	margin-right: auto;
}

.featured-jobs--sort-label {
	color: var(--lux-ink);
	font-size: 1.3rem;
	opacity: 0.7;
}

.featured-jobs--sort {
	background-color: #fff;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23333333' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-position: right 1.2rem center;
	background-repeat: no-repeat;
	color: var(--lux-ink);
	font-size: 1.4rem;
	font-family: var(--lux-font);
	padding: 0.8rem 3.2rem 0.8rem 1.2rem;
	border: 0.1rem solid var(--lux-border-input);
	border-radius: var(--lux-r-sm);
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}

.featured-jobs.is-careers .featured-jobs--grid {
	grid-template-columns: 1fr;
}

.job-card--details {
	background-color: transparent;
	color: var(--lux-green-dark);
	font-size: 1.3rem;
	font-weight: 700;
	padding: 0.7rem 1.2rem;
	border: 0;
	text-transform: uppercase;
	text-decoration: underline;
	cursor: pointer;
}

.job-card--details:hover {
	color: var(--lux-ink);
}

@media (max-width: 991px) {
	.featured-jobs--layout {
		grid-template-columns: 1fr;
		gap: 2.4rem;
	}
	.featured-jobs--sidebar {
		position: static;
	}
}

.job-card--summary {
	color: var(--lux-ink);
	font-size: 1.6rem;
	line-height: 2.5rem;
	padding: 1.2rem 0;
	opacity: 0.85;
}

.featured-jobs--no-results {
	color: var(--lux-ink);
	font-size: 1.6rem;
	margin: 0;
	padding: 3.2rem 1.6rem;
	text-align: center;
	opacity: 0.75;
}

.job-card--applybtn {
	font-size: 1.3rem;
	padding: 0.7rem 2rem;
}

@media (max-width: 991px) {
	.featured-jobs {
		padding: 6rem 2.4rem;
	}
	.featured-jobs--grid {
		grid-template-columns: 1fr;
	}
	.featured-jobs--head {
		flex-direction: column;
		align-items: flex-start;
		gap: 1.4rem;
	}
	.job-card {
		flex-wrap: wrap;
	}
}

/* ## Block: icon-cards
--------------------------------------------- */
/* Luxor Icon Cards */
.icon-cards {
	padding: 12rem 0;
}

.icon-cards.is-grid-4 {
	background-color: var(--lux-grey-band-2);
}

.icon-cards.is-grid-4 .icon-cards--head {
	margin-bottom: 3.6rem;
}

.icon-cards.is-grid-4 .icon-cards--grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2.2rem;
}

.icon-cards.is-grid-3 {
	background-color: var(--lux-grey-band-2);
}

.icon-cards.is-grid-3 .icon-cards--head {
	margin-bottom: 3.6rem;
}

.icon-cards.is-grid-3 .icon-cards--grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2.2rem;
}

.icon-cards.is-split-2x2 {
	background-color: var(--lux-green-process);
	padding: 10rem 0;
}

.icon-cards.is-split-2x2 .icon-cards--inner {
	display: grid;
	grid-template-columns: 38rem 1fr;
	align-items: start;
	gap: 6rem;
}

.icon-cards.is-split-2x2 .icon-cards--heading {
	font-size: 3.2rem;
	line-height: 4rem;
}

.icon-cards.is-split-2x2 .icon-cards--copy {
	font-size: 1.6rem;
}

.icon-cards.is-split-2x2 .icon-cards--grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem;
}

.icon-cards.is-split-2x2 .icon-card:nth-child(4n+1),
.icon-cards.is-split-2x2 .icon-card:nth-child(4n) {
	background-color: #fff;
}

.icon-cards.is-split-2x2 .icon-card:nth-child(4n+2),
.icon-cards.is-split-2x2 .icon-card:nth-child(4n+3) {
	background-color: var(--lux-green-mist);
}

.icon-cards.is-check-4 {
	background-color: transparent;
	padding: 8rem 0;
}

.icon-cards.is-check-4 .icon-cards--head {
	margin-bottom: 3.6rem;
}

.icon-cards.is-check-4 .icon-cards--grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2.2rem;
}

.icon-cards.is-check-4 .icon-card {
	background-color: var(--lux-green-process);
	box-shadow: none;
}

.icon-cards.is-check-4 .icon-card--icon i {
	color: var(--lux-navy);
	font-size: 2.2rem;
}

.icon-cards--inner {
	max-width: var(--lux-container);
	margin-inline: auto;
}

.icon-cards--heading {
	max-width: 64rem;
	color: var(--lux-navy);
	font-size: 4.8rem;
	font-weight: 600;
	line-height: 5.5rem;
	margin: 0 0 0.8rem;
	letter-spacing: -0.01em;
}

.icon-cards--copy {
	max-width: 56rem;
	color: var(--lux-navy);
	font-size: 1.6rem;
	line-height: 2.4rem;
	margin: 0;
	opacity: 0.85;
}

.icon-card {
	background-color: #fff;
	display: flex;
	flex-direction: column;
	gap: 1.4rem;
	height: 100%;
	/* equalize with siblings — never min-height (2 review flags) */
	padding: 3.8rem 3.2rem 4.2rem;
	border: 0.1rem solid var(--lux-border);
	border-radius: var(--lux-r-sm);
	box-shadow: var(--lux-shadow-card);
}

.icon-card--icon i,
.icon-card--icon svg {
	color: var(--lux-green-dark);
	font-size: 3.8rem;
}

.icon-card--title h3 {
	color: var(--lux-ink) !important;
	font-size: 2rem;
	font-weight: 600;
	line-height: 2.6rem;
	margin: 0;
}

.icon-card--text {
	color: var(--lux-ink) !important;
	font-size: 1.6rem;
	line-height: 2.5rem;
}

/* grid-4: grey band, heading block above, 4 across */

/* grid-3: grey band, 3 across */

/* Hover states are part of the design (round-3): image scales inside its clipped
card; the arrow chip swaps to the accent green. */
.image-card {
	overflow: hidden;
}

.image-card img {
	transition: transform 0.35s ease;
}

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

.image-cards.is-grid .image-card:hover .image-card--arrow,
.image-cards.is-carousel .image-card:hover .image-card--arrow {
	background-color: var(--lux-green);
	color: #fff;
}

.image-card {
	position: relative;
	display: block;
	text-decoration: none;
	border-radius: var(--lux-r-sm);
	overflow: hidden;
	z-index: 1;
}

.image-cards:not(:is(.is-wrap, .is-logos)) .image-card:before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 2;
	content: '';
	background: linear-gradient(360deg, rgba(0, 0, 0, 0.68) 23.82%, rgba(0, 0, 0, 0) 100%);
}

.image-card img {
	object-fit: cover;
	display: block;
	width: 100%;
	height: 100%;
	z-index: -1;
}

.image-card--arrow {
	transition: background 0.25s ease, color 0.25s ease;
}

.image-card--arrow {
	background-color: rgba(255, 255, 255, 0.25);
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	top: 1.4rem;
	right: 1.4rem;
	border-radius: 50%;
	transition: 0.35s ease-in-out all;
	z-index: 3;
}

.image-card--arrow i,
.image-card--arrow svg {
	color: #fff;
	font-size: 1.3rem;
}

/* split-2x2: pale green band, heading left col, 2×2 cards right */

/* checkerboard: in the 2×2 grid, tiles 1&4 are white and 2&3 green; when the grid
collapses to one column the alternation must re-derive (round-3). */

@media (max-width: 640px) {
	.icon-cards.is-split-2x2 .icon-card:nth-child(odd) {
		background-color: #fff;
	}
	.icon-cards.is-split-2x2 .icon-card:nth-child(even) {
		background-color: var(--lux-green-mist);
	}
}

/* check-4: white bg, pale green check cards */

@media (max-width: 991px) {
	.icon-cards {
		padding: 6rem 2.4rem;
	}
	.icon-cards.is-grid-4 .icon-cards--grid,
	.icon-cards.is-check-4 .icon-cards--grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.icon-cards.is-grid-3 .icon-cards--grid {
		grid-template-columns: 1fr 1fr;
	}
	.icon-cards.is-split-2x2 .icon-cards--inner {
		grid-template-columns: 1fr;
		gap: 3.2rem;
	}
	.icon-cards--heading {
		font-size: 3.2rem;
		line-height: 3.8rem;
	}
}

@media (max-width: 600px) {
	.icon-cards--grid {
		grid-template-columns: 1fr !important;
	}
}

/* ## Block: image-cards
--------------------------------------------- */
/* Luxor Image Cards */
.image-cards {
	padding: 12rem 0;
}

.image-cards.is-grid {
	background-color: var(--lux-green-band);
}

.image-cards.is-grid .image-cards--track {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2.4rem;
	max-width: 104rem;
	margin-inline: auto;
}

.image-cards.is-grid .image-card {
	height: 35.4rem;
	border-radius: 1.4rem;
}

.image-cards.is-grid .image-card--label {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.4;
	padding: 6rem 2.6rem 2.2rem;
	letter-spacing: -0.01em;
}

.image-cards.is-grid .image-card--arrow {
	width: 3.4rem;
	height: 3.4rem;
	top: 1.3rem;
	right: 1.4rem;
}

.image-cards.is-grid .image-card:not(:hover) .image-card--arrow,
.image-cards.is-carousel .image-card:not(:hover) .image-card--arrow {
	background-color: rgba(0, 0, 0, 0.42);
}

.image-cards.is-wrap {
	padding: 15.5rem 0 14.5rem;
}

.image-cards.is-wrap .image-cards--copy {
	margin-bottom: 0;
}

.image-cards.is-wrap .image-cards--inner {
	margin-bottom: 8.4rem;
}

.image-cards.is-wrap .image-cards--track {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 3.2rem 2.2rem;
	max-width: calc((18rem * 5) + (2.2rem * 4));
	margin-inline: auto;
}

.image-cards.is-wrap .image-card {
	background-color: #fff;
	display: flex;
    flex-direction: column;
	width: 18rem;
	border: 0.1rem solid #eaeaea;
	border-radius: 0.6rem;
}

.image-cards.is-wrap .image-card img {
	height: 13.5rem;
	border-radius: 0.6rem 0.6rem 0 0;
}

.image-cards.is-wrap .image-card--label {
	flex: 1;
    background-color: #fff;
	position: static;
    display: flex;
    align-items: center;
    justify-content: center;
	color: var(--lux-navy);
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.7rem;
	padding: 1rem 0.8rem 1.2rem;
	text-align: center;
	z-index: 2;
}

.image-cards.is-wrap .image-card--arrow {
	background-color: var(--lux-green);
	width: 2.2rem;
	height: 2.2rem;
	top: 0.8rem;
	right: 0.8rem;
}

.image-cards.is-carousel {
	background-color: var(--lux-green-band);
	padding: 12rem 0 15.5rem;
	overflow: hidden;
}

.image-cards.is-carousel .image-cards--copy {
	margin-bottom: 0;
}

.image-cards.is-carousel .image-cards--inner {
	margin-bottom: 6.4rem;
}

.image-cards.is-carousel .image-card {
	flex: 0 0 33.2rem;
	height: 35.4rem;
	border-radius: 1.4rem;
	scroll-snap-align: center;
}

.image-cards.is-carousel .image-card--label {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.4;
	padding: 6rem 2.6rem 2.2rem;
	letter-spacing: -0.01em;
}

.image-cards.is-carousel .image-card--arrow {
	background-color: rgba(0, 0, 0, 0.42);
	width: 3.4rem;
	height: 3.4rem;
	top: 1.3rem;
	right: 1.4rem;
}

.image-cards.is-carousel .swiper-controls {
	display: flex;
	justify-content: center;
	gap: 2.5rem;
	margin: 6rem 0 0;
}

.image-cards.is-carousel .swiper-controls .swiper-button-prev,
.image-cards.is-carousel .swiper-controls .swiper-button-next {
	margin-top: 0;
}

.image-cards--inner {
	max-width: var(--lux-container);
	margin-inline: auto;
	text-align: center;
}

.image-cards--heading {
	color: var(--lux-navy);
	font-size: 4.8rem;
	font-weight: 600;
	line-height: 5.5rem;
	margin: 0 0 1rem;
	letter-spacing: -0.01em;
}

.image-cards--copy {
	max-width: 54rem;
	color: var(--lux-navy);
	font-size: 1.4rem;
	line-height: 2.1rem;
	margin: 0 auto 4.4rem;
	opacity: 0.8;
}

.image-card--label {
	background-color: #000;
	background-clip: text;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 500;
	padding: 4rem 1.8rem 1.6rem;
	z-index: 3;
}

.image-cards.is-logos .image-cards--track {
    display: grid;
    grid-template-columns: repeat(auto-fit, min(300px, 100%));
    justify-content: center;
    gap: 6rem;
}

.image-cards.is-logos .image-card {
    display: flex;
    flex-direction: column;
	align-items: center;
    gap: 3rem;
}

.image-cards.is-logos .image-card img {
    object-fit: contain;
    height: 150px;
	transform: unset !important;
	transition: 0.25s ease-in-out filter;
}

.image-cards.is-logos a.image-card:hover img {
    filter: brightness(1.05);
}

.image-cards.is-logos .image-card .image-card--label {
    background-color: unset;
    background-clip: unset;
    color: var(--lux-ink);
    position: unset;
	padding: 0;
}

/* Home grid: 3×2 large (design: 1040 track, 332×354 cards, r14) */

/* Centered wrap: small labeled cards (label below image) */

/* Edge-bleed carousel */

@media (max-width: 991px) {
	.image-cards {
		padding: 6rem 2.4rem;
	}
	.image-cards--heading {
		font-size: 3.2rem;
		line-height: 3.8rem;
	}

	.image-cards.is-grid .image-cards--track {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.image-cards.is-grid .image-cards--track {
		grid-template-columns: auto;
	}
}

/* ## Block: job-search
--------------------------------------------- */
/* Luxor Job Search */
.job-search {
	position: relative;
	z-index: 5;
}

.job-search--card {
	background-color: #fff;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.8rem;
	padding: 3.2rem 5.5rem 3.6rem;
	border-radius: var(--lux-r-lg);
	box-shadow: 0 1.3rem 6.37rem rgba(0, 0, 0, 0.09);
}

.job-search--heading {
	color: #000;
	font-size: 2.8rem;
	font-weight: 600;
	line-height: 1.4;
	margin: 0;
	letter-spacing: -0.01em;
}

.job-search--form {
	display: flex;
	align-items: stretch;
	gap: 1rem;
	width: 100%;
	margin: 0;
}

.job-search--form input {
	flex: 1;
	background-color: #fff;
	color: var(--lux-ink);
	font-size: 1.5rem;
	font-family: var(--lux-font);
	padding: 1.1rem 1.8rem;
	border: 0.1rem solid var(--lux-border-input);
	border-radius: 3.2rem;
}

.job-search--form input::placeholder {
	color: #757575;
}

.job-search--form select {
	background-color: #fff;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23333333' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-position: right 1.6rem center;
	background-repeat: no-repeat;
	flex: 0 0 auto;
	min-width: 22rem;
	color: var(--lux-ink);
	font-size: 1.5rem;
	font-family: var(--lux-font);
	padding: 1.1rem 3.6rem 1.1rem 1.6rem;
	border: 0.1rem solid var(--lux-border-input);
	border-radius: 3.2rem;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}

.job-search--form button {
	height: 4.4rem;
	font-size: 1.5rem;
	font-family: var(--lux-font);
	text-transform: uppercase;
	border: none;
	align-self: center;
	cursor: pointer;
}

.job-search--popular p {
	color: #757575;
	font-size: 1.4rem;
	margin: 0 0 0.8rem;
	text-align: left;
}

.job-search--chips {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
}

.job-search--chip {
	background-color: #f2f2f2;
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	color: var(--lux-ink);
	font-size: 1.2rem;
	padding: 0.5rem 1rem;
	text-decoration: none;
	border-radius: 3.2rem;
}

.job-search--chip i {
	color: var(--lux-ink);
	font-size: 1.1rem;
}

.job-search--chip:hover {
	background-color: var(--lux-green-chip);
}

.job-search--browse {
	color: var(--lux-green-dark);
	font-size: 1.3rem;
	margin-left: 0.8rem;
	text-decoration: underline;
}

@media (max-width: 991px) {
	.job-search--card {
		padding: 2.8rem 2.4rem;
	}
	.job-search--form {
		flex-direction: column;
	}
	.job-search--form input {
		width: 100%;
	}
}

/* ## Block: location-info
--------------------------------------------- */
/* Luxor Location Info */
.location-info {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2.2rem;
	max-width: var(--lux-container);
	margin: 6rem auto 0;
}

.location-info--card {
	background-color: #fff;
	padding: 3rem 2.8rem;
	border-radius: var(--lux-r-sm);
	box-shadow: var(--lux-shadow-pop);
}

.location-info--card .icon {
	background-color: var(--lux-green-dark);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4.4rem;
	height: 4.4rem;
	margin-bottom: 1.6rem;
	border-radius: 50%;
}

.location-info--card .icon svg {
	color: #fff;
	font-size: 1.7rem;
}

.location-info--card .title {
	color: var(--lux-ink);
	font-size: 1.6rem;
	font-weight: 700;
	margin: 0 0 0.8rem;
}

.location-info--card .value,
.location-info--card .value a {
	color: var(--lux-ink);
	font-size: 1.4rem;
	line-height: 2.1rem;
	margin: 0;
	text-decoration: none;
}

@media (max-width: 991px) {
	.location-info {
		grid-template-columns: repeat(2, 1fr);
		margin: 6rem 0 0;
	}
}

@media (max-width: 600px) {
	.location-info {
		grid-template-columns: 1fr;
	}
}

/* ## Block: locations-finder — Content column left, sticky Leaflet map right,
   flat state/city index below (MG Moving-style layout).
--------------------------------------------- */
/* The gb-container wrapping this block already supplies its own width cap
   and page-edge padding — locations-finder itself just stacks its parts. */
.locations-finder {
	display: flex;
	flex-direction: column;
	gap: 5rem;
}

.locations-finder--split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 4rem;
	align-items: start;
}

.locations-finder--content {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	min-width: 0;
}

/* --- Map (right column, sticky, tall) --- */
/* Genesis Blocks wraps `.locations-finder` inside four gb-* containers,
   any of which can carry `overflow: hidden` and kill the sticky map.
   Force overflow-visible up the whole chain — safe because the map itself
   still clips its own tile layer via .locations-finder--map. */
.locations-section,
.locations-section > .gb-layout-column-wrap,
.locations-section .gb-block-layout-column,
.locations-section .gb-block-layout-column-inner,
.locations-section--container,
.locations-section--container > .gb-container-inside,
.locations-section--container > .gb-container-inside > .gb-container-content,
.locations-finder,
.locations-finder--split,
.locations-finder--content {
	overflow: visible;
}

.locations-finder--map {
	position: sticky;
	/* `top` is re-computed at runtime from the live header + admin-bar
	   height; the CSS value here is a first-paint fallback. */
	top: 2.4rem;
	width: 100%;
	/* Same story for `height` — critical.js sets an exact pixel value that
	   fills the viewport minus the header, admin bar, and top/bottom
	   padding, capped at 750px on tall monitors. `min(75rem, 85vh)` is
	   the pre-JS fallback and matches the JS cap. */
	height: min(75rem, 85vh);
	border: 0.1rem solid var(--lux-border);
	border-radius: var(--lux-r-md);
	overflow: hidden;
}

/* Leaflet ships with 12px absolute-px everywhere — with the theme's 62.5%
   root, everything inside the map reads absurdly small unless we override.
   Bumping the popup + attribution + zoom controls to legible sizes. */
.leaflet-container {
	font-family: var(--lux-font);
	font-size: 1.4rem;
}

.leaflet-popup-content-wrapper {
	background-color: #fff;
	padding: 0.4rem;
	border-radius: var(--lux-r-sm);
	box-shadow: 0 0.4rem 1.6rem rgba(0, 0, 0, 0.15);
}

.leaflet-popup-content {
	color: var(--lux-ink);
	font-size: 1.4rem;
	font-family: var(--lux-font);
	line-height: 1.5;
	margin: 1.2rem 1.6rem;
}

.leaflet-popup-content strong {
	color: var(--lux-navy);
	font-size: 1.5rem;
}

.leaflet-popup-content a {
	color: var(--lux-green-dark);
	font-weight: 600;
	text-decoration: none;
}

.leaflet-popup-content a:hover {
	text-decoration: underline;
}

.leaflet-container .leaflet-control-attribution {
	font-size: 1.1rem;
	padding: 0.2rem 0.6rem;
}

.leaflet-container .leaflet-control-zoom a {
	font-size: 1.8rem;
	line-height: 3rem;
	width: 3rem;
	height: 3rem;
}

.luxor-map-pin {
	background: transparent;
}

.luxor-map-pin .pin {
	background-color: var(--lux-green-dark);
	display: block;
	width: 2.4rem;
	height: 2.4rem;
	border: 0.3rem solid #fff;
	border-radius: 50% 50% 50% 0;
	box-shadow: 0 0.2rem 0.8rem rgba(0, 0, 0, 0.25);
	transform: rotate(-45deg);
}

/* --- State selector — horizontal chip row above the branch grid --- */
.locations-finder--states {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	padding: 0 0 1.6rem;
	border-bottom: 0.1rem solid var(--lux-border);
}

.location-state {
	background-color: var(--lux-surface-muted);
	display: inline-flex;
	align-items: center;
	gap: 0.8rem;
	padding: 0.8rem 1.4rem;
	color: var(--lux-ink);
	font-size: 1.4rem;
	font-weight: 600;
	font-family: var(--lux-font);
	text-align: left;
	border: 0;
	border-radius: var(--lux-r-pill);
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s;
}

.location-state:hover {
	background-color: var(--lux-green-chip);
	color: var(--lux-green-dark);
}

.location-state.is-active {
	background-color: var(--lux-navy);
	color: #fff;
}

.location-state--count {
	color: inherit;
	font-size: 1.2rem;
	font-weight: 500;
	opacity: 0.7;
}

.locations-finder--bodies {
	display: flex;
	flex-direction: column;
	gap: 4rem;
	min-width: 0;
}

.location-body {
	display: flex;
	flex-direction: column;
	gap: 1.6rem;
}

.location-body[hidden] {
	display: none;
}

.location-body--heading {
	color: var(--lux-navy);
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	margin: 0;
}

.location-body--grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(24rem, 1fr));
	gap: 1.4rem;
}

.branch-card {
	background-color: #fff;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	padding: 2rem 2rem 1.8rem;
	border: 0.1rem solid var(--lux-border);
	border-radius: var(--lux-r-md);
	cursor: pointer;
	transition: box-shadow 0.2s, border-color 0.2s;
}

.branch-card:hover,
.branch-card.is-highlighted {
	border-color: var(--lux-green-dark);
	box-shadow: 0 0.6rem 1.6rem rgba(0, 0, 0, 0.08);
}

.branch-card--city {
	color: var(--lux-navy);
	font-size: 1.8rem;
	font-weight: 700;
	margin: 0 0 0.4rem;
}

.branch-card--address {
	color: var(--lux-ink);
	font-size: 1.4rem;
	line-height: 1.5;
	margin: 0;
	opacity: 0.8;
}

.branch-card--phone a,
.branch-card--email a {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	color: var(--lux-green-dark);
	font-size: 1.3rem;
	text-decoration: none;
}

.branch-card--phone a:hover,
.branch-card--email a:hover {
	text-decoration: underline;
}

.branch-card--phone {
	margin: 0.8rem 0 0;
}

.branch-card--email {
	margin: 0;
}

/* Synthetic (on-site-only) state card — same white/border/radius chrome
   as a real branch card, but centered content, no hover-shadow, and
   spans two grid columns so it visually reads as a "double-wide" panel
   next to the city cards. Collapses to a single column at the same
   breakpoint the branch grid does. */
.branch-card--synthetic {
	justify-content: center;
	align-items: center;
	gap: 1.6rem;
	grid-column: span 2;
	padding: 3.2rem 2.4rem;
	text-align: center;
	cursor: default;
}

.branch-card--synthetic:hover {
	border-color: var(--lux-border);
	box-shadow: none;
}

.branch-card--synthetic-copy {
	color: var(--lux-navy);
	font-size: 1.6rem;
	font-weight: 700;
	margin: 0;
}

.branch-card--actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
	margin-top: 1.2rem;
}

.branch-card--actions .pill,
.branch-card--synthetic .pill {
	gap: 0.8rem;
	font-size: 1.2rem;
	padding: 0.7rem 1.4rem;
}

/* Icon centered against the button's line-box so it sits with the
   text baseline instead of floating below it. */
.branch-card--actions .pill svg,
.branch-card--synthetic .pill svg {
	display: inline-flex;
	align-items: center;
	font-size: 1.1rem;
	line-height: 1;
}

/* --- On-site-only state body (no branches) --- */
.location-body--empty {
	background-color: var(--lux-green-mist);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1rem;
	padding: 3.2rem;
	border: 0.1rem dashed var(--lux-green);
	border-radius: var(--lux-r-md);
}

.location-body--empty-lead {
	color: var(--lux-navy);
	font-size: 1.7rem;
	margin: 0;
}

.location-body--empty-copy {
	color: var(--lux-ink);
	font-size: 1.4rem;
	line-height: 1.5;
	margin: 0 0 0.6rem;
	opacity: 0.8;
}

/* --- Full state/city index (like luxorstaffing.com/locations/) --- */
.locations-finder--index {
	padding: 4rem 0 0;
	border-top: 0.1rem solid var(--lux-border);
}

.locations-finder--index-heading {
	color: var(--lux-navy);
	font-size: 2.4rem;
	font-weight: 700;
	margin: 0 0 2.4rem;
}

.locations-finder--index-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
	gap: 2.4rem;
}

.location-index--col {
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
}

.location-index--state {
	font-size: 1.5rem;
	font-weight: 700;
	margin: 0 0 0.4rem;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.location-index--state a {
	color: var(--lux-navy);
	text-decoration: none;
}

.location-index--state a:hover {
	color: var(--lux-green-dark);
}

.location-index--cities {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.location-index--cities li {
	margin: 0;
	list-style: none;
}

.location-index--cities li::marker {
	content: '';
}

.location-index--cities a {
	color: var(--lux-ink);
	font-size: 1.4rem;
	text-decoration: none;
	opacity: 0.85;
}

.location-index--cities a:hover {
	color: var(--lux-green-dark);
	opacity: 1;
}

.location-index--empty {
	color: var(--lux-ink);
	font-size: 1.3rem;
	font-style: italic;
	margin: 0;
	opacity: 0.65;
}

@media (max-width: 991px) {
	.locations-finder {
		gap: 3rem;
		width: 100%;
		max-width: var(--theme-wrap-max-width);
		margin: 4rem auto;
	}
	.locations-finder--split {
		grid-template-columns: 1fr;
		gap: 2.4rem;
	}
	/* Stacked layout — kill the sticky/viewport-fit sizing the desktop JS
	   applies inline and clamp the map to a sensible mobile height. */
	.locations-finder--map {
		position: static;
		top: auto;
		height: min(45rem, 55vh);
		order: -1;
	}
}

@media (max-width: 767px) {
	.locations-finder {
		padding: 0 var(--theme-wrap-padding-mobile);
	}
}

@media (max-width: 600px) {
	.location-body--grid {
		grid-template-columns: 1fr;
	}
	/* Grid drops to one column at this breakpoint, so drop the desktop
     double-wide span or the card would overflow. */
	.branch-card--synthetic {
		grid-column: auto;
	}
	.locations-finder--map {
		height: min(40rem, 50vh);
	}
}

/* ## Page hero — an AC ROW (round-3: heroes are never custom blocks).
AC carries the background image; the scrim is the EXACT Figma gradient on ::before
(plus a flat dim layer replicating the design's 75%-opacity photo over navy);
padding = section rhythm, no min-height; ribbon on ::after (two svg layers).
--------------------------------------------- */
.page-hero-section {
	background-color: #0c121b;
	background-position: center right;
	position: relative;
	overflow: hidden;
	z-index: 1;
}

@media (min-width: 992px) {
	.page-hero-section.primary {
		padding: 14rem 0;
	}
}

.page-hero-section:before {
	position: absolute;
	inset: 0;
	opacity: 1;
	content: '';
	background: linear-gradient(90deg, #1a2836 16.74%, rgba(0, 0, 0, 0) 112.3%);
	z-index: 2;
}

/* Two ribbons at the bottom edge, matched to the Figma hero:
- ribbon-front.svg (#6cc780, 1440×58) — BEHIND, full width, shorter.
- ribbon-back.svg  (#80e396, 1260×72) — IN FRONT, left-anchored, ~87.5%
wide, taller. Both diagonals converge on the bottom-left corner; the
light one covers everything except a small dark wedge peeking out on
the right where the dark ribbon extends beyond it.
(The SVG file names invert "front/back" from their z-order — keeping
paths intact so the file names still map to their original assets.) */
.page-hero-section:after {
	position: absolute;
	height: 7.2rem;
	bottom: 0;
	left: 0;
	right: 0;
	content: '';
	/* Both SVGs now use preserveAspectRatio="none" so they stretch exactly
	to the CSS-specified size at any viewport width. */
	background:
	url('assets/images/ribbon-back.svg')  bottom left / 87.5% 7.2rem no-repeat,
	url('assets/images/ribbon-front.svg') bottom left / 100% 5.8rem no-repeat;
	z-index: 3;
}

.page-hero-section > .gb-layout-column-wrap {
	position: relative;
	/* The blog hero renders via a hook OUTSIDE .entry-content, where the parent's
	wrap sizing doesn't reach — size this row's wrap explicitly (same two vars). */
	z-index: 4;
}

.page-hero-section h1 {
	max-width: 83rem;
	color: #fff;
	font-size: 6rem;
	font-weight: 600;
	line-height: 6rem;
	margin: 0 0 2.5rem;
	letter-spacing: -0.01em;
	text-shadow: 0 0.4rem 2.03rem rgba(255, 235, 131, 0.25);
}

.page-hero-section h1 + p {
	max-width: 96rem;
	color: #fff;
	font-size: 2rem;
}

.custom-breadcrumbs {
	margin: 3rem 0 0;
}

.custom-breadcrumbs .breadcrumb a,
.custom-breadcrumbs .breadcrumb > span {
	font-size: 1.6rem;
}

.custom-breadcrumbs .breadcrumb a > span {
	color: inherit;
}

.custom-breadcrumbs .breadcrumb a:hover {
	color: #555;
}

.custom-breadcrumbs svg {
	color: var(--lux-green);
	font-size: 1.4rem;
	transition: 0.25s ease-in-out all;
}

.custom-breadcrumbs a:hover svg {
	color: var(--lux-green-dark);
}

.page-hero-section .custom-breadcrumbs a:hover svg {
	color: #fff;
}

.page-hero-section .custom-breadcrumbs .breadcrumb a,
.page-hero-section .custom-breadcrumbs .breadcrumb > span {
	color: #fff;
}

.page-hero-section .custom-breadcrumbs .breadcrumb a:hover {
	color: #ddd;
}

.page-hero-section .custom-breadcrumbs a:hover svg {
	color: #fff;
}

@media (max-width: 991px) {
	.page-hero-section:before {
		background-color: #1a2836;
		opacity: 0.85;
	}
}

@media (max-width: 767px) {
	.page-hero-section:before {
		background-color: #000;
	}

	.page-hero-section:after {
		display: none;
	}
}

/* Breadcrumbs: the parent tto-custom-breadcrumbs block, restyled white */

/* Home variant: centered, no ribbon, flat 0.5 scrim, white CTA */

.home-page-hero {
	display: grid;
	grid-template-rows: repeat(4, auto);
}

.home-page-hero--background {
	background-color: #0e0e0e;
	grid-row: 1 / span 2;
	grid-column: 1;
	position: relative;
	z-index: -1;
}

.home-page-hero--background:before {
	background-color: inherit;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	opacity: 0.7;
	z-index: 1;
	content: '';
}

.home-page-hero--background img,
.home-page-hero--background video {
	object-fit: cover;
	object-position: center center;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 0;
}

.home-page-hero--background video {
	z-index: 2;
}

.home-page-hero--content {
	display: contents;
}

.home-page-hero--inner,
.home-page-hero--search,
.home-page-hero--partners {
	grid-row: 1;
	grid-column: 1;
	position: unset;
	z-index: 3;
}

.home-page-hero--inner {
	padding: 20rem 0 12rem;
}

.home-page-hero--inner > .gb-container-inside,
.home-page-hero--search > .gb-container-inside,
.home-page-hero--partners > .gb-container-inside {
	width: var(--theme-wrap-width);
	max-width: var(--theme-wrap-max-width);
	margin: 0 auto;
}

.home-page-hero--inner h1 {
	background-color: #0e0e0e;
	background-clip: text;
	max-width: 83rem;
	color: #fff;
	font-size: 5.8rem;
	font-weight: 600;
	line-height: 6.6rem;
	margin: 0 auto 2rem;
	letter-spacing: -0.01em;
	text-align: center;
	text-shadow: 0rem 0.4rem 2.03rem rgba(255, 235, 131, 0.25);
}

.home-page-hero--inner p {
	background-color: #0e0e0e;
	background-clip: text;
	max-width: 70rem;
	color: #fff;
	margin: 0 auto 3rem;
	text-align: center;
}

.home-page-hero--search {
	grid-row: 2 / span 2;
}

.home-page-hero--search > .gb-container-inside {
	max-width: 100rem;
}

.home-page-hero--partners {
	grid-row: 4;
	padding: var(--theme-section-padding) 0;
}

@media (max-width: 991px) {
	.home-page-hero--inner {
		padding: 10rem 0;
	}

	.home-page-hero--background:before {
		opacity: 0.8;
	}

	.home-page-hero--inner h1 {
		max-width: 760px;
		font-size: 5rem;
		line-height: 1.2;
	}
}

@media (max-width: 767px) {
	.page-hero-section,
	.home-page-hero--inner {
		padding: 8rem 0;
	}
	.page-hero-section:not(.primary) {
		padding: 7rem 0;
	}
	.home-page-hero--partners {
		padding: var(--theme-section-padding-mobile) 0;
	}
	.home-page-hero--inner > .gb-container-inside,
	.home-page-hero--search > .gb-container-inside,
	.home-page-hero--partners > .gb-container-inside {
		width: 100%;
		max-width: 100%;
		margin: 0;
		padding: 0 var(--theme-wrap-padding-mobile);
	}
	.page-hero-section h1,
	.home-page-hero--inner h1 {
		font-size: 3.8rem;
		line-height: 4.2rem;
	}
	.page-hero-section .hero-sub,
	.home-page-hero--inner p {
		font-size: 1.8rem;
		line-height: 1.618;
	}
}

/* ## Block: city-boxes
--------------------------------------------- */
.cities-grid {
	margin: 6rem 0 0;
}

.cities-grid + p {
	margin: 6rem 0 0;
}

.cities-grid h3 {
	font-size: 2.2rem;
	font-weight: 600;
	margin: 0 0 2rem;
}

.city-boxes {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr));
	gap: 1.6rem;
}

.city-box {
	flex: 1 1 auto;
	background-color: #fff;
	display: grid;
	grid-template-columns: 1.6rem 1fr;
	align-items: center;
	gap: 1.2rem;
	min-width: 0;
	color: var(--lux-ink);
	font-size: 1.7rem;
	font-weight: 600;
	line-height: 1;
	padding: 2rem 2.4rem;
	text-decoration: none;
	border: 0.1rem solid #eee;
	border-radius: 1rem;
	box-shadow: 0 0.1rem 0.3rem rgba(0, 0, 0, 0.04);
	transition: box-shadow 0.25s ease, border-color 0.25s ease;
}

.city-box:hover {
	color: var(--lux-ink);
	border-color: #e0e0e0;
	box-shadow: 0 0.4rem 1rem rgba(0, 0, 0, 0.06);
}

.city-box svg {
	flex: 0 0 auto;
	color: var(--lux-green-dark);
	font-size: 1.6rem;
}

.city-box span {
	display: flex;
	align-items: center;
}

/* ## Block: video-testimonial
--------------------------------------------- */
/* Luxor Video Testimonial */

.video-testimonial {
	/* The media's green ::before frame sits at negative left/bottom offsets;
	without a clip here, on narrow viewports it extends past the section
	edge and forces a horizontal scrollbar. */
	overflow-x: clip;
}

.video-testimonial--inner {
	position: relative;
	display: grid;
	grid-template-columns: 55rem 1fr;
	align-items: center;
	gap: 6rem;
	margin: 6rem 0 0;
}

@media (max-width: 991px) {
	.video-testimonial--inner {
		grid-template-columns: 1fr;
		gap: 4rem;
		margin-top: 3rem;
	}

	.video-testimonial--media-track {
		order: 3;
	}

	.video-testimonial--media img {
		aspect-ratio: 16 / 11;
		height: auto;
	}
}

/* Swiper drives visibility via its own classes — nothing to toggle here. */
.video-testimonial--media-track,
.video-testimonial--body-track {
	width: 100%;
}

.video-testimonial--slide {
	height: auto;
}

.video-testimonial--media {
	flex: 0 0 55rem;
	background-color: transparent;
	position: relative;
	display: block;
	width: 100%;
	color: inherit;
	font: inherit;
	padding: 0 0 2rem 2rem;
	text-align: left;
	border: 0;
	cursor: pointer;
	/* Reset button defaults when rendered as <button data-video-open>. */
	appearance: none;
	-webkit-appearance: none;
}

.video-testimonial--media::before {
	background-color: var(--lux-green);
	position: absolute;
	width: 100%;
	height: 100%;
	top: 2rem;
	bottom: 2rem;
	left: -2rem;
	right: 1rem;
	z-index: 0;
	content: '';
}

.video-testimonial--media video,
.video-testimonial--media img {
	object-fit: cover;
	position: relative;
	display: block;
	width: 100%;
	height: 34.1rem;
	z-index: 1;
}

/* green offset frame behind the video (design: offset left/bottom) */

/* Centered play badge. pointer-events:none so clicks pass through to the
parent .video-testimonial--media button, which owns the hover state. */
.video-lightbox {
	position: relative;
	cursor: pointer;
	border-radius: var(--lux-r-sm);
	overflow: hidden;
	z-index: 1;
}

.video-lightbox:before {
	content: '';
	background-color: #000;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	opacity: 0.2;
	z-index: 1;
}

.video-lightbox img {
	aspect-ratio: 16 / 9;
	position: relative;
	object-fit: cover;
    object-position: center center;
	width: 100% !important;
	max-width: 100% !important;
	max-height: 40rem;
	z-index: 0;
}

@media (max-width: 767px) {
	.video-lightbox img {
		min-height: 200px;
		max-height: 300px;
	}
}

.video-lightbox--play,
.video-testimonial--play {
	background-color: rgba(255, 255, 255, 0.45);
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 7.2rem;
	height: 7.2rem;
	top: 50%;
	left: 50%;
	border-radius: 50%;
	pointer-events: none;
	transform: translate(calc(-50% + 1rem), calc(-50% - 1rem));
	transition: background 0.25s, transform 0.25s;
	z-index: 2;
}

.video-lightbox:hover .video-lightbox--play,
.video-testimonial--media:hover .video-testimonial--play {
	background-color: rgba(255, 255, 255, 0.75);
	transform: translate(calc(-50% + 1rem), calc(-50% - 1rem)) scale(1.05);
}

/* nudge play triangle so its optical center sits at circle center */
.video-lightbox--play :is(i, svg),
.video-testimonial--play :is(i, svg) {
	color: #fff;
	font-size: 2.2rem;
	margin-left: 0.4rem;
}

.video-testimonial--body {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
}

.video-testimonial--quote {
	color: var(--lux-navy);
	font-size: 2.1rem;
	font-weight: 500;
	margin: 0 0 3.2rem;
	padding: 0;
	border: none;
}

.video-testimonial--name {
	color: var(--lux-navy);
	font-weight: 700;
	margin: 0 0 0.2rem;
}

.video-testimonial--attribution {
	color: var(--lux-navy);
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 2rem;
	margin: 0 0 0.6rem;
}

.video-testimonial--location {
	color: var(--lux-navy);
	font-size: 1.3rem;
	opacity: 0.7;
}

.video-testimonial--nav {
	grid-column: 2;
	display: flex;
	gap: 2.8rem;
}

.video-testimonial--prev, .video-testimonial--next {
	background-color: transparent;
	color: var(--lux-ink);
	font-size: 2.8rem;
	line-height: 1;
	padding: 0;
	border: none;
	outline: none;
	cursor: pointer;
	transition: opacity 0.25s;
}

.video-testimonial--prev:hover,
.video-testimonial--next:hover {
	opacity: 0.6;
}

@media (max-width: 991px) {
	.video-testimonial--nav {
		grid-column: 1;
	}
}

@media (max-width: 991px) {
	.video-testimonial--slide.is-active {
		flex-direction: column;
		align-items: stretch;
		gap: 3.2rem;
	}
	.video-testimonial--media {
		flex-basis: auto;
	}
	.video-testimonial--nav {
		position: static;
	}
	.video-testimonial--quote {
		font-size: 2rem;
		line-height: 2.8rem;
	}
}

/* ## ============ v2 layout adaptations (gb-columns rows of core blocks) ============ */

/* Content rows: the gb wrap is a neutral container; the section group inside
carries the pattern class and its own max-width/margins. */
.gb-row-reset > .gb-layout-column-wrap {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.gb-row-reset {
	margin: 0 !important;
	padding: 0 !important;
}

.gb-row-reset .gb-block-layout-column-inner {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

/* Reset figure chrome on pattern images */
figure[class*="lux-"] {
	margin: 0;
}

figure[class*="lux-"] img {
	display: block;
}

/* Core-buttons pill mapping — style ONLY the __link, neutralize the wrapper */
.wp-block-buttons[class*="lux-"] {
	gap: 1.5rem;
}

.wp-block-button.btn {
	margin: 0;
}

.wp-block-button.btn > .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 0.8rem;
	font-size: 1.6rem;
	font-weight: 600;
	font-family: var(--lux-font);
	line-height: 1.5;
	padding: 1rem 2.3rem;
	text-transform: uppercase;
	text-decoration: none;
	border: none;
	border-radius: var(--lux-r-pill);
}

.wp-block-button.pill--green > .wp-block-button__link {
	background-color: var(--lux-green-dark);
	color: #fff;
}

.wp-block-button.pill--green > .wp-block-button__link:hover {
	background-color: #2a893e;
}

.wp-block-button.pill--ghost > .wp-block-button__link {
	background-color: transparent;
	color: #fff;
	border: 0.1rem solid #fff;
}

.wp-block-button.pill--ghost > .wp-block-button__link:hover {
	background-color: rgba(255, 255, 255, 0.12);
	color: #fff;
}

.wp-block-button.pill--solid > .wp-block-button__link {
	background-color: var(--lux-green-dark);
	color: #fff;
	font-weight: 700;
}

.wp-block-button.pill--solid > .wp-block-button__link:hover {
	background-color: #14401d;
	color: #fff;
}

/* 404 page (page_types.error_pattern) */
.not-found-page .error-404-section {
	padding: 11.2rem 0;
	text-align: center;
}

.not-found-page .error-404-section h1 {
	color: var(--lux-ink);
	font-size: 4.8rem;
	line-height: 5.5rem;
	margin: 0 0 1.6rem;
}

.not-found-page .error-404-section p {
	max-width: 56rem;
	color: var(--lux-body);
	font-size: 1.8rem;
	line-height: 2.7rem;
	margin: 0 auto 3.2rem;
}

/* Single-post sidebar CTA card (blog_modifiers.sidebar_pattern) */
.sidebar-inner .post-sidebar--cta {
	background-color: var(--lux-green-chip);
	margin-top: 3.2rem;
	padding: 2.5rem;
	border-radius: var(--lux-r-md);
}

.sidebar-inner .post-sidebar--cta .cta-title {
	color: var(--lux-ink);
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 2.8rem;
	margin: 0 0 1.2rem;
}

.sidebar-inner .post-sidebar--cta p {
	color: var(--lux-body);
	font-size: 1.6rem;
	line-height: 2.4rem;
	margin: 0 0 0.8rem;
}

.sidebar-inner .post-sidebar--cta .custom-button {
	margin-top: 1.5rem;
}

.sidebar-inner .post-sidebar--cta .custom-button a.button {
	font-size: 1.4rem;
}

/* Services overlay media is a core image now */
.services-overlay--media {
	position: absolute;
	inset: 0;
}

.services-overlay--media img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

/* Solution chips are core list items now */
.solution-chips--grid {
	margin: 0;
	padding: 0;
	list-style: none;
}

.solution-chips--grid li {
	background-color: var(--lux-green-chip);
	display: flex;
	align-items: center;
	min-height: 4.3rem;
	color: var(--lux-navy);
	font-size: 1.6rem;
	font-weight: 500;
	margin: 0;
	padding: 1rem 1.8rem;
	border-radius: 0.6rem;
	list-style: none;
}

.solution-chips--grid li::marker {
	content: '';
}

/* Checklist core list (render_block injects the check icons) */
.checklist-media--list {
	padding: 0;
	list-style: none;
}

.checklist-media--list li::marker {
	content: '';
}

/* Careers sage-card variant keeps dot bullets (hide injected check icons) */
.checklist-media.is-card .checklist-media--list li i {
	display: none;
}

.checklist-media.is-card .checklist-media--list li::before {
	flex: 0 0 auto;
	background-color: var(--lux-green-dark);
	position: static !important;
	width: 0.7rem;
	height: 0.7rem;
	border-radius: 50%;
	content: '';
}

/* Media-text CTA row spacing (was a <p>) */
.media-text--cta {
	margin-top: 0.8rem;
}

/* Vertical rhythm variable (house standard: one section-padding system) */
:root {
	--lux-section-pad: 12rem;
	--lux-section-pad-mobile: 6rem;
}

/* WP wraps legacy wp:group markup in an __inner-container at render time —
make it layout-transparent inside lux patterns so flex/grid parents see
their real children. */
.wp-block-group[class*="lux-"] > .wp-block-group__inner-container {
	display: contents;
}

/* ## ============ v3 sections (round-2 review: AC rows own bands/wraps/padding) ============ */

/* Full-bleed band rows keep their tint on the row itself */
.process-section.is-green {
	background-color: var(--lux-green-process);
}

.process-section.is-grey {
	background-color: var(--lux-grey-band-2);
}

.process-section {
	padding: 12rem 0 13.8rem;
	text-align: center;
}

.process-section .guidance-steps {
	text-align: left;
}

.mission-section {
	background-color: var(--lux-green-mist);
	position: relative;
	padding: 12rem 0;
	overflow: hidden;
}

.mission-section::before,
.mission-section::after {
	background-color: #8fd69f;
	position: absolute;
	position: absolute !important;
	width: 42%;
	top: 0;
	bottom: 0;
	transform: skewX(-24deg);
	content: '';
}

.mission-section::before {
	right: -14%;
	opacity: 0.85;
}

.mission-section::after {
	background-color: #5fbe74;
	right: -30%;
}

.mission-section > .gb-layout-column-wrap {
	position: relative;
	z-index: 2;
}

.faq-block {
	margin: 8rem auto;
	padding: 0;
}

.faq-block > .gb-layout-column-wrap {
	width: min(128rem, calc(100vw - 4.8rem));
}

.faq-block.is-sage {
	background-color: var(--lux-sage);
	margin: 0;
	padding: 9rem 0;
}

.app-promo-section > .gb-layout-column-wrap {
	background-color: var(--lux-grey-band);
	align-items: center;
	width: min(130rem, calc(100vw - 4.8rem));
	border-radius: var(--lux-r-lg);
	overflow: hidden;
}

.app-promo-section > .gb-layout-column-wrap > .gb-block-layout-column:first-child > .gb-block-layout-column-inner {
	padding: var(--theme-section-padding) 6rem;
	z-index: 2;
}

.app-promo-section .wp-block-image {
	margin: 0;
}

/* ## Block: app-promo (large centered phone, white badge behind, 4 compact corner boxes)
--------------------------------------------- */
.app-promo {
	aspect-ratio: 616 / 592;
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	width: 100%;
}

.app-promo--bg-logo {
	position: absolute;
	width: 85%;
	height: auto;
	top: 50%;
	left: 50%;
	pointer-events: none;
	transform: translate(-50%, -50%);
	z-index: 0;
}

.app-promo--image {
	object-fit: contain;
	object-position: bottom center;
	position: relative;
	display: block;
	width: 45.5rem;
	margin: var(--theme-section-padding) 3rem 0 0;
	z-index: 1;
}

.app-promo--box {
	position: absolute;
	max-width: 20rem;
	color: var(--lux-ink);
	padding: 1.2rem 1.4rem;
	border-radius: var(--lux-r-sm);
	z-index: 2;
}

/* Boxes flank the phone — left pair kisses its left silhouette, right pair its right.
Staggered vertically to feel less "in the corners" and more embedded around the device. */
.app-promo--box.is-tl {
	background-color: #bef0c9;
	top: 22%;
	left: -5rem;
}
.app-promo--box.is-tr {
	background-color: #87df99;
	top: 27%;
	right: 4rem;
}
.app-promo--box.is-bl {
	background-color: #cffad8;
	bottom: 24%;
	left: -4rem;
}
.app-promo--box.is-br {
	background-color: #a4f0b4;
	bottom: 18%;
	right: 5rem;
}

/* Bumped-specificity to beat `.app-promo-section p { font-size: 1.8rem }` */
.app-promo .app-promo--box-title {
	max-width: none;
	color: var(--lux-ink);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 0.6rem;
	opacity: 1;
}

.app-promo .app-promo--box-copy {
	max-width: none;
	color: var(--lux-ink);
	font-size: 1.3rem;
	line-height: 1.35;
	margin: 0;
	opacity: 0.85;
}

@media (max-width: 991px) {
	.app-promo-section > .gb-layout-column-wrap {
		display: flex;
		flex-direction: column;
	}

	.app-promo-section > .gb-layout-column-wrap > .gb-block-layout-column:first-child > .gb-block-layout-column-inner {
		padding-bottom: 2rem;
	}

	.app-promo {
		aspect-ratio: auto;
		justify-content: center;
		min-height: 48rem;
	}

	.app-promo--image {
		width: 450px;
    	margin: 0 0 0 10rem;
	}

	.app-promo--box {
		max-width: 17rem;
		padding: 1rem 1.2rem;
	}

	.app-promo--box.is-tl {
		left: 8%;
	}

	.app-promo--box.is-tr {
		right: 18%;
	}

	.app-promo--box.is-bl {
		left: 10%;
	}

	.app-promo--box.is-br {
		right: 14%;
	}

	.app-promo .app-promo--box-title {
		font-size: 1.3rem;
	}

	.app-promo .app-promo--box-copy {
		font-size: 1.1rem;
	}
}

@media (max-width: 767px) {
	.app-promo-section > .gb-layout-column-wrap {
		background-color: var(--lux-grey-band);
		align-items: center;
		width: calc(100% - (var(--theme-wrap-padding-mobile) * 2));
		margin-left: var(--theme-wrap-padding-mobile);
		border-radius: var(--lux-r-lg);
		overflow: hidden;
	}

	.app-promo-section > .gb-layout-column-wrap > .gb-block-layout-column:first-child > .gb-block-layout-column-inner {
		padding: 6rem 0 0;
	}

	.app-promo {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 2rem;
		min-height: 0;
		padding: 0 0 6rem;
	}

	.app-promo--bg-logo {
		width: 60%;
	}

	.app-promo--image {
		display: none;
	}

	.app-promo--box {
		position: unset;
		width: 100%;
		max-width: 100%;
		padding: 2rem;
	}

	.app-promo .app-promo--box-title {
		font-size: 2rem;
		margin: 0 0 1rem;
	}

	.app-promo .app-promo--box-copy {
		font-size: 1.6rem;
	}
}

.reviews-section {
	background-color: var(--lux-grey-mist);
}

.reviews-section:not(.is-slider) {
	background-color: transparent;
}

.reviews-section:not(.is-slider) h2,
.reviews-section:not(.is-slider) > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner > p {
	max-width: 76rem;
	margin-inline: auto;
}

.reviews-archive {
	margin: 4rem 0 0;
}

.reviews-section:not(.is-slider) .reviews-archive {
	display: block;
	margin: 6rem 0 0;
}

.reviews-section:not(.is-slider) .reviews-archive--ratings {
	margin-bottom: 6rem;
}

.reviews-section:not(.is-slider) .reviews-archive--wrapper {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	align-items: start;
	gap: 1.5rem;
}

.services-overlay-section {
	background-size: cover;
	background-position: center center;
	position: relative;
	margin: 0 0 4rem;
	padding: 35rem 0 0;
	overflow: visible;
}

.services-overlay-section:before {
	display: none;
}

.services-overlay-section .overlay-card {
	position: relative;
	max-width: 115rem;
	margin: 0 auto -4rem;
	z-index: 3;
}

.services-overlay-section .overlay-card > .gb-layout-column-wrap {
	background-color: #000;
	width: 100%;
	max-width: 48rem;
	padding: 4.4rem 4.6rem;
	border-radius: var(--lux-r-sm);
}

.services-overlay-section .overlay-card h3 {
	color: #fff;
	font-weight: 600;
}

.services-overlay-section .overlay-card p {
	color: #d9d9d9;
}

.cta-band-section > .gb-layout-column-wrap {
	background-color: var(--lux-green-dark);
	grid-template-columns: 42.5% 1fr;
	align-items: stretch;
	gap: 0;
	border-radius: var(--lux-r-md);
	overflow: hidden;
}

.cta-band-section > .gb-layout-column-wrap > .gb-block-layout-column:first-child {
	display: flex;
	align-self: stretch;
}

.cta-band-section > .gb-layout-column-wrap > .gb-block-layout-column:first-child > .gb-block-layout-column-inner {
	flex: 1;
	display: flex;
	width: 100%;
}

.cta-band-section > .gb-layout-column-wrap > .gb-block-layout-column:last-child {
	flex: 1 1 auto;
}

.cta-band-section .wp-block-image {
	flex: 1;
	width: 100%;
	height: 100%;
	margin: 0;
}

.cta-band-section .wp-block-image img {
	object-fit: cover;
	display: block;
	width: 100%;
	height: 100%;
	max-height: none;
	border: none;
	border-radius: 0;
}

.cta-band-section > .gb-layout-column-wrap > .gb-block-layout-column:last-child > .gb-block-layout-column-inner {
	padding: 6rem;
}

.cta-band-section h2,
.cta-band-section p {
	color: #fff;
}

/* Story collage — grid layout: main welder image (left, spans full height),
sage content panel (top-right), two team photos (bottom-right pair). */

.story-collage {
	display: grid;
	grid-template-rows: auto 275px;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.2rem;
	overflow: hidden;
}

.story-collage--images {
	display: contents;
}

.story-collage--images-item {
	position: relative;
	display: flex;
	border-radius: var(--lux-r-sm);
	overflow: hidden;
}

.story-collage--images-item.one {
	grid-row: 1 / span 2;
	grid-column: 1 / span 2;
}

.story-collage--images-item.two {
	grid-row: 2;
	grid-column: 3;
}

.story-collage--images-item.three {
	grid-row: 2;
	grid-column: 4;
}

.story-collage--images-item img {
	object-fit: cover;
	object-position: center center;
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
}

.story-collage--images-item:not(.one) img {
	aspect-ratio: 324 / 165;
}

.story-collage--content {
	grid-row: 1;
	grid-column: 3 / span 2;
	background-color: var(--lux-sage);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 5rem 5.2rem;
	border-radius: var(--lux-r-sm);
}

@media (max-width: 991px) {
	.story-collage {
		display: flex;
		flex-direction: column;
		gap: 1.75rem;
	}

	.story-collage--images {
		display: flex;
		gap: 1.75rem;
	}

	.story-collage--images-item {
		flex: 1 1 0;
	}

	.story-collage--images-item img {
		position: unset;
		aspect-ratio: 1 / 1;
	}
}

@media (max-width: 767px) {
	.story-collage--content {
		padding: 3.2rem 2.4rem;
	}

	.story-collage--images {
		flex-direction: column;
	}

	.story-collage--images-item {
		flex: unset;
	}

	.story-collage--images-item img {
		aspect-ratio: unset;
		height: 20rem;
	}
}

.legal-section {
	padding: 9rem 0;
}

.legal-section > .gb-layout-column-wrap {
	grid-template-columns: 33.5rem 1fr;
	align-items: flex-start;
	gap: 4rem;
}

.legal-section > .gb-layout-column-wrap > .gb-block-layout-column:first-child {
	flex: 0 0 33.5rem;
	max-width: 33.5rem;
}

.logos-section.is-grid .logo-row--track {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2.2rem;
	max-width: 85rem;
	margin-inline: auto;
}

.logos-section.is-grid .logo-row--item {
	background-color: #fff;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: calc(var(--lux-logo-height) + 6rem);
	height: 26.1rem;
	padding: 3rem;
	border: 1px solid var(--lux-border);
	border-radius: var(--lux-r-sm);
	box-shadow: var(--lux-shadow-pop);
	overflow: hidden;
}

.logos-section.is-grid .logo-row--item img {
	max-width: 100%;
	max-height: 9.5rem;
	transition: 0.25s ease-in-out filter, 0.25s ease-in-out opacity;
}

.logos-section.is-grid .logo-row--track {
	justify-content: center;
	max-width: 108rem;
	margin-inline: auto;
}

.logo-row--overlay {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    padding: 3rem;
    overflow: hidden;
	opacity: 0;
	transition: 0.25s ease-in-out opacity;
	z-index: 2;
}

.logo-row--overlay:before {
    content: '';
    background-color: #dfdfdf;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0.55;
    z-index: -1;
}

.logo-row--overlay-title p {
    font-size: 1.7rem;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
}

.logo-row--overlay-description p {
    font-size: 1.6rem;
    line-height: 1.5;
    text-align: center;
}

.logo-row--overlay-cta a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    font-size: 1.6rem;
    font-weight: 500;
}

@media (hover: hover) and (pointer: fine) {
	.logos-section.is-grid .logo-row--item:hover img {
		filter: blur(3px);
		opacity: 0.5;
	}
	
	.logo-row--item:hover .logo-row--overlay {
		opacity: 1;
	}
}

.logos-section.is-grid .logo-row--item:focus-within img,
.logos-section.is-grid .logo-row--item.is-open img {
	filter: blur(3px);
	opacity: 0.5;
}

.logo-row--item:focus-within .logo-row--overlay,
.logo-row--item.is-open .logo-row--overlay {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

@media (max-width: 991px) {
	.logos-section.is-grid .logo-row--track {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.logos-section.is-grid .logo-row--track {
		grid-template-columns: auto;
	}
}

.team-section {
	padding: 9rem 0;
}

.contact-section {
	position: relative;
	z-index: 5;
}

.contact-section > .gb-layout-column-wrap {
	align-items: center;
	gap: 4rem;
}

/* the sage panel starts below the hero; the form card overlaps into it */
/* .contact-section > .gb-layout-column-wrap > .gb-block-layout-column:first-child > .gb-block-layout-column-inner {
	background-color: var(--lux-sage);
	padding: 4.4rem 4.6rem;
	border-radius: var(--lux-r-sm);
} */

.contact-section > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
    background-color: #fff;
    position: relative;
	max-width: 760px;
	min-height: 930px;
    margin: 0 auto;
    padding: 4rem;
    border-radius: var(--lux-r-md);
    box-shadow: 0 1.3rem 6.37rem rgba(0, 0, 0, 0.12);
}

/* Section headings/subs inside band rows */

.section-eyebrow {
	color: var(--lux-navy);
	font-size: 1.3rem;
	font-weight: 700;
	margin: 0 0 0.8rem;
}

/* image-content-section Luxor tuning (parent base provides the 2-col behavior) */

.image-content-section .wp-block-image img {
	min-height: 45rem;
	max-height: 55rem;
	border: none;
	border-radius: var(--lux-r-sm);
}

@media (max-width: 767px) {
	.image-content-section .wp-block-image img {
		min-height: 200px;
		max-height: 300px;
	}
}

/* card variant: sage content panel overlapping the photo (breakout composition)
design: photo 70.7rem tall, ~20.5rem above / ~18.7rem below */

.media-card .wp-block-image img {
	width: 100% !important;
	max-width: 100% !important;
}

@media (min-width: 992px) {
	.media-card .wp-block-image {
		height: 100%;
	}

	.media-card .wp-block-image img {
		max-height: unset;
	}

	.media-card.is-compact {
		padding: 13rem 0 10rem;
	}

	.media-card.is-compact .wp-block-image img {
		min-height: 45rem;
		max-height: 55rem;
	}

	.media-card > .gb-layout-column-wrap {
		grid-template-columns: repeat(40, 1fr);
		align-items: center;
		column-gap: 0;
	}

	.media-card > .gb-layout-column-wrap > .gb-block-layout-column:first-child {
		grid-column: 1 / span 23;
		padding: 6rem 0;
	}

	.media-card > .gb-layout-column-wrap > .gb-block-layout-column:first-child > .gb-block-layout-column-inner {
		background-color: var(--lux-sage);
		position: relative;
		padding: 4.4rem 4.6rem;
		border-radius: var(--lux-r-sm);
		z-index: 2;
	}

	.media-card > .gb-layout-column-wrap > .gb-block-layout-column:last-child {
		grid-column: 18 / span 23;
	}

	.media-card.wrap-reverse > .gb-layout-column-wrap > .gb-block-layout-column:first-child > .gb-block-layout-column-inner {
		background-image: none;
		margin-right: 0;
		padding: 0;
		border-radius: 0;
	}
}

/* compact card (location pages): original proportions */


.media-row {
	padding: 8.8rem 0;
}

.media-row .wp-block-image img {
	min-height: 60rem;
	max-height: 62rem;
}

/* checklist list (render_block injects check icons) */
/* Plain list per the design (round-3: no ported icon flourishes) — green dot bullets */
.checklist {
	display: flex;
	flex-direction: column;
	gap: 1.3rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.checklist li {
	position: relative;
	color: var(--lux-navy);
	font-size: 1.6rem;
	line-height: 2.4rem;
	margin: 0;
	padding-left: 2.2rem;
}

.checklist li::marker {
	content: '';
}

.checklist li::before {
	background-color: var(--lux-green);
	position: absolute;
	width: 0.8rem;
	height: 0.8rem;
	top: 0.8rem;
	left: 0.4rem;
	border-radius: 50%;
	content: '';
}

.checklist-section.is-card > .gb-layout-column-wrap > .gb-block-layout-column:first-child > .gb-block-layout-column-inner {
	background-color: var(--lux-sage);
	position: relative;
	margin-right: -11.3rem;
	padding: 4.4rem 4.6rem;
	border-radius: var(--lux-r-sm);
	z-index: 2;
}

.checklist-section.is-card .checklist li i {
	display: none;
}

.checklist-section.is-card .checklist li::before {
	flex: 0 0 auto;
	background-color: var(--lux-green-dark);
	position: static !important;
	width: 0.7rem;
	height: 0.7rem;
	border-radius: 50%;
	content: '';
}

/* solution chips */
.solution-chips {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.2rem 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.solution-chips li {
	background-color: var(--lux-green-chip);
	display: flex;
	align-items: center;
	min-height: 4.3rem;
	color: var(--lux-navy);
	font-size: 1.6rem;
	font-weight: 500;
	margin: 0;
	padding: 1rem 1.8rem;
	border-radius: 0.6rem;
}

.solution-chips li::marker {
	content: '';
}


/* tto-custom-button Luxor pills — style the parent's markup */
.custom-button {
	display: inline-flex;
	margin: 0;
}

/* Base — green by default. Explicit `.btn--green` is redundant but kept so
existing markup still works. Variants below (btn--ghost / btn--solid /
btn--ghost-dark) override background+color+border for their look. */
button[type='submit'],
.custom-button .button {
	background-color: var(--lux-green-dark);
	display: inline-flex;
	align-items: center;
	gap: 0.8rem;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 600;
	font-family: var(--lux-font);
	line-height: 1.5;
	padding: 1rem 2.3rem;
	text-transform: uppercase;
	text-decoration: none;
	border: 0.2rem solid var(--lux-green-dark);
	border-radius: var(--lux-r-pill);
}

/* .custom-button .button.btn--green {
	background-color: var(--lux-green);
	color: var(--lux-ink);
	border-color: var(--lux-green);
}

.custom-button .button:hover,
.custom-button .button.btn--green:hover { */
.custom-button .button:hover {
	background-color: #2a893e;
	border-color: #2a893e;
}

.custom-button .button.btn--ghost {
	background-color: transparent;
	color: #fff;
	border: 0.2rem solid #fff;
}

.custom-button .button.btn--ghost:hover {
	background-color: rgba(255, 255, 255, 0.12);
	color: #fff;
}

button[type='submit'],
.custom-button .button.btn--solid {
	background-color: var(--lux-green-dark);
	color: #fff;
	font-weight: 700;
	border-color: var(--lux-green-dark);
}

button[type='submit']:hover,
.custom-button .button.btn--solid:hover {
	background-color: #14401d;
	color: #fff;
	border-color: #14401d;
}

.custom-button .button i, .custom-button .button svg {
	color: currentColor;
	font-size: 1.4rem;
}

.custom-button .button.btn--ghost-dark {
	background-color: transparent;
	color: var(--lux-navy);
	font-weight: 500;
	border: 0.2rem solid var(--lux-navy);
}

.custom-button .button.btn--ghost-dark:hover {
	background-color: var(--lux-navy);
	color: #fff;
}

.custom-button .button.white {
	background-color: #fff;
	color: var(--lux-ink);
}

.custom-button .button.white:hover {
	background-color: #f0f0f0;
	color: var(--lux-ink);
}

/* Extra space when the previous sibling is a block-level div (a section /
column / feature card), not just a paragraph or heading. Selector is a
step more specific than the general rule above so it wins the cascade. */
div + .custom-button:last-child:not(:only-child),
div + .pill:last-child:not(:only-child) {
	margin-top: 4.8rem;
}

.buttons-row > .gb-layout-column-wrap {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 1.5rem;
	width: 100% !important;
	margin: 0 !important;
}

.buttons-row > .gb-layout-column-wrap > .gb-block-layout-column {
	flex: 0 0 auto;
}

.buttons-row > .gb-layout-column-wrap > .gb-block-layout-column {
	flex: 0 1 fit-content;
}

/* CTA band */

/* mission cards */

.mission-cards-row {
	margin-top: 3.4rem !important;
}

.mission-cards-row > .gb-layout-column-wrap {
	gap: 2.2rem;
	width: 100% !important;
}

.mission-cards-row > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
	background-color: #fff;
	height: 100%;
	padding: 3.4rem 3.8rem;
	border-radius: var(--lux-r-sm);
	box-shadow: var(--lux-shadow-card);
}

.mission-cards-row .card-title {
	color: var(--lux-navy);
	font-size: 2rem;
	font-weight: 600;
	margin: 0 0 1.2rem;
}

.mission-cards-row .card-text {
	color: var(--lux-navy);
	font-size: 1.6rem;
	line-height: 2.5rem;
	margin: 0;
	opacity: 0.85;
}

/* guidance steps (parent block, child override) — dog-ear cards + dashed connectors */
.process-steps--track {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 4rem;
	margin-top: 8.2rem;
}

/* clip-path on the element clips its own shadow AND the dashed connectors
(round-3): the clipped background lives on ::before, the dog-ear fold is a
gradient layer within it, and the host carries filter:drop-shadow. */
.process-step {
	background-color: transparent;
	position: relative;
	height: 100%;
	padding: 3.6rem 3rem 4.6rem;
	filter: drop-shadow(0 1.4rem 1.23rem rgba(0, 0, 0, 0.04));
}

.process-step::before {
	position: absolute;
	inset: 0;
	border-radius: var(--lux-r-md);
	clip-path: polygon(0 0, calc(100% - 4.4rem) 0, 100% 4.4rem, 100% 100%, 0 100%);
	z-index: -1;
	content: '';
	background:
	linear-gradient(225deg, rgba(12, 18, 27, 0.1) 0 3.1rem, #fff 3.1rem);
}

.process-step:not(:last-child)::after {
	position: absolute;
	width: 4rem;
	top: 14.5rem;
	left: 100%;
	border-top: 0.2rem dashed rgba(12, 18, 27, 0.3);
	content: '';
}

.process-step--num {
	background-color: #328544;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4.4rem;
	height: 4.4rem;
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 2.4rem;
	border-radius: 1rem;
	box-shadow: 0 0.4rem 0.8rem rgba(69, 165, 90, 0.35);
}

.process-step--title {
	color: var(--lux-navy);
	font-size: 2rem;
	font-weight: 600;
	line-height: 2.6rem;
	margin: 0 0 1.2rem;
}

.process-step--text {
	color: var(--lux-navy);
	font-size: 1.6rem;
	line-height: 2.6rem;
	margin: 0;
	opacity: 0.8;
}

/* partner logos (parent block, child override) */
.logo-row--track {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 4rem;
}

.logo-row--item {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.logo-row--item img {
	display: block;
	width: auto;
	max-height: 7.4rem;
	opacity: 0.85;
}

/* team (parent classes per review — restyle, don't rename) */
.team-member-archive .team-members {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.team-member--headshot {
    background-color: var(--lux-grey-band-2);
    width: min(250px, 65%);
    height: auto;
    margin-bottom: 1.8rem;
    border-radius: var(--lux-r-sm);
    overflow: hidden;
}

.team-member--headshot img {
	object-fit: cover;
	object-position: top center;
	display: block;
	width: 100%;
	height: 100%;
}

.team-member--content-name h3 {
	display: inline-flex;
	align-items: center;
	gap: 0.8rem;
	color: var(--lux-ink);
	font-size: 1.9rem;
	font-weight: 700;
	margin: 0 0 0.4rem;
}

.team-member--content-name .team-member--linkedin {
	background-color: var(--lux-border);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	border-radius: 50%;
}

.team-member--content-name .team-member--linkedin svg {
    width: 1.2rem;
    height: 1.2rem;
	color: var(--lux-ink);
	transition: 0.25s ease-in-out all;
}

.team-member--content-name .team-member--linkedin:hover {
	background-color: var(--lux-green);
}

.team-member--content-name .team-member--linkedin:hover svg {
    width: 1.2rem;
    height: 1.2rem;
	color: #fff;
}


.team-member--content-role p {
	color: #328544;
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 1rem;
    text-align: left;
}

.team-member--content-bio p {
	color: var(--lux-ink);
	font-size: 1.6rem;
	margin: 0;
	opacity: 0.8;
}

/* reviews module (parent classes) — Luxor look */

.reviews-archive.slider .reviews-archive--wrapper:before {
	background-image: linear-gradient(to right, #f5f5f5, rgba(245, 245, 245, 0.81), rgba(245, 245, 245, 0.71), rgba(245, 245, 245, 0.51), transparent);
}

.reviews-archive.slider .reviews-archive--wrapper:after {
	background-image: linear-gradient(to left, #f5f5f5, rgba(245, 245, 245, 0.81), rgba(245, 245, 245, 0.71), rgba(245, 245, 245, 0.51), transparent);
}

.reviews-archive .review {
	padding: 2.2rem 2.4rem;
	border-radius: var(--lux-r-sm);
}

/* Bumped specificity to beat parent's (0,3,0) rule that paints the circle black */
.reviews-archive .review-info--logo .char-circle {
	background-color: var(--lux-green-dark);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.4rem;
	height: 3.4rem;
	color: #fff;
	font-weight: 700;
	border-radius: 50%;
}

.reviews-archive .review-info--logo .char-circle p {
	color: #fff;
	font-size: 1.4rem;
	margin: 0;
}

.reviews-archive .review-info--customer-name p {
	font-size: 1.4rem;
	font-weight: 700;
	text-transform: uppercase;
}

.reviews-archive .review-info--customer-byline p {
	color: #8a8a8a;
	font-size: 1.1rem;
	margin: 0;
}

.reviews-archive .review-copy,
.reviews-archive .review-info--customer-byline p {
	color: var(--lux-ink);
	font-size: 1.3rem;
	font-style: italic;
}

/* Ratings pill row (google rating card + avatars + review-count pill).
Parent paints the count pill black w/ white text; Figma calls for gray w/ black text.
Parent also sets the inner p to display:flex column — we want normal block flow. */
.review-ratings--info {
	box-shadow: none;
}

.review-ratings--people .number {
	background-color: #ebebeb;
}

.review-ratings--people .number p {
	display: block;
	color: var(--lux-ink);
}



/* app promo */

.app-store-links {
	display: flex;
	flex-wrap: wrap;
	gap: 1.2rem;
	margin-top: 2.2rem;
}

.app-store-links a {
	text-decoration: none;
}

.badge-apple, .badge-play {
	background-color: #000;
	display: inline-flex;
	align-items: center;
	gap: 0.9rem;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.25;
	padding: 0.7rem 1.4rem;
	border-radius: var(--lux-r-sm);
}

.badge-apple i, .badge-play i {
	color: #fff;
	font-size: 2.2rem;
}

.badge-apple span, .badge-play span {
	display: flex;
	flex-direction: column;
}

.badge-apple small, .badge-play small {
	font-size: 1.2rem;
	font-weight: 400;
}

.badge-play small {
	text-transform: uppercase;
}

/* services overlay */

.instagram-feed--heading {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 2rem;
}

.instagram-feed--heading-cta .custom-button {
	flex: 0 0 auto;
	width: auto;
	margin: 0 !important;
}

.instagram-feed--heading-cta .custom-button a.button {
	font-size: 1.5rem;
	padding: 0.9rem 2.2rem;
	text-transform: none;
}

.instagram-feed--heading-label {
	display: flex;
	align-items: center;
	gap: 1.4rem;
}

.instagram-feed--heading-label-image {
    object-fit: contain;
    object-position: center center;
	background-color: #ececec;
    display: flex;
    align-items: center;
	width: 4.6rem;
	height: 4.6rem;
	padding: 0.9rem;
	border-radius: 50%;
	box-sizing: border-box;
}

.instagram-feed--heading-label p {
	display: flex;
	flex-direction: column;
}

.instagram-feed--heading-label p .name {
	color: var(--lux-ink);
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.2;
}

.instagram-feed--heading-label p .followers {
	color: #757575;
	font-size: 1.4rem;
}

.instagram-feed--cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
    margin: 4rem 0 0;
}

.instagram-card {
	background-color: #fff;
	position: relative;
	display: block;
	line-height: 0;
	text-decoration: none;
	border-radius: var(--lux-r-md);
	box-shadow: var(--lux-shadow-pop);
	overflow: hidden;
	z-index: 1;
}

.instagram-card--badge {
	background-color: rgba(0, 0, 0, 0.45);
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	top: 1.4rem;
	right: 1.4rem;
	border-radius: 0.6rem;
	transition: 0.25s ease-in-out all;
	z-index: 3;
}

.instagram-card:hover .instagram-card--badge {
	background-color: var(--lux-green);
}

.instagram-card--badge i,
.instagram-card--badge svg {
	color: #fff;
	font-size: 1.5rem;
}

.instagram-card--background {
	position: relative;
	z-index: 2;
}

.instagram-card--background:before {
    content: '';
    background-color: #000;
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0.15;
	transition: 0.25s ease-in-out all;
	z-index: 1;
}

.instagram-card:hover .instagram-card--background:before {
    opacity: 0.08;
}

.instagram-card--background img {
	object-fit: cover;
	display: block;
	width: 100%;
	height: 35rem;
}

.instagram-card--copy {
	background-color: rgba(255, 255, 255, 0.94);
	position: absolute;
	display: flex;
	align-items: center;
	gap: 1rem;
	bottom: 1.2rem;
	left: 1.2rem;
	right: 1.2rem;
	line-height: 1.3;
	padding: 0.9rem 1.4rem;
	border-radius: 1rem;
	z-index: 4;
}

.instagram-card--copy-logo {
    object-fit: contain;
    object-position: center center;
	background-color: #ececec;
    display: flex;
    align-items: center;
	width: 3.4rem;
	height: 3.4rem;
	padding: 0.6rem;
	border-radius: 50%;
	box-sizing: border-box;
}

.instagram-card--copy-info p {
	display: flex;
	flex-direction: column;
}

.instagram-card--copy-info p .name {
	color: var(--lux-ink);
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.2;
}

.instagram-card--copy-info p .date {
	color: #8a8a8a;
	font-size: 1.5rem;
}

@media (max-width: 991px) {
		.instagram-feed--cards {
		display: flex;
		flex-direction: column;
		max-width: 450px;
		margin: 4rem auto 0;
	}
}

/* legal */

.legal-nav {
	position: sticky;
	top: 12rem;
	padding-right: 4rem;
	border-right: 0.1rem solid rgba(0, 0, 0, 0.1);
}

.legal-nav ul {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.legal-nav li {
	margin: 0;
}

.legal-nav li::marker {
	content: '';
}

.legal-nav a {
	display: block;
	color: var(--lux-ink);
	font-size: 1.5rem;
	padding: 1rem 1.8rem;
	text-decoration: none;
	opacity: 0.75;
	border-radius: 2.2rem;
}

.legal-nav li.is-active a {
	background-color: var(--lux-green);
	color: var(--lux-navy);
	font-weight: 600;
	opacity: 1;
}

/* faq group titles */
.faq-group-title {
	color: var(--lux-ink);
	font-size: 3.2rem;
	font-weight: 600;
	line-height: 1.618;
	margin: 0 0 4rem;
	text-align: center;
	letter-spacing: 0;
}

@media (max-width: 991px) {
	.process-steps--track {
		grid-template-columns: repeat(2, 1fr);
	}
	.process-step:not(:last-child)::after {
		display: none;
	}
	.team-member-archive .team-members {
		grid-template-columns: repeat(2, 1fr);
	}
	.reviews-section:not(.is-slider) .reviews-archive--wrapper {
		grid-template-columns: 1fr;
	}
	.cta-band-section {
		background-color: var(--lux-green-dark);
		padding: var(--theme-section-padding) 0;
	}
	.cta-band-section > .gb-layout-column-wrap {
		background-color: transparent;
		display: flex;
		flex-direction: column-reverse;
		border-radius: 0;
	}
	.cta-band-section > .gb-layout-column-wrap > .gb-block-layout-column:first-child {
		display: none;
	}
	.cta-band-section > .gb-layout-column-wrap > .gb-block-layout-column:last-child > .gb-block-layout-column-inner {
		padding: 0;
	}
	.services-overlay-section {
		margin: 0;
		padding: var(--theme-section-padding-mobile) 0;
	}
	.services-overlay-section:before {
		display: block;
	}
	.services-overlay-section .overlay-card {
		max-width: 100%;
		margin: 0;
	}
	.services-overlay-section .overlay-card > .gb-layout-column-wrap {
		background-color: transparent;
		max-width: 100%;
		padding: 0;
		border-radius: 0;
	}
	.services-overlay-section .overlay-card p {
		color: #fff;
	}
	.legal-section > .gb-layout-column-wrap > .gb-block-layout-column:first-child {
		max-width: none;
		flex-basis: auto;
	}
	.legal-nav {
		position: static;
		padding: 0;
		border: none;
	}
	.legal-section > .gb-layout-column-wrap > .gb-block-layout-column:last-child > .gb-block-layout-column-inner {
		padding-left: 0;
	}
}

@media (max-width: 767px) {
	.process-steps--track {
		grid-template-columns: 1fr;
	}
	.team-member-archive .team-members {
		grid-template-columns: 1fr;
	}
	.cta-band-section {
		padding: var(--theme-section-padding-mobile) 0;
	}
	.solution-chips {
		grid-template-columns: 1fr;
	}
}

/* Why-Choose 2-up layout. Matches Figma:
≥99.2rem  → 28.75% / 1fr (left is heading+copy, right is icon-cards)
≤99.1rem  → single column stacked (content over cards; grid stays 2×2)
≤76.7rem  → same stack, plus cards collapse to 1-up
`:has(> .gb-block-layout-column:nth-child(2):last-child)` only applies
when the wrap has exactly two direct-child columns, so this rule stays
dormant on any future single/three-column variants. */
.why-choose-section > .gb-layout-column-wrap:has(> .wp-block-genesis-blocks-gb-column:nth-child(2):last-child) {
	grid-template-columns: min(37.5%, 40rem) 1fr;
	align-items: start;
	gap: 6rem;
}

.wp-block-genesis-blocks-gb-columns[style*='background-color:#1c5a29'] :is(h2, h3, h4, p, li, a) {
	color: #fff;
}


@media (max-width: 991px) {
	.why-choose-section > .gb-layout-column-wrap:has(> .wp-block-genesis-blocks-gb-column:nth-child(2):last-child) {
		display: flex;
		flex-direction: column;
		gap: 4rem;
	}
}

@media (max-width: 767px) {
	.why-choose-section .icon-cards.is-split-2x2 .icon-cards--grid,
	.why-choose-section .icon-cards .icon-cards--grid {
		grid-template-columns: 1fr;
	}
}



.why-choose-section .icon-cards, .legacy-section .icon-cards,
.supporting-section .icon-cards, .industries-section .image-cards,
.jobs-section .featured-jobs {
	margin-top: 3.6rem;
}

.legacy-section {
	background-color: var(--lux-grey-band-2);
	padding: 12rem 0;
}

.supporting-section {
	padding: 8rem 0;
}

.industries-section.is-grid,
.industries-section.is-carousel {
	background-color: var(--lux-green-band);
}

.industries-section > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner > p {
	max-width: 900px;
	margin-inline: auto;
	text-align: center;
}

.industries-section h2 {
	max-width: 900px;
	margin: 0 auto 2rem;
	text-align: center;
}

.industries-section .image-cards,
.industries-section .image-cards.is-wrap,
.industries-section .image-cards.is-carousel,
.why-choose-section .icon-cards,
.legacy-section .icon-cards,
.supporting-section .icon-cards.is-check-4,
.jobs-section .featured-jobs,
.jobs-section .featured-jobs.is-careers {
	background-color: transparent;
	margin: 6rem auto 0;
	padding: 0;
}

.why-choose-section .icon-cards:only-child {
	margin-top: 0;
}

.jobs-section.is-careers .job-card {
	background-color: #fff;
	padding: 4rem 4.2rem 4.4rem;
	border: 0.1rem solid var(--lux-border);
}

.jobs-section.is-careers .job-card--title {
	font-size: 2.4rem;
	line-height: 3rem;
}

.jobs-section.is-careers .job-card--summary {
	font-size: 1.7rem;
	line-height: 2.7rem;
}

.jobs-section.is-careers .job-card--applybtn {
	margin-top: 0.6rem;
	padding: 1rem 2.4rem;
}

.jobs-section.is-careers .featured-jobs--grid {
	gap: 2.6rem;
}

.jobs-section.is-careers .featured-jobs--search {
	margin-bottom: 4.4rem;
}

.contact-section h1 {
    font-size: 4rem;
}

.contact-section .contact-form {
	background-color: transparent;
	margin: 0 auto;
	padding: 0;
}

.contact-section .gform_wrapper.gravity-theme {
    margin: 4rem 0 0;
}

/* Featured Jobs header row: heading | button, aligned to the grid width */
.jobs-head-row > .gb-layout-column-wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	row-gap: 2rem;
	column-gap: 4rem;
	max-width: var(--lux-container);
	margin-inline: auto;
}

.jobs-head-row > .gb-layout-column-wrap > .gb-block-layout-column {
	flex: 0 1 fit-content;
}

.jobs-head-row h2 {
	margin: 0;
}

/* expect-section: pale green band, heading col | cards col */
.expect-section {
	background-color: var(--lux-green-process);
	padding: 10rem 0;
}

.expect-section > .gb-layout-column-wrap {
	align-items: center;
	gap: 6rem;
}

.expect-section > .gb-layout-column-wrap > .gb-block-layout-column:first-child {
	flex: 0 0 40%;
}

.expect-section > .gb-layout-column-wrap > .gb-block-layout-column:last-child {
	flex: 1 1 auto;
}

.expect-section .icon-cards {
	margin-top: 0;
}

/* asymmetric ratio per the comp: heading column narrower than the cards column */

/* contact section: sage panel col overlapping the form card col */

/* story sub photos: tighten the grid (review: loose) */

/* ## v3 menu standards (round-2 review) */
.nav-primary .menu-item.dropdown .sub-menu a {
	display: block;
	width: 100%;
}

.nav-primary .menu-item.dropdown .sub-menu li {
	width: 100%;
}

@media (max-width: 895px) {
	/* Hide desktop-only promo panel */
	.mega-promo {
		display: none;
	}

	.nav-primary > .wrap {
		padding: 5rem 0;
	}

	/* Group labels (Services / Industries): distinct label, no bottom margin */
	.nav-primary .mega-group > p,
	.nav-primary .mega-group > a {
		color: var(--lux-navy);
		font-size: 1.5rem;
		font-weight: 700;
		margin: 0;
	}

	/* Mobile mega: subtle indent on nested lists, no top gap */
	.nav-primary .sub-menu .sub-menu {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}
	.nav-primary .sub-menu .sub-menu li {
		padding-left: 1rem;
	}

	/* Tertiary items — group children (Find Workers) and state links (Service Areas) */
	.nav-primary .mega-menu-wrap .sub-menu a {
		color: var(--lux-ink);
		font-size: 1.5rem;
		font-weight: 500;
	}

	/* State-level items in Service Areas: bolder than cities, still under label weight */
	.mega-areas .mega-menu-wrap > .sub-menu > .menu-item > a {
		font-weight: 700;
	}

	/* Header CTAs: centered, larger, column-reverse (Log In on top) */
	.primary-header-ctas {
		flex-direction: column-reverse;
	}

	.primary-header-ctas .custom-button .button {
		font-size: 1.6rem !important;
		padding: 0.8rem 2.2rem !important;
	}
}

/* blog cards: design pad 34 (parent default 40/60) + taller image */

/* design cards: title + date + author chip only — no excerpt / read-more */

/* blog card meta (markup via tto_archive_single_args filter) */

.primary-header-ctas .custom-button .button {
	font-size: 1.4rem;
	font-weight: 700;
	padding: 0.6rem 1.6rem;
	white-space: nowrap;
	border-radius: 3.5rem;
}

.primary-header-ctas .custom-button .button.outline {
	background-color: transparent;
	color: var(--lux-navy);
	font-weight: 500;
	border: 0.2rem solid var(--lux-navy);
	box-shadow: 0 0 0.98rem rgba(0, 0, 0, 0.05);
}

.primary-header-ctas .custom-button .button.outline:hover {
	background-color: var(--lux-navy);
	color: #fff;
}

/* Inline button pairs: nested AC row, columns sized to content (round-3) */

/* Awards page logo strips centre under a tighter wrap (round-3 named defect) */

/* §4c fragment blocks: the section ROW owns band padding/background/offsets —
zero the block's own band spacing so it isn't applied twice. */

/* Careers jobs section: design is white, cards outlined and larger */

@media (max-width: 767px) {
	.logo-row--track {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
	}
}

.locations-section > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
	display: flex;
	flex-direction: column;
	gap: 6rem;
}

.locations-section--heading {
	max-width: 76rem;
}

.storerocket-store-locator {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 50rem;
}

.storerocket-result-is-open .storerocket-result-open-label:before {
	position: unset;
}

@media (max-width: 720px) {
	.storerocket-store-locator {
		min-height: 85rem;
	}
}
/* ## Video modal (shared across all video-testimonials on a page)
--------------------------------------------- */
.visually-hidden {
	position: absolute !important;
	width: 0.1rem;
	height: 0.1rem;
	margin: -0.1rem;
	padding: 0;
	white-space: nowrap;
	border: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}

body.has-video-modal-open {
	overflow: hidden;
}

.video-modal {
	background-color: rgba(0, 0, 0, 0.85);
	position: fixed;
	display: block;
	inset: 0;
	padding: 2.4rem;
	z-index: 9999;
}

.video-modal--inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2rem;
	width: 100%;
	max-width: 96rem;
	height: 100%;
	margin: 0 auto;
}

.video-modal[hidden] {
	display: none;
}

.video-modal--close {
	background-color: rgba(255, 255, 255, 0.15);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 4.4rem;
	height: 4.4rem;
	color: #fff;
	font-size: 2rem;
	margin-left: auto;
	padding: 0;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	transition: background 0.25s;
}

.video-modal--close:hover {
	background-color: rgba(255, 255, 255, 0.25);
}

.video-modal--frame {
	width: 100%;
}

.video-modal--aspect {
	aspect-ratio: 16 / 9;
	background-color: #000;
	position: relative;
	width: 100%;
	border-radius: var(--lux-r-md);
	overflow: hidden;
}

.video-modal--aspect iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	inset: 0;
	border: 0;
}

/* ## Featured Recognition (Awards page)
--------------------------------------------- */
.featured-recognition-section > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2.4rem;
	text-align: center;
}

.featured-recognition--chip {
	background-color: var(--lux-green-chip);
	display: inline-block;
	max-width: max-content;
	color: var(--lux-green-dark);
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1;
	margin: 0;
	padding: 1rem 2rem;
	letter-spacing: 0;
	text-transform: none;
	border-radius: var(--lux-r-pill);
}

.featured-recognition--heading {
	max-width: 76rem;
	color: var(--lux-navy);
	font-size: 5rem;
	font-weight: 700;
	line-height: 6.4rem;
	margin: 0;
}

.featured-recognition--copy {
	max-width: 78rem;
	color: var(--lux-navy);
	font-size: 1.8rem;
	line-height: 3rem;
	margin: 0;
	opacity: 0.8;
}

.featured-recognition--photo {
	max-width: 100rem;
	margin: 4rem auto 0;
	border-radius: 0.9rem;
	overflow: hidden;
}

@media (max-width: 767px) {
	.featured-recognition--heading {
		font-size: 3.6rem;
		line-height: 4.4rem;
	}
	.featured-recognition--copy {
		font-size: 1.6rem;
		line-height: 2.6rem;
	}
}

.anchor-section {
	scroll-margin-top: 8rem;
}

.image-content-section:not([style*='background']) + .awards-section {
    padding-top: 0;
}

.awards-section .gb-block-layout-column-inner > p,
.logos-section .gb-block-layout-column-inner > p,
.home-page-hero--partners .gb-block-layout-column-inner > p {
    font-size: 2.4rem;
	margin: 0 0 4rem;
}

.gform_wrapper.gravity-theme .gfield select {
	width: 100%;
}

.gform_wrapper.gravity-theme .gf_clear {
    position: absolute;
}

body:not(.home) .why-choose-section .custom-button {
	margin: 1rem 0 0;
    padding: 5rem 0 0;
    border-top: 2px solid var(--lux-green);
}
/* ## Job description modal (used by the featured-jobs careers layout)
--------------------------------------------- */
body.has-job-modal-open {
	overflow: hidden;
}

.job-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	background-color: rgba(0, 0, 0, 0.75);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2.4rem;
}

.job-modal[hidden] {
	display: none;
}

.job-modal--inner {
	position: relative;
	background-color: #fff;
	display: flex;
	flex-direction: column;
	gap: 1.6rem;
	width: 100%;
	max-width: 76rem;
	max-height: 90vh;
	padding: 3.2rem 3.2rem 2.4rem;
	border-radius: var(--lux-r-md);
	overflow: hidden;
}

.job-modal--close {
	position: absolute;
	top: 1.4rem;
	right: 1.6rem;
	background-color: transparent;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
	padding: 0;
	color: var(--lux-ink);
	font-size: 1.6rem;
	line-height: 1;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
}

.job-modal--close i,
.job-modal--close svg {
	display: block;
	width: 1.4rem;
	height: 1.4rem;
	line-height: 1;
}

.job-modal--close:hover {
	background-color: var(--lux-surface-muted);
}

.job-modal--meta .chip {
	background-color: var(--lux-surface-muted);
	color: var(--lux-ink);
	font-size: 1.3rem;
	padding: 0.5rem 1.2rem;
	border-radius: var(--lux-r-lg);
}

.job-modal--meta .chip.has-icon {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 0.8rem;
}

.job-modal--head {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding-right: 4rem;
}

.job-modal--title {
	color: var(--lux-navy);
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	margin: 0;
}

.job-modal--meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
}

.job-modal--body {
	color: var(--lux-ink);
	font-size: 1.5rem;
	line-height: 1.6;
	overflow-y: auto;
	padding-right: 0.4rem;
}

.job-modal--body p {
	margin: 0 0 1.2rem;
}

.job-modal--foot {
	display: flex;
	justify-content: flex-end;
	padding-top: 0.8rem;
	border-top: 0.1rem solid var(--lux-border);
}

@media (max-width: 600px) {
	.job-modal--inner {
		padding: 2.4rem;
	}
	.job-modal--title {
		font-size: 2rem;
	}
}

/* ## Featured Jobs — Load More pagination
--------------------------------------------- */
.featured-jobs--load-more-wrap {
	display: flex;
	justify-content: center;
	margin-top: 2.4rem;
}

.featured-jobs--load-more {
	min-width: 20rem;
	padding-inline: 3.2rem;
}

.cta-band-section .buttons-row > .gb-layout-column-wrap > .gb-block-layout-column:first-child .custom-button .button {
	background-color: #fff;
	color: var(--lux-ink);
}

.cta-band-section .buttons-row > .gb-layout-column-wrap > .gb-block-layout-column:first-child .custom-button .button:hover {
	background-color: #f0f0f0;
	color: var(--lux-ink);
}