/*
 * 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-band-2: #F0F0F0;
	--lux-grey-mist: #EEF0EF;
	--lux-ink: #1A1A1A;

	/* Type */
	--lux-font: 'DM Sans', sans-serif;

	/* Layout: design content box is 1347 wide @ x=47 on the 1440 frame */
	--lux-container: 1347px;
	--lux-pad: 47px;
	--theme-wrap-width: 100%;
	--theme-wrap-max-width: min(1440px, 100vw);

	/* Shadows */
	--lux-shadow-card: 0 14px 12.3px rgba(0, 0, 0, 0.04);
	--lux-shadow-pop: 0 8px 22.9px rgba(0, 0, 0, 0.09);
	--lux-shadow-nav: 0 7px 9.7px rgba(0, 0, 0, 0.08);
}

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

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

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

/* ## Chrome: top bar
--------------------------------------------- */
.top-nav-bar {
	background: var(--lux-green);
}

.top-nav-bar > .wrap {
	max-width: 1440px;
	margin-inline: auto;
	padding: 5px 64px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 24px;
}

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

.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 a {
	font-size: 14px;
	line-height: 24px;
	font-weight: 400;
	color: var(--lux-navy);
	text-decoration: none;
}

.lux-lang-chip {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 14px;
	line-height: 24px;
	color: var(--lux-navy);
	text-transform: uppercase;
}

.lux-lang-chip img {
	width: 17px;
	height: 17px;
	border-radius: 50%;
	object-fit: cover;
}

.lux-lang-chip i { font-size: 11px; }

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

.site-header > .wrap {
	max-width: 1440px;
	margin-inline: auto;
	padding: 15px 64px;
}

.custom-logo-link .custom-logo {
	width: 172px;
	max-height: 50px;
	height: auto;
}

.lux-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 2px;
	padding: 8px 20px;
	border-radius: 35px;
	font-size: 16px;
	line-height: 1.5;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
}

.lux-pill--solid {
	background: var(--lux-green-dark);
	color: #FFFFFF;
	font-weight: 700;
	border: 2px solid var(--lux-green-dark);
}

.lux-pill--solid:hover { background: #14401D; border-color: #14401D; color: #FFFFFF; }

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

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

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

.lux-pill--green:hover { background: #58B56C; color: var(--lux-ink); }

.lux-pill--ghost {
	border: 1px solid #FFFFFF;
	color: #FFFFFF;
	font-weight: 600;
	background: transparent;
}

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

@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;
		justify-content: flex-end;
		align-items: center;
	}

	.nav-primary .genesis-nav-menu {
		display: flex;
		align-items: center;
		flex-wrap: nowrap;
		gap: 18px;
	}

	.nav-primary .genesis-nav-menu > .menu-item > a {
		font-size: 16px;
		font-weight: 600;
		line-height: 1.5;
		color: var(--lux-navy);
		padding: 13px 0; /* header = 15+50+15 = 80px like the design; links stay hover-bridgeable */
		display: inline-flex;
		align-items: center;
		gap: 2px;
	}

	.nav-primary .genesis-nav-menu > .menu-item > a:hover { color: var(--lux-green-dark); }

	.lux-header-ctas {
		display: flex;
		align-items: center;
		gap: 18px;
		margin-left: 18px;
	}

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

	/* Plain dropdowns (Find a Job / About) */
	.nav-primary .menu-item.lux-dropdown .sub-menu {
		min-width: 230px;
		background: #FFFFFF;
		box-shadow: 0 18px 30px rgba(12, 18, 27, 0.12);
		border-radius: 0 0 8px 8px;
		padding: 12px 0;
	}

	.nav-primary .menu-item.lux-dropdown .sub-menu a {
		font-size: 15px;
		font-weight: 500;
		color: var(--lux-navy);
		padding: 9px 22px;
		display: block;
	}

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

	/* 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: 1438px;
		padding: 0;
		border-top: none;
		box-shadow: 0 24px 40px rgba(12, 18, 27, 0.14);
		clip-path: none;
	}

	.nav-primary .mega-menu-wrap {
		position: relative;
		background: #FFFFFF;
		border: 1px solid #AAAAAA;
		border-top: none;
		display: flex;
		align-items: stretch;
		min-height: 561px;
		overflow: hidden;
	}

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

	.nav-primary .mega-menu-container .sub-menu .menu-item {
		flex: 0 0 auto;
		gap: 0;
	}

	.nav-primary .mega-menu-wrap .sub-menu li { list-style: none; margin: 0; }
	.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;
		inset: auto !important;
		display: flex !important;
		flex-direction: column;
		gap: 15px;
		background: transparent !important;
		box-shadow: none !important;
		border: none !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		width: auto !important;
		min-width: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
		clip-path: none !important;
	}

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

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

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

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

	.lux-mega-areas .mega-menu-wrap > .sub-menu {
		display: block;
		column-count: 3;
		column-gap: 60px;
		padding: 96px 46px 40px !important;
	}

	.lux-mega-areas .mega-menu-wrap > .sub-menu > li { break-inside: avoid-column; }

	.lux-mega-areas .mega-menu-wrap .sub-menu .sub-menu {
		display: block !important;
	}

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

	.lux-mega-areas .mega-menu-wrap .sub-menu a {
		display: block;
		padding: 6px 0;
	}

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

	/* Promo panel */
	.lux-mega-promo {
		flex: 0 0 590px;
		background: #ECEFEC;
		position: relative;
		overflow: hidden;
	}

	.lux-mega-promo--content {
		position: relative;
		z-index: 2;
		padding: 82px 0 0 55px;
		max-width: 430px;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 25px;
	}

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

	.lux-mega-promo--copy {
		font-family: 'Onest', var(--lux-font);
		font-size: 16px;
		line-height: 1.29;
		font-weight: 500;
		color: var(--lux-navy);
		max-width: 289px;
		margin: 0;
	}

	.lux-mega-promo--photo {
		position: absolute;
		right: 22px;
		bottom: 0;
		width: 304px;
		height: 397px;
		object-fit: contain;
		object-position: bottom;
		z-index: 1;
	}
}

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

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

.lux-footer {
	max-width: 1440px;
	margin-inline: auto;
	padding: 100px 80px 40px;
	color: #FFFFFF;
	text-align: left;
}

.lux-footer--main {
	display: flex;
	justify-content: space-between;
	gap: 40px;
}

.lux-footer--brand {
	width: 465px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 32px;
}

.lux-footer--logo { width: 172px; height: auto; }

.lux-footer--blurb {
	font-size: 14px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.7);
	margin: 0;
}

.lux-footer--social {
	display: flex;
	gap: 16px;
}

.lux-footer--social a {
	width: 36px;
	height: 36px;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.1);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #FFFFFF;
	text-decoration: none;
}

.lux-footer--social a i,
.lux-footer--social a svg { font-size: 14px; color: #FFFFFF; }

.lux-footer--bbb { width: 88px; height: 62px; border-radius: 4px; }

.lux-footer--menus {
	display: flex;
	gap: 60px;
}

.lux-footer--col { min-width: 150px; }

.lux-footer--heading {
	font-size: 14px;
	font-weight: 800;
	text-transform: uppercase;
	color: #FFFFFF;
	margin: 0 0 20px;
}

.lux-footer--links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.lux-footer--links li { margin: 0; list-style: none; }
.lux-footer--links li::marker { content: ''; }

.lux-footer--links a {
	font-size: 14px;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.7);
	text-decoration: none;
}

.lux-footer--links a:hover { color: #FFFFFF; }

.lux-footer--credits {
	margin-top: 40px;
	padding-top: 40px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.lux-footer--credits p {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.4);
	margin: 0;
}

.lux-footer--credits .lux-footer--links {
	flex-direction: row;
	gap: 24px;
}

.lux-footer--credits .lux-footer--links a {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.4);
}

@media (max-width: 980px) {
	.lux-footer { padding: 60px 24px 32px; }
	.lux-footer--main { flex-direction: column; }
	.lux-footer--brand { width: 100%; }
	.lux-footer--menus { flex-wrap: wrap; gap: 32px; }
	.lux-footer--credits { flex-direction: column; gap: 12px; align-items: flex-start; }
}

/* ## gb-columns shells (layout scaffold; transparent by default)
--------------------------------------------- */
.lux-gb-shell > .gb-layout-column-wrap,
.lux-gb-shell .gb-block-layout-column-inner {
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 0;
}

.lux-gb-shell { margin: 0 !important; padding: 0; }

/* 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). */
.lux-gb-shell:has(.lux-job-search),
.lux-gb-shell:has(.lux-contact-form) {
	position: relative;
	z-index: 20;
	overflow: visible;
}

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

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

