/*
 * XGene 1.7.3 — global contrast, life-sciences motion, section choreography,
 * contact information architecture, submenu readability, and editorial reading fixes.
 */
:root {
	--xg172-navy:#082b49;
	--xg172-ink:#17354f;
	--xg172-text:#3b5870;
	--xg172-muted:#5b7288;
	--xg172-blue:#145ef5;
	--xg172-cyan:#20bfd5;
	--xg172-teal:#079da0;
	--xg172-lime:#7dbd18;
	--xg172-coral:#f47a3c;
	--xg172-violet:#7458d8;
	--xg172-line:#d8e4ee;
	--xg172-ice:#f4f8fc;
	--xg172-aqua:#effaf9;
	--xg172-warm:#fff6f1;
	--xg172-shadow:0 16px 44px rgb(8 43 73 / 10%);
	--xg172-shadow-hover:0 22px 56px rgb(8 43 73 / 15%);
}

/* --------------------------------------------------------------------------
   01. GLOBAL TYPOGRAPHY / CONTRAST
   -------------------------------------------------------------------------- */
body { color:var(--xg172-text); }
/*
 * 1.7.3 permanent contrast rule:
 * Do not globally force every H1/H2/H3 to navy. Dark enterprise heroes own
 * their foreground color; editorial/section surfaces own navy separately.
 */
.xg-section-heading h1,
.xg-section-heading h2,
.xg-section-heading h3,
.xg-hub-heading h1,
.xg-hub-heading h2,
.xg-hub-heading h3,
.xg-prose-surface h1,
.xg-prose-surface h2,
.xg-prose-surface h3,
.xg-editorial-reading-content h1,
.xg-editorial-reading-content h2,
.xg-editorial-reading-content h3,
.xg-enterprise-section h1,
.xg-enterprise-section h2,
.xg-enterprise-section h3 {
	color:var(--xg172-navy);
}
.xg-eyebrow,
.xg-section-heading .xg-eyebrow,
.xg-hub-heading .xg-eyebrow,
.xg-enterprise-page .xg-eyebrow,
.xg-editorial-170 .xg-eyebrow {
	color:#087f87 !important;
	font-size:clamp(.72rem,.69rem + .08vw,.8rem) !important;
	font-weight:900 !important;
	letter-spacing:.105em !important;
}
.xg-section-heading h2,
.xg-hub-heading h2,
.xg-evidence-copy h2,
.xg-about-story__rail h2,
.xg-contact-assurance h2,
.xg-methodology-prose h2,
.xg-editorial-library__head h2,
.xg-editorial-journey h2,
.xg-enterprise-cta__inner h2,
.xg-hub-cta__inner h2,
.xg-decision-pathway__grid h2 {
	color:var(--xg172-navy) !important;
	font-weight:790 !important;
}
.xg-section-heading p:not(.xg-eyebrow),
.xg-hub-heading p:not(.xg-eyebrow),
.xg-enterprise-lead,
.xg-hub-lead,
.xg-compact-hero__content > p:not(.xg-eyebrow),
.xg-home-hero .xg-lead {
	color:#425f77 !important;
}
.xg-enterprise-hero--about h1,
.xg-contact-hero h1,
.xg-hub-hero--insights h1,
.xg-methodology-hero h1,
.xg-editorial-hub-hero h1,
.xg-compact-hero h1 {
	font-weight:820 !important;
	letter-spacing:-.052em !important;
}
/* Dark hero families must never inherit low-contrast heading colors. */
.xg-hub-hero--insights h1,
.xg-compact-hero--services h1,
.xg-compact-hero--service-detail h1,
.xg-intelligence-domain .xg-compact-hero h1,
.xg-resource-center .xg-compact-hero h1 {
	color:#fff !important;
	text-shadow:0 2px 22px rgb(0 0 0 / 12%);
}
.xg-hub-hero--insights .xg-hub-lead,
.xg-compact-hero--services .xg-compact-hero__content > p,
.xg-compact-hero--service-detail .xg-compact-hero__content > p {
	color:rgb(255 255 255 / 88%) !important;
}

