/* Ruty R0.1 / R0.2 — sober editorial presentation shared with the current site. */

html body.ruty-release-page main {
  padding-top: 64px !important;
  background: #fff !important;
  color: #111 !important;
}

html body.ruty-release-page .page-hero.product-hero {
  width: min(calc(100% - 64px), 1320px) !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: clamp(82px,7vw,108px) 0 clamp(76px,6vw,96px) !important;
  display: grid !important;
  grid-template-columns: minmax(380px,.82fr) minmax(0,1.18fr) !important;
  gap: clamp(56px,6vw,92px) !important;
  align-items: center !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
}

html body.ruty-release-page .page-hero.product-hero .page-hero-inner {
  width: 100% !important;
  max-width: 560px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: center !important;
  text-align: left !important;
}

html body.ruty-release-page .page-title {
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  color: #111 !important;
  font-size: clamp(58px,5.2vw,78px) !important;
  font-weight: 500 !important;
  line-height: .94 !important;
  letter-spacing: -.055em !important;
  text-align: left !important;
}

html body.ruty-release-page .product-hero-copy {
  width: 100% !important;
  max-width: 540px !important;
  margin: 28px 0 0 !important;
  color: #525960 !important;
  font-size: clamp(18px,1.45vw,21px) !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: -.018em !important;
  text-align: left !important;
}

html body.ruty-release-page .page-hero.product-hero::after,
html body.ruty-release-page .page-hero.product-hero.cnw-fluid-hero::after {
  width: 100% !important;
  height: clamp(430px,36vw,520px) !important;
  min-height: 0 !important;
  margin: 0 !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  border: 0 !important;
  border-radius: 20px !important;
  box-shadow: none !important;
  background-position: center !important;
  background-size: cover !important;
}

html body.ruty-release-page .ruty-spec-page {
  width: min(calc(100% - 64px), 1320px) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 0 clamp(96px,9vw,136px) !important;
  background: #fff !important;
}

html body.ruty-release-page .ruty-spec-page > :not(.ruty-spec-back) {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

html body.ruty-release-page .ruty-spec-page > :not(.ruty-spec-back) + :not(.ruty-spec-back) {
  margin-top: clamp(76px,7vw,104px) !important;
}

html body.ruty-release-page :is(.ruty-spec-intro,.ruty-validation-head,.ruty-r02-split) {
  display: grid !important;
  grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr) !important;
  gap: clamp(54px,7vw,104px) !important;
  align-items: start !important;
  padding-top: clamp(38px,4vw,54px) !important;
  border-top: 1px solid #d9dde2 !important;
}

html body.ruty-release-page main :is(
  .ruty-spec-intro h2,
  .ruty-validation-head h2,
  .ruty-r02-split h2,
  .product-faq-accordion > h2
) {
  max-width: 620px !important;
  margin: 0 !important;
  color: #111 !important;
  font-size: clamp(38px,3.8vw,56px) !important;
  font-weight: 500 !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
}

html body.ruty-release-page main :is(
  .ruty-spec-intro > p,
  .ruty-validation-head > p,
  .ruty-r02-split > div > p
) {
  max-width: 62ch !important;
  margin: 0 !important;
  color: #4f565d !important;
  font-size: clamp(18px,1.45vw,21px) !important;
  line-height: 1.55 !important;
  letter-spacing: -.015em !important;
}

html body.ruty-release-page .ruty-spec-list {
  display: block !important;
  border-bottom: 1px solid #d9dde2 !important;
}

html body.ruty-release-page .ruty-spec-row {
  min-height: 0 !important;
  padding: 26px 0 !important;
  display: grid !important;
  grid-template-columns: minmax(170px,.34fr) minmax(0,1fr) !important;
  gap: clamp(32px,5vw,72px) !important;
  align-items: baseline !important;
  border: 0 !important;
  border-top: 1px solid #d9dde2 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.ruty-release-page .ruty-spec-row h3 {
  margin: 0 !important;
  color: #111 !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: -.01em !important;
}

html body.ruty-release-page .ruty-spec-row p {
  max-width: 68ch !important;
  margin: 0 !important;
  color: #555d65 !important;
  font-size: 18px !important;
  line-height: 1.5 !important;
}

/* Unsupported numerical claims stay out of the public presentation. */
html body.ruty-r01-release :is(.ruty-validation-grid,.ruty-model-table-block),
html body.ruty-r02-release .ruty-r02-metrics {
  display: none !important;
}