/* ## Blog archive — design: 3-col card grid (photo, title, date, author chip)
--------------------------------------------- */
.blog-archive--wrapper .blog-recent-articles--wrapper {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
}

.blog-archive .recent-article {
	border: 1px solid #ECECEC;
	border-radius: 12px;
	overflow: hidden;
	background: #FFFFFF;
	margin: 0;
}

.blog-archive .recent-article--content p,
.blog-archive .recent-article--content h3 { margin-bottom: 0; }

.blog-archive .recent-article--content-info-title h3 { margin-bottom: 6px; }

.blog-archive .recent-article--link { display: block; text-decoration: none; padding: 0 !important; }

.blog-archive .recent-article--image img {
	width: 100%;
	height: 229px;
	object-fit: cover;
	display: block;
}

.blog-archive .recent-article--image { line-height: 0; }

.blog-archive .recent-article--content { padding: 14px 18px 16px; }

.blog-archive .recent-article--content-info-title h3 {
	font-size: 17px;
	line-height: 23px;
	font-weight: 600;
	color: var(--lux-ink);
	margin: 0 0 6px;
}

.blog-archive .recent-article--content-info-date p {
	font-size: 12px;
	color: #8A8A8A;
	margin: 0 0 6px;
}

.blog-archive .recent-article--content-info-date p::before {
	content: '\1F552  ';
	font-size: 11px;
}

/* design cards have no excerpt / Read More */
.blog-archive .recent-article--content-info-description,
.blog-archive .recent-article--content-cta { display: none; }

/* author chip substitute: brand chip under date */
.blog-archive .recent-article--content::after {
	content: 'Luxor Staffing Team';
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: var(--lux-ink);
	border: 1px solid #E7E7E7;
	border-radius: 18px;
	padding: 4px 12px;
	margin-top: 4px;
}

.blog-archive .recent-article--content-info h3 br { display: none; }

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

.blog-archive--wrapper .wrap { padding-top: 40px; padding-bottom: 60px; }

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

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

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

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

/* tto-faq-accordion → borderless divider rows (Bootstrap markup) */
.lux-faq .faq-accordion-items { margin-top: 0; }
.lux-faq .accordion { gap: 0; }

.lux-faq .accordion-item {
	background: transparent;
	border: none;
	border-top: 1px solid rgba(12, 18, 27, 0.18);
}

.lux-faq .accordion-item:last-child { border-bottom: 1px solid rgba(12, 18, 27, 0.18); }

.lux-faq .accordion-button {
	background: transparent;
	box-shadow: none;
	padding: 18px 4px;
	font-family: var(--lux-font);
	font-size: 15px;
	font-weight: 700;
	color: var(--lux-ink);
}

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

.lux-faq .accordion-body {
	background: transparent;
	padding: 0 4px 20px;
	font-size: 14px;
	line-height: 22px;
	color: var(--lux-ink);
	opacity: 0.9;
}

/* Luxor FAQ section wrapper (heading + accordion group) */
.lux-faq {
	max-width: 1280px;
	margin: 80px auto;
	padding: 0; /* gb rows inherit an 80px section padding from the stack — the margin IS the rhythm here */
}

.lux-faq--title {
	text-align: center;
	font-size: 20px;
	font-weight: 600;
	color: var(--lux-ink);
	margin: 0 0 26px;
}

/* Contact page FAQ: sage band */
.lux-faq.is-sage {
	max-width: none;
	margin: 0;
	background: var(--lux-sage);
	padding: 90px 0;
}

.lux-faq.is-sage .lux-faq--title {
	font-size: 32px;
	margin-bottom: 40px;
}

.lux-faq.is-sage .accordion { max-width: 1280px; margin-inline: auto; }

/* tto-success-numbers → Luxor stat tiles */
.lux-stats .success-numbers {
	max-width: var(--lux-container);
	margin-inline: auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
	align-items: stretch;
}

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

.lux-stats { padding: 115px 0 193px; }

.lux-stats .success-number,
.lux-stats .success-numbers--item {
	position: relative;
	background: #FFFFFF;
	border: 1px solid #E7EFE9;
	border-radius: 8px;
	padding: 26px 30px;
	overflow: hidden;
	text-align: left;
	align-items: flex-start;
	max-width: none;
}

.lux-stats .success-number::before,
.lux-stats .success-numbers--item::before {
	content: '';
	position: absolute;
	top: -34px;
	right: -34px;
	width: 110px;
	height: 110px;
	border-radius: 50%;
	background: var(--lux-green-circle);
}

/* dark green tiles (About / Awards) */
.lux-stats.is-dark .success-number,
.lux-stats.is-dark .success-numbers--item {
	background: var(--lux-green-dark);
	border-color: var(--lux-green-dark);
}

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

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

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

/* multi-word appends ("+ Years", " Hours") keep their gap */
.lux-stats .append { white-space: pre; }

@media (max-width: 900px) {
	.lux-stats .success-numbers { grid-template-columns: repeat(2, 1fr); padding-inline: 24px; }
}

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

/* ## Block: app-promo
--------------------------------------------- */
/* Luxor App Promo */
.lux-app-promo {
	max-width: 1300px;
	margin: 90px auto;
}

.lux-app-promo--panel {
	background: var(--lux-grey-band);
	border-radius: 20px;
	display: flex;
	align-items: center;
	overflow: hidden;
	min-height: 592px;
}

.lux-app-promo--content {
	flex: 0 0 46%;
	padding: 60px 15px 60px 85px;
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.lux-app-promo--content h2 {
	font-size: 44px;
	line-height: 52px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--lux-ink);
	margin: 0;
}

.lux-app-promo--content p {
	font-size: 15px;
	line-height: 23px;
	color: var(--lux-ink);
	opacity: 0.85;
	margin: 0;
	max-width: 430px;
}

.lux-app-promo--badges { display: flex; gap: 12px; }

.lux-app-promo--badges a { text-decoration: none; }

.badge-apple, .badge-play {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	background: #000000;
	color: #FFFFFF;
	border-radius: 8px;
	padding: 7px 14px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.15;
}

.badge-apple i, .badge-play i { font-size: 22px; color: #FFFFFF; }

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

.badge-apple small, .badge-play small {
	font-size: 9px;
	font-weight: 400;
	text-transform: none;
	letter-spacing: 0.02em;
}

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

.lux-app-promo--media { flex: 1 1 auto; align-self: stretch; }

.lux-app-promo--media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

@media (max-width: 1000px) {
	.lux-app-promo { margin: 60px 24px; }
	.lux-app-promo--panel { flex-direction: column; min-height: 0; }
	.lux-app-promo--content { flex-basis: auto; padding: 32px 24px; }
	.lux-app-promo--content h2 { font-size: 32px; line-height: 38px; }
}


/* ## Block: checklist-media
--------------------------------------------- */
/* Luxor Checklist + Media */
.lux-checklist-media {
	max-width: var(--lux-container);
	margin: 100px auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 48px;
}

.lux-checklist-media.is-img-left { flex-direction: row-reverse; }

.lux-checklist-media--panel { flex: 1 1 auto; max-width: 560px; }

.lux-checklist-media--eyebrow {
	font-size: 13px;
	font-weight: 700;
	color: var(--lux-navy);
	margin: 0 0 8px;
}

.lux-checklist-media--heading {
	font-size: 40px;
	line-height: 48px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--lux-navy);
	margin: 0 0 14px;
}

.lux-checklist-media--copy {
	font-size: 15px;
	line-height: 23px;
	color: var(--lux-navy);
	opacity: 0.8;
	margin: 0 0 20px;
}

.lux-checklist-media--list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 13px;
}

.lux-checklist-media--list li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	line-height: 20px;
	color: var(--lux-navy);
	margin: 0;
	list-style: none;
}

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

.lux-checklist-media--list i,
.lux-checklist-media--list svg { color: var(--lux-green-dark); font-size: 16px; }

.lux-checklist-media--list .dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--lux-green-dark);
	flex: 0 0 auto;
}

.lux-checklist-media--media {
	flex: 0 0 663px;
	max-width: 50%;
}

.lux-checklist-media--media img {
	display: block;
	width: 100%;
	height: 524px;
	object-fit: cover;
	border-radius: 8px;
}

/* Sage card variant (Careers "Why Work With Luxor?") */
.lux-checklist-media.is-card { align-items: stretch; position: relative; min-height: 524px; }

.lux-checklist-media.is-card .lux-checklist-media--panel {
	background: var(--lux-sage);
	border-radius: 8px;
	padding: 44px 46px;
	width: 684px;
	max-width: 55%;
	align-self: center;
	position: relative;
	z-index: 2;
}

.lux-checklist-media.is-card .lux-checklist-media--media {
	position: absolute;
	top: 0;
	right: 0;
	width: 778px;
	max-width: 58%;
	height: 524px;
}

