/*
 * XGene Stage 8 Theme Correction 1.13.5
 * CTA color optimization, site-wide visual consistency polish,
 * and final header/button/card refinement before Stage 9.
 */

:root {
	/* Refined warm conversion accent: more enterprise, less loud orange. */
	--xg-coral: #d8744d;
	--xg-coral-hover: #bf613c;
	--xg-coral-deep: #a95131;
	--xg-peach: #fbefe9;
	--xg-line: #d5e0ea;
	--xg-shadow: 0 2px 5px rgb(15 42 74 / 6%), 0 18px 42px rgb(15 42 74 / 10%);
	--xg-button-radius: .8rem;
}

/* --------------------------------------------------------------------------
   01. PRIMARY CTA SYSTEM
   Warm CTA stays limited to conversion moments, but with a more premium tone.
   -------------------------------------------------------------------------- */
.xg-button,
.xg-hub-button,
#ast-desktop-header .main-header-menu > .xg-nav-utility > .menu-link,
#ast-desktop-header .main-header-menu > .xg-nav-conversion > .menu-link {
	font-weight: 800 !important;
	letter-spacing: -.012em;
}

.xg-button--coral,
.xg-button--coral:visited,
.xg-hub-button--primary,
.xg-hub-button--primary:visited,
#ast-desktop-header .main-header-menu > .xg-nav-conversion > .menu-link,
#ast-desktop-header .main-header-menu > .xg-nav-conversion > .menu-link:visited,
.xg-hub-cta .xg-hub-button--secondary {
	color: #fff !important;
	background: linear-gradient(135deg, #de7a53 0%, var(--xg-coral) 55%, #cf6940 100%) !important;
	border-color: #cb6740 !important;
	box-shadow: 0 10px 24px rgb(191 97 60 / 18%) !important;
}

.xg-button--coral:hover,
.xg-button--coral:focus-visible,
.xg-hub-button--primary:hover,
.xg-hub-button--primary:focus-visible,
#ast-desktop-header .main-header-menu > .xg-nav-conversion > .menu-link:hover,
#ast-desktop-header .main-header-menu > .xg-nav-conversion > .menu-link:focus-visible,
.xg-hub-cta .xg-hub-button--secondary:hover,
.xg-hub-cta .xg-hub-button--secondary:focus-visible {
	color: #fff !important;
	background: linear-gradient(135deg, #c96b45 0%, var(--xg-coral-hover) 100%) !important;
	border-color: var(--xg-coral-hover) !important;
	box-shadow: 0 13px 28px rgb(169 81 49 / 22%) !important;
	transform: translateY(-1px);
}

/* Keep paired actions visually distinct; avoid coral stacking on one row. */
.xg-button-row .xg-button--coral + .xg-button--coral {
	color: var(--xg-deep-blue) !important;
	background: #fff !important;
	border-color: #c8d5e2 !important;
	box-shadow: 0 4px 14px rgb(15 42 74 / 6%) !important;
}
.xg-button-row .xg-button--coral + .xg-button--coral:hover,
.xg-button-row .xg-button--coral + .xg-button--coral:focus-visible {
	color: #fff !important;
	background: var(--xg-deep-blue) !important;
	border-color: var(--xg-deep-blue) !important;
	box-shadow: 0 10px 24px rgb(10 45 132 / 18%) !important;
}

.xg-button--outline,
.xg-button--outline:visited,
.xg-hub-button--light,
.xg-hub-button--light:visited {
	border-color: #cbd7e2 !important;
	color: var(--xg-deep-blue) !important;
	background: #fff !important;
	box-shadow: 0 4px 16px rgb(15 42 74 / 4%);
}
.xg-button--outline:hover,
.xg-button--outline:focus-visible,
.xg-hub-button--light:hover,
.xg-hub-button--light:focus-visible {
	border-color: var(--xg-deep-blue) !important;
	color: var(--xg-white) !important;
	background: var(--xg-deep-blue) !important;
	box-shadow: 0 10px 24px rgb(10 45 132 / 18%);
}

.xg-button--ghost-light,
.xg-button--ghost-light:visited,
.xg-hub-button--secondary,
.xg-hub-button--secondary:visited {
	border-color: rgb(255 255 255 / 58%) !important;
	background: rgb(255 255 255 / 10%) !important;
	box-shadow: none !important;
}
.xg-button--ghost-light:hover,
.xg-button--ghost-light:focus-visible,
.xg-hub-button--secondary:hover,
.xg-hub-button--secondary:focus-visible {
	border-color: rgb(255 255 255 / 82%) !important;
	background: rgb(255 255 255 / 18%) !important;
}

/* --------------------------------------------------------------------------
   02. HEADER REFINEMENT
   Slightly stronger enterprise framing without becoming heavy.
   -------------------------------------------------------------------------- */
#masthead,
.ast-primary-header-bar {
	box-shadow: 0 1px 0 rgb(15 42 74 / 7%);
}

.site-header .site-logo-img img,
#ast-desktop-header .site-header .custom-logo {
	width: 13rem !important;
	max-height: 4.1rem !important;
}

#ast-desktop-header .main-header-menu {
	gap: .14rem !important;
}

#ast-desktop-header .main-header-menu > .menu-item > .menu-link {
	font-size: 1rem !important;
	font-weight: 770 !important;
	padding: 0 .88rem !important;
}

