/* Final Terminal alignment and loading polish. */
body.terminal-product-page .provenance-header {
  width: min(1030px, 100%) !important;
  max-width: 1030px !important;
  margin-inline: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

body.terminal-product-page .provenance-header .kicker,
body.terminal-product-page .provenance-header .section-title,
body.terminal-product-page .provenance-header .provenance-intro {
  margin-inline: auto !important;
  text-align: center !important;
  text-align-last: center !important;
}

body.terminal-product-page .provenance-header .section-title {
  width: 100% !important;
}

body.terminal-product-page .provenance-header .provenance-intro {
  width: min(620px, 100%) !important;
  max-width: 620px !important;
}

/* The poster is useful content: never cover it while the large MP4 buffers. */
body.terminal-product-page .hero-video-wrap.is-ready .hero-video-loader {
  display: none !important;
}

/* Remove editorial micro-headings while preserving functional card metadata. */
body.terminal-product-page main :is(
  .terminal-remodel-eyebrow,
  .signal-layers__eyebrow,
  .provenance-header .kicker,
  #faq .kicker
) {
  display: none !important;
}

body.terminal-product-page main .terminal-overview__head > p:first-child {
  display: none !important;
}

/* The four-layer module uses a neutral monochrome accent system. */
body.terminal-product-page .signal-layers {
  --sl-blue: #b5b1ad !important;
}

body.terminal-product-page .signal-layer-item__trigger > span,
body.terminal-product-page .signal-layer-item__cards small {
  color: #b5b1ad !important;
}

body.terminal-product-page .signal-layer-item.is-active .signal-layer-item__trigger i::after {
  background: #b5b1ad !important;
}

body.terminal-product-page .signal-layer-item__cards span:hover,
body.terminal-product-page .signal-layers__cta:hover {
  border-color: #777370 !important;
}

body.terminal-product-page .signal-layers__cta:hover {
  background: rgba(255, 255, 255, .06) !important;
}

body.terminal-product-page .signal-layer-plate::after,
body.terminal-product-page .signal-layer-plate.is-active::after {
  border-color: rgba(255, 255, 255, .22) !important;
  background: rgba(255, 255, 255, .025) !important;
}

body.terminal-product-page .signal-layer-plate.is-active {
  box-shadow: 0 16px 24px rgba(0, 0, 0, .24) !important;
  filter: drop-shadow(0 16px 20px rgba(0, 0, 0, .22)) !important;
}

/* Shared page geometry: same frame and continuous rhythm as the homepage. */
body.terminal-product-page {
  --terminal-site-frame: min(calc(100% - 64px), var(--cnw-page-max, 1560px));
  --terminal-site-space: clamp(72px, 6vw, 96px);
  --terminal-site-pad: calc(var(--terminal-site-space) / 2);
}

body.terminal-product-page main > :is(
  .terminal-engine-story,
  .terminal-overview,
  .terminal-api-story,
  .provenance-section,
  .terminal-why,
  .terminal-video-story,
  .terminal-resources,
  #faq
) {
  min-height: 0 !important;
  margin: 0 !important;
  padding-top: var(--terminal-site-pad) !important;
  padding-bottom: var(--terminal-site-pad) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.terminal-product-page .hero {
  width: calc(100% - 20px) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 8px 0 var(--terminal-site-space) !important;
}

body.terminal-product-page .hero > .container {
  width: 100% !important;
}

body.terminal-product-page .signal-layers__shell {
  padding-top: var(--terminal-site-pad) !important;
  padding-bottom: var(--terminal-site-pad) !important;
}

body.terminal-product-page :is(
  .terminal-engine-story__grid,
  .signal-layers__shell,
  .terminal-overview__grid,
  .terminal-api-story__product,
  .provenance-section > .container,
  .terminal-why__grid,
  .terminal-video-story__frame,
  .terminal-resources__grid,
  #faq .faq-layout
) {
  width: var(--terminal-site-frame) !important;
  max-width: var(--cnw-page-max, 1560px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.terminal-product-page :is(
  .terminal-engine-story__head,
  .terminal-overview__head,
  .terminal-why__head,
  .terminal-resources__head
) {
  margin-top: 0 !important;
  margin-bottom: clamp(40px, 4vw, 64px) !important;
}

body.terminal-product-page :is(
  .terminal-engine-story__head,
  .terminal-overview__head,
  .terminal-why__head,
  .terminal-resources__head
) h2 {
  margin-top: 0 !important;
}

body.terminal-product-page .provenance-flow {
  margin-top: clamp(44px, 4vw, 64px) !important;
}

body.terminal-product-page .terminal-resources {
  padding-bottom: var(--terminal-site-pad) !important;
}

body.terminal-product-page .terminal-video-story__frame {
  max-height: 680px !important;
}

body.terminal-product-page main .cta-section {
  padding: var(--terminal-site-pad) 0 !important;
}

body.terminal-product-page main .cta-section > .cta-media-card {
  width: var(--terminal-site-frame) !important;
  max-width: var(--cnw-page-max, 1560px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 820px) {
  body.terminal-product-page {
    --terminal-site-frame: calc(100% - 32px);
    --terminal-site-space: 64px;
  }
}