.lux-checklist-media.is-card .lux-checklist-media--list li { font-size: 15px; }

@media (max-width: 900px) {
	.lux-checklist-media { flex-direction: column !important; margin: 60px auto; padding-inline: 24px; }
	.lux-checklist-media--media { flex-basis: auto; max-width: 100%; }
	.lux-checklist-media--media img { height: auto; }
	.lux-checklist-media--heading { font-size: 30px; line-height: 36px; }
	.lux-checklist-media.is-card { min-height: 0; }
	.lux-checklist-media.is-card .lux-checklist-media--media { position: static; width: 100%; max-width: 100%; height: auto; }
	.lux-checklist-media.is-card .lux-checklist-media--panel { width: 100%; max-width: 100%; padding: 32px 24px; }
}


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

.lux-contact-form--panel {
	background: var(--lux-sage);
	border-radius: 8px;
	padding: 44px 46px;
	width: 684px;
	max-width: 52%;
	align-self: center;
}

.lux-contact-form--panel h2 {
	font-size: 40px;
	line-height: 48px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--lux-navy);
	margin: 0 0 14px;
}

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

.lux-contact-form--card {
	flex: 1 1 auto;
	background: #FFFFFF;
	border-radius: 12px;
	box-shadow: 0 13px 63.7px rgba(0, 0, 0, 0.12);
	padding: 34px 38px;
}

.lux-contact-form--form-heading {
	font-size: 18px;
	font-weight: 700;
	color: var(--lux-ink);
	margin: 0 0 16px;
}

/* Gravity Forms restyle (Orbital theme vars + explicit rules) */
.lux-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: #FFFFFF;
	--gf-ctrl-btn-radius: 24px;
}

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

.lux-contact-form .gform_wrapper input[type="text"],
.lux-contact-form .gform_wrapper input[type="email"],
.lux-contact-form .gform_wrapper input[type="tel"],
.lux-contact-form .gform_wrapper select,
.lux-contact-form .gform_wrapper textarea {
	border: 1px solid #E0E0E0;
	border-radius: 8px;
	padding: 12px 14px !important;
	font-family: var(--lux-font);
	font-size: 14px;
	height: auto !important;
	background: #FFFFFF;
}

.lux-contact-form .gform_wrapper textarea { min-height: 110px; }

.lux-contact-form .gform_footer button,
.lux-contact-form .gform_footer input[type="submit"] {
	width: 100% !important;
	background: var(--lux-green-dark) !important;
	color: #FFFFFF !important;
	border: none !important;
	border-radius: 24px !important;
	padding: 13px 20px !important;
	font-family: var(--lux-font) !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	cursor: pointer;
}

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

@media (max-width: 900px) {
	.lux-contact-form { flex-direction: column; margin: 60px auto; padding-inline: 24px; }
	.lux-contact-form--panel { width: 100%; max-width: 100%; padding: 32px 24px; }
	.lux-contact-form--panel h2 { font-size: 30px; line-height: 36px; }
	.lux-contact-form--card { width: 100%; padding: 24px; }
}


/* ## Block: cta-band
--------------------------------------------- */
/* Luxor CTA Band */
.lux-cta-band {
	max-width: var(--lux-container);
	margin: 112px auto;
	min-height: 444px;
	border-radius: 12px;
	background: var(--lux-green-dark);
	display: flex;
	overflow: hidden;
	position: relative;
}

.lux-cta-band--media {
	flex: 0 0 685px;
	max-width: 51%;
	background-size: cover;
	background-position: center;
}

.lux-cta-band--content {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 25px;
	padding: 60px 62px;
	max-width: 620px;
}

.lux-cta-band--heading {
	font-size: 48px;
	line-height: 55px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: #FFFFFF;
	margin: 0;
}

.lux-cta-band--copy {
	font-size: 16px;
	line-height: 24px;
	color: #FFFFFF;
	margin: 0;
}

.lux-cta-band--ctas {
	display: flex;
	gap: 15px;
	flex-wrap: wrap;
}

@media (max-width: 900px) {
	.lux-cta-band { flex-direction: column; margin: 60px 24px; min-height: 0; }
	.lux-cta-band--media { flex-basis: auto; max-width: 100%; min-height: 240px; }
	.lux-cta-band--content { padding: 32px 24px; }
	.lux-cta-band--heading { font-size: 34px; line-height: 40px; }
}


/* ## Block: featured-jobs
--------------------------------------------- */
/* Luxor Featured Jobs */
.lux-featured-jobs { padding: 90px 0; }

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

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

.lux-featured-jobs--head h2 {
	font-size: 32px;
	line-height: 40px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--lux-ink);
	margin: 0;
}

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

.lux-job-card {
	background: #FFFFFF;
	border: 1px solid #ECECEC;
	border-radius: 8px;
	padding: 20px 24px;
	display: flex;
	align-items: center;
	gap: 16px;
}

.lux-job-card--logo {
	flex: 0 0 56px;
	height: 56px;
	border: 1px solid #EFEFEF;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.lux-job-card--logo img { max-width: 38px; max-height: 38px; }

.lux-job-card--main {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.lux-job-card--title { font-size: 16px; font-weight: 700; color: var(--lux-ink); }
.lux-job-card--company { font-size: 13px; color: #7B7B7B; }

.lux-job-card--chips { display: flex; align-items: center; gap: 8px; margin-top: 2px; }

.lux-job-card--chips .chip {
	background: #F4F4F4;
	border-radius: 20px;
	padding: 3px 10px;
	font-size: 12px;
	color: var(--lux-ink);
}

.lux-job-card--chips .chip.is-plain { background: #F4F4F4; }
.lux-job-card--chips .dot { color: #B5B5B5; font-size: 11px; }

.lux-job-card--side {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 10px;
}

.lux-job-card--rate { font-size: 16px; font-weight: 700; color: var(--lux-ink); }

.lux-job-card--apply {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--lux-green-chip);
	border-radius: 20px;
	padding: 7px 16px;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--lux-green-dark);
	text-decoration: none;
}

.lux-job-card--apply:hover { background: var(--lux-green); color: var(--lux-ink); }

/* Careers variant */
.lux-featured-jobs.is-careers { background: var(--lux-grey-band); padding: 120px 0 130px; }

.lux-featured-jobs.is-careers .lux-featured-jobs--head h2 {
	font-size: 40px;
	line-height: 48px;
}

.lux-featured-jobs--search .label { font-size: 13px; color: var(--lux-ink); margin: 0 0 6px; }

.lux-featured-jobs--search form {
	display: flex;
	gap: 12px;
	margin: 0 0 16px;
}

.lux-featured-jobs--search input {
	flex: 1 1 auto;
	border: 1px solid #D3D3D3;
	border-radius: 28px;
	padding: 13px 18px;
	font-family: var(--lux-font);
	font-size: 15px;
	background: #FFFFFF;
}

.lux-featured-jobs--search button { border: none; cursor: pointer; font-family: var(--lux-font); }

.lux-featured-jobs--search .filters { display: flex; gap: 10px; margin-bottom: 24px; }

.lux-featured-jobs--search .filter {
	border-radius: 20px;
	padding: 6px 18px;
	font-size: 13px;
	background: #FFFFFF;
	border: 1px solid #E2E2E2;
	color: var(--lux-ink);
}

.lux-featured-jobs--search .filter.is-active {
	background: var(--lux-ink);
	border-color: var(--lux-ink);
	color: #FFFFFF;
}

.lux-featured-jobs.is-careers .lux-job-card {
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	padding: 26px 28px;
}

.lux-featured-jobs.is-careers .lux-job-card--title { font-size: 18px; }
.lux-job-card--summary { font-size: 14px; line-height: 21px; color: var(--lux-ink); opacity: 0.85; }
.lux-job-card--applybtn { font-size: 13px; padding: 7px 20px; }

@media (max-width: 900px) {
	.lux-featured-jobs { padding: 60px 24px; }
	.lux-featured-jobs--grid { grid-template-columns: 1fr; }
	.lux-featured-jobs--head { flex-direction: column; align-items: flex-start; gap: 14px; }
	.lux-job-card { flex-wrap: wrap; }
}


/* ## Block: icon-cards
--------------------------------------------- */
/* Luxor Icon Cards */
.lux-icon-cards { padding: 120px 0; }

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

.lux-icon-cards--heading {
	font-size: 48px;
	line-height: 55px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--lux-navy);
	margin: 0 0 8px;
	max-width: 640px;
}

.lux-icon-cards--copy {
	font-size: 16px;
	line-height: 24px;
	color: var(--lux-navy);
	opacity: 0.85;
	margin: 0;
	max-width: 560px;
}

.lux-icon-card {
	background: #FFFFFF;
	border-radius: 8px;
	min-height: 284px;
	padding: 34px 30px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	box-shadow: var(--lux-shadow-card);
}

.lux-icon-card--icon i,
.lux-icon-card--icon svg {
	font-size: 30px;
	color: var(--lux-green);
}

.lux-icon-card--title {
	font-size: 18px;
	font-weight: 600;
	color: var(--lux-navy);
	margin: 0;
}

.lux-icon-card--text {
	font-size: 14px;
	line-height: 21px;
	color: var(--lux-navy);
	opacity: 0.8;
	margin: 0;
}

/* grid-4: grey band, heading block above, 4 across */
.lux-icon-cards.is-grid-4 { background: var(--lux-grey-band-2); }

.lux-icon-cards.is-grid-4 .lux-icon-cards--head { margin-bottom: 36px; }

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

/* grid-3: grey band, 3 across */
.lux-icon-cards.is-grid-3 { background: var(--lux-grey-band-2); }
.lux-icon-cards.is-grid-3 .lux-icon-cards--head { margin-bottom: 36px; }
.lux-icon-cards.is-grid-3 .lux-icon-cards--grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}

/* split-2x2: pale green band, heading left col, 2×2 cards right */
.lux-icon-cards.is-split-2x2 { background: var(--lux-green-process); padding: 100px 0; }

.lux-icon-cards.is-split-2x2 .lux-icon-cards--inner {
	display: grid;
	grid-template-columns: 380px 1fr;
	gap: 60px;
	align-items: start;
}

.lux-icon-cards.is-split-2x2 .lux-icon-cards--heading {
	font-size: 32px;
	line-height: 40px;
}

.lux-icon-cards.is-split-2x2 .lux-icon-cards--copy { font-size: 15px; }

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

.lux-icon-cards.is-split-2x2 .lux-icon-card:nth-child(odd) { background: #FFFFFF; }
.lux-icon-cards.is-split-2x2 .lux-icon-card:nth-child(even) { background: var(--lux-green-mist); }

/* check-4: white bg, pale green check cards */
.lux-icon-cards.is-check-4 { background: transparent; padding: 80px 0; }

.lux-icon-cards.is-check-4 .lux-icon-cards--head { margin-bottom: 36px; }

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

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

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

@media (max-width: 1000px) {
	.lux-icon-cards { padding: 60px 24px; }
	.lux-icon-cards.is-grid-4 .lux-icon-cards--grid,
	.lux-icon-cards.is-check-4 .lux-icon-cards--grid { grid-template-columns: repeat(2, 1fr); }
	.lux-icon-cards.is-grid-3 .lux-icon-cards--grid { grid-template-columns: 1fr 1fr; }
	.lux-icon-cards.is-split-2x2 .lux-icon-cards--inner { grid-template-columns: 1fr; gap: 32px; }
	.lux-icon-cards--heading { font-size: 32px; line-height: 38px; }
}

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


/* ## Block: image-cards
--------------------------------------------- */
/* Luxor Image Cards */
.lux-image-cards { padding: 120px 0; }

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

.lux-image-cards--heading {
	font-size: 48px;
	line-height: 55px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--lux-navy);
	margin: 0 0 10px;
}

.lux-image-cards--copy {
	font-size: 14px;
	line-height: 21px;
	color: var(--lux-navy);
	opacity: 0.8;
	margin: 0 auto 44px;
	max-width: 540px;
}

.lux-image-card {
	position: relative;
	display: block;
	border-radius: 8px;
	overflow: hidden;
	text-decoration: none;
}

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

.lux-image-card--arrow {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.25);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}