/* Footer contrast — headings and links should be immediately readable. */
.xg-site-footer { background:#062843 !important; }
.xg-footer-brand p { color:#d7e5ef !important; font-size:.94rem !important; line-height:1.62 !important; }
.xg-footer-nav h2 {
	color:#fff !important;
	font-size:1rem !important;
	font-weight:850 !important;
	letter-spacing:-.01em !important;
}
.xg-footer-nav a { color:#d7e5ef !important; font-size:.92rem !important; font-weight:620 !important; line-height:1.55 !important; }
.xg-footer-nav a:hover,.xg-footer-nav a:focus-visible { color:#8de5e6 !important; }
.xg-footer-bottom { color:#b7ccdb !important; }
.xg-footer-bottom a { color:#82dbde !important; }

/* --------------------------------------------------------------------------
   02. MEGA MENU READABILITY
   -------------------------------------------------------------------------- */
@media (min-width:1101px) {
	#ast-desktop-header .xg-mega-panel__intro {
		color:#49647c !important;
		font-size:.98rem !important;
		font-weight:560 !important;
		line-height:1.55 !important;
	}
	#ast-desktop-header .xg-mega-card { min-height:9rem !important; padding:1.15rem 1.2rem !important; }
	#ast-desktop-header .xg-mega-card strong { color:var(--xg172-navy) !important; font-size:1.12rem !important; font-weight:820 !important; line-height:1.23 !important; }
	#ast-desktop-header .xg-mega-card small { color:#49647c !important; font-size:.92rem !important; font-weight:540 !important; line-height:1.5 !important; }
	#ast-desktop-header .xg-mega-panel__footer a { font-size:.93rem !important; font-weight:820 !important; }
	#ast-desktop-header .xg-mega-label { color:#49647c !important; font-size:.82rem !important; font-weight:900 !important; letter-spacing:.105em !important; }
	#ast-desktop-header .xg-insights-group a { padding:.58rem .6rem !important; }
	#ast-desktop-header .xg-insights-group a strong { color:var(--xg172-navy) !important; font-size:1.04rem !important; font-weight:820 !important; line-height:1.25 !important; }
	#ast-desktop-header .xg-insights-group a small { color:#49647c !important; font-size:.86rem !important; line-height:1.42 !important; }
	#ast-desktop-header .xg-mega-feature strong { color:var(--xg172-navy) !important; font-size:1.18rem !important; line-height:1.25 !important; }
	#ast-desktop-header .xg-mega-feature span:not(.xg-mega-label) { color:#49647c !important; font-size:.9rem !important; line-height:1.48 !important; }
}

/* --------------------------------------------------------------------------
   03. ROBUST SECTION MOTION SYSTEM
   Essential content remains visible; motion enriches rather than gates content.
   -------------------------------------------------------------------------- */
html.xg-motion-173:not(.xg-reduced-motion) [data-xg-motion-section] {
	position:relative;
}
html.xg-motion-173:not(.xg-reduced-motion) [data-xg-motion-section]::before {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:3px;
	background:linear-gradient(90deg,var(--xg172-blue),var(--xg172-cyan),var(--xg172-teal),var(--xg172-lime),var(--xg172-coral));
	transform:scaleX(0);
	transform-origin:left center;
	opacity:.78;
	content:"";
	transition:transform .85s cubic-bezier(.2,.78,.2,1);
	pointer-events:none;
}
html.xg-motion-173:not(.xg-reduced-motion) [data-xg-motion-section].xg-section-motion-active::before { transform:scaleX(1); }
html.xg-motion-173:not(.xg-reduced-motion) .xg-section-motion-item {
	transform:translate3d(0,16px,0);
	opacity:.72;
	transition:transform .56s cubic-bezier(.2,.78,.2,1),opacity .42s ease;
	transition-delay:var(--xg-section-delay,0ms);
}
html.xg-motion-173:not(.xg-reduced-motion) .xg-section-motion-active .xg-section-motion-item { transform:none; opacity:1; }

/* --------------------------------------------------------------------------
   04. HOMEPAGE — LIFE-SCIENCES MOTION GRAPHIC
   -------------------------------------------------------------------------- */
.xg-life-science-flow {
	position:relative;
	min-height:31rem !important;
	overflow:hidden;
	border:1px solid rgb(20 94 245 / 13%) !important;
	border-radius:1.6rem !important;
	background:
		radial-gradient(circle at 52% 50%,rgb(32 191 213 / 16%),transparent 10rem),
		linear-gradient(145deg,#ffffff,#f4f9ff 52%,#eefaf8) !important;
	box-shadow:0 24px 64px rgb(8 43 73 / 12%) !important;
}
.xg-life-science-flow::before {
	position:absolute;
	inset:0;
	background-image:
		linear-gradient(rgb(8 43 73 / 3%) 1px,transparent 1px),
		linear-gradient(90deg,rgb(8 43 73 / 3%) 1px,transparent 1px);
	background-size:32px 32px;
	mask-image:linear-gradient(to bottom,transparent,black 16%,black 84%,transparent);
	content:"";
	pointer-events:none;
}
.xg-life-science-flow figcaption {
	position:absolute;
	top:1.05rem;
	left:1.2rem;
	z-index:8;
	color:#315b78 !important;
	font-size:.74rem !important;
	font-weight:900 !important;
	letter-spacing:.105em !important;
	text-transform:uppercase;
}
.xg-life-science-flow__svg { position:absolute; inset:2.9rem .8rem 1rem; width:calc(100% - 1.6rem); height:calc(100% - 3.9rem); overflow:visible; }
.xg-life-route { fill:none; stroke-width:3.2; stroke-linecap:round; opacity:.6; }
.xg-life-route--blue { stroke:url(#xg-flow-gradient-blue); }
.xg-life-route--cyan { stroke:#20bfd5; }
.xg-life-route--teal { stroke:#0aa6a6; }
.xg-life-route--lime { stroke:#7dbd18; }
.xg-life-route--coral { stroke:#f47a3c; stroke-width:3.6; }
.xg-life-particle { filter:url(#xg-flow-glow); }
.xg-life-particle--blue { fill:#145ef5; }
.xg-life-particle--cyan { fill:#20bfd5; }
.xg-life-particle--teal { fill:#079da0; }
.xg-life-particle--lime { fill:#7dbd18; }
.xg-life-particle--coral { fill:#f47a3c; }
.xg-life-science-flow__core {
	position:absolute;
	top:50%; left:50%;
	z-index:5;
	display:grid;
	width:11.2rem; height:11.2rem;
	place-content:center;
	padding:1rem;
	border:1px solid rgb(255 255 255 / 68%);
	border-radius:50%;
	color:#fff;
	background:linear-gradient(145deg,#0a3152,#0c6380 60%,#0aa6a6);
	box-shadow:0 0 0 1.1rem rgb(20 94 245 / 5%),0 0 0 2.15rem rgb(10 166 166 / 4%),0 20px 45px rgb(8 43 73 / 20%);
	text-align:center;
	transform:translate(-50%,-50%);
}
.xg-life-science-flow__helix { width:3.6rem; height:3.6rem; margin:0 auto .35rem; fill:none; stroke:#9ff2ec; stroke-width:2.2; stroke-linecap:round; }
.xg-life-science-flow__core span { color:#baf5f0; font-size:.62rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.xg-life-science-flow__core strong { margin-top:.18rem; font-size:1.22rem; line-height:1.05; }
.xg-life-science-flow__core small { margin-top:.22rem; color:#dceff3; font-size:.68rem; line-height:1.3; }
.xg-life-node {
	position:absolute;
	z-index:6;
	display:grid;
	width:10.2rem;
	min-height:6.6rem;
	padding:.85rem .9rem;
	border:1px solid var(--xg172-line);
	border-radius:1rem;
	background:rgb(255 255 255 / 96%);
	box-shadow:0 12px 30px rgb(8 43 73 / 9%);
}
.xg-life-node .xg-icon { width:1.3rem; height:1.3rem; margin-bottom:.35rem; color:var(--xg-local,#145ef5); }
.xg-life-node span { color:var(--xg-local,#145ef5); font-size:.67rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.xg-life-node strong { margin-top:.28rem; color:var(--xg172-navy); font-size:.8rem; line-height:1.32; }
.xg-life-node--regulatory { --xg-local:var(--xg172-blue); top:15%; left:4%; border-top:4px solid var(--xg172-blue); }
.xg-life-node--cmc { --xg-local:#079da0; top:15%; right:4%; border-top:4px solid var(--xg172-teal); }
.xg-life-node--quality { --xg-local:#648f12; left:4%; bottom:9%; border-top:4px solid var(--xg172-lime); }
.xg-life-node--inspection { --xg-local:#d85c25; right:4%; bottom:9%; border-top:4px solid var(--xg172-coral); }
.xg-life-science-flow__output {
	position:absolute;
	right:.85rem;
	top:50%;
	z-index:7;
	display:none;
	padding:.6rem .72rem;
	border-radius:.65rem;
	background:#fff7f1;
	box-shadow:0 8px 20px rgb(244 122 60 / 12%);
	transform:translateY(-50%);
}
.xg-life-science-flow__output span,.xg-life-science-flow__output strong { display:block; }
.xg-life-science-flow__output span { color:#c95926; font-size:.62rem; font-weight:900; text-transform:uppercase; }
.xg-life-science-flow__output strong { color:var(--xg172-navy); font-size:.75rem; }

html.xg-motion-173:not(.xg-reduced-motion) .xg-motion-active .xg-life-science-flow__core { animation:xg172-core-breathe 2.8s ease-in-out infinite; }
html.xg-motion-173:not(.xg-reduced-motion) .xg-motion-active .xg-life-science-flow__helix { animation:xg172-helix-rock 3.6s ease-in-out infinite; transform-origin:center; }
html.xg-motion-173:not(.xg-reduced-motion) .xg-motion-active .xg-life-node { animation:xg172-node-lift 3.8s ease-in-out infinite; }
html.xg-motion-173:not(.xg-reduced-motion) .xg-motion-active .xg-life-node--cmc { animation-delay:.45s; }
html.xg-motion-173:not(.xg-reduced-motion) .xg-motion-active .xg-life-node--quality { animation-delay:.9s; }
html.xg-motion-173:not(.xg-reduced-motion) .xg-motion-active .xg-life-node--inspection { animation-delay:1.35s; }
@keyframes xg172-core-breathe { 0%,100%{transform:translate(-50%,-50%) scale(1)} 50%{transform:translate(-50%,-50%) scale(1.045)} }
@keyframes xg172-helix-rock { 0%,100%{transform:rotate(-4deg) scale(1)} 50%{transform:rotate(5deg) scale(1.08)} }
@keyframes xg172-node-lift { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }

/* --------------------------------------------------------------------------
   05. ABOUT — larger readable animated system
   -------------------------------------------------------------------------- */
.xg-about-system { width:min(100%,32rem) !important; }
.xg-about-system__core { inset:32% !important; }
.xg-about-system__core span { font-size:.76rem !important; }
.xg-about-system__core strong { font-size:1.48rem !important; }
.xg-about-system__core small { font-size:.78rem !important; }
.xg-about-system__node { min-width:9.3rem !important; padding:.9rem 1rem !important; color:var(--xg172-navy) !important; font-size:.92rem !important; font-weight:850 !important; line-height:1.25 !important; }
html.xg-motion-173:not(.xg-reduced-motion) .xg-about-system.xg-motion-active .xg-about-system__orbit { animation:xg172-orbit 8s linear infinite !important; }
html.xg-motion-173:not(.xg-reduced-motion) .xg-about-system.xg-motion-active .xg-about-system__orbit--inner { animation:xg172-counter-orbit 6.5s linear infinite !important; }
html.xg-motion-173:not(.xg-reduced-motion) .xg-about-system.xg-motion-active .xg-about-system__core { animation:xg172-about-core 2.7s ease-in-out infinite !important; }
html.xg-motion-173:not(.xg-reduced-motion) .xg-about-system.xg-motion-active .xg-about-system__node { animation:xg172-about-node 3.4s ease-in-out infinite !important; }
html.xg-motion-173:not(.xg-reduced-motion) .xg-about-system.xg-motion-active .xg-about-system__node--two { animation-delay:.35s !important; }
html.xg-motion-173:not(.xg-reduced-motion) .xg-about-system.xg-motion-active .xg-about-system__node--three { animation-delay:.7s !important; }
html.xg-motion-173:not(.xg-reduced-motion) .xg-about-system.xg-motion-active .xg-about-system__node--four { animation-delay:1.05s !important; }
@keyframes xg172-orbit { to{transform:rotate(360deg)} }
@keyframes xg172-counter-orbit { to{transform:rotate(-360deg)} }
@keyframes xg172-about-core { 0%,100%{transform:scale(1)} 50%{transform:scale(1.055)} }
@keyframes xg172-about-node { 0%,100%{transform:translateY(0) scale(1)} 50%{transform:translateY(-9px) scale(1.015)} }

/* --------------------------------------------------------------------------
   06. CONTACT — more visible motion, clearer conversion hierarchy, no redundancy
   -------------------------------------------------------------------------- */
.xg-contact-hero__grid { min-height:27rem !important; gap:clamp(2.3rem,5vw,5rem) !important; }
.xg-contact-signal {
	position:relative !important;
	min-height:17rem !important;
	padding:0 !important;
	background:transparent !important;
	box-shadow:none !important;
}
.xg-contact-signal__svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.xg-contact-signal__svg path { fill:none; stroke:rgb(20 94 245 / 35%); stroke-width:4; stroke-linecap:round; }
.xg-contact-particle--one { fill:var(--xg172-blue); }
.xg-contact-particle--two { fill:var(--xg172-coral); }
.xg-contact-signal__card {
	position:absolute;
	display:grid !important;
	width:min(12.5rem,36%);
	min-height:8.1rem;
	padding:1rem 1.05rem !important;
	border:1px solid var(--xg172-line) !important;
	border-radius:1rem !important;
	background:rgb(255 255 255 / 96%) !important;
	box-shadow:var(--xg172-shadow) !important;
}
.xg-contact-signal__card--one { top:24%; left:0; border-top:4px solid var(--xg172-blue) !important; }
.xg-contact-signal__card--two { top:3%; left:50%; transform:translateX(-50%); border-top:4px solid var(--xg172-teal) !important; }
.xg-contact-signal__card--three { top:24%; right:0; border-top:4px solid var(--xg172-coral) !important; }
.xg-contact-signal__card span { color:#0d61ce !important; font-size:.78rem !important; font-weight:900 !important; }
.xg-contact-signal__card strong { margin-top:.2rem; color:var(--xg172-navy) !important; font-size:1.18rem !important; font-weight:850 !important; }
.xg-contact-signal__card small { margin-top:.35rem; color:#536b81 !important; font-size:.82rem !important; line-height:1.45 !important; }
html.xg-motion-173:not(.xg-reduced-motion) .xg-contact-signal.xg-motion-active .xg-contact-signal__card--one { animation:xg172-contact-left 2.8s ease-in-out infinite; }
html.xg-motion-173:not(.xg-reduced-motion) .xg-contact-signal.xg-motion-active .xg-contact-signal__card--two { animation:xg172-contact-mid 2.5s ease-in-out .25s infinite; }
html.xg-motion-173:not(.xg-reduced-motion) .xg-contact-signal.xg-motion-active .xg-contact-signal__card--three { animation:xg172-contact-right 2.8s ease-in-out .5s infinite; }
@keyframes xg172-contact-left { 0%,100%{transform:translate(0,0)} 50%{transform:translate(8px,-10px)} }
@keyframes xg172-contact-mid { 0%,100%{transform:translate(-50%,0)} 50%{transform:translate(-50%,10px)} }
@keyframes xg172-contact-right { 0%,100%{transform:translate(0,0)} 50%{transform:translate(-8px,-10px)} }

.xg-contact-pathways { padding-top:clamp(3.2rem,5vw,5rem) !important; padding-bottom:clamp(3rem,5vw,4.5rem) !important; background:linear-gradient(180deg,#fff,#f4f9ff) !important; }
.xg-contact-path { border-top:4px solid var(--xg-local-accent) !important; background:linear-gradient(180deg,var(--xg-local-soft,#fff),#fff 62%) !important; box-shadow:var(--xg172-shadow) !important; }
.xg-contact-path strong { color:var(--xg172-navy) !important; font-size:1.25rem !important; }
.xg-contact-path small { color:#526b81 !important; font-size:.9rem !important; line-height:1.5 !important; }
.xg-contact-form-section { padding-top:clamp(4rem,6vw,6.4rem) !important; background:linear-gradient(135deg,#f4f9ff,#f7fcfb 48%,#fff8f3) !important; }
.xg-contact-assurance {
	border:1px solid rgb(20 94 245 / 13%) !important;
	border-top:5px solid var(--xg172-blue) !important;
	background:linear-gradient(145deg,#fff,#f3f8ff 55%,#effaf8) !important;
	box-shadow:var(--xg172-shadow) !important;
}
.xg-contact-assurance h2 { font-size:clamp(1.9rem,2.1vw,2.65rem) !important; }
.xg-contact-assurance__items > div { margin:.35rem 0; padding:1rem !important; border:1px solid #dbe7f0 !important; border-radius:.85rem; background:#fff; }
.xg-contact-assurance__items > div:nth-child(1) > span { color:#0d61ce !important; background:#edf4ff !important; }
.xg-contact-assurance__items > div:nth-child(2) > span { color:#087f87 !important; background:#eaf9f8 !important; }
.xg-contact-assurance__items > div:nth-child(3) > span { color:#b85325 !important; background:#fff1e9 !important; }
.xg-contact-assurance__items strong { color:var(--xg172-navy) !important; font-size:.98rem !important; }
.xg-contact-assurance__items small { color:#516a80 !important; font-size:.86rem !important; }
.xg-contact-assurance__brand { grid-template-columns:1fr !important; background:linear-gradient(135deg,#eaf5ff,#ecfaf7) !important; }
.xg-contact-assurance__brand small { margin-top:.35rem; color:#506a80; font-size:.82rem; line-height:1.45; }
.xg-business-contact--identity {
	grid-template-columns:minmax(0,1fr) minmax(17rem,.72fr) !important;
	align-items:center;
	background:linear-gradient(135deg,#f2f7ff,#f2fbf9) !important;
}
.xg-business-contact__routing { margin:0 !important; color:#4f687f !important; font-size:.86rem !important; line-height:1.5 !important; }
.xg-business-contact__routing strong { color:var(--xg172-navy); }

/* --------------------------------------------------------------------------
   07. INSIGHTS — faster hero motion + animated subsection evidence layer
   -------------------------------------------------------------------------- */
.xg-hub-signal__core { min-width:8.3rem; min-height:8.3rem; }
.xg-hub-signal__core span { font-size:.74rem !important; }
.xg-hub-signal__core strong { font-size:1.22rem !important; }
.xg-hub-signal__node { min-width:7rem !important; padding:.72rem .82rem !important; color:#fff !important; font-size:.9rem !important; font-weight:850 !important; }
.xg-hub-signal__line { height:3px !important; opacity:.8 !important; }
html.xg-motion-173:not(.xg-reduced-motion) .xg-hub-signal.xg-motion-active .xg-hub-signal__core { animation:xg172-insight-core 2.6s ease-in-out infinite !important; }
html.xg-motion-173:not(.xg-reduced-motion) .xg-hub-signal.xg-motion-active .xg-hub-signal__node { animation:xg172-insight-node 2.7s ease-in-out infinite !important; }
html.xg-motion-173:not(.xg-reduced-motion) .xg-hub-signal.xg-motion-active .xg-hub-signal__node--two { animation-delay:.32s !important; }
html.xg-motion-173:not(.xg-reduced-motion) .xg-hub-signal.xg-motion-active .xg-hub-signal__node--three { animation-delay:.64s !important; }
html.xg-motion-173:not(.xg-reduced-motion) .xg-hub-signal.xg-motion-active .xg-hub-signal__line { animation:xg172-signal-line 1.8s ease-in-out infinite !important; transform-origin:left; }
@keyframes xg172-insight-core { 0%,100%{transform:scale(1)} 50%{transform:scale(1.07)} }
@keyframes xg172-insight-node { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
@keyframes xg172-signal-line { 0%,100%{opacity:.38;transform:scaleX(.82)} 50%{opacity:1;transform:scaleX(1.08)} }

.xg-insight-spectrum { padding-top:clamp(3.3rem,5vw,5rem) !important; padding-bottom:clamp(2.8rem,4vw,4rem) !important; }
.xg-evidence-stack { position:relative; padding:1rem 0; }
.xg-evidence-stack::before { position:absolute; top:10%; bottom:10%; left:2rem; width:3px; border-radius:999px; background:linear-gradient(var(--xg172-blue),var(--xg172-teal),var(--xg172-coral)); content:""; opacity:.24; }
.xg-evidence-card { position:relative; transform-origin:left center; }
.xg-evidence-card::before { position:absolute; top:50%; left:-1.15rem; width:.72rem; height:.72rem; border:3px solid #fff; border-radius:50%; background:var(--xg172-blue); box-shadow:0 0 0 4px rgb(20 94 245 / 11%); content:""; }
.xg-evidence-card:nth-child(2)::before { background:var(--xg172-teal); box-shadow:0 0 0 4px rgb(7 157 160 / 11%); }
.xg-evidence-card:nth-child(3)::before { background:var(--xg172-coral); box-shadow:0 0 0 4px rgb(244 122 60 / 11%); }
html.xg-motion-173:not(.xg-reduced-motion) .xg-evidence-stack.xg-motion-active .xg-evidence-card { animation:xg172-evidence-card 3.2s ease-in-out infinite; }
html.xg-motion-173:not(.xg-reduced-motion) .xg-evidence-stack.xg-motion-active .xg-evidence-card:nth-child(2){animation-delay:.42s}
html.xg-motion-173:not(.xg-reduced-motion) .xg-evidence-stack.xg-motion-active .xg-evidence-card:nth-child(3){animation-delay:.84s}
@keyframes xg172-evidence-card { 0%,100%{transform:translateX(0)} 50%{transform:translateX(10px)} }

/* --------------------------------------------------------------------------
   08. METHODOLOGY — visible sequence motion and readable labels
   -------------------------------------------------------------------------- */
.xg-methodology-node { min-width:10rem !important; padding:.9rem 1rem !important; }
.xg-methodology-node span { font-size:.78rem !important; }
.xg-methodology-node strong { font-size:1.08rem !important; }
.xg-methodology-node small { font-size:.8rem !important; color:#4f687f !important; }
.xg-methodology-visual__track i { background:linear-gradient(var(--xg172-blue),var(--xg172-cyan),var(--xg172-teal),var(--xg172-lime),var(--xg172-coral)) !important; }
html.xg-motion-173:not(.xg-reduced-motion) .xg-methodology-visual.xg-motion-active .xg-methodology-visual__track i { animation:xg172-track-grow 1.25s cubic-bezier(.2,.78,.2,1) both !important; transform-origin:top; }
html.xg-motion-173:not(.xg-reduced-motion) .xg-methodology-visual.xg-motion-active .xg-methodology-node { animation:xg172-method-node 3s ease-in-out infinite !important; }
html.xg-motion-173:not(.xg-reduced-motion) .xg-methodology-visual.xg-motion-active .xg-methodology-node--2{animation-delay:.28s!important}
html.xg-motion-173:not(.xg-reduced-motion) .xg-methodology-visual.xg-motion-active .xg-methodology-node--3{animation-delay:.56s!important}
html.xg-motion-173:not(.xg-reduced-motion) .xg-methodology-visual.xg-motion-active .xg-methodology-node--4{animation-delay:.84s!important}
html.xg-motion-173:not(.xg-reduced-motion) .xg-methodology-visual.xg-motion-active .xg-methodology-node--5{animation-delay:1.12s!important}
@keyframes xg172-track-grow { from{transform:scaleY(.02)} to{transform:scaleY(1)} }
@keyframes xg172-method-node { 0%,100%{transform:translateX(0) scale(1)} 50%{transform:translateX(8px) scale(1.02)} }

/* --------------------------------------------------------------------------
   09. ARTICLES HUB — more visible motion
   -------------------------------------------------------------------------- */
html.xg-motion-173:not(.xg-reduced-motion) .xg-editorial-flow.xg-motion-active .xg-editorial-flow__node { animation:xg172-editorial-node 2.8s ease-in-out infinite !important; }
html.xg-motion-173:not(.xg-reduced-motion) .xg-editorial-flow.xg-motion-active .xg-editorial-flow__node--2{animation-delay:.34s!important}
html.xg-motion-173:not(.xg-reduced-motion) .xg-editorial-flow.xg-motion-active .xg-editorial-flow__node--3{animation-delay:.68s!important}
html.xg-motion-173:not(.xg-reduced-motion) .xg-editorial-flow.xg-motion-active .xg-editorial-flow__connector i { animation:xg172-flow-line 1.2s ease-in-out infinite alternate !important; transform-origin:left; }
@keyframes xg172-editorial-node { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
@keyframes xg172-flow-line { from{transform:scaleX(.35);opacity:.45} to{transform:scaleX(1);opacity:1} }

/* --------------------------------------------------------------------------
   10. ARTICLE — reliable sticky rail, native anchors, no blank-space artifacts
   -------------------------------------------------------------------------- */
.xg-article-reading,
.xg-editorial-article,
.xg-editorial-reading-layout,
.xg-editorial-reading-content { overflow:visible !important; }
.xg-editorial-reading-layout {
	grid-template-columns:minmax(0,46rem) minmax(18rem,20rem) !important;
	gap:clamp(2.5rem,4vw,4rem) !important;
	padding:clamp(2rem,3.4vw,3rem) 0 clamp(4.5rem,7vw,7rem) !important;
	align-items:start !important;
}
.xg-editorial-reading-content {
	max-width:46rem !important;
	color:#29465f !important;
	font-size:clamp(1.08rem,1.04rem + .12vw,1.15rem) !important;
	line-height:1.82 !important;
}
.xg-editorial-reading-content p { color:#29465f !important; margin-bottom:1.18em !important; }
.xg-editorial-reading-content p:empty,
.xg-editorial-reading-content > div:empty { display:none !important; }
.xg-editorial-reading-content .wp-block-spacer { height:1.35rem !important; max-height:1.35rem !important; }
.xg-editorial-reading-content .xg-first-reading-block { margin-top:0 !important; padding-top:0 !important; border-top:0 !important; }
.xg-editorial-reading-content .xg-first-reading-block::before { display:none !important; }
.xg-editorial-reading-content h2 { scroll-margin-top:9rem !important; margin-top:2.9rem !important; font-size:clamp(1.72rem,2vw,2.18rem) !important; color:var(--xg172-navy) !important; }
.xg-editorial-reading-content h3 { scroll-margin-top:9rem !important; margin-top:2.1rem !important; font-size:clamp(1.28rem,1.45vw,1.55rem) !important; color:#123e60 !important; }
.xg-editorial-reading-content a { color:#095fc9 !important; font-weight:640; }
.xg-editorial-reading-rail {
	position:sticky !important;
	top:calc(var(--wp-admin--admin-bar--height,0px) + 6.2rem) !important;
	align-self:start !important;
	height:max-content !important;
	max-height:calc(100vh - var(--wp-admin--admin-bar--height,0px) - 7rem) !important;
	z-index:4;
}
.xg-editorial-toc { max-height:min(58vh,35rem) !important; overflow:auto !important; padding:1.1rem !important; }
.xg-editorial-toc a { padding:.56rem .56rem .56rem .78rem !important; color:#516a80 !important; font-size:.83rem !important; font-weight:650 !important; line-height:1.4 !important; cursor:pointer !important; }
.xg-editorial-toc li.xg-toc-level-3 a { padding-left:1.2rem !important; font-size:.77rem !important; }
.xg-editorial-toc a:hover,.xg-editorial-toc a:focus-visible { color:var(--xg172-navy) !important; background:#f1f7fc !important; }
.xg-editorial-toc a.is-active { color:var(--xg172-navy) !important; background:linear-gradient(90deg,rgb(7 157 160 / 15%),rgb(255 255 255 / 94%)) !important; font-weight:850 !important; transform:translateX(3px); }
.xg-editorial-progress-card > div:last-child small { max-width:14rem !important; color:#36536b !important; font-size:.73rem !important; white-space:normal !important; line-height:1.35 !important; }
.xg-editorial-progress-card > div:last-child span { font-size:.8rem !important; }
.xg-editorial-progress-card > div:last-child em { font-size:.66rem !important; }
.xg-editorial-cover__image { aspect-ratio:auto !important; min-height:0 !important; padding:.35rem !important; background:#fff !important; }
.xg-editorial-cover__image img { width:auto !important; max-width:100% !important; height:auto !important; max-height:20rem !important; object-fit:contain !important; }

/* --------------------------------------------------------------------------
   11. RESPONSIVE
   -------------------------------------------------------------------------- */
@media (max-width:1100px) {
	.xg-life-science-flow { min-height:29rem !important; }
	.xg-life-node { width:9.4rem; }
	.xg-contact-signal { min-height:20rem !important; }
	.xg-contact-signal__card { width:42%; }
	.xg-editorial-reading-layout { grid-template-columns:minmax(0,46rem) !important; }
}
@media (max-width:780px) {
	.xg-life-science-flow { min-height:31rem !important; }
	.xg-life-science-flow__core { width:8.7rem; height:8.7rem; }
	.xg-life-science-flow__core strong { font-size:1rem; }
	.xg-life-node { width:8.3rem; min-height:6rem; padding:.65rem .7rem; }
	.xg-life-node strong { font-size:.7rem; }
	.xg-life-node span { font-size:.58rem; }
	.xg-life-node--regulatory,.xg-life-node--quality { left:2%; }
	.xg-life-node--cmc,.xg-life-node--inspection { right:2%; }
	.xg-about-system__node { min-width:7rem !important; font-size:.77rem !important; }
	.xg-contact-signal { min-height:30rem !important; }
	.xg-contact-signal__svg { display:none; }
	.xg-contact-signal__card { position:relative !important; top:auto !important; right:auto !important; left:auto !important; width:100% !important; min-height:0; margin:.7rem 0; transform:none !important; }
	.xg-contact-signal__card--two { transform:none !important; }
	.xg-business-contact--identity { grid-template-columns:1fr !important; }
	.xg-insight-spectrum { padding-top:2.8rem !important; }
}

/* Stage 9B WS5 article-estate presentation recovery.
 * Governed article covers are explicit featured media, never body-image
 * fallbacks. Preserve the complete 16:9 artwork instead of cropping text. */
.post-type-archive-xg-article .xg-content-card--xg-article .xg-content-card__media,
.xg-content-card--xg-article .xg-content-card__media {
	display:grid !important;
	width:100% !important;
	height:auto !important;
	aspect-ratio:1672 / 941 !important;
	place-items:center !important;
	overflow:hidden !important;
	padding:.3rem !important;
	background:#fff !important;
}
.post-type-archive-xg-article .xg-content-card--xg-article .xg-content-card__media img,
.xg-content-card--xg-article .xg-content-card__media img {
	display:block !important;
	width:100% !important;
	height:100% !important;
	margin:0 !important;
	object-fit:contain !important;
	object-position:center !important;
}
.post-type-archive-xg-article .xg-editorial-feature__media {
	display:grid !important;
	min-height:0 !important;
	aspect-ratio:1672 / 941 !important;
	place-items:center !important;
	padding:.4rem !important;
	background:#fff !important;
}
.post-type-archive-xg-article .xg-editorial-feature__media img {
	display:block !important;
	width:100% !important;
	height:100% !important;
	object-fit:contain !important;
	object-position:center !important;
}
.xg-article-v2-pilot .xg-editorial-cover__visual { width:min(100%,34rem) !important; }
.xg-article-v2-pilot .xg-editorial-cover__image {
	display:grid !important;
	width:100% !important;
	aspect-ratio:1672 / 941 !important;
	place-items:center !important;
	overflow:hidden !important;
	padding:.35rem !important;
}
.xg-article-v2-pilot .xg-v2-cover-button { display:block !important; width:100% !important; height:100% !important; padding:0 !important; border:0 !important; background:transparent !important; }
.xg-article-v2-pilot .xg-editorial-cover__image img {
	display:block !important;
	width:100% !important;
	max-width:100% !important;
	height:100% !important;
	max-height:none !important;
	margin:0 !important;
	object-fit:contain !important;
	object-position:center !important;
}
@media (max-width:1100px) {
	.xg-article-v2-pilot .xg-editorial-cover__visual { width:min(100%,38rem) !important; justify-self:center !important; }
}

@media (prefers-reduced-motion:reduce) {
	html { scroll-behavior:auto !important; }
	[data-xg-motion-section]::before,.xg-section-motion-item { transition:none !important; transform:none !important; opacity:1 !important; }
	.xg-life-node,.xg-life-science-flow__core,.xg-about-system__orbit,.xg-about-system__core,.xg-about-system__node,.xg-contact-signal__card,.xg-hub-signal__core,.xg-hub-signal__node,.xg-hub-signal__line,.xg-evidence-card,.xg-methodology-node,.xg-methodology-visual__track i,.xg-editorial-flow__node,.xg-editorial-flow__connector i { animation:none !important; transform:none !important; }
}


/* ==========================================================================
   1.7.3 GLOBAL FOUNDATION RESET
   One authoritative late-loaded contract for page width, hero contrast,
   visual geometry, and perceptible semantic motion.
   ========================================================================== */

/* 01. Enterprise pages must occupy the full presentation canvas. */
body.xg-enterprise-core #content,
body.xg-enterprise-core .site-content,
body.xg-enterprise-core #content > .ast-container,
body.xg-enterprise-core .site-content > .ast-container,
body.xg-enterprise-core #primary,
body.xg-enterprise-core .content-area,
body.xg-enterprise-core main.site-main {
	width:100% !important;
	max-width:none !important;
	margin-left:0 !important;
	margin-right:0 !important;
	padding-left:0 !important;
	padding-right:0 !important;
}
body.xg-enterprise-core #content > .ast-container,
body.xg-enterprise-core .site-content > .ast-container {
	display:block !important;
}
.xg-service-detail-160 > article,
.xg-service-detail-160 > article.ast-article-single,
.xg-service-detail-160 > article[class*="ast-article"] {
	width:100% !important;
	max-width:none !important;
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
	background:transparent !important;
	box-shadow:none !important;
}

/* 02. Dark hero foreground contract — higher specificity than legacy rules. */
main.site-main .xg-compact-hero,
main.site-main .xg-hub-hero--insights,
main.site-main .xg-intelligence-domain .xg-compact-hero,
main.site-main .xg-resource-center .xg-compact-hero {
	color:#fff !important;
}
main.site-main .xg-compact-hero h1,
main.site-main .xg-compact-hero h2,
main.site-main .xg-compact-hero h3,
main.site-main .xg-hub-hero--insights h1,
main.site-main .xg-hub-hero--insights h2,
main.site-main .xg-hub-hero--insights h3,
main.site-main .xg-intelligence-domain .xg-compact-hero h1,
main.site-main .xg-intelligence-domain .xg-compact-hero h2,
main.site-main .xg-intelligence-domain .xg-compact-hero h3 {
	color:#fff !important;
	text-shadow:0 3px 24px rgb(0 15 35 / 18%) !important;
}
main.site-main .xg-compact-hero .xg-eyebrow,
main.site-main .xg-hub-hero--insights .xg-eyebrow,
main.site-main .xg-intelligence-domain .xg-compact-hero .xg-eyebrow {
	color:#92eef0 !important;
}
main.site-main .xg-compact-hero__content > p:not(.xg-eyebrow),
main.site-main .xg-hub-hero--insights .xg-hub-lead,
main.site-main .xg-intelligence-domain .xg-compact-hero__content > p:not(.xg-eyebrow) {
	color:rgb(255 255 255 / 90%) !important;
}

/* 03. Consistent hero canvas and shell geometry. */
main.site-main > .xg-compact-hero,
main.site-main > article > .xg-compact-hero,
main.site-main > .xg-contact-hero,
main.site-main > .xg-enterprise-hero,
main.site-main > .xg-hub-hero {
	width:100% !important;
	max-width:none !important;
	margin:0 !important;
}
.xg-compact-hero__grid,
.xg-contact-hero__grid,
.xg-enterprise-hero__grid,
.xg-hub-hero__grid {
	width:var(--xg-shell) !important;
	max-width:none !important;
	margin-inline:auto !important;
}
.xg-compact-hero__grid {
	grid-template-columns:minmax(0,1.04fr) minmax(28rem,.96fr) !important;
	gap:clamp(2.75rem,5vw,5.75rem) !important;
}
.xg-contact-hero__grid,
.xg-enterprise-hero__grid {
	grid-template-columns:minmax(0,1.06fr) minmax(27rem,.94fr) !important;
}

/* 04. All enterprise hero visual systems get a real usable visual column. */
.xg-services-orbit,
.xg-service-detail-visual,
.xg-domain-visual,
.xg-knowledge-visual,
.xg-audience-orbit,
.xg-hub-signal,
.xg-about-system,
.xg-about-compass,
.xg-book-visual,
.xg-contact-signal {
	box-sizing:border-box !important;
	width:100% !important;
	max-width:34rem !important;
	min-width:0 !important;
	margin-inline:auto !important;
	transform:none;
}
.xg-contact-signal { max-width:35rem !important; min-height:19rem !important; }
.xg-book-visual { max-width:29rem !important; min-height:18rem !important; }
.xg-service-detail-visual { max-width:34rem !important; min-height:25rem !important; aspect-ratio:1.28 !important; }
.xg-services-orbit,.xg-domain-visual,.xg-knowledge-visual,.xg-audience-orbit,.xg-hub-signal { max-width:34rem !important; }

/* 05. Never allow unstyled SVG paths to become black blobs/arcs. */
.xg-services-orbit svg,
.xg-service-detail-visual svg,
.xg-domain-visual svg,
.xg-knowledge-visual svg,
.xg-audience-orbit svg,
.xg-hub-signal svg,
.xg-contact-signal svg,
[data-xg-animate-diagram] svg {
	overflow:visible;
}
.xg-service-detail-visual svg,
.xg-service-detail-visual svg path,
.xg-services-orbit svg path,
.xg-domain-visual svg path,
.xg-knowledge-visual svg path,
.xg-audience-orbit svg path,
.xg-hub-signal svg path {
	fill:none !important;
	stroke:#74d7dd !important;
	stroke-width:2.25 !important;
	stroke-linecap:round !important;
	stroke-linejoin:round !important;
	opacity:.68 !important;
}
.xg-services-orbit svg circle,
.xg-domain-visual svg circle,
.xg-hub-signal svg circle {
	fill:none !important;
	stroke:#74d7dd !important;
	stroke-width:1.8 !important;
	opacity:.42 !important;
}

/* 06. Readable labels inside dark diagrams. */
.xg-service-detail-visual__core,
.xg-services-orbit__core,
.xg-domain-visual__core,
.xg-knowledge-visual__core,
.xg-audience-orbit__core {
	color:#fff !important;
}
.xg-service-detail-visual__step,
.xg-services-orbit__node,
.xg-domain-visual__node,
.xg-knowledge-visual__node,
.xg-audience-orbit__node {
	color:#fff !important;
	font-size:.88rem !important;
	font-weight:820 !important;
	line-height:1.25 !important;
	background:rgb(8 43 73 / 48%) !important;
	border-color:rgb(255 255 255 / 28%) !important;
	box-shadow:0 10px 24px rgb(0 20 40 / 16%) !important;
	backdrop-filter:blur(8px);
}

/* 07. Perceptible semantic motion — motion must be visible, not decorative noise. */
html.xg-motion-173:not(.xg-reduced-motion) .xg-motion-active .xg-services-orbit__core,
html.xg-motion-173:not(.xg-reduced-motion) .xg-motion-active .xg-service-detail-visual__core,
html.xg-motion-173:not(.xg-reduced-motion) .xg-motion-active .xg-domain-visual__core,
html.xg-motion-173:not(.xg-reduced-motion) .xg-motion-active .xg-knowledge-visual__core,
html.xg-motion-173:not(.xg-reduced-motion) .xg-motion-active .xg-audience-orbit__core,
html.xg-motion-173:not(.xg-reduced-motion) .xg-motion-active .xg-hub-signal__core {
	animation:xg173-core-pulse 2.8s ease-in-out infinite !important;
}
html.xg-motion-173:not(.xg-reduced-motion) .xg-motion-active .xg-services-orbit__node,
html.xg-motion-173:not(.xg-reduced-motion) .xg-motion-active .xg-service-detail-visual__step,
html.xg-motion-173:not(.xg-reduced-motion) .xg-motion-active .xg-domain-visual__node,
html.xg-motion-173:not(.xg-reduced-motion) .xg-motion-active .xg-knowledge-visual__node,
html.xg-motion-173:not(.xg-reduced-motion) .xg-motion-active .xg-audience-orbit__node,
html.xg-motion-173:not(.xg-reduced-motion) .xg-motion-active .xg-hub-signal__node {
	animation:xg173-node-float 3.15s ease-in-out infinite !important;
}
html.xg-motion-173:not(.xg-reduced-motion) .xg-motion-active .xg-service-detail-visual__step--two,
html.xg-motion-173:not(.xg-reduced-motion) .xg-motion-active .xg-domain-visual__node--two { animation-delay:.38s !important; }
html.xg-motion-173:not(.xg-reduced-motion) .xg-motion-active .xg-service-detail-visual__step--three,
html.xg-motion-173:not(.xg-reduced-motion) .xg-motion-active .xg-domain-visual__node--three { animation-delay:.76s !important; }

.xg-auto-particle {
	pointer-events:none;
	filter:drop-shadow(0 0 5px currentColor);
}
.xg-auto-particle--0 { fill:#40d6e3; color:#40d6e3; }
.xg-auto-particle--1 { fill:#8bd52a; color:#8bd52a; }
.xg-auto-particle--2 { fill:#ff8a4b; color:#ff8a4b; }
.xg-auto-particle--3 { fill:#5e8cff; color:#5e8cff; }

@keyframes xg173-core-pulse {
	0%,100% { transform:translate(-50%,-50%) scale(1); filter:brightness(1); }
	50% { transform:translate(-50%,-50%) scale(1.065); filter:brightness(1.12); }
}
.xg-services-orbit__core,
.xg-domain-visual__core,
.xg-service-detail-visual__core,
.xg-knowledge-visual__core,
.xg-audience-orbit__core { transform:translate(-50%,-50%); }
@keyframes xg173-node-float {
	0%,100% { translate:0 0; }
	50% { translate:0 -9px; }
}

/* Contact/booking motion gets a larger stage instead of a narrow card stack. */
html.xg-motion-173:not(.xg-reduced-motion) .xg-contact-signal.xg-motion-active .xg-contact-signal__card {
	animation-duration:2.45s !important;
}
html.xg-motion-173:not(.xg-reduced-motion) .xg-book-visual.xg-motion-active .xg-book-visual__line {
	animation:xg173-book-line 2.8s ease-in-out infinite !important;
}
html.xg-motion-173:not(.xg-reduced-motion) .xg-book-visual.xg-motion-active .xg-book-visual__line:nth-child(3) { animation-delay:.32s !important; }
html.xg-motion-173:not(.xg-reduced-motion) .xg-book-visual.xg-motion-active .xg-book-visual__line:nth-child(4) { animation-delay:.64s !important; }
@keyframes xg173-book-line {
	0%,100% { transform:translate3d(0,0,0); }
	50% { transform:translate3d(10px,-5px,0); }
}

/* 08. Page subsections: modest, reliable choreography, never hidden. */
html.xg-motion-173:not(.xg-reduced-motion) [data-xg-motion-section] .xg-section-motion-item {
	opacity:.82 !important;
	transform:translate3d(0,18px,0) !important;
}
html.xg-motion-173:not(.xg-reduced-motion) [data-xg-motion-section].xg-section-motion-active .xg-section-motion-item {
	opacity:1 !important;
	transform:none !important;
}

/* 09. Responsive geometry — stack before any visual becomes compressed. */
@media (max-width:1100px) {
	.xg-compact-hero__grid,
	.xg-contact-hero__grid,
	.xg-enterprise-hero__grid,
	.xg-hub-hero__grid {
		grid-template-columns:1fr !important;
		min-height:auto !important;
	}
	.xg-services-orbit,
	.xg-service-detail-visual,
	.xg-domain-visual,
	.xg-knowledge-visual,
	.xg-audience-orbit,
	.xg-hub-signal,
	.xg-about-system,
	.xg-about-compass,
	.xg-book-visual,
	.xg-contact-signal {
		width:min(100%,38rem) !important;
		max-width:38rem !important;
	}
}
@media (max-width:680px) {
	.xg-compact-hero__grid,
	.xg-contact-hero__grid,
	.xg-enterprise-hero__grid,
	.xg-hub-hero__grid {
		width:min(100% - 2rem,76rem) !important;
		padding-top:2.7rem !important;
		padding-bottom:2.7rem !important;
		gap:2rem !important;
	}
	.xg-contact-signal,
	.xg-book-visual,
	.xg-service-detail-visual { min-height:0 !important; }
	.xg-service-detail-visual { aspect-ratio:1.05 !important; }
}

/* Reduced motion remains fully readable and non-animated. */
@media (prefers-reduced-motion:reduce) {
	.xg-auto-particle { display:none !important; }
}


/* 1.7.3 additions for Regulatory Intelligence Center and commercial contact visuals. */
.xg-reg-center-visual {
	box-sizing:border-box !important;
	width:100% !important;
	max-width:34rem !important;
	min-width:0 !important;
	margin-inline:auto !important;
}
.xg-reg-center-visual svg path {
	fill:none !important;
	stroke:#74d7dd !important;
	stroke-width:2.25 !important;
	stroke-linecap:round !important;
	opacity:.68 !important;
}
.xg-reg-center-visual__node {
	color:#fff !important;
	font-size:.88rem !important;
	font-weight:820 !important;
	background:rgb(8 43 73 / 48%) !important;
	border-color:rgb(255 255 255 / 28%) !important;
	backdrop-filter:blur(8px);
}
html.xg-motion-173:not(.xg-reduced-motion) .xg-reg-center-visual.xg-motion-active .xg-reg-center-visual__core {
	animation:xg173-core-pulse 2.8s ease-in-out infinite !important;
}
html.xg-motion-173:not(.xg-reduced-motion) .xg-reg-center-visual.xg-motion-active .xg-reg-center-visual__node {
	animation:xg173-node-float 3.15s ease-in-out infinite !important;
}

.xg-contact-enterprise .xg-contact-signal {
	width:100% !important;
	max-width:35rem !important;
	min-width:0 !important;
}
.xg-book-enterprise .xg-book-visual {
	width:100% !important;
	max-width:31rem !important;
	min-width:0 !important;
	padding:1.25rem !important;
}
.xg-about-enterprise .xg-about-system,
.xg-about-enterprise .xg-about-compass {
	width:100% !important;
	max-width:34rem !important;
}
.xg-audience-page .xg-audience-orbit {
	width:100% !important;
	max-width:34rem !important;
}
@media (max-width:1100px) {
	.xg-reg-center-visual,
	.xg-contact-enterprise .xg-contact-signal,
	.xg-book-enterprise .xg-book-visual,
	.xg-about-enterprise .xg-about-system,
	.xg-about-enterprise .xg-about-compass,
	.xg-audience-page .xg-audience-orbit {
		width:min(100%,38rem) !important;
		max-width:38rem !important;
	}
}

/* Who We Help uses a dark enterprise hero and therefore owns a light foreground. */
main.site-main .xg-enterprise-hero--audience h1,
main.site-main .xg-enterprise-hero--audience h2,
main.site-main .xg-enterprise-hero--audience h3 {
	color:#fff !important;
	text-shadow:0 3px 24px rgb(0 15 35 / 18%) !important;
}
main.site-main .xg-enterprise-hero--audience .xg-eyebrow { color:#92eef0 !important; }
main.site-main .xg-enterprise-hero--audience .xg-enterprise-lead { color:rgb(255 255 255 / 88%) !important; }

@media (min-width:1101px) {
	.xg-contact-enterprise .xg-contact-signal__card {
		width:31% !important;
		min-height:8.5rem !important;
	}
	.xg-contact-enterprise .xg-contact-signal__card--one { left:0 !important; top:27% !important; }
	.xg-contact-enterprise .xg-contact-signal__card--two { left:50% !important; top:6% !important; }
	.xg-contact-enterprise .xg-contact-signal__card--three { right:0 !important; top:27% !important; }
}

/* ======================================================================
   Stage 3 inherited foundation refinement — Book a Call
   1.8.0-r2 removes the floating orange duration circle and turns duration
   into a compact scheduling label. It also makes the booking pathway motion
   more directional and perceptible without distracting from the CTA.
   ====================================================================== */
.xg-book-enterprise .xg-book-visual__badge{display:none!important}
.xg-book-enterprise .xg-book-visual__meta{
 display:flex!important;align-items:center!important;justify-content:space-between!important;
 gap:.75rem!important;margin:0 0 .15rem!important;padding:.15rem .15rem .35rem!important;
 color:#345771!important;font-size:.78rem!important;font-weight:800!important;
 letter-spacing:.035em!important;text-transform:uppercase!important;
}
.xg-book-enterprise .xg-book-visual__duration{
 display:inline-flex!important;align-items:center!important;min-height:2rem!important;
 padding:.38rem .68rem!important;border:1px solid rgba(20,89,217,.17)!important;
 border-radius:999px!important;background:rgba(238,246,255,.94)!important;
 color:#0b4fa8!important;box-shadow:0 6px 16px rgba(8,43,73,.055)!important;
}
.xg-book-enterprise .xg-book-visual__signal{
 position:relative!important;display:block!important;width:5.5rem!important;height:2px!important;
 overflow:hidden!important;border-radius:99px!important;background:rgba(13,158,155,.18)!important;
}
.xg-book-enterprise .xg-book-visual__signal::after{
 content:""!important;position:absolute!important;left:-24%!important;top:50%!important;
 width:34%!important;height:2px!important;transform:translateY(-50%)!important;
 border-radius:99px!important;background:linear-gradient(90deg,#1459d9,#22a6cf,#80bd20)!important;
 box-shadow:0 0 10px rgba(34,166,207,.35)!important;
}
html.xg-motion-173:not(.xg-reduced-motion) .xg-book-visual.xg-motion-active .xg-book-visual__signal::after{
 animation:xg180-book-signal 1.45s cubic-bezier(.4,0,.2,1) infinite!important;
}
html.xg-motion-173:not(.xg-reduced-motion) .xg-book-visual.xg-motion-active .xg-book-visual__line{
 animation:xg180-book-step 1.8s cubic-bezier(.4,0,.2,1) infinite!important;
}
html.xg-motion-173:not(.xg-reduced-motion) .xg-book-visual.xg-motion-active .xg-book-visual__line:nth-of-type(2){animation-delay:.18s!important}
html.xg-motion-173:not(.xg-reduced-motion) .xg-book-visual.xg-motion-active .xg-book-visual__line:nth-of-type(3){animation-delay:.36s!important}
html.xg-motion-173:not(.xg-reduced-motion) .xg-book-visual.xg-motion-active .xg-book-visual__line:nth-of-type(4){animation-delay:.54s!important}
@keyframes xg180-book-step{
 0%,100%{transform:translate3d(0,0,0);box-shadow:0 4px 12px rgba(8,43,73,.045)}
 42%{transform:translate3d(12px,-2px,0);box-shadow:0 12px 24px rgba(8,43,73,.09)}
 64%{transform:translate3d(7px,0,0)}
}
@keyframes xg180-book-signal{0%{left:-34%;opacity:.2}18%{opacity:1}82%{opacity:1}100%{left:110%;opacity:.1}}
@media(max-width:600px){
 .xg-book-enterprise .xg-book-visual__meta{align-items:flex-start!important;flex-direction:column!important}
 .xg-book-enterprise .xg-book-visual__signal{width:100%!important}
}
@media(prefers-reduced-motion:reduce){
 .xg-book-enterprise .xg-book-visual__signal::after{animation:none!important;left:33%!important}
}
