/* Final Ruty visual contract. Keep legacy motion and diagrams, but make the
   page read as one product with one typographic and surface system. */
body.ruty-gemini-page {
  --ruty-section-title-size: 62px;
  --ruty-section-title-weight: 600;
  --ruty-section-title-leading: 1.02;
  --ruty-copy-size: 18px;
  --ruty-copy-leading: 1.45;
  --ruty-panel-blue: #91a9bd;
  --ruty-surface: #f3f4f4;
  --ruty-card: #ffffff;
  --ruty-text: #0b0d0e;
  --ruty-muted: #52616b;
  --ruty-border: #cfd5d8;
}

body.ruty-gemini-page :is(
  .product-explainer__intro h2,
  .ruty-decision-heading h2,
  .ruty-components-head h2
) {
  font-family: "Inter Tight", Arial, sans-serif !important;
  font-size: var(--ruty-section-title-size) !important;
  font-weight: var(--ruty-section-title-weight) !important;
  line-height: var(--ruty-section-title-leading) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-wrap: balance;
}

body.ruty-gemini-page .product-explainer {
  background: var(--ruty-panel-blue) !important;
  color: var(--ruty-text) !important;
}

body.ruty-gemini-page .product-explainer__intro h2 {
  max-width: 12ch !important;
  color: var(--ruty-text) !important;
}

body.ruty-gemini-page .product-explainer__copy {
  max-width: 590px !important;
  color: #172127 !important;
  font-family: "Inter Tight", Arial, sans-serif !important;
  font-size: var(--ruty-copy-size) !important;
  font-weight: 400 !important;
  line-height: var(--ruty-copy-leading) !important;
  letter-spacing: 0 !important;
}

body.ruty-gemini-page .product-explainer__copy strong {
  color: inherit !important;
  font-weight: 600 !important;
}

body.ruty-gemini-page .ruty-decision-section {
  --decision-ink: var(--ruty-text);
  --decision-blue: #356ba0;
  --decision-pale: #dce8f1;
  --decision-line: rgba(11, 13, 14, .15);
  --decision-card: var(--ruty-surface);
  --decision-muted: var(--ruty-muted);
  margin: 0 !important;
  padding: 112px 0 !important;
  background: #fff !important;
  color: var(--ruty-text) !important;
  font-family: "Inter Tight", Arial, sans-serif !important;
}

html body.ruty-gemini-page main#top .ruty-decision-section .ruty-decision-heading {
  margin-bottom: 46px !important;
}

html body.ruty-gemini-page main#top .ruty-decision-section .ruty-decision-heading h2 {
  color: var(--ruty-text) !important;
  font-family: "Inter Tight", Arial, sans-serif !important;
  font-size: var(--ruty-section-title-size) !important;
  font-weight: var(--ruty-section-title-weight) !important;
  line-height: var(--ruty-section-title-leading) !important;
  letter-spacing: 0 !important;
}

body.ruty-gemini-page .ruty-decision-module {
  border: 1px solid var(--ruty-border) !important;
  border-radius: 8px !important;
  background: var(--ruty-card) !important;
  color: var(--ruty-text) !important;
}

body.ruty-gemini-page .ruty-module-icon {
  border-radius: 6px !important;
  background: #e3edf5 !important;
}

body.ruty-gemini-page .ruty-module-icon svg {
  stroke: #356ba0 !important;
}