.lux-image-card--arrow i,
.lux-image-card--arrow svg { color: #FFFFFF; font-size: 13px; }

.lux-image-card--label {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 40px 18px 16px;
	color: #FFFFFF;
	font-size: 18px;
	font-weight: 500;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.72), transparent);
	z-index: 1;
}

/* Home grid: 3×2 large (design: 1040 track, 332×354 cards, r14) */
.lux-image-cards.is-grid { background: var(--lux-green-band); }

.lux-image-cards.is-grid .lux-image-cards--track {
	max-width: 1040px;
	margin-inline: auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px 22px;
}

.lux-image-cards.is-grid .lux-image-card { height: 354px; border-radius: 14px; }

.lux-image-cards.is-grid .lux-image-card--label {
	font-size: 24px;
	font-weight: 500;
	letter-spacing: -0.01em;
	padding: 60px 26px 22px;
}

.lux-image-cards.is-grid .lux-image-card--arrow {
	top: 13px;
	right: 14px;
	width: 34px;
	height: 34px;
	background: rgba(0, 0, 0, 0.42);
}

/* Centered wrap: small labeled cards (label below image) */
.lux-image-cards.is-wrap { padding: 155px 0 145px; }

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

.lux-image-cards.is-wrap .lux-image-cards--inner { margin-bottom: 84px; }

.lux-image-cards.is-wrap .lux-image-cards--track {
	max-width: var(--lux-container);
	margin-inline: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 22px;
}

.lux-image-cards.is-wrap .lux-image-card {
	width: 172px;
	background: #FFFFFF;
	border: 1px solid #EAEAEA;
	border-radius: 6px;
	overflow: visible;
}

.lux-image-cards.is-wrap .lux-image-cards--track { gap: 32px 22px; }

.lux-image-cards.is-wrap .lux-image-card img {
	height: 135px;
	border-radius: 6px 6px 0 0;
}

.lux-image-cards.is-wrap .lux-image-card--label {
	position: static;
	display: block;
	background: none;
	color: var(--lux-navy);
	font-size: 13px;
	line-height: 17px;
	font-weight: 500;
	text-align: center;
	padding: 10px 8px 12px;
}

.lux-image-cards.is-wrap .lux-image-card--arrow {
	top: 8px;
	right: 8px;
	width: 22px;
	height: 22px;
	background: var(--lux-green);
}

/* Edge-bleed carousel */
.lux-image-cards.is-carousel {
	background: var(--lux-green-band);
	overflow: hidden;
	padding: 120px 0 155px;
}

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

.lux-image-cards.is-carousel .lux-image-cards--inner { margin-bottom: 64px; }

.lux-image-cards.is-carousel .lux-image-cards--track {
	display: flex;
	gap: 18px;
	overflow-x: auto;
	scrollbar-width: none;
	padding-inline: max(47px, calc((100% - var(--lux-container)) / 2));
	scroll-snap-type: x proximity;
	margin-inline: -47px;
	padding-left: 0;
}

.lux-image-cards.is-carousel .lux-image-cards--track::-webkit-scrollbar { display: none; }

.lux-image-cards.is-carousel .lux-image-card {
	flex: 0 0 332px;
	height: 354px;
	border-radius: 14px;
	scroll-snap-align: center;
}

.lux-image-cards.is-carousel .lux-image-card--label {
	font-size: 24px;
	font-weight: 500;
	letter-spacing: -0.01em;
	padding: 60px 26px 22px;
}

.lux-image-cards.is-carousel .lux-image-card--arrow {
	top: 13px;
	right: 14px;
	width: 34px;
	height: 34px;
	background: rgba(0, 0, 0, 0.42);
}

