/* Terminal hero follows the same two-column editorial rhythm as Ruty. */
body.terminal-product-page {
  --terminal-shell: 1080px;
  --terminal-edge: 16px;
  --terminal-measure: min(var(--terminal-shell), calc(100% - (var(--terminal-edge) * 2)));
  --cnw-title-font: "Inter Tight", "Helvetica Neue", Arial, sans-serif;
  --cnw-title-size: clamp(52px, 5.35vw, 82px);
  --cnw-title-weight: 620;
  --cnw-title-leading: .97;
  --cnw-title-tracking: -.058em;
  --cnw-subtitle-font: Georgia, "Times New Roman", serif;
  --cnw-subtitle-size: clamp(22px, 2vw, 29px);
  --cnw-subtitle-weight: 430;
  --cnw-subtitle-leading: 1.18;
  --cnw-copy-font: "Inter Tight", "Helvetica Neue", Arial, sans-serif;
  --cnw-copy-size: 16px;
  --cnw-copy-weight: 400;
  --cnw-copy-leading: 1.55;
  font-family: var(--cnw-copy-font) !important;
  font-size: var(--cnw-copy-size) !important;
  font-weight: var(--cnw-copy-weight) !important;
  line-height: var(--cnw-copy-leading) !important;
}

/* One measure from the hero through every following Terminal section. */
body.terminal-product-page .container,
body.terminal-product-page .terminal-stack-intro > div {
  width: var(--terminal-measure) !important;
  max-width: var(--terminal-shell) !important;
  margin-inline: auto !important;
}

body.terminal-product-page .terminal-stack-intro {
  padding-inline: 0 !important;
}

/* Landing-derived editorial hierarchy. */
body.terminal-product-page :is(
  .section-title,
  .terminal-marquee-heading h2,
  .terminal-stack-copy h2,
  .terminal-stack-intro h2
) {
  max-width: 15.4ch !important;
  font-family: var(--cnw-title-font) !important;
  font-size: var(--cnw-title-size) !important;
  font-weight: var(--cnw-title-weight) !important;
  line-height: var(--cnw-title-leading) !important;
  letter-spacing: var(--cnw-title-tracking) !important;
  text-wrap: balance !important;
}

body.terminal-product-page :is(
  .terminal-marquee-heading p,
  .pillars-intro > .body-lg,
  .use-cases-intro > .body-lg,
  .stack-top > .body-lg,
  .cta-box > .body-lg,
  .terminal-stack-intro p
) {
  max-width: 470px !important;
  font-family: var(--cnw-subtitle-font) !important;
  font-size: var(--cnw-subtitle-size) !important;
  font-weight: var(--cnw-subtitle-weight) !important;
  line-height: var(--cnw-subtitle-leading) !important;
  letter-spacing: -.025em !important;
}

body.terminal-product-page .terminal-marquee-heading {
  width: var(--terminal-measure) !important;
  max-width: var(--terminal-shell) !important;
}

body.terminal-product-page .terminal-marquee-heading h2,
body.terminal-product-page .terminal-marquee-heading p {
  margin-inline: auto !important;
}

/* The provenance carousel supports the story; it is not another hero. */
body.terminal-product-page .quotes .section-title {
  max-width: 18ch !important;
  font-size: clamp(42px, 4.4vw, 66px) !important;
  line-height: .97 !important;
}

body.terminal-product-page .quotes .quote-card blockquote {
  font-family: var(--cnw-title-font) !important;
  font-size: clamp(20px, 1.8vw, 27px) !important;
  font-weight: 560 !important;
  line-height: 1.12 !important;
  letter-spacing: -.035em !important;
}

/* NASDAQ-style neutral copy: same family, without the headline weight. */
body.terminal-product-page :is(
  .pillar-content p,
  .feature-list li,
  .case-copy p,
  .quote-person,
  .faq-answer p,
  .api-copy .body-lg
) {
  font-family: var(--cnw-copy-font) !important;
  font-size: var(--cnw-copy-size) !important;
  font-weight: var(--cnw-copy-weight) !important;
  line-height: var(--cnw-copy-leading) !important;
  letter-spacing: 0 !important;
}

