/* Shared editorial typography for the Ruty and Terminal product surfaces. */
body:is(.terminal-product-page, .ruty-gemini-page) {
  --product-sans: "Inter Tight", "Helvetica Neue", Arial, sans-serif;
  --cnw-title-font: var(--product-sans);
  --cnw-subtitle-font: var(--product-sans);
  --cnw-copy-font: var(--product-sans);
  --serif: var(--product-sans);
  --product-title-size: clamp(52px, 5.35vw, 82px);
  --product-title-weight: 620;
  --product-title-leading: .97;
  --product-title-tracking: -.058em;
  --product-lead-size: clamp(22px, 2vw, 29px);
  --product-lead-weight: 430;
  --product-lead-leading: 1.18;
  --product-lead-tracking: -.025em;
  font-family: var(--product-sans) !important;
  letter-spacing: 0;
}

/* Product pages use one family throughout. The repeated body class gives this
   rule enough specificity to replace legacy page-level serif declarations. */
html body.terminal-product-page.terminal-product-page main :is(h1, h2, h3, h4, h5, h6, p, span, a, button, blockquote, li, label, summary, small, strong),
html body.ruty-gemini-page.ruty-gemini-page main :is(h1, h2, h3, h4, h5, h6, p, span, a, button, blockquote, li, label, summary, small, strong) {
  font-family: var(--product-sans) !important;
  font-style: normal !important;
}

body:is(.terminal-product-page, .ruty-gemini-page) main,
body:is(.terminal-product-page, .ruty-gemini-page) main :is(h1, h2, h3, h4, p, a, button, label, li, blockquote, summary, strong, small) {
  font-family: var(--product-sans) !important;
}

body:is(.terminal-product-page, .ruty-gemini-page) main :is(
  .display,
  .section-title,
  .terminal-marquee-heading h2,
  .terminal-stack-copy h2,
  .terminal-stack-intro h2,
  .product-explainer h2,
  .ruty-decision-heading h2,
  .final-cta h2
) {
  font-family: var(--product-sans) !important;
  font-size: var(--product-title-size) !important;
  font-weight: var(--product-title-weight) !important;
  line-height: var(--product-title-leading) !important;
  font-style: normal !important;
  letter-spacing: var(--product-title-tracking) !important;
  text-transform: none !important;
  text-wrap: balance !important;
}

body:is(.terminal-product-page, .ruty-gemini-page) main :is(
  .body-lg,
  .section-lead,
  .product-explainer__copy
) {
  font-family: var(--product-sans) !important;
  font-size: var(--product-lead-size) !important;
  font-weight: var(--product-lead-weight) !important;
  line-height: var(--product-lead-leading) !important;
  font-style: normal !important;
  letter-spacing: var(--product-lead-tracking) !important;
}

body:is(.terminal-product-page, .ruty-gemini-page) main :is(
  .plan-copy,
  .pillar-content p,
  .case-copy p,
  .faq-answer p
) {
  font-family: var(--product-sans) !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  font-style: normal !important;
  letter-spacing: 0 !important;
}

html body.terminal-product-page.terminal-product-page main :is(.stack-top > .body-lg, .pillars-intro > .body-lg, .use-cases-intro > .body-lg, .cta-box > .body-lg, .terminal-marquee-heading p, .terminal-stack-intro p),
html body.ruty-gemini-page.ruty-gemini-page main :is(.section-lead, .product-explainer__copy) {
  font-family: var(--product-sans) !important;
  font-size: var(--product-lead-size) !important;
  font-weight: var(--product-lead-weight) !important;
  line-height: var(--product-lead-leading) !important;
  letter-spacing: var(--product-lead-tracking) !important;
}

body:is(.terminal-product-page, .ruty-gemini-page) main :is(pre, code, kbd, samp, .api-code, .api-status, .api-endpoint, .api-method, .api-path, [class*="mono"]) {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace !important;
}

html body:is(.terminal-product-page, .ruty-gemini-page) main :is(pre, code, kbd, samp, .api-code, .api-status, .api-endpoint, .api-method, .api-path, [class*="mono"]),
html body:is(.terminal-product-page, .ruty-gemini-page) main :is(pre, code, .api-code, .api-status, .api-endpoint) * {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace !important;
}

body:is(.terminal-product-page, .ruty-gemini-page) main :is(.btn, .api-action) {
  font-family: var(--product-sans) !important;
  font-weight: 600 !important;
}