@media (max-width: 1000px) {
	.lux-image-cards { padding: 60px 24px; }
	.lux-image-cards--heading { font-size: 32px; line-height: 38px; }
	.lux-image-cards.is-grid .lux-image-cards--track { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {
	.lux-image-cards.is-grid .lux-image-cards--track { grid-template-columns: 1fr; }
}


/* ## Block: job-search
--------------------------------------------- */
/* Luxor Job Search */
.lux-job-search {
	position: relative;
	z-index: 5;
	max-width: 1440px;
	margin-inline: auto;
	padding-inline: 192px;
	margin-top: -135px; /* card overlaps the home hero (design: card y749 on 884 hero) */
}

.lux-job-search--card {
	background: #FFFFFF;
	border-radius: 20px;
	box-shadow: 0 13px 63.7px rgba(0, 0, 0, 0.09);
	padding: 40px 65px 44px;
	display: flex;
	flex-direction: column;
	gap: 21px;
}

.lux-job-search--heading {
	font-size: 32px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: #000000;
	margin: 0;
}

.lux-job-search--form {
	display: flex;
	align-items: stretch;
	gap: 10px;
	margin: 0;
}

.lux-job-search--form input {
	width: 366px;
	border: 1px solid #D3D3D3;
	border-radius: 32px;
	padding: 16px 15px;
	font-family: var(--lux-font);
	font-size: 16px;
	color: var(--lux-ink);
	background: #FFFFFF;
}

.lux-job-search--form input::placeholder { color: #8A8A8A; }

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

.lux-job-search--popular p {
	font-size: 14px;
	color: #8A8A8A;
	margin: 0 0 8px;
}

.lux-job-search--chips {
	display: flex;
	align-items: center;
	gap: 5px;
	flex-wrap: wrap;
}

.lux-job-search--chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #F2F2F2;
	border-radius: 32px;
	padding: 6px 11px;
	font-size: 13px;
	color: var(--lux-ink);
	text-decoration: none;
}

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

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

.lux-job-search--browse {
	font-size: 13px;
	color: var(--lux-green-dark);
	text-decoration: underline;
	margin-left: 8px;
}

@media (max-width: 1100px) {
	.lux-job-search { padding-inline: 24px; margin-top: -80px; }
	.lux-job-search--card { padding: 28px 24px; }
	.lux-job-search--form { flex-direction: column; }
	.lux-job-search--form input { width: 100%; }
}


/* ## Block: legal-body
--------------------------------------------- */
/* Luxor Legal Body */
.lux-legal-body {
	max-width: var(--lux-container);
	margin: 90px auto;
	display: flex;
	gap: 0;
	align-items: flex-start;
}

.lux-legal-body--nav {
	flex: 0 0 335px;
	border-right: 1px solid rgba(0, 0, 0, 0.1);
	padding-right: 40px;
	position: sticky;
	top: 120px;
}

.lux-legal-body--nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.lux-legal-body--nav li { margin: 0; list-style: none; }
.lux-legal-body--nav li::marker { content: ''; }

.lux-legal-body--nav a {
	display: block;
	padding: 10px 18px;
	border-radius: 22px;
	font-size: 15px;
	color: var(--lux-ink);
	opacity: 0.75;
	text-decoration: none;
}

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

.lux-legal-body--nav a:hover { opacity: 1; }

.lux-legal-body--content {
	flex: 1 1 auto;
	padding-left: 46px;
	max-width: 860px;
}

.lux-legal-body--content h2 {
	font-size: 28px;
	line-height: 36px;
	font-weight: 600;
	color: var(--lux-navy);
	margin: 0 0 18px;
}

.lux-legal-body--content h3 {
	font-size: 20px;
	font-weight: 600;
	color: var(--lux-navy);
	margin: 26px 0 10px;
}

.lux-legal-body--content p,
.lux-legal-body--content li {
	font-size: 15px;
	line-height: 24px;
	color: var(--lux-ink);
	opacity: 0.9;
}

@media (max-width: 900px) {
	.lux-legal-body { flex-direction: column; margin: 60px auto; padding-inline: 24px; }
	.lux-legal-body--nav { position: static; border-right: none; padding-right: 0; flex-basis: auto; width: 100%; }
	.lux-legal-body--nav ul { flex-direction: row; flex-wrap: wrap; }
	.lux-legal-body--content { padding-left: 0; }
}


/* ## Block: linkedin-feed
--------------------------------------------- */
/* Luxor LinkedIn Feed */
.lux-linkedin-feed {
	max-width: 1304px;
	margin: 100px auto;
}

.lux-linkedin-feed--head {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin-bottom: 49px;
}

.lux-linkedin-feed--head .brand { width: 46px; height: 46px; }

.lux-linkedin-feed--head .who { display: flex; flex-direction: column; }
.lux-linkedin-feed--head .name { font-size: 16px; font-weight: 700; color: var(--lux-ink); }
.lux-linkedin-feed--head .followers { font-size: 12px; color: #8A8A8A; }

.lux-linkedin-feed--head .lux-pill { font-size: 13px; padding: 7px 18px; text-transform: none; margin-left: 12px; }

.lux-linkedin-feed--grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}

.lux-li-card {
	position: relative;
	display: block;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: var(--lux-shadow-pop);
	background: #FFFFFF;
	text-decoration: none;
}

.lux-li-card--badge {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 30px;
	height: 30px;
	border-radius: 6px;
	background: rgba(0, 0, 0, 0.45);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}

.lux-li-card--badge i { color: #FFFFFF; font-size: 15px; }

.lux-li-card--photo {
	display: block;
	width: 100%;
	height: 350px;
	object-fit: cover;
}

.lux-li-card--foot {
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: 12px;
	background: rgba(255, 255, 255, 0.94);
	border-radius: 10px;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 14px;
}

.lux-li-card--foot img { width: 34px; height: 34px; }
.lux-li-card--foot .who { display: flex; flex-direction: column; }
.lux-li-card--foot .name { font-size: 13px; font-weight: 700; color: var(--lux-ink); }
.lux-li-card--foot .age { font-size: 11px; color: #8A8A8A; }

@media (max-width: 1000px) {
	.lux-linkedin-feed { margin: 60px 24px; }
	.lux-linkedin-feed--grid { grid-template-columns: 1fr; }
}


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

.lux-location-info--card {
	background: #FFFFFF;
	border-radius: 8px;
	box-shadow: var(--lux-shadow-pop);
	padding: 30px 28px;
}

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

.lux-location-info--card .icon i { color: #FFFFFF; font-size: 17px; }

.lux-location-info--card .title {
	font-size: 16px;
	font-weight: 700;
	color: var(--lux-ink);
	margin: 0 0 8px;
}

.lux-location-info--card .value,
.lux-location-info--card .value a {
	font-size: 14px;
	line-height: 21px;
	color: var(--lux-ink);
	opacity: 0.85;
	margin: 0;
	text-decoration: none;
}

@media (max-width: 1000px) {
	.lux-location-info { grid-template-columns: repeat(2, 1fr); margin: 60px 24px; }
}

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


/* ## Block: locations-finder
--------------------------------------------- */
/* Luxor Locations Finder */
.lux-locations-finder {
	max-width: 1305px;
	margin: 90px auto;
	display: flex;
	gap: 36px;
	align-items: stretch;
}

.lux-locations-finder--list { flex: 0 0 44%; }

.lux-locations-finder--list h2 {
	font-size: 40px;
	line-height: 48px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--lux-navy);
	margin: 0 0 14px;
}

.lux-locations-finder--list .copy {
	font-size: 15px;
	line-height: 23px;
	color: var(--lux-navy);
	opacity: 0.85;
	margin: 0 0 20px;
}

.lux-finder--search {
	position: relative;
	margin-bottom: 18px;
}

.lux-finder--search input {
	width: 100%;
	border: 1px solid #D3D3D3;
	border-radius: 24px;
	padding: 13px 44px 13px 18px;
	font-family: var(--lux-font);
	font-size: 14px;
	background: #FFFFFF;
}

.lux-finder--search i {
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	color: #8A8A8A;
	font-size: 14px;
}

.lux-finder--states {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-height: 560px;
	overflow-y: auto;
	padding-right: 4px;
}

.lux-finder--state-toggle {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: var(--lux-grey-band-2);
	border: none;
	border-radius: 8px;
	padding: 14px 18px;
	font-family: var(--lux-font);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--lux-ink);
	cursor: pointer;
}

.lux-finder--state.is-open .lux-finder--state-toggle { background: var(--lux-grey-band-2); }
.lux-finder--state.is-open .lux-finder--state-toggle i { transform: rotate(180deg); }

.lux-finder--state-body { display: none; padding: 14px 18px 4px; }
.lux-finder--state.is-open .lux-finder--state-body { display: block; }

.lux-finder--city { padding: 8px 0 16px; cursor: pointer; }

.lux-finder--city .name { font-size: 14px; font-weight: 700; color: var(--lux-ink); margin: 0 0 4px; }
.lux-finder--city .address { font-size: 13px; color: var(--lux-ink); opacity: 0.8; margin: 0 0 4px; }
.lux-finder--city .phone { margin: 0 0 12px; }
.lux-finder--city .phone a { font-size: 13px; color: var(--lux-green); text-decoration: underline; }

.lux-finder--city .actions { display: flex; gap: 10px; margin: 0; }
.lux-finder--city .actions .lux-pill { font-size: 12px; padding: 7px 16px; }
.lux-finder--city .actions .lux-pill--outline { border-width: 1px; font-weight: 600; }

.lux-locations-finder--map {
	flex: 1 1 auto;
	border-radius: 8px;
	overflow: hidden;
	min-height: 640px;
}

.lux-locations-finder--map iframe {
	width: 100%;
	height: 100%;
	min-height: 640px;
	border: 0;
	display: block;
}

@media (max-width: 1000px) {
	.lux-locations-finder { flex-direction: column; margin: 60px 24px; }
	.lux-locations-finder--list { flex-basis: auto; }
	.lux-locations-finder--map { min-height: 380px; }
	.lux-locations-finder--map iframe { min-height: 380px; }
}


/* ## Block: logo-row
--------------------------------------------- */
/* Luxor Logo Row */
.lux-logo-row { padding: 46px 0; }

.lux-logo-row--track {
	max-width: var(--lux-container);
	margin-inline: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
}

.lux-logo-row--item img {
	display: block;
	max-height: 74px;
	width: auto;
	filter: grayscale(1);
	opacity: 0.85;
}

/* Awards page card grid */
.lux-logo-row.is-grid { padding: 60px 0; }

.lux-logo-row.is-grid .lux-logo-row--track {
	max-width: 850px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
	justify-items: stretch;
}

.lux-logo-row.is-grid .lux-logo-row--item {
	background: #FFFFFF;
	border-radius: 8px;
	box-shadow: var(--lux-shadow-pop);
	height: 261px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 30px;
}

.lux-logo-row.is-grid .lux-logo-row--item img {
	max-height: 95px;
	max-width: 100%;
	filter: grayscale(1);
	opacity: 0.8;
}

@media (max-width: 900px) {
	.lux-logo-row { padding: 32px 24px; }
	.lux-logo-row--track { flex-wrap: wrap; justify-content: center; gap: 24px; }
	.lux-logo-row.is-grid .lux-logo-row--track { grid-template-columns: repeat(2, 1fr); }
}


/* ## Block: media-text
--------------------------------------------- */
/* Luxor Media + Text */
.lux-media-text {
	max-width: var(--lux-container);
	margin: 100px auto;
	padding-inline: 0;
	position: relative;
}

.lux-media-text--heading {
	font-size: 48px;
	line-height: 55px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--lux-navy);
	margin: 0;
}

.lux-media-text--copy { color: var(--lux-navy); }
.lux-media-text--copy p { font-size: 16px; line-height: 24px; opacity: 0.8; margin: 0 0 16px; }
.lux-media-text--copy p:last-child { margin-bottom: 0; }
.lux-media-text--cta { margin: 8px 0 0; }

.lux-media-text--media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 8px;
}

/* Variant: sage card overlapping photo */
.lux-media-text.is-card { min-height: 524px; margin: 130px auto 185px; }

.lux-media-text.is-card .lux-media-text--media {
	position: absolute;
	top: 0;
	right: 0;
	width: 776px;
	max-width: 58%;
	height: 524px;
}

.lux-media-text.is-card .lux-media-text--panel {
	position: relative;
	z-index: 2;
	width: 684px;
	max-width: 55%;
	margin-top: 63px;
	background: var(--lux-sage);
	border-radius: 8px;
	padding: 44px 46px;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.lux-media-text.is-card.is-img-left .lux-media-text--media { right: auto; left: 0; }
.lux-media-text.is-card.is-img-left .lux-media-text--panel { margin-left: auto; }

/* Variant: plain intro (large heading, CTA, photo vertically centered) */
.lux-media-text.is-plain { margin: 180px auto 90px; }
.lux-media-text.is-row { margin: 145px auto; }

.lux-media-text.is-plain,
.lux-media-text.is-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
}

.lux-media-text.is-plain .lux-media-text--panel {
	width: 684px;
	max-width: 50%;
	padding: 44px 46px;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.lux-media-text.is-plain .lux-media-text--media,
.lux-media-text.is-row .lux-media-text--media {
	width: 663px;
	max-width: 48%;
	height: 524px;
	flex: 0 0 auto;
}

.lux-media-text.is-img-left { flex-direction: row-reverse; }
.lux-media-text.is-card.is-img-left { flex-direction: unset; }

/* Variant: simple row (smaller heading, tighter) */
.lux-media-text.is-row .lux-media-text--panel {
	max-width: 44%;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.lux-media-text.is-row .lux-media-text--heading {
	font-size: 32px;
	line-height: 40px;
}

.lux-media-text.is-row .lux-media-text--copy p { font-size: 14px; line-height: 22px; }

.lux-media-text.is-row .lux-media-text--media { height: 524px; }

@media (max-width: 900px) {
	.lux-media-text { margin: 60px auto; padding-inline: 24px; }
	.lux-media-text.is-plain,
	.lux-media-text.is-row,
	.lux-media-text.is-img-left { flex-direction: column; }
	.lux-media-text.is-card { min-height: 0; }
	.lux-media-text.is-card .lux-media-text--media {
		position: static;
		width: 100%;
		max-width: 100%;
		height: auto;
	}
	.lux-media-text.is-card .lux-media-text--panel {
		width: 100%;
		max-width: 100%;
		margin-top: -40px;
	}
	.lux-media-text--panel { padding: 32px 24px !important; width: 100% !important; max-width: 100% !important; }
	.lux-media-text--media { width: 100% !important; max-width: 100% !important; height: auto !important; }
	.lux-media-text--heading { font-size: 32px; line-height: 38px; }
}


/* ## Block: mission-cards
--------------------------------------------- */
/* Luxor Mission Cards (diagonal green band) */
.lux-mission-cards {
	position: relative;
	background: var(--lux-green-mist);
	padding: 120px 0;
	overflow: hidden;
}

/* diagonal green shapes on the right (design motif) */
.lux-mission-cards::before,
.lux-mission-cards::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	width: 42%;
	background: #8FD69F;
	transform: skewX(-24deg);
}

.lux-mission-cards::before { right: -14%; opacity: 0.85; }
.lux-mission-cards::after { right: -30%; background: #5FBE74; }

.lux-mission-cards--inner {
	position: relative;
	z-index: 2;
	max-width: var(--lux-container);
	margin-inline: auto;
}

.lux-mission-cards h2 {
	font-size: 48px;
	line-height: 55px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--lux-navy);
	margin: 0 0 8px;
}

.lux-mission-cards .sub {
	font-size: 16px;
	color: var(--lux-navy);
	opacity: 0.85;
	margin: 0 0 34px;
}

.lux-mission-cards--grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 22px;
}

.lux-mission-card {
	background: #FFFFFF;
	border-radius: 8px;
	padding: 34px 38px;
	box-shadow: var(--lux-shadow-card);
}

.lux-mission-card .title {
	font-size: 20px;
	font-weight: 600;
	color: var(--lux-navy);
	margin: 0 0 12px;
}

.lux-mission-card .text {
	font-size: 15px;
	line-height: 23px;
	color: var(--lux-navy);
	opacity: 0.85;
	margin: 0;
}

@media (max-width: 900px) {
	.lux-mission-cards { padding: 60px 24px; }
	.lux-mission-cards h2 { font-size: 32px; line-height: 38px; }
	.lux-mission-cards--grid { grid-template-columns: 1fr; }
}


/* ## Block: page-hero
--------------------------------------------- */
/* Luxor Page Hero */
.lux-page-hero {
	position: relative;
	background: #0C121B;
	overflow: hidden;
}

.lux-page-hero.is-tall { min-height: 500px; }
.lux-page-hero.is-short { min-height: 400px; }

.lux-page-hero--media {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center right;
	opacity: 0.75;
}

.lux-page-hero--scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(26, 40, 54, 1) 17%, rgba(0, 0, 0, 0) 100%);
	opacity: 0.85;
}