/* API panel: one neutral black typographic system throughout the content. */
body.terminal-product-page .api-copy,
body.terminal-product-page .api-copy .section-title,
body.terminal-product-page .api-copy .section-title span,
body.terminal-product-page .api-copy .body-lg,
body.terminal-product-page .api-feature,
body.terminal-product-page .api-feature strong,
body.terminal-product-page .api-feature span {
  color: #101112 !important;
  font-family: var(--cnw-copy-font) !important;
}

body.terminal-product-page .api-copy .section-title,
body.terminal-product-page .api-copy .section-title span {
  font-family: var(--cnw-title-font) !important;
}

body.terminal-product-page .api-action {
  color: #101112 !important;
  font-family: var(--cnw-copy-font) !important;
}

/* Bare matte terminal: no decorative frame behind the console. */
body.terminal-product-page .api-section {
  background: #fff !important;
}

body.terminal-product-page .api-section::before {
  display: none !important;
  content: none !important;
}

body.terminal-product-page #faq {
  background: #fff !important;
}

body.terminal-product-page .api-console-frame {
  padding: 0 !important;
  padding-bottom: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.terminal-product-page .api-console-frame::before,
body.terminal-product-page .api-console-frame::after {
  display: none !important;
  content: none !important;
}

body.terminal-product-page .api-console {
  border-color: rgba(0, 0, 0, .18) !important;
  background: #1d1f20 !important;
  box-shadow: 0 18px 44px rgba(0, 0, 0, .18) !important;
}

body.terminal-product-page .api-console-bar,
body.terminal-product-page .api-status {
  background: #181a1b !important;
}

body.terminal-product-page .api-code {
  background: #1d1f20 !important;
}

body.terminal-product-page .api-console-tabs button {
  color: rgba(16, 17, 18, .5) !important;
}

body.terminal-product-page .api-console-tabs button:hover {
  color: #101112 !important;
}

body.terminal-product-page .api-console-tabs .active {
  background: #171818 !important;
  color: #fff !important;
}

body.terminal-product-page .api-action-primary,
body.terminal-product-page .api-action-primary:hover {
  color: #fff !important;
}

body.terminal-product-page .hero {
  min-height: auto !important;
  padding: clamp(116px, 16vh, 190px) 0 clamp(88px, 9vw, 124px) !important;
  background: #fff !important;
}

body.terminal-product-page .hero > .container {
  width: var(--terminal-measure) !important;
  max-width: var(--terminal-shell) !important;
  margin-inline: auto !important;
}

body.terminal-product-page .hero-head {
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(320px, .62fr) !important;
  grid-template-rows: auto auto !important;
  align-items: end !important;
  gap: 14px clamp(54px, 9vw, 170px) !important;
  width: 100% !important;
  max-width: none !important;
  text-align: left !important;
}

body.terminal-product-page .hero-head > .kicker {
  display: none !important;
}

body.terminal-product-page .hero-head .display {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  width: auto !important;
  max-width: 15.4ch !important;
  margin: 0 !important;
  color: #151515 !important;
  font: var(--cnw-title-weight) var(--cnw-title-size)/var(--cnw-title-leading) var(--cnw-title-font) !important;
  letter-spacing: -.058em !important;
  text-align: left !important;
  text-transform: uppercase !important;
  text-wrap: balance !important;
}

body.terminal-product-page .hero-head .display span {
  display: inline !important;
}

body.terminal-product-page .hero-head .display span + span::before {
  content: " ";
}

body.terminal-product-page .hero-copy {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: auto !important;
  max-width: 470px !important;
  margin: 0 0 clamp(8px, 1vw, 18px) !important;
  color: #151515 !important;
  font: 430 clamp(22px, 2vw, 29px)/1.18 Georgia, "Times New Roman", serif !important;
  letter-spacing: -.025em !important;
  text-align: left !important;
}

body.terminal-product-page .hero-actions {
  grid-column: 2 !important;
  grid-row: 2 !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  margin: 14px 0 0 !important;
}

body.terminal-product-page .hero-actions .btn {
  min-height: 46px !important;
  padding-inline: 22px !important;
  border-radius: 999px !important;
  font-family: "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 650 !important;
}

body.terminal-product-page .hero-video-wrap {
  width: 100% !important;
  max-width: none !important;
  height: 620px !important;
  aspect-ratio: auto !important;
  margin: 160px 0 0 !important;
  border-radius: 22px !important;
  box-shadow: 0 28px 80px rgba(50, 91, 126, .14) !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  clip-path: none !important;
}

body.terminal-product-page .hero-video-wrap :is(img, video) {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

@media (max-width: 860px) {
  body.terminal-product-page .hero {
    padding: 136px 0 82px !important;
  }

  body.terminal-product-page .hero-head {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
    gap: 28px !important;
  }

  body.terminal-product-page .hero-head .display,
  body.terminal-product-page .hero-copy,
  body.terminal-product-page .hero-actions {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  body.terminal-product-page .hero-head .display {
    max-width: 15.4ch !important;
    font-size: clamp(52px, 12vw, 72px) !important;
  }

  body.terminal-product-page .hero-copy {
    max-width: 640px !important;
  }
}

@media (max-width: 560px) {
  body.terminal-product-page .hero-head .display {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(38px, 11.5vw, 48px) !important;
    line-height: .91 !important;
    letter-spacing: -.055em !important;
    text-align: center !important;
    overflow-wrap: normal !important;
  }

  body.terminal-product-page .hero-head .display > span {
    width: 100% !important;
    display: block !important;
    text-align: center !important;
  }

  body.terminal-product-page .hero-copy {
    max-width: 34ch !important;
    text-align: center !important;
    text-align-last: center !important;
  }

  body.terminal-product-page .hero-actions {
    align-items: stretch !important;
    flex-direction: column !important;
    width: 100% !important;
  }

  body.terminal-product-page .hero-actions .btn {
    justify-content: center !important;
    width: 100% !important;
  }

  body.terminal-product-page .hero-video-wrap {
    height: auto !important;
    aspect-ratio: 4 / 5 !important;
    margin-top: 58px !important;
  }

  body.terminal-product-page .cta-section {
    padding: 76px 0 !important;
  }

  body.terminal-product-page .cta-box,
  body.terminal-product-page .cta-box > * {
    min-width: 0 !important;
  }

  body.terminal-product-page .cta-box .section-title {
    max-width: 100% !important;
    font-size: clamp(38px, 12.3vw, 48px) !important;
    line-height: .96 !important;
    letter-spacing: -.052em !important;
    overflow-wrap: anywhere !important;
  }

  body.terminal-product-page .cta-box .body-lg {
    max-width: 100% !important;
    text-align: left !important;
    text-align-last: left !important;
  }
}

/* Keep this last so component alignment rules cannot cancel the justification. */
body.terminal-product-page :is(
  p,
  li,
  blockquote,
  .quote-person,
  .api-feature span
) {
  text-align: justify !important;
  text-justify: inter-word !important;
  hyphens: auto;
}

/* Shared product-hero standard: title, subtitle and actions in one vertical column. */
body.terminal-product-page .hero-head {
  --terminal-hero-axis: min(100%, 980px);
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto !important;
  align-items: start !important;
  justify-items: center !important;
  gap: 0 !important;
  text-align: center !important;
}

body.terminal-product-page .hero-head .display,
body.terminal-product-page .hero-copy,
body.terminal-product-page .hero-actions {
  grid-column: 1 !important;
  grid-row: auto !important;
  width: var(--terminal-hero-axis) !important;
  max-width: 980px !important;
  justify-self: center !important;
  margin-inline: auto !important;
}

body.terminal-product-page .hero-head .display {
  text-align: center !important;
}

body.terminal-product-page .hero-copy {
  margin: 32px auto 0 !important;
  text-align: justify !important;
  text-align-last: center !important;
  text-justify: inter-word !important;
  hyphens: none !important;
}

body.terminal-product-page .hero-actions {
  justify-content: center !important;
  margin: 28px auto 0 !important;
}

body.terminal-product-page .hero-video-wrap {
  margin-top: 112px !important;
}

@media (max-width: 860px) {
  body.terminal-product-page .hero-copy {
    margin-top: 26px !important;
  }
}

@media (max-width: 560px) {
  body.terminal-product-page .hero-head .hero-copy {
    width: calc(100% - 32px) !important;
    max-width: 34ch !important;
    margin-inline: auto !important;
    text-align: center !important;
    text-align-last: center !important;
  }
}