body.ruty-gemini-page .ruty-module-tag {
  color: var(--ruty-muted) !important;
  font-family: "Inter Tight", Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

body.ruty-gemini-page .ruty-decision-module h3,
body.ruty-gemini-page .ruty-weight-output {
  color: var(--ruty-text) !important;
  letter-spacing: 0 !important;
}

body.ruty-gemini-page .ruty-decision-module h3 {
  font-family: "Inter Tight", Arial, sans-serif !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
}

body.ruty-gemini-page .ruty-decision-module p,
body.ruty-gemini-page :is(.ruty-weight-output small, .ruty-slider-labels) {
  color: var(--ruty-muted) !important;
}

body.ruty-gemini-page .ruty-decision-module p {
  font-family: "Inter Tight", Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
}

body.ruty-gemini-page .ruty-decision-module.is-glow-active {
  border-color: #91a9bd !important;
  box-shadow: 0 14px 34px rgba(26, 48, 64, .12) !important;
}

body.ruty-gemini-page :is(.ruty-chart-guide, .ruty-range-label-line) {
  stroke: rgba(11, 13, 14, .16) !important;
}

body.ruty-gemini-page .ruty-state-chart text {
  fill: var(--ruty-muted) !important;
}

body.ruty-gemini-page :is(.ruty-current-point, .ruty-policy-start) {
  fill: var(--ruty-text) !important;
}

body.ruty-gemini-page #rutyPolicyDots circle {
  fill: rgba(11, 13, 14, .18) !important;
}

body.ruty-gemini-page .ruty-policy-pending {
  stroke: rgba(11, 13, 14, .2) !important;
}

body.ruty-gemini-page .ruty-sizing-bars {
  border-bottom-color: rgba(11, 13, 14, .16) !important;
}

body.ruty-gemini-page .ruty-sizing-bars i.is-current::before {
  background: var(--ruty-text) !important;
}

body.ruty-gemini-page :is(.ruty-policy-target-outer, .ruty-policy-target-mid) {
  stroke: rgba(11, 13, 14, .28) !important;
}

body.ruty-gemini-page .ruty-slider-marks i {
  background: rgba(11, 13, 14, .3) !important;
}

body.ruty-gemini-page .ruty-slider-shell input::-webkit-slider-runnable-track {
  background: linear-gradient(90deg, var(--decision-blue) 0 var(--selected-weight), rgba(11,13,14,.17) var(--selected-weight) 100%) !important;
}

body.ruty-gemini-page .ruty-slider-shell input::-moz-range-track {
  background: rgba(11, 13, 14, .17) !important;
}

body.ruty-gemini-page .ruty-components-head h2 {
  max-width: 14ch;
}

/* The components carousel follows the site's quiet metric-card language. */
body.ruty-gemini-page .ruty-components {
  padding: 112px 24px !important;
  background: #fff !important;
}

body.ruty-gemini-page .ruty-components-shell {
  width: min(1460px, 100%) !important;
  margin-inline: auto !important;
  padding: 0 !important;
  overflow: visible !important;
  border-radius: 0 !important;
  background: #fff !important;
}

body.ruty-gemini-page .ruty-components-head {
  gap: 64px !important;
}

body.ruty-gemini-page .ruty-components .plugin-carousel {
  margin-top: 64px !important;
  overflow: hidden !important;
}

body.ruty-gemini-page .ruty-components .plugin-card {
  min-height: 340px !important;
  padding: 30px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #f1f2f2 !important;
}

body.ruty-gemini-page .ruty-components .plugin-card:hover,
body.ruty-gemini-page .ruty-components .plugin-card:focus-visible {
  background: #e8eaeb !important;
  transform: translateY(-3px) !important;
}

body.ruty-gemini-page .ruty-component-icon {
  border: 0 !important;
  background: #e3e5e5 !important;
}

body.ruty-gemini-page .ruty-components .plugin-card h3 {
  font-size: 30px !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
}

body.ruty-gemini-page .ruty-components .plugin-card p {
  font-size: 16px !important;
  line-height: 1.42 !important;
}

body.ruty-gemini-page :is(
  .product-explainer,
  .ruty-decision-section,
  .ruty-platform-widget,
  .ruty-components
) p {
  letter-spacing: 0 !important;
}

@media (max-width: 1100px) {
  body.ruty-gemini-page {
    --ruty-section-title-size: 52px;
  }
}

@media (max-width: 720px) {
  body.ruty-gemini-page {
    --ruty-section-title-size: 40px;
    --ruty-copy-size: 16px;
  }

  body.ruty-gemini-page .ruty-decision-section {
    padding: 72px 0 !important;
  }

  body.ruty-gemini-page .ruty-components {
    padding: 72px 16px !important;
  }

  body.ruty-gemini-page .ruty-components .plugin-card h3 {
    font-size: 26px !important;
  }
}