html body.ruty-release-page .ruty-r02-stage {
  padding: 28px 0 !important;
  display: grid !important;
  grid-template-columns: minmax(170px,.34fr) minmax(0,1fr) !important;
  gap: 14px clamp(32px,5vw,72px) !important;
  border: 0 !important;
  border-top: 1px solid #d9dde2 !important;
  border-bottom: 1px solid #d9dde2 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

html body.ruty-release-page .ruty-r02-stage > span {
  grid-row: 1 / span 2;
  color: #59616a !important;
  font-size: 13px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

html body.ruty-release-page .ruty-r02-stage strong {
  color: #111 !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

html body.ruty-release-page .ruty-r02-stage p {
  max-width: 62ch !important;
  margin: 0 !important;
  color: #555d65 !important;
  font-size: 17px !important;
  line-height: 1.5 !important;
}

html body.ruty-release-page .ruty-r02-stack {
  padding: 0 !important;
  display: block !important;
  border: 0 !important;
  background: transparent !important;
}

html body.ruty-release-page .ruty-r02-stack span,
html body.ruty-release-page .ruty-r02-stack span:last-child {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 18px 0 !important;
  display: block !important;
  border: 0 !important;
  border-top: 1px solid #d9dde2 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #111 !important;
}

html body.ruty-release-page .ruty-r02-stack span:last-child {
  border-bottom: 1px solid #d9dde2 !important;
}

html body.ruty-release-page .ruty-r02-stack span::before,
html body.ruty-release-page .ruty-r02-stack span::after,
html body.ruty-release-page .ruty-input-icon {
  content: none !important;
  display: none !important;
}

html body.ruty-release-page .ruty-r02-stack b {
  font-size: 18px !important;
  font-weight: 600 !important;
}

html body.ruty-release-page .ruty-r02-stack small {
  margin-top: 5px !important;
  display: block !important;
  color: #656d75 !important;
  font-size: 15px !important;
}

html body.ruty-release-page :is(.ruty-r02-inputs,.ruty-r02-goals) {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 0 clamp(40px,6vw,88px) !important;
  border-bottom: 1px solid #d9dde2 !important;
}

html body.ruty-release-page :is(.ruty-r02-inputs,.ruty-r02-goals) article {
  min-height: 0 !important;
  padding: 28px 0 32px !important;
  border: 0 !important;
  border-top: 1px solid #d9dde2 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.ruty-release-page :is(.ruty-r02-inputs,.ruty-r02-goals) h3 {
  margin: 0 0 12px !important;
  color: #111 !important;
  font-size: clamp(24px,2.1vw,30px) !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
  letter-spacing: -.03em !important;
}

html body.ruty-release-page :is(.ruty-r02-inputs,.ruty-r02-goals) p {
  max-width: 52ch !important;
  margin: 0 !important;
  color: #555d65 !important;
  font-size: 17px !important;
  line-height: 1.52 !important;
}

html body.ruty-release-page .ruty-r02-roadmap h3 { display: none !important; }
html body.ruty-release-page .ruty-r02-roadmap .ruty-spec-row { grid-template-columns: 1fr !important; }

html body.ruty-release-page .product-faq-accordion {
  padding-top: clamp(38px,4vw,54px) !important;
  border-top: 1px solid #d9dde2 !important;
}

html body.ruty-release-page .product-faq-accordion-list {
  margin-top: 42px !important;
}

html body.ruty-release-page .product-faq-accordion-list details {
  padding: 0 !important;
  border: 0 !important;
  border-top: 1px solid #d9dde2 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

html body.ruty-release-page .product-faq-accordion-list details:last-child {
  border-bottom: 1px solid #d9dde2 !important;
}

html body.ruty-release-page .product-faq-accordion-list summary {
  padding: 24px 0 !important;
  color: #111 !important;
  font-size: 19px !important;
  font-weight: 600 !important;
}

html body.ruty-release-page .product-faq-accordion-list details p {
  max-width: 68ch !important;
  padding: 0 0 26px !important;
  color: #555d65 !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
}

html body.ruty-release-page .ruty-spec-back {
  width: auto !important;
  margin-top: clamp(64px,6vw,88px) !important;
  display: inline-flex !important;
  color: #111 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

@media (max-width: 760px) {
  html body.ruty-release-page .page-hero.product-hero,
  html body.ruty-release-page .ruty-spec-page {
    width: calc(100% - 32px) !important;
  }

  html body.ruty-release-page .page-hero.product-hero {
    padding: 54px 0 64px !important;
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }

  html body.ruty-release-page .page-title {
    font-size: clamp(46px,13vw,58px) !important;
  }

  html body.ruty-release-page .product-hero-copy {
    margin-top: 22px !important;
    font-size: 18px !important;
  }

  html body.ruty-release-page .page-hero.product-hero::after,
  html body.ruty-release-page .page-hero.product-hero.cnw-fluid-hero::after {
    height: 68vw !important;
    min-height: 260px !important;
    grid-column: 1 !important;
    grid-row: 2 !important;
    border-radius: 14px !important;
  }

  html body.ruty-release-page :is(.ruty-spec-intro,.ruty-validation-head,.ruty-r02-split) {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding-top: 30px !important;
  }

  html body.ruty-release-page main :is(
    .ruty-spec-intro h2,
    .ruty-validation-head h2,
    .ruty-r02-split h2,
    .product-faq-accordion > h2
  ) {
    font-size: clamp(34px,10vw,44px) !important;
  }

  html body.ruty-release-page .ruty-spec-row,
  html body.ruty-release-page .ruty-r02-stage {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  html body.ruty-release-page .ruty-r02-stage > span { grid-row: auto; }

  html body.ruty-release-page :is(.ruty-r02-inputs,.ruty-r02-goals) {
    grid-template-columns: 1fr !important;
  }
}