.lux-page-hero--content {
	position: relative;
	z-index: 2;
	max-width: 1440px;
	margin-inline: auto;
	padding: 147px 47px 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
}

.lux-page-hero.is-short .lux-page-hero--content { padding-top: 100px; }

.lux-page-hero--heading {
	font-size: 60px;
	line-height: 60px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: #FFFFFF;
	max-width: 830px;
	margin: 0;
	text-shadow: 0 4px 20.3px rgba(255, 235, 131, 0.25);
}

.lux-page-hero--sub {
	font-size: 20px;
	line-height: 24px;
	color: #FFFFFF;
	max-width: 959px;
	margin: 0;
}

.lux-page-hero--ctas {
	display: flex;
	gap: 15px;
	margin-top: 6px;
}

.lux-page-hero--crumbs {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	font-weight: 300;
	color: #FFFFFF;
	margin-top: 4px;
}

.lux-page-hero--crumbs a,
.lux-page-hero--crumbs span { color: #FFFFFF; text-decoration: none; }

.lux-page-hero--crumbs i,
.lux-page-hero--crumbs svg { font-size: 17px; color: var(--lux-green); }

.lux-page-hero--ribbon {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 72px;
	z-index: 3;
	background:
		url('../../assets/images/ribbon-front.svg') bottom left / 100% 59px no-repeat;
}

.lux-page-hero--ribbon::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 87.5%;
	height: 72px;
	background: url('../../assets/images/ribbon-back.svg') bottom left / 100% 72px no-repeat;
	z-index: -1;
}

/* Home variant: centered, tall, flat 0.5 scrim, white CTA */
.lux-page-hero.is-home { min-height: 884px; }

.lux-page-hero.is-home .lux-page-hero--media {
	opacity: 1;
	background-position: center;
}

