.ges-page {
	--ges-red: #E33939;
	--ges-deep-red: #C62828;
	--ges-charcoal: #1F1F1F;
	--ges-dark-grey: #333333;
	--ges-grey: #666666;
	--ges-light-grey: #F7F7F7;
	--ges-white: #FFFFFF;
	--ges-border: rgba(31, 31, 31, 0.12);
	--ges-shadow: 0 18px 45px rgba(31, 31, 31, 0.12);
	--ges-radius: 28px;
	--ges-max: 1180px;
}

.ges-page,
  .ges-page * {
	box-sizing: border-box;
}

.ges-page {
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
	padding: 0;
	font-family: Aptos, Arial, Helvetica, sans-serif;
	color: var(--ges-charcoal);
	background: var(--ges-white);
	line-height: 1.5;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.ges-page a,
  .entry-content .ges-page a,
  .wp-block-post-content .ges-page a {
	color: inherit;
	text-decoration: none !important;
}

.ges-page img {
	max-width: 100%;
}

.entry-content > .wp-block-html:has(.ges-page),
  .wp-block-post-content > .wp-block-html:has(.ges-page),
  .wp-site-blocks .wp-block-html:has(.ges-page) {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.ges-page h1,
  .ges-page h2,
  .ges-page h3,
  .ges-page p {
	font-family: Aptos, Arial, Helvetica, sans-serif;
}

.ges-container {
	width: min(var(--ges-max), calc(100% - 40px));
	margin: 0 auto;
}

.ges-topbar {
	position: sticky;
	top: 0;
	z-index: 20;
	background: rgba(255, 255, 255, 0.94);
	border-bottom: 1px solid var(--ges-border);
}

.ges-header {
	min-height: 82px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.ges-brand {
	display: flex;
	align-items: center;
	gap: 16px;
	min-width: 0;
}

.ges-logo {
	width: min(270px, 58vw);
	height: auto;
	object-fit: contain;
	flex: 0 0 auto;
}

.ges-brand-text strong {
	display: block;
	font-size: 18px;
	line-height: 1.1;
	letter-spacing: -.02em;
}

.ges-brand-text span {
	display: block;
	margin-top: 4px;
	font-size: 13px;
	color: var(--ges-grey);
	font-weight: 600;
}

.ges-nav {
	display: flex;
	align-items: center;
	gap: 18px;
	color: var(--ges-dark-grey);
	font-size: 14px;
	font-weight: 700;
}

.ges-nav a:hover {
	color: var(--ges-red);
}

.ges-btn,
  .ges-btn-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 14px 22px;
	border-radius: 999px;
	font-weight: 800;
	font-size: 15px;
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.ges-btn {
	color: var(--ges-white) !important;
	background: var(--ges-red);
	box-shadow: 0 14px 30px rgba(227, 57, 57, 0.22);
}

.ges-btn:hover {
	background: var(--ges-deep-red);
	transform: translateY(-1px);
	box-shadow: 0 18px 38px rgba(227, 57, 57, 0.26);
}

.ges-btn-secondary {
	color: var(--ges-red) !important;
	background: var(--ges-white);
	border: 1px solid rgba(227, 57, 57, 0.28);
}

.ges-btn-secondary:hover {
	transform: translateY(-1px);
	border-color: var(--ges-red);
	box-shadow: var(--ges-shadow);
}

.ges-hero {
	position: relative;
	padding: 86px 0 48px;
	background: radial-gradient(circle at 85% 12%, rgba(227, 57, 57, 0.08), transparent 32%), linear-gradient(135deg, #FFFFFF 0%, #F8F8F8 100%);
	overflow: hidden;
}

.ges-hero::before {
	content: "";
	position: absolute;
	width: 540px;
	height: 540px;
	border: 1px solid rgba(227, 57, 57, 0.18);
	border-radius: 50%;
}

.ges-hero::after {
	content: "";
	position: absolute;
	width: 520px;
	height: 520px;
	background-image: repeating-radial-gradient(circle at center, rgba(31,31,31,0.065) 0 1px, transparent 1px 18px);
	opacity: .5;
}

.ges-hero-grid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 48px;
	align-items: center;
}

.ges-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 20px;
	padding: 8px 13px;
	border: 1px solid rgba(227, 57, 57, 0.22);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.8);
	color: var(--ges-red);
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.ges-dot {
	width: 9px;
	height: 9px;
	border-radius: 999px;
	background: var(--ges-red);
	box-shadow: 0 0 0 6px rgba(227, 57, 57, 0.12);
}

.ges-hero h1 {
	margin: 0;
	max-width: 820px;
	color: var(--ges-charcoal);
	font-size: clamp(42px, 6vw, 78px);
	line-height: .95;
	letter-spacing: -.06em;
	font-weight: 900;
}

.ges-hero h1 span {
	color: var(--ges-red);
}

.ges-lead {
	margin: 26px 0 0;
	max-width: 720px;
	color: var(--ges-dark-grey);
	font-size: clamp(18px, 2vw, 22px);
	line-height: 1.45;
}

.ges-hero-actions {
	margin-top: 34px;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.ges-hero-card {
	position: relative;
	padding: 28px;
	border-radius: var(--ges-radius);
	background: rgba(255, 255, 255, 0.88);
	border: 1px solid var(--ges-border);
	box-shadow: var(--ges-shadow);
	overflow: hidden;
}

.ges-hero-card::before {
	content: "";
	position: absolute;
	top: -50px;
	right: -50px;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	background: rgba(227, 57, 57, 0.08);
}

.ges-hero-card-inner {
	position: relative;
	z-index: 2;
}

.ges-big-logo {
	display: block;
	width: min(190px, 70%);
	margin: 0 auto 24px;
	object-fit: contain;
	border-radius: 28px;
	box-shadow: 0 16px 38px rgba(31, 31, 31, 0.16);
}

.ges-status-card {
	padding: 20px;
	border-radius: 18px;
	background: var(--ges-light-grey);
	border-left: 5px solid var(--ges-red);
}

.ges-status-card strong {
	display: block;
	font-size: 22px;
	letter-spacing: -.03em;
}

.ges-status-card p {
	margin: 8px 0 0;
	color: var(--ges-grey);
	font-weight: 650;
}

.ges-iso-badge {
	margin-top: 18px;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px;
	border: 1px solid rgba(227, 57, 57, 0.35);
	border-radius: 18px;
	background: #FFFFFF;
}

.ges-iso-icon {
	width: 46px;
	height: 46px;
	display: grid;
	border-radius: 14px;
	background: var(--ges-red);
	color: #FFFFFF;
	font-size: 24px;
	font-weight: 900;
	flex: 0 0 auto;
}

.ges-iso-badge strong {
	display: block;
	font-size: 16px;
	letter-spacing: .04em;
}

.ges-iso-badge span {
	display: block;
	margin-top: 2px;
	color: var(--ges-grey);
	font-size: 13px;
	font-weight: 700;
}

.ges-capability-strip {
	position: relative;
	z-index: 4;
	margin: 0 auto;
	transform: translateY(32px);
}

.ges-strip-inner {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	overflow: hidden;
	border-radius: 22px;
	background: var(--ges-charcoal);
	box-shadow: 0 20px 45px rgba(31, 31, 31, 0.18);
}

.ges-strip-inner div {
	padding: 20px 12px;
	color: var(--ges-white);
	text-align: center;
	font-weight: 900;
	letter-spacing: .02em;
	border-right: 1px solid rgba(255,255,255,0.12);
}

.ges-strip-inner div:last-child {
	border-right: 0;
	color: #FFFFFF;
	background: var(--ges-red);
}

.ges-section {
	padding: 92px 0;
}

.ges-section-light {
	background: #F7F7F7;
}

.ges-section-title {
	max-width: 780px;
	margin-bottom: 36px;
}

.ges-kicker {
	margin: 0 0 10px;
	color: var(--ges-red);
	font-weight: 900;
	font-size: 13px;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.ges-section h2 {
	margin: 0;
	color: var(--ges-charcoal);
	font-size: clamp(32px, 4vw, 52px);
	line-height: 1.02;
	letter-spacing: -.05em;
	font-weight: 900;
}

.ges-section-title p,
  .ges-copy {
	margin: 18px 0 0;
	color: var(--ges-dark-grey);
	font-size: 18px;
	line-height: 1.65;
}

.ges-grid-3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.ges-card {
	padding: 28px;
	min-height: 250px;
	border-radius: var(--ges-radius);
	background: var(--ges-white);
	border: 1px solid var(--ges-border);
	box-shadow: 0 12px 32px rgba(31, 31, 31, 0.045);
}

.ges-card-icon {
	width: 48px;
	height: 48px;
	margin-bottom: 20px;
	display: grid;
	border-radius: 16px;
	background: var(--ges-red);
	color: var(--ges-white);
	font-weight: 900;
	font-size: 18px;
}

.ges-card h3 {
	margin: 0;
	color: var(--ges-charcoal);
	font-size: 21px;
	line-height: 1.15;
	letter-spacing: -.03em;
	font-weight: 900;
}

.ges-card p {
	margin: 13px 0 0;
	color: var(--ges-grey);
	font-size: 15.5px;
	line-height: 1.6;
	font-weight: 550;
}

.ges-v4d {
	color: #FFFFFF;
	background: radial-gradient(circle at 15% 10%, rgba(227,57,57,0.24), transparent 28%), linear-gradient(135deg, #1F1F1F 0%, #2B2B2B 100%);
}

.ges-v4d .ges-section-title h2,
  .ges-v4d .ges-section-title p,
  .ges-v4d .ges-kicker {
	color: #FFFFFF;
}

.ges-v4d .ges-kicker {
	color: #FF7070;
}

.ges-v4d-grid {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 32px;
	align-items: start;
}

.ges-v4d-logo-card {
	padding: 30px;
	border-radius: var(--ges-radius);
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.14);
}

.ges-v4d-logo {
	display: block;
	width: min(260px, 80%);
	margin: 0 auto 24px;
	border-radius: 24px;
}

.ges-v4d-logo-card p {
	margin: 0;
	color: rgba(255,255,255,0.78);
	font-size: 16px;
	line-height: 1.6;
	font-weight: 600;
}

.ges-feature-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
	margin: 0 0 28px;
	padding: 0;
	list-style: none;
}

.ges-feature-list li {
	padding: 15px 16px;
	border-radius: 16px;
	color: rgba(255,255,255,0.9);
	background: rgba(255,255,255,0.07);
	border: 1px solid rgba(255,255,255,0.12);
	font-weight: 750;
}

.ges-viewer-wrap {
	border-radius: var(--ges-radius);
	overflow: hidden;
	background: var(--ges-charcoal);
	border: 1px solid var(--ges-border);
	box-shadow: var(--ges-shadow);
}

.ges-viewer-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 18px;
	background: #FFFFFF;
	border-bottom: 1px solid var(--ges-border);
}

.ges-viewer-head strong {
	font-size: 15px;
}

.ges-viewer-head span {
	color: var(--ges-grey);
	font-size: 13px;
	font-weight: 700;
}

.ges-viewer-frame {
	position: relative;
	height: 560px;
	background: #222;
}

.ges-viewer-frame iframe {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

.ges-mobile-viewer-card {
	display: none;
	padding: 26px;
	border-radius: var(--ges-radius);
	background: #FFFFFF;
	border: 1px solid var(--ges-border);
	box-shadow: var(--ges-shadow);
}

.ges-mobile-viewer-card p {
	margin: 0 0 18px;
	color: var(--ges-grey);
	font-weight: 650;
}

.ges-tech-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}

.ges-tech-card {
	padding: 24px;
	border-radius: 22px;
	background: #FFFFFF;
	border: 1px solid var(--ges-border);
}

.ges-tech-card h3 {
	margin: 0 0 10px;
	color: var(--ges-charcoal);
	font-size: 19px;
	line-height: 1.15;
	letter-spacing: -.03em;
}

.ges-tech-card p {
	margin: 0;
	color: var(--ges-grey);
	font-size: 15px;
	line-height: 1.55;
	font-weight: 550;
}

.ges-quality-grid {
	display: grid;
	grid-template-columns: 0.8fr 1.2fr;
	gap: 28px;
	align-items: stretch;
}

.ges-quality-panel {
	padding: 32px;
	border-radius: var(--ges-radius);
	background: #FFFFFF;
	border: 1px solid var(--ges-border);
	box-shadow: var(--ges-shadow);
}

.ges-quality-list {
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 12px;
}

.ges-quality-list li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	color: var(--ges-grey);
	font-weight: 650;
}

.ges-check {
	width: 24px;
	height: 24px;
	flex: 0 0 auto;
	display: grid;
	border-radius: 999px;
	background: var(--ges-red);
	color: #FFFFFF;
	font-size: 14px;
	font-weight: 900;
}

.ges-rfq {
	background: linear-gradient(135deg, rgba(227,57,57,0.95), rgba(198,40,40,0.95)), #E33939;
	color: #FFFFFF;
}

.ges-rfq .ges-section-title h2,
  .ges-rfq .ges-section-title p,
  .ges-rfq .ges-kicker {
	color: #FFFFFF;
}

.ges-rfq .ges-btn-secondary {
	color: #FFFFFF !important;
	background: transparent;
	border-color: rgba(255,255,255,0.46);
}

.ges-rfq .ges-btn-secondary:hover {
	background: rgba(255,255,255,0.12);
}

.ges-rfq-note {
	margin-top: 22px;
	padding: 18px;
	border-radius: 18px;
	background: rgba(255,255,255,0.12);
	color: rgba(255,255,255,0.88);
	font-weight: 650;
}

.ges-contact-grid {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 28px;
}

.ges-contact-card {
	padding: 30px;
	border-radius: var(--ges-radius);
	background: #FFFFFF;
	border: 1px solid var(--ges-border);
	box-shadow: var(--ges-shadow);
}

.ges-contact-card h3 {
	margin: 0;
	font-size: 28px;
	letter-spacing: -.04em;
}

.ges-contact-card p {
	margin: 6px 0 0;
	color: var(--ges-grey);
	font-weight: 650;
}

.ges-contact-list {
	margin: 26px 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 14px;
}

.ges-contact-list a,
  .ges-contact-list span {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	color: var(--ges-charcoal);
	font-weight: 800;
}

.ges-contact-list small {
	display: block;
	color: var(--ges-grey);
	font-weight: 700;
}

.ges-footer {
	padding: 32px 0;
	color: rgba(255,255,255,0.82);
	background: var(--ges-charcoal);
}

.ges-footer-inner {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	align-items: center;
}

.ges-footer strong {
	color: #FFFFFF;
}

.ges-footer-links {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	font-weight: 800;
}

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

@media (max-width: 980px) {
	.ges-nav {
		display: none;
	}
	
	.ges-hero-grid,
								    .ges-v4d-grid,
								    .ges-quality-grid,
								    .ges-contact-grid {
		grid-template-columns: 1fr;
	}
	
	.ges-grid-3 {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.ges-tech-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.ges-strip-inner {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 720px) {
	.ges-container {
		width: min(100% - 28px, var(--ges-max));
	}
	
	.ges-header {
		min-height: 76px;
	}
	
	.ges-brand-text span {
		display: none;
	}
	
	.ges-logo {
		width: min(220px, 58vw);
		height: auto;
	}
	
	.ges-topbar .ges-btn {
		display: none;
	}
	
	.ges-hero {
		padding: 58px 0 34px;
	}
	
	.ges-hero h1 {
		font-size: clamp(40px, 13vw, 58px);
	}
	
	.ges-lead {
		font-size: 17px;
	}
	
	.ges-hero-actions {
		flex-direction: column;
	}
	
	.ges-btn,
								    .ges-btn-secondary {
		width: 100%;
	}
	
	.ges-capability-strip {
		transform: translateY(20px);
	}
	
	.ges-strip-inner {
		grid-template-columns: repeat(2, 1fr);
		border-radius: 18px;
	}
	
	.ges-strip-inner div {
		padding: 16px 8px;
		font-size: 14px;
	}
	
	.ges-section {
		padding: 68px 0;
	}
	
	.ges-grid-3,
								    .ges-tech-grid,
								    .ges-feature-list {
		grid-template-columns: 1fr;
	}
	
	.ges-card {
		min-height: auto;
	}
	
	.ges-viewer-wrap {
		display: none;
	}
	
	.ges-mobile-viewer-card {
		display: block;
	}
	
	.ges-footer-inner {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* WordPress page/template compatibility fixes */
.wp-site-blocks .ges-page,
  .entry-content .ges-page,
  .wp-block-post-content .ges-page,
  body .ges-page {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

.ges-page a,
  .ges-page a:visited,
  .ges-page a:hover,
  .ges-page a:active {
	text-decoration: none !important;
}

@media (max-width: 980px) {
	.ges-page .ges-nav {
		display: none !important;
	}
	
	.ges-page .ges-hero-grid,
								    .ges-page .ges-v4d-grid,
								    .ges-page .ges-quality-grid,
								    .ges-page .ges-contact-grid {
		grid-template-columns: 1fr !important;
	}
	
	.ges-page .ges-grid-3,
								    .ges-page .ges-tech-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 720px) {
	.ges-page .ges-container {
		width: min(100% - 28px, var(--ges-max)) !important;
	}
	
	.ges-page .ges-topbar .ges-btn,
								    .ges-page .ges-nav {
		display: none !important;
	}
	
	.ges-page .ges-hero-grid,
								    .ges-page .ges-v4d-grid,
								    .ges-page .ges-quality-grid,
								    .ges-page .ges-contact-grid,
								    .ges-page .ges-grid-3,
								    .ges-page .ges-tech-grid,
								    .ges-page .ges-feature-list {
		grid-template-columns: 1fr !important;
	}
	
	.ges-page .ges-hero-actions {
		flex-direction: column !important;
	}
	
	.ges-page .ges-btn,
								    .ges-page .ges-btn-secondary {
		width: 100% !important;
	}
	
	.ges-page .ges-viewer-wrap {
		display: none !important;
	}
	
	.ges-page .ges-mobile-viewer-card {
		display: block !important;
	}
}

/* Final WordPress contained-page override */
.ges-page,
.wp-site-blocks .ges-page,
.entry-content .ges-page,
.wp-block-post-content .ges-page,
body .ges-page {
	width: min(100%, 1180px) !important;
	max-width: 1180px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	overflow-x: hidden !important;
}

.ges-page .ges-container {
	width: 100% !important;
	max-width: 1180px !important;
	padding-left: 22px !important;
	padding-right: 22px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.ges-page .ges-hero h1 {
	font-size: clamp(42px, 5vw, 68px) !important;
}

.ges-page .ges-section h2 {
	font-size: clamp(32px, 4vw, 48px) !important;
}

.ges-page .ges-hero h1 span,
.ges-page h1 span {
	color: #E33939 !important;
}

.ges-page .ges-btn,
.ges-page a.ges-btn,
.ges-page .ges-v4d .ges-btn,
.ges-page .ges-hero-actions .ges-btn {
	background: #E33939 !important;
	background-color: #E33939 !important;
	color: #FFFFFF !important;
	border-color: #E33939 !important;
	box-shadow: 0 14px 30px rgba(227, 57, 57, 0.22) !important;
}

.ges-page .ges-btn:hover,
.ges-page a.ges-btn:hover,
.ges-page .ges-v4d .ges-btn:hover,
.ges-page .ges-hero-actions .ges-btn:hover {
	background: #C62828 !important;
	background-color: #C62828 !important;
	border-color: #C62828 !important;
	color: #FFFFFF !important;
}

.ges-page .ges-iso-icon,
.ges-page .ges-check,
.ges-page .ges-card-icon {
	background: #E33939 !important;
	background-color: #E33939 !important;
	color: #FFFFFF !important;
	border-color: #E33939 !important;
}

.ges-page .ges-strip-inner {
	background: #1F1F1F !important;
	background-color: #1F1F1F !important;
}

.ges-page .ges-strip-inner > div {
	background: #1F1F1F !important;
	background-color: #1F1F1F !important;
	color: #FFFFFF !important;
	border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
}

.ges-page .ges-strip-inner > div:last-child {
	background: #E33939 !important;
	background-color: #E33939 !important;
	color: #FFFFFF !important;
	border-right: 0 !important;
}

.ges-page .ges-card-icon {
	width: 48px !important;
	height: 48px !important;
	border-radius: 16px !important;
	display: grid !important;
}

.ges-page .ges-iso-icon,
.ges-page .ges-check {
	display: grid !important;
	flex: 0 0 auto !important;
}

.ges-page .ges-capability-strip {
	transform: translateY(28px) !important;
}

.ges-page .ges-workflow-line {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-wrap: wrap !important;
	gap: 18px !important;
	width: 100% !important;
	padding: 16px 22px !important;
	border-radius: 999px !important;
	background: #1F1F1F !important;
	box-shadow: 0 18px 38px rgba(31, 31, 31, 0.16) !important;
}

.ges-page .ges-workflow-line span {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 36px !important;
	padding: 8px 10px !important;
	color: #FFFFFF !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	letter-spacing: .02em !important;
	white-space: nowrap !important;
}

.ges-page .ges-workflow-line span:not(:last-child)::after {
	content: "→" !important;
	position: absolute !important;
	right: -16px !important;
	color: #E33939 !important;
	font-weight: 900 !important;
	font-size: 14px !important;
}

.ges-page .ges-workflow-line span:last-child {
	padding-left: 18px !important;
	padding-right: 18px !important;
	background: #E33939 !important;
	color: #FFFFFF !important;
	border-radius: 999px !important;
	box-shadow: 0 10px 24px rgba(227, 57, 57, 0.28) !important;
}

@media (max-width: 720px) {
	.ges-page .ges-workflow-line {
		border-radius: 22px !important;
		gap: 10px 18px !important;
		padding: 12px !important;
	}
	
	.ges-page .ges-workflow-line span {
		min-height: 34px !important;
		padding: 8px !important;
		font-size: 12px !important;
	}
	
	.ges-page .ges-workflow-line span:not(:last-child)::after {
		right: -15px !important;
		font-size: 12px !important;
	}
	
	.ges-page .ges-workflow-line span:last-child {
		padding-left: 14px !important;
		padding-right: 14px !important;
	}
}

.ges-page .ges-workflow-line {
	padding: 18px 26px !important;
	gap: 24px !important;
}

.ges-page .ges-workflow-line span {
	font-size: 16px !important;
	min-height: 42px !important;
	padding: 10px 12px !important;
}

.ges-page .ges-workflow-line span:not(:last-child)::after {
	right: -20px !important;
	font-size: 16px !important;
}

.ges-page .ges-workflow-line span:last-child {
	padding-left: 22px !important;
	padding-right: 22px !important;
}

@media (max-width: 720px) {
	.ges-page .ges-workflow-line {
		gap: 12px 20px !important;
		padding: 14px !important;
	}
	
	.ges-page .ges-workflow-line span {
		font-size: 13px !important;
		min-height: 36px !important;
		padding: 8px !important;
	}
	
	.ges-page .ges-workflow-line span:not(:last-child)::after {
		right: -17px !important;
		font-size: 13px !important;
	}
}

.ges-page .ges-iso-icon,
.ges-page .ges-check,
.ges-page .ges-card-icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	line-height: 1 !important;
	padding: 0 !important;
}

.ges-page .ges-iso-icon {
	width: 46px !important;
	height: 46px !important;
	min-width: 46px !important;
	min-height: 46px !important;
	font-size: 24px !important;
}

.ges-page .ges-check {
	width: 24px !important;
	height: 24px !important;
	min-width: 24px !important;
	min-height: 24px !important;
	font-size: 13px !important;
}

.ges-page .ges-card-icon {
	width: 48px !important;
	height: 48px !important;
	min-width: 48px !important;
	min-height: 48px !important;
	font-size: 16px !important;
}

/* =========================================================
   GES CLIENT CAROUSEL - FINAL STABLE VERSION
   Uses unique gesx-* classes to avoid WordPress/theme conflicts.
   ========================================================= */
.ges-page .gesx-clients {
	background: #FFFFFF !important;
}

.ges-page .gesx-client-carousel,
.gesx-client-carousel {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	overflow: hidden !important;
	padding: 10px 0 14px !important;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 7%, #000 93%, transparent 100%) !important;
	mask-image: linear-gradient(90deg, transparent 0%, #000 7%, #000 93%, transparent 100%) !important;
}

.ges-page .gesx-client-track,
.gesx-client-track {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	width: max-content !important;
	max-width: none !important;
	gap: 0 !important;
	animation: gesxLogoScroll 105s linear infinite !important;
}

.ges-page .gesx-client-carousel:hover .gesx-client-track,
.gesx-client-carousel:hover .gesx-client-track {
	animation-play-state: paused !important;
}

.ges-page .gesx-logo-set,
.gesx-logo-set {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 18px !important;
	padding-right: 18px !important;
	margin: 0 !important;
	width: max-content !important;
	max-width: none !important;
}

.ges-page .gesx-logo-card,
.gesx-logo-card {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 190px !important;
	width: 190px !important;
	height: 96px !important;
	max-width: 190px !important;
	max-height: 96px !important;
	margin: 0 !important;
	padding: 18px 22px !important;
	box-sizing: border-box !important;
	background: #FFFFFF !important;
	border: 1px solid rgba(31, 31, 31, 0.12) !important;
	border-radius: 18px !important;
	box-shadow: 0 10px 30px rgba(31, 31, 31, 0.07) !important;
	overflow: hidden !important;
}

.ges-page .gesx-logo-card img,
.gesx-logo-card img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
}

@keyframes gesxLogoScroll {
	from {
		transform: translateX(0);
	}
	
	to {
		transform: translateX(-50%);
	}
}

@media (max-width: 720px) {
	.ges-page .gesx-logo-set,
	  .gesx-logo-set {
		gap: 12px !important;
		padding-right: 12px !important;
	}
	
	.ges-page .gesx-logo-card,
	  .gesx-logo-card {
		flex-basis: 158px !important;
		width: 158px !important;
		height: 84px !important;
		max-width: 158px !important;
		max-height: 84px !important;
		padding: 15px 18px !important;
		border-radius: 14px !important;
	}
	
	.ges-page .gesx-client-track,
	  .gesx-client-track {
		animation-duration: 90s !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ges-page .gesx-client-carousel,
	  .gesx-client-carousel {
		overflow-x: auto !important;
		-webkit-mask-image: none !important;
		mask-image: none !important;
	}
	
	.ges-page .gesx-client-track,
	  .gesx-client-track {
		animation: none !important;
	}
}
/* Cesium iframe hard display override */
.ges-page .ges-viewer-wrap {
  display: block !important;
}

.ges-page .ges-viewer-frame {
  position: relative !important;
  width: 100% !important;
  height: 640px !important;
  min-height: 640px !important;
  background: #1F1F1F !important;
  overflow: hidden !important;
}

.ges-page .ges-viewer-frame iframe,
.ges-page iframe.ges-cesium-iframe {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 640px !important;
  border: 0 !important;
  background: #1F1F1F !important;
}

@media (max-width: 720px) {
  .ges-page .ges-viewer-wrap {
    display: block !important;
  }

  .ges-page .ges-viewer-frame {
    height: 480px !important;
    min-height: 480px !important;
  }

  .ges-page .ges-viewer-frame iframe,
  .ges-page iframe.ges-cesium-iframe {
    min-height: 480px !important;
  }
}

/* Keep Cesium iframe visible */
.ges-page .ges-viewer-wrap {
	display: block !important;
	position: relative !important;
	z-index: 1 !important;
}

.ges-page .ges-viewer-frame {
	position: relative !important;
	width: 100% !important;
	height: 640px !important;
	min-height: 640px !important;
	background: #1F1F1F !important;
	overflow: hidden !important;
}

.ges-page .ges-viewer-frame iframe,
.ges-page iframe.ges-cesium-iframe {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 640px !important;
	border: 0 !important;
	background: #1F1F1F !important;
	pointer-events: auto !important;
	position: relative !important;
	z-index: 2 !important;
}

.ges-page .ges-mobile-viewer-card {
	display: none !important;
}

@media (max-width: 720px) {
	.ges-page .ges-viewer-wrap {
		display: block !important;
	}

	.ges-page .ges-viewer-frame {
		height: 480px !important;
		min-height: 480px !important;
	}

	.ges-page .ges-viewer-frame iframe,
	.ges-page iframe.ges-cesium-iframe {
		min-height: 480px !important;
	}

	.ges-page .ges-mobile-viewer-card {
		display: none !important;
	}
}