/* Ruty generation pages: liquid hero, opaque editorial body. */
html:has(body.ruty-release-page),body.ruty-release-page { width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:#fff!important;overflow-x:hidden; }
body.ruty-release-page main { width:100%!important;max-width:none!important;margin:0!important;padding-top:58px!important;border:0!important;box-shadow:none!important;background:#fff!important; }

body.ruty-release-page .page-hero.product-hero {
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  min-height:clamp(430px,56vh,620px)!important;
  padding:clamp(118px,14vh,170px) 24px clamp(90px,11vh,130px)!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
  background:transparent!important;
}
body.ruty-release-page .page-hero.product-hero::after { content:none!important;display:none!important; }
body.ruty-release-page .page-hero.product-hero.cnw-fluid-hero::before,
body.ruty-release-page .page-hero.product-hero.cnw-fluid-hero::after { content:none!important;display:none!important;background:none!important;opacity:0!important; }
body.ruty-release-page .page-hero.product-hero.cnw-fluid-hero > .cnw-fluid-field { position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;opacity:.58!important;mix-blend-mode:normal!important;filter:none!important;mask-image:none!important;-webkit-mask-image:none!important; }
body.ruty-release-page .page-hero.product-hero .page-hero-inner { width:min(980px,100%)!important;max-width:none!important;margin:auto!important;text-align:center; }
body.ruty-release-page .page-hero.product-hero .page-hero-inner { position:relative;z-index:2; }
body.ruty-release-page .page-title { color:#101112!important; }
body.ruty-release-page .product-hero-copy { max-width:760px!important;margin:24px auto 0!important;color:#526473!important; }

body.ruty-release-page .ruty-spec-page {
  box-sizing:border-box;
  position:relative;
  isolation:isolate;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(54px,6vw,82px) max(24px,calc((100vw - 1180px)/2)) clamp(110px,11vw,160px)!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  opacity:1!important;
}
body.ruty-release-page .ruty-spec-page::before {
  content:"";
  position:absolute;
  z-index:0;
  top:0;
  bottom:0;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  background:#fff;
  pointer-events:none;
}
body.ruty-release-page .ruty-spec-page > * { position:relative;z-index:1; }
body.ruty-release-page :is(.ruty-spec-intro,.ruty-r02-stage,.product-metrics,.ruty-validation-block,.ruty-model-table-block,.ruty-r02-split,.product-faq-accordion) { background:transparent!important;box-shadow:none!important; }
body.ruty-release-page :is(.ruty-r02-stage,.ruty-validation-grid article,.ruty-r02-stack,.ruty-table-scroll,.product-faq-accordion-list details) { border-color:#cbd9e3!important; }
body.ruty-release-page .ruty-r02-stage { padding:34px 0!important;border-left:0!important;border-right:0!important;border-radius:0!important;box-shadow:none!important; }
body.ruty-release-page .ruty-validation-grid article { background:#f3f8fb!important; }
body.ruty-release-page .ruty-r02-stack { position:relative;counter-reset:ruty-stack;display:grid!important;gap:0!important;padding:8px 0!important;border:0!important;border-radius:0!important;background:transparent!important;overflow:visible; }
body.ruty-release-page .ruty-r02-stack::before { content:none;display:none; }
body.ruty-release-page .ruty-r02-stack span { counter-increment:ruty-stack;position:relative;min-height:78px!important;padding:18px 42px 18px 68px!important;display:flex!important;flex-direction:column;align-items:flex-start!important;justify-content:center!important;border:0!important;border-radius:0!important;background:transparent!important;color:#102a43!important; }
body.ruty-release-page .ruty-r02-stack span::before { content:counter(ruty-stack,decimal-leading-zero);position:absolute;z-index:2;left:0;top:50%;width:44px;height:44px;display:grid;place-items:center;transform:translateY(-50%);border:1px solid #8eb8d3;border-radius:50%;background:#fff;color:#315f8b;font:600 10px/1 "DM Mono",monospace;box-shadow:0 7px 20px rgba(49,95,139,.1); }
body.ruty-release-page .ruty-r02-stack span::after { content:none!important;display:none!important; }
body.ruty-release-page .ruty-r02-stack span:last-child { margin-top:8px;border:1px solid #8eb8d3!important;border-radius:12px!important;background:linear-gradient(135deg,#eef7fc,#d9ebf6)!important;box-shadow:0 18px 45px rgba(49,95,139,.12); }
body.ruty-release-page .ruty-r02-stack span:last-child::before { border-color:#102a43;background:#102a43;color:#fff; }
body.ruty-release-page .ruty-r02-stack b { font-size:15px;line-height:1.15;letter-spacing:-.01em; }
body.ruty-release-page .ruty-r02-stack small { margin-top:6px;color:#6a7d8d;font-size:12px;line-height:1.25;text-transform:none;letter-spacing:0; }
body.ruty-release-page .ruty-table-scroll { background:#fff!important; }
body.ruty-release-page .ruty-model-table { background:#fff!important; }
body.ruty-release-page .ruty-model-table :is(th,td) { background:#fff; }
body.ruty-release-page .product-faq-accordion-list details { background:#fff!important; }
body.ruty-release-page .ruty-r02-inputs article { position:relative;padding-top:30px!important; }
body.ruty-release-page .ruty-input-icon { width:46px;height:46px;margin-bottom:54px;display:grid;place-items:center;border:1px solid #a9c7da;border-radius:50%;background:#f3f9fc;color:#315f8b;transition:transform .35s cubic-bezier(.22,1,.36,1),background .25s ease; }
body.ruty-release-page .ruty-input-icon svg { width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round; }
body.ruty-release-page .ruty-r02-inputs article:hover .ruty-input-icon { transform:rotate(7deg) scale(1.06);background:#e2f1f9; }

/* R0.1 has less narrative content in the hero: keep its transition tighter. */
body.ruty-r01-release .page-hero.product-hero { min-height:500px!important;padding-top:120px!important;padding-bottom:72px!important;background:transparent!important; }
body.ruty-r01-release .page-hero.product-hero::after { content:none!important;display:none!important; }
body.ruty-r01-release .ruty-spec-page { padding-top:58px!important; }

@media(max-width:760px){
  body.ruty-release-page .page-hero.product-hero{min-height:400px!important;padding:120px 20px 82px!important}
  body.ruty-release-page .ruty-spec-page{padding:54px 20px 110px!important}
  body.ruty-release-page .ruty-input-icon{margin-bottom:28px}
}