.lux-page-hero.is-home .lux-page-hero--scrim {
	background: rgba(0, 0, 0, 0.5);
	opacity: 1;
}

.lux-page-hero.is-home .lux-page-hero--content {
	align-items: center;
	text-align: center;
	justify-content: center;
	min-height: 884px;
	padding: 0 47px 120px;
	gap: 25px;
}

.lux-page-hero.is-home .lux-page-hero--heading {
	font-size: 60px;
	line-height: 66px;
	max-width: 830px;
	text-shadow: none;
}

.lux-page-hero.is-home .lux-page-hero--sub {
	font-size: 16px;
	line-height: 24px;
	max-width: 700px;
}

.lux-page-hero.is-home .lux-page-hero--ctas { justify-content: center; }

.lux-page-hero.is-home .lux-pill--green {
	background: #FFFFFF;
	color: var(--lux-ink);
}

@media (max-width: 782px) {
	.lux-page-hero--content { padding: 90px 24px 0; }
	.lux-page-hero.is-short .lux-page-hero--content { padding-top: 70px; }
	.lux-page-hero--heading { font-size: 38px; line-height: 42px; }
	.lux-page-hero--sub { font-size: 17px; line-height: 24px; }
	.lux-page-hero--ctas { flex-wrap: wrap; }
}


/* ## Block: process-steps
--------------------------------------------- */
/* Luxor Process Steps */
.lux-process-steps { padding: 120px 0 138px; }
.lux-process-steps.is-green { background: var(--lux-green-process); }
.lux-process-steps.is-grey { background: var(--lux-grey-band-2); }

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

.lux-process-steps--heading {
	font-size: 48px;
	line-height: 55px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--lux-navy);
	margin: 0 0 10px;
}

.lux-process-steps--sub {
	font-size: 14px;
	color: var(--lux-navy);
	opacity: 0.8;
	margin: 0 0 56px;
}

.lux-process-steps--track {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	position: relative;
	text-align: left;
}

.lux-step {
	position: relative;
	background: #FFFFFF;
	border-radius: 8px;
	min-height: 321px;
	padding: 26px 28px 30px;
	/* dog-ear folded corner */
	clip-path: polygon(0 0, calc(100% - 26px) 0, 100% 26px, 100% 100%, 0 100%);
	box-shadow: var(--lux-shadow-card);
}

.lux-step::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 26px;
	height: 26px;
	background: rgba(12, 18, 27, 0.07);
	clip-path: polygon(0 0, 100% 100%, 0 100%);
}

/* dashed connectors between cards */
.lux-step:not(:last-child)::after {
	content: '';
	position: absolute;
	top: 42px;
	left: 100%;
	width: 24px;
	border-top: 2px dashed rgba(12, 18, 27, 0.25);
}

.lux-step--num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 8px;
	background: var(--lux-green);
	color: #FFFFFF;
	font-size: 15px;
	font-weight: 700;
	margin-bottom: 14px;
}

.lux-step--title {
	font-size: 17px;
	font-weight: 600;
	color: var(--lux-navy);
	margin: 0 0 8px;
}

.lux-step--text {
	font-size: 14px;
	line-height: 21px;
	color: var(--lux-navy);
	opacity: 0.8;
	margin: 0;
}

@media (max-width: 1000px) {
	.lux-process-steps { padding: 60px 24px; }
	.lux-process-steps--track { grid-template-columns: repeat(2, 1fr); }
	.lux-step:not(:last-child)::after { display: none; }
	.lux-process-steps--heading { font-size: 32px; line-height: 38px; }
}

@media (max-width: 600px) {
	.lux-process-steps--track { grid-template-columns: 1fr; }
}


/* ## Block: review-wall
--------------------------------------------- */
/* Luxor Review Wall */
.lux-review-wall {
	background: var(--lux-grey-mist);
	padding: 100px 0;
	overflow: hidden;
}

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

.lux-review-wall--heading {
	font-size: 48px;
	line-height: 55px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--lux-navy);
	margin: 0 auto 20px;
	max-width: 700px;
}

.lux-review-wall--copy {
	font-size: 16px;
	line-height: 24px;
	color: var(--lux-navy);
	opacity: 0.8;
	margin: 0 auto 20px;
	max-width: 620px;
}

.lux-review-wall--meta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin-bottom: 44px;
}

.lux-review-wall--rating {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #FFFFFF;
	border-radius: 10px;
	padding: 9px 16px;
	box-shadow: var(--lux-shadow-card);
	font-size: 14px;
	color: var(--lux-ink);
}