#ast-desktop-header .main-header-menu > .xg-nav-utility > .menu-link,
#ast-desktop-header .main-header-menu > .xg-nav-conversion > .menu-link {
	min-height: 3rem !important;
	height: 3rem !important;
	padding: 0 1.08rem !important;
	border-radius: .82rem !important;
}

#ast-desktop-header .main-header-menu > .xg-nav-utility > .menu-link {
	border-color: #ccd8e3 !important;
	background: linear-gradient(180deg, #fff 0%, #f9fbfe 100%) !important;
	box-shadow: 0 4px 14px rgb(15 42 74 / 5%) !important;
}

#ast-desktop-header .main-header-menu > .menu-item:not(.xg-nav-utility):not(.xg-nav-conversion) > .menu-link::after {
	left: .82rem !important;
	right: .82rem !important;
}

/* --------------------------------------------------------------------------
   03. CARD CONSISTENCY POLISH
   Shared surface language across hubs, service cards, audience cards, and routes.
   -------------------------------------------------------------------------- */
.xg-card,
.xg-hub-route,
.xg-service-grid--enterprise .xg-service-card,
.xg-audience-card,
.xg-contact-path,
.xg-service-180-card,
.xg-analysis-feature,
.xg-analysis-side article,
body.page-id-168 .xg-filter-form,
body.page-id-168 .xg-card {
	border-color: var(--xg-line) !important;
	border-radius: 1.2rem !important;
	box-shadow: 0 10px 28px rgb(15 42 74 / 7%) !important;
}

.xg-card:hover,
.xg-card:focus-within,
.xg-hub-route:hover,
.xg-hub-route:focus-visible,
.xg-service-grid--enterprise .xg-service-card:hover,
.xg-service-grid--enterprise .xg-service-card:focus-visible,
.xg-audience-card:hover,
.xg-audience-card:focus-visible,
.xg-contact-path:hover,
.xg-contact-path:focus-visible,
.xg-service-180-card:hover,
.xg-service-180-card:focus-visible,
.xg-analysis-side article:hover,
.xg-analysis-side article:focus-within,
body.page-id-168 .xg-card:hover {
	border-color: rgb(17 93 246 / 24%) !important;
	box-shadow: 0 18px 42px rgb(15 42 74 / 12%) !important;
	transform: translateY(-4px);
}

.xg-card::before {
	width: .26rem;
	background: linear-gradient(180deg, var(--xg-blue), var(--xg-teal));
}

.xg-card__icon,
.xg-hub-route__icon,
.xg-service-pressure-grid a > span,
.xg-contact-path > span,
.xg-audience-card__icon {
	border-radius: .9rem !important;
}

.xg-card h3,
.xg-hub-route h3,
.xg-service-grid--enterprise .xg-service-card__title,
.xg-audience-card h3,
.xg-contact-path strong {
	letter-spacing: -.028em;
}

/* --------------------------------------------------------------------------
   04. HERO / SECTION RHYTHM
   Bring headings and lead spacing into a tighter enterprise rhythm.
   -------------------------------------------------------------------------- */
.xg-home-hero h1,
.xg-enterprise-hero h1,
.xg-contact-hero h1,
.xg-hub-hero h1,
.xg-service-hub-hero__copy h1,
.xg-service-detail-hero__copy h1,
.xg190-hero h1,
.xg111-hero h1,
.xg-editorial-cover h1,
.xg-compact-hero h1 {
	letter-spacing: -.055em !important;
	text-wrap: balance;
}

.xg-home-hero__content > p,
.xg-enterprise-lead,
.xg-hub-lead,
.xg-services-hero__lead,
.xg-service-detail-hero__copy > p,
.xg190-hero__lead,
.xg111-hero p {
	max-width: 44rem !important;
}

.xg-home-proof,
.xg-service-pressure-band,
.xg-hub-section--routes,
.xg-services-catalog,
.xg-hub-section--analysis {
	border-top: 1px solid rgb(15 42 74 / 5%);
}

.xg-contact-assurance__brand,
.xg-about-story,
.xg-business-contact__routing {
	border-radius: 1.15rem !important;
}

/* --------------------------------------------------------------------------
   05. MOBILE / TABLET HOLD-TOGETHER
   Preserve the mobile economy decisions while keeping visual structure intact.
   -------------------------------------------------------------------------- */
@media (max-width: 980px) {
	#ast-desktop-header .main-header-menu > .menu-item > .menu-link {
		padding-inline: .76rem !important;
	}
}

@media (max-width: 760px) {
	:root {
		--xg-button-radius: .78rem;
	}

	.xg-button,
	.xg-hub-button,
	body.xg-r10 .xg-button {
		width: 100%;
		min-height: 3.15rem;
		padding: .78rem 1rem !important;
	}

	.xg-button-row,
	.xg-hub-actions {
		gap: .7rem !important;
	}

	.xg-card,
	.xg-hub-route,
	.xg-service-grid--enterprise .xg-service-card,
	.xg-audience-card,
	.xg-contact-path,
	.xg-service-180-card,
	body.page-id-168 .xg-card {
		border-radius: 1rem !important;
		box-shadow: 0 8px 22px rgb(15 42 74 / 7%) !important;
	}

	.site-header .site-logo-img img,
	.ast-mobile-header-wrap .custom-logo {
		max-height: 3.45rem !important;
	}
}
