.cx-hero { position: relative; overflow: hidden; padding: 132px 0 96px; }

/* Ambient glows — slow, subtle, reduced-motion safe */
.cx-hero::before,
.cx-hero::after {
  content: '';
  position: absolute;
  width: 720px; height: 720px;
  border-radius: 50%;
  filter: blur(90px);
  pointer-events: none;
}
.cx-hero::before {
  top: -280px; left: -160px;
  background: radial-gradient(closest-side, rgba(61, 107, 255, .22), transparent);
  animation: cx-glow-a 26s ease-in-out infinite alternate;
}
.cx-hero::after {
  bottom: -320px; right: -180px;
  background: radial-gradient(closest-side, rgba(157, 124, 255, .16), transparent);
  animation: cx-glow-b 32s ease-in-out infinite alternate;
}
@keyframes cx-glow-a {
  from { transform: translate3d(0, 0, 0) scale(1); opacity: .9; }
  to { transform: translate3d(60px, 40px, 0) scale(1.12); opacity: 1; }
}
@keyframes cx-glow-b {
  from { transform: translate3d(0, 0, 0) scale(1); opacity: .8; }
  to { transform: translate3d(-50px, -30px, 0) scale(1.08); opacity: 1; }
}

.cx-hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items: center; position: relative; z-index: 1; }
.cx-hero h1 { max-width: 14ch; }
.cx-hero-text { max-width: 48ch; font-size: 1.1rem; }
.cx-trust { list-style: none; margin: 32px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: .85rem; color: var(--cx-text); }
.cx-trust li { display: flex; align-items: baseline; gap: 10px; }
.cx-trust li::before {
  content: '▸';
  color: var(--cx-blue-soft);
  font-family: var(--cx-font-mono);
}

/* ---- Signature: the workflow rail ---------------------------------- */
.cx-rail { display: flex; flex-direction: column; max-width: 420px; margin-left: auto; position: relative; z-index: 1; }
.cx-rail-node { position: relative; padding: 18px 20px; }
.cx-rail-node strong {
  display: block;
  color: var(--cx-text-hi);
  font-family: var(--cx-font-display);
  font-weight: 500;
  font-size: 1.02rem;
  letter-spacing: .01em;
}
.cx-rail-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--cx-font-mono);
  font-size: .64rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--cx-text-dim);
  margin-bottom: 8px;
}
.cx-rail-chip::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--cx-text-dim); }
.cx-rail-node-live .cx-rail-chip::before { background: var(--cx-live); animation: cx-blink 2.2s ease-in-out infinite; }
.cx-rail-node-ai { border-left: 3px solid var(--cx-violet); }
.cx-rail-node-ai .cx-rail-chip { color: var(--cx-violet); }
.cx-rail-node-ai .cx-rail-chip::before { background: var(--cx-violet); }
.cx-rail-meta {
  display: block;
  margin-top: 8px;
  font-family: var(--cx-font-mono);
  font-size: .72rem;
  color: var(--cx-text-dim);
}
.cx-rail-meta em { font-style: normal; color: var(--cx-live); }

.cx-rail-link { position: relative; height: 34px; width: 2px; margin-left: 40px; background: var(--cx-edge); }
.cx-rail-pulse {
  position: absolute;
  left: 50%;
  top: 0;
  width: 7px; height: 7px;
  margin-left: -3.5px;
  border-radius: 50%;
  background: var(--cx-blue-bright);
  box-shadow: 0 0 10px rgba(91, 130, 255, .9);
  animation: cx-flow 2.6s linear infinite;
}
.cx-rail-link-two .cx-rail-pulse { animation-delay: 1.3s; }

@keyframes cx-flow {
  0% { top: -4px; opacity: 0; }
  12% { opacity: 1; }
  88% { opacity: 1; }
  100% { top: calc(100% - 3px); opacity: 0; }
}
@keyframes cx-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: .35; }
}
@media (prefers-reduced-motion: reduce) {
  .cx-hero::before, .cx-hero::after { animation: none; }
  .cx-rail-pulse { animation: none; opacity: 0; }
  .cx-rail-node-live .cx-rail-chip::before { animation: none; }
}

/* ---- Industries strip (follows hero) -------------------------------- */
.cx-industries { background: var(--cx-carbon); padding: 0 0 64px; }
.cx-industries-label {
  font-family: var(--cx-font-mono);
  color: var(--cx-text-dim);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .16em;
  text-align: center;
  margin-bottom: 24px;
}
.cx-industries-list {
  list-style: none;
  margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; justify-content: center; gap: 12px;
}
.cx-industries-list li {
  padding: 8px 18px;
  border-radius: var(--cx-radius-sm);
  border: 1px solid var(--cx-edge);
  background: var(--cx-glass);
  color: var(--cx-text);
  font-size: .85rem;
}

@media (max-width: 900px) {
  .cx-hero { padding: 104px 0 64px; }
  .cx-hero-grid { grid-template-columns: 1fr; gap: 48px; }
  .cx-rail { margin-left: 0; }
}