.lux-review-wall--rating .g {
	font-weight: 700;
	font-size: 20px;
	background: linear-gradient(45deg, #4285F4, #EA4335, #FBBC05, #34A853);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.lux-review-wall--rating .stars i { color: #F4B400; font-size: 13px; }

.lux-review-wall--count {
	background: #FFFFFF;
	border-radius: 20px;
	padding: 8px 16px;
	font-size: 13px;
	color: var(--lux-green-dark);
	box-shadow: var(--lux-shadow-card);
}

.lux-review-card {
	background: #FFFFFF;
	border: 1px solid #E9E9E9;
	border-radius: 8px;
	padding: 22px 24px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	text-align: left;
}

.lux-review-card--head { display: flex; align-items: center; gap: 10px; }

.lux-review-card--head .avatar {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--lux-green-dark);
	color: #FFFFFF;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: 700;
	flex: 0 0 auto;
}

.lux-review-card--head .who { display: flex; flex-direction: column; }
.lux-review-card--head .name { font-size: 12px; font-weight: 700; text-transform: uppercase; color: var(--lux-ink); }
.lux-review-card--head .source { font-size: 11px; color: #8A8A8A; }

.lux-review-card--stars i { color: #F4B400; font-size: 14px; margin-right: 3px; }

.lux-review-card--quote {
	font-size: 13px;
	line-height: 20px;
	font-style: italic;
	color: var(--lux-ink);
	opacity: 0.9;
}

/* Marquee: two staggered rows bleeding both edges */
.lux-review-wall--rows {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.lux-review-wall--row {
	display: flex;
	gap: 18px;
	margin-left: -60px;
	margin-right: -60px;
}

.lux-review-wall--row.is-offset { margin-left: 90px; }

.lux-review-wall--row .lux-review-card { flex: 0 0 375px; }

/* Grid (reviews page) */
.lux-review-wall.is-grid { background: transparent; padding: 110px 0 120px; }

.lux-review-wall.is-grid .lux-review-wall--inner { text-align: left; }
.lux-review-wall.is-grid .lux-review-wall--heading { margin-left: 0; }
.lux-review-wall.is-grid .lux-review-wall--meta { justify-content: flex-start; }

.lux-review-wall--grid {
	max-width: var(--lux-container);
	margin-inline: auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 15px;
	align-items: start;
}

@media (max-width: 1000px) {
	.lux-review-wall { padding: 60px 24px; }
	.lux-review-wall--heading { font-size: 32px; line-height: 38px; }
	.lux-review-wall--grid { grid-template-columns: 1fr; }
	.lux-review-wall--rows { overflow-x: auto; }
	.lux-review-wall--row { margin: 0; }
	.lux-review-wall--row.is-offset { margin-left: 40px; }
}


/* ## Block: services-overlay
--------------------------------------------- */
/* Luxor Services Overlay */
.lux-services-overlay {
	position: relative;
	min-height: 665px;
}

.lux-services-overlay--media {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
}

.lux-services-overlay--card {
	position: absolute;
	left: 111px;
	top: 417px;
	width: 516px;
	background: #000000;
	border-radius: 8px;
	padding: 44px 46px;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.lux-services-overlay--card h3 {
	font-size: 32px;
	line-height: 40px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: #FFFFFF;
	margin: 0;
}

.lux-services-overlay--card p {
	font-size: 16px;
	line-height: 24px;
	color: rgba(255, 255, 255, 0.8);
	margin: 0;
}

@media (max-width: 900px) {
	.lux-services-overlay { min-height: 0; }
	.lux-services-overlay--media { position: relative; height: 300px; }
	.lux-services-overlay--card { position: static; width: auto; margin: -60px 24px 0; }
}


/* ## Block: solution-chips
--------------------------------------------- */
/* Luxor Solution Chips */
.lux-solution-chips {
	max-width: var(--lux-container);
	margin: 90px auto 192px;
	display: flex;
	align-items: center;
	gap: 60px;
}

.lux-solution-chips--media {
	flex: 0 0 650px;
	max-width: 48%;
}

.lux-solution-chips--media img {
	display: block;
	width: 100%;
	height: 523px;
	object-fit: cover;
	border-radius: 8px;
}

.lux-solution-chips--panel { flex: 1 1 auto; max-width: 562px; }

.lux-solution-chips--heading {
	font-size: 32px;
	line-height: 40px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--lux-navy);
	margin: 0 0 24px;
}

.lux-solution-chips--grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px 15px;
}

.lux-chip {
	display: flex;
	align-items: center;
	background: var(--lux-green-chip);
	border-radius: 6px;
	min-height: 43px;
	padding: 10px 18px;
	font-size: 16px;
	font-weight: 500;
	color: var(--lux-navy);
}

@media (max-width: 900px) {
	.lux-solution-chips { flex-direction: column; margin: 60px auto; padding-inline: 24px; align-items: stretch; }
	.lux-solution-chips--media { flex-basis: auto; }
	.lux-solution-chips--grid { grid-template-columns: 1fr; }
}


/* ## Block: story-collage
--------------------------------------------- */
/* Luxor Story Collage */
.lux-story-collage {
	max-width: var(--lux-container);
	margin: 100px auto;
	display: flex;
	gap: 17px;
}

.lux-story-collage--main { flex: 0 0 592px; }

.lux-story-collage--main img {
	display: block;
	width: 100%;
	height: 743px;
	object-fit: cover;
	border-radius: 8px;
}

.lux-story-collage--right {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.lux-story-collage--panel {
	background: var(--lux-sage);
	border-radius: 8px;
	padding: 50px 52px;
	min-height: 558px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 16px;
}

.lux-story-collage--panel h2 {
	font-size: 40px;
	line-height: 48px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--lux-navy);
	margin: 0;
}

.lux-story-collage--panel p {
	font-size: 15px;
	line-height: 23px;
	color: var(--lux-navy);
	opacity: 0.85;
	margin: 0;
}

.lux-story-collage--panel .cta { opacity: 1; margin-top: 4px; }

.lux-story-collage--subs {
	display: flex;
	gap: 20px;
	flex: 1 1 auto;
}

.lux-story-collage--subs img {
	display: block;
	width: calc(50% - 10px);
	height: 165px;
	object-fit: cover;
	border-radius: 8px;
}

@media (max-width: 1000px) {
	.lux-story-collage { flex-direction: column; margin: 60px auto; padding-inline: 24px; }
	.lux-story-collage--main { flex-basis: auto; }
	.lux-story-collage--main img { height: auto; }
	.lux-story-collage--panel { min-height: 0; padding: 32px 24px; }
	.lux-story-collage--panel h2 { font-size: 30px; line-height: 36px; }
}


/* ## Block: team-grid
--------------------------------------------- */
/* Luxor Team Grid */
.lux-team-grid {
	max-width: 1323px;
	margin: 90px auto;
}

.lux-team-grid--grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 55px 35px;
}

.lux-team-card { display: flex; flex-direction: column; }

.lux-team-card--photo {
	height: 260px;
	border-radius: 8px;
	overflow: hidden;
	background: #F0F0F0;
	margin-bottom: 18px;
	display: block;
}

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

.lux-team-card--photo .placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.lux-team-card--photo .placeholder i { font-size: 64px; color: #C9C9C9; }

.lux-team-card--name {
	font-size: 19px;
	font-weight: 700;
	color: var(--lux-ink);
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 4px;
}

.lux-team-card--name .li {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #EFEFEF;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.lux-team-card--name .li i { font-size: 12px; color: var(--lux-ink); }

.lux-team-card--role {
	font-size: 13px;
	font-weight: 600;
	color: var(--lux-green);
	margin-bottom: 10px;
}

.lux-team-card--bio {
	font-size: 13px;
	line-height: 20px;
	color: var(--lux-ink);
	opacity: 0.8;
}

@media (max-width: 1000px) {
	.lux-team-grid { margin: 60px 24px; }
	.lux-team-grid--grid { grid-template-columns: repeat(2, 1fr); gap: 32px 24px; }
}

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


/* ## Block: video-testimonial
--------------------------------------------- */
/* Luxor Video Testimonial */
.lux-video-testimonial {
	background: var(--lux-grey-band);
	padding: 160px 0;
}

.lux-vt--inner {
	max-width: 1300px;
	margin-inline: auto;
	position: relative;
}

.lux-vt--slide {
	display: none;
	align-items: center;
	gap: 60px;
}

.lux-vt--slide.is-active { display: flex; }

.lux-vt--media {
	flex: 0 0 505px;
	position: relative;
}

/* green offset frame behind the video (design: offset left/bottom) */
.lux-vt--media::before {
	content: '';
	position: absolute;
	left: -11px;
	top: 22px;
	bottom: -11px;
	right: 6px;
	background: var(--lux-green);
	z-index: 0;
}

.lux-vt--media video,
.lux-vt--media img {
	position: relative;
	display: block;
	width: 100%;
	height: 341px;
	object-fit: cover;
	z-index: 1;
}

.lux-vt--play {
	position: absolute;
	right: 22px;
	bottom: 22px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.35);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}

.lux-vt--play i, .lux-vt--play svg { color: #FFFFFF; font-size: 14px; }

.lux-vt--body { flex: 1 1 auto; max-width: 560px; }

.lux-vt--quote {
	font-size: 24px;
	line-height: 33px;
	font-weight: 600;
	color: var(--lux-navy);
	margin: 0 0 28px;
	border: none;
	padding: 0;
}

.lux-vt--attribution {
	font-size: 13px;
	font-weight: 700;
	line-height: 18px;
	color: var(--lux-navy);
	margin: 0 0 4px;
}

.lux-vt--location {
	font-size: 12px;
	color: var(--lux-navy);
	opacity: 0.7;
	margin: 0;
}

.lux-vt--nav {
	position: absolute;
	left: 565px;
	bottom: 10px;
	display: flex;
	gap: 18px;
}

.lux-vt--prev, .lux-vt--next {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	font-size: 22px;
	color: var(--lux-ink);
}

.lux-vt--prev.is-disabled { color: #C7C7C7; cursor: default; }

@media (max-width: 1000px) {
	.lux-video-testimonial { padding: 60px 24px; }
	.lux-vt--slide.is-active { flex-direction: column; align-items: stretch; gap: 32px; }
	.lux-vt--media { flex-basis: auto; }
	.lux-vt--nav { position: static; margin-top: 20px; }
	.lux-vt--quote { font-size: 20px; line-height: 28px; }
}

/* ## ============ 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. */
.lux-row > .gb-layout-column-wrap { max-width: none; width: 100%; margin: 0; padding: 0; }
.lux-row { margin: 0 !important; padding: 0 !important; }

.lux-row .gb-block-layout-column-inner { padding: 0; max-width: none; width: 100%; margin: 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: 15px; }
.wp-block-button.lux-btn { margin: 0; }

.wp-block-button.lux-btn > .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 23px;
	border-radius: 28px;
	font-family: var(--lux-font);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
	text-transform: uppercase;
	text-decoration: none;
	border: none;
}

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

.wp-block-button.lux-pill--green > .wp-block-button__link:hover { background: #58B56C; color: var(--lux-ink); }

.wp-block-button.lux-pill--ghost > .wp-block-button__link {
	background: transparent;
	border: 1px solid #FFFFFF;
	color: #FFFFFF;
}

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

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

.wp-block-button.lux-pill--solid > .wp-block-button__link:hover { background: #14401D; color: #FFFFFF; }

/* CTA band media is a core image now (was a bg-image div) */
.lux-cta-band .lux-cta-band--media {
	flex: 0 0 685px;
	max-width: 51%;
}

.lux-cta-band--media img { width: 100%; height: 100%; object-fit: cover; }

/* Services overlay media is a core image now */
.lux-services-overlay--media { position: absolute; inset: 0; }
.lux-services-overlay--media img { width: 100%; height: 100%; object-fit: cover; }

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

.lux-solution-chips--grid li {
	display: flex;
	align-items: center;
	background: var(--lux-green-chip);
	border-radius: 6px;
	min-height: 43px;
	padding: 10px 18px;
	font-size: 16px;
	font-weight: 500;
	color: var(--lux-navy);
	margin: 0;
	list-style: none;
}

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

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

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

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

/* Story collage subs are core figures now */
.lux-story-collage--subs { display: flex; gap: 20px; flex: 1 1 auto; }
.lux-story-collage--subs figure { width: calc(50% - 10px); }
.lux-story-collage--subs img { width: 100%; height: 165px; object-fit: cover; border-radius: 8px; }

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

/* App promo heading uses the shared type ramp on core h2 */
.lux-app-promo--content h2 { font-size: 44px; line-height: 52px; font-weight: 600; letter-spacing: -0.01em; color: var(--lux-ink); margin: 0; }

/* Vertical rhythm variable (house standard: one section-padding system) */
:root {
	--lux-section-pad: 120px;
	--lux-section-pad-mobile: 60px;
}

/* 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; }
