/* ClusterMarshal uses the shared product typography, grid and controls. */
body.cm-page .xp-hero__inner {
  align-items: center;
}

body.cm-page .xp-hero {
  min-height: 100svh;
}

body.cm-page .xp-lifecycle-marquee {
  display: none;
}

body.cm-page .xp-hero__title {
  font-family: var(--xperf-heading-font) !important;
  font-size: clamp(2.5rem, 5.2vw, 6.25rem) !important;
  font-weight: 600 !important;
  letter-spacing: -0.04em;
  line-height: 0.96 !important;
}

body.cm-page .xp-section--black > .xperf-construct-hero {
  display: none;
}

body.cm-page .cm-event-note {
  margin-top: 28px;
}

.cm-event-note a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 5px;
}

.cm-job-flow {
  min-width: 0;
  grid-column: 8 / -1;
  border-top: 2px solid var(--xp-blue);
}

body.cm-page .cm-job-flow__label {
  padding-block: 24px;
  color: var(--xp-blue);
}

.cm-job-flow__steps,
.cm-workflow__steps {
  list-style: none;
}

.cm-job-flow__steps li {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 20px;
  padding-block: 28px;
  border-top: 1px solid var(--xp-dark-border);
}

.cm-job-flow__index {
  color: var(--xp-blue);
  font-variant-numeric: tabular-nums;
}

.cm-job-flow__steps strong {
  font-size: clamp(24px, 1.7vw, 32px);
  line-height: 1.15;
}

body.cm-page .cm-job-flow__steps p {
  margin-top: 8px;
  color: rgba(247, 247, 245, 0.72);
}

.cm-workflow__steps {
  border-top: 1px solid var(--cr-construction);
}

.cm-workflow .cr-rail-row {
  grid-template-columns: minmax(48px, 1fr) minmax(0, 4fr) minmax(0, 7fr);
  align-items: start;
  min-height: 0;
  gap: clamp(24px, 3vw, 48px);
}

.cm-workflow .cr-rail-row p {
  grid-column: 3;
  margin-top: 0 !important;
}

.cm-pilot__layout,
.cm-meeting__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(48px, 8vw, 144px);
}

body.cm-page .cm-pilot .cr-display,
body.cm-page .cm-meeting .cr-display {
  margin-top: 40px;
}

body.cm-page .cm-pilot__lead,
body.cm-page .cm-meeting__event {
  margin-top: 32px;
}

.cm-pilot__details article {
  padding-block: 32px;
  border-top: 1px solid var(--xp-dark-border);
}

.cm-pilot__details h3 {
  font-size: clamp(28px, 2.4vw, 40px);
  line-height: 1.15;
}

body.cm-page .cm-pilot__details p {
  margin-top: 20px;
  color: rgba(247, 247, 245, 0.72);
}

.cm-meeting {
  background: var(--xp-blue);
  color: var(--xp-ink);
}

.cm-meeting .cr-kicker::before {
  background: currentColor;
}

body.cm-page .cm-meeting :focus-visible {
  outline: 3px solid var(--xp-ink);
  outline-offset: 5px;
}

body.cm-page .cm-meeting__event {
  margin-bottom: 20px;
  font-weight: 700;
}

.cm-meeting__contact {
  align-self: end;
}

.cm-meeting__contact .xp-button {
  background: var(--xp-ink);
  border-color: var(--xp-ink);
  color: #fff !important;
}

.cm-meeting__contact .xp-button:hover,
.cm-meeting__contact .xp-button:focus-visible {
  background: #fff;
  border-color: #fff;
  color: var(--xp-ink) !important;
}

body.cm-page .cm-meeting__contact p {
  margin-top: 28px;
  overflow-wrap: anywhere;
}

.cm-meeting__contact p a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 5px;
}

@media (max-width: 1099px) {
  body.cm-page .xp-hero__copy,
  .cm-job-flow {
    grid-column: 1 / -1;
  }

  .cm-pilot__layout,
  .cm-meeting__layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 700px) {
  .cm-workflow .cr-rail-row {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 20px;
  }

  .cm-workflow .cr-rail-row p {
    grid-column: 2;
  }

  body.cm-page .xp-hero__title {
    font-size: clamp(2rem, 8.5vw, 3.5rem) !important;
  }
}
