/* CNW Signal Field — canonical visual identity layer */
:root {
  --cnw-max: 1320px;
  --site-max: 1320px;
  --cnw-gutter: clamp(16px,1.7vw,24px);
  --site-gutter: clamp(16px,1.7vw,24px);
  --cnw-ink: #101112;
  --cnw-text: #30363b;
  --cnw-muted: #687078;
  --cnw-faint: #969da3;
  --cnw-line: #dfe3e5;
  --cnw-soft: #f6f7f7;
  --cnw-navy: #123047;
  --cnw-blue: #547f99;
  --cnw-positive: #2f6f4e;
  --cnw-risk: #8f463d;
  --cnw-copper: #9b653c;
  --cnw-swish: cubic-bezier(.22,1,.36,1);
  --cnw-ui-speed: 250ms;
  --cnw-editorial-speed: 800ms;
  --cnw-section-y: clamp(68px,7vw,96px);
  --cnw-grid-gap: clamp(8px,1.45vw,24px);
}

@supports (display: cnw-disable-decision-prototype) {
/* Ruty decision editorial prototype — first block only. */
body.modelos-page .ruty-decision-editorial {
  position: relative !important;
  width: min(1240px,calc(100% - 48px)) !important;
  margin: clamp(70px,8vw,120px) auto !important;
  padding: clamp(26px,3vw,44px) !important;
  display: grid !important;
  grid-template-columns: minmax(360px,.84fr) minmax(430px,1.16fr) !important;
  gap: clamp(48px,7vw,104px) !important;
  align-items: center !important;
  border: 1px solid rgba(16,42,67,.14) !important;
  border-radius: 24px !important;
  background: rgba(242,248,252,.84) !important;
  color: #111418 !important;
  box-shadow: 0 32px 100px rgba(50,96,132,.12) !important;
  overflow: hidden !important;
}
body.modelos-page .ruty-decision-editorial::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 18% 18%,rgba(158,204,233,.22),transparent 34%),linear-gradient(120deg,rgba(255,255,255,.5),transparent 55%);
}
body.modelos-page .ruty-decision-editorial > * { position: relative; z-index: 1; }
body.modelos-page .ruty-decision-painting {
  position: relative !important;
  width: 100% !important;
  height: clamp(530px,47vw,650px) !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 17px !important;
  background: #cdddea !important;
  box-shadow: 0 24px 70px rgba(30,59,82,.18) !important;
}
body.modelos-page .ruty-decision-painting::after {
  content: "";
  position: absolute;
  inset: 55% 0 0;
  background: linear-gradient(transparent,rgba(5,14,22,.62));
  pointer-events: none;
}
body.modelos-page .ruty-decision-painting img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  filter: saturate(.88) contrast(1.02) brightness(.98) !important;
  transform: scale(1.035) translate3d(0,0,0) !important;
  transition: transform 1.45s cubic-bezier(.2,.75,.2,1),filter 1.3s ease !important;
}
body.modelos-page .ruty-painting-light {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: .12;
  mix-blend-mode: soft-light;
  background: radial-gradient(circle at 68% 36%,#ffe3aa,transparent 42%);
  transition: opacity 1.2s ease,background 1.2s ease;
}
body.modelos-page .ruty-decision-editorial[data-decision-state="long"] .ruty-decision-painting img { transform: scale(1.09) translate3d(1.5%,-1%,0) !important; filter: saturate(1.02) contrast(1.03) brightness(1.03) !important; }
body.modelos-page .ruty-decision-editorial[data-decision-state="long"] .ruty-painting-light { opacity: .3; }
body.modelos-page .ruty-decision-editorial[data-decision-state="score"] .ruty-decision-painting img { transform: scale(1.055) translate3d(-1%,0,0) !important; filter: saturate(.82) contrast(1.08) brightness(.98) !important; }
body.modelos-page .ruty-decision-editorial[data-decision-state="score"] .ruty-painting-light { opacity: .16; background: radial-gradient(circle at 48% 42%,#dcecff,transparent 46%); }
body.modelos-page .ruty-decision-editorial[data-decision-state="weight"] .ruty-decision-painting img { transform: scale(1.015) translate3d(0,1%,0) !important; filter: saturate(.72) contrast(1.04) brightness(.9) !important; }
body.modelos-page .ruty-decision-editorial[data-decision-state="weight"] .ruty-painting-light { opacity: .22; background: linear-gradient(135deg,rgba(62,99,128,.7),transparent 58%); }
body.modelos-page .ruty-decision-painting figcaption {
  position: absolute;
  z-index: 3;
  left: 20px;
  right: 20px;
  bottom: 17px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: rgba(255,255,255,.86);
  font: 500 9px/1.3 "Inter Tight",sans-serif;
  letter-spacing: .12em;
}
body.modelos-page .ruty-decision-painting figcaption b { font-weight: 500; }
body.modelos-page .ruty-decision-editorial .product-visual-copy { padding: 0 !important; }
body.modelos-page .ruty-decision-editorial .product-visual-copy h2 { margin: 0 0 18px !important; color:#111418 !important; font-size: clamp(42px,4.7vw,70px) !important; line-height: .94 !important; letter-spacing: -.055em !important; }
body.modelos-page .ruty-decision-editorial .product-visual-lead { max-width: 570px !important; margin: 0 0 46px !important; color: rgba(17,20,24,.62) !important; font-size: 17px !important; line-height: 1.55 !important; }
body.modelos-page .ruty-decision-list { border-top: 1px solid rgba(16,42,67,.17) !important; }
body.modelos-page .ruty-decision-list details { position: relative; border: 0 !important; border-bottom: 1px solid rgba(16,42,67,.17) !important; background: transparent !important; overflow: hidden; }
body.modelos-page .ruty-decision-list summary { min-height: 78px !important; padding: 0 !important; display: flex !important; align-items: center !important; justify-content: space-between !important; color:#111418 !important; list-style:none; cursor:pointer; }
body.modelos-page .ruty-decision-list summary::-webkit-details-marker { display:none; }
body.modelos-page .ruty-decision-list summary > span { display:flex; align-items:center; gap:22px; font-size:clamp(19px,1.8vw,26px); font-weight:560; letter-spacing:-.025em; }
body.modelos-page .ruty-decision-list summary small { color:rgba(16,42,67,.4); font:500 10px "DM Mono",monospace; letter-spacing:.08em; }
body.modelos-page .ruty-decision-list summary i { color:rgba(16,42,67,.45) !important; font-style:normal; transition:transform .3s ease; }
body.modelos-page .ruty-decision-list details[open] summary i { transform:rotate(45deg); }
body.modelos-page .ruty-decision-list details > p { max-width:500px; margin:-6px 0 24px 45px !important; color:rgba(17,20,24,.58) !important; font-size:15px !important; line-height:1.5 !important; }
body.modelos-page .ruty-decision-progress { position:absolute; left:0; bottom:-1px; width:0; height:2px; background:#102a43; }
body.modelos-page .ruty-decision-list details[open] .ruty-decision-progress { animation:rutyDecisionProgress 4.8s linear forwards; }
@keyframes rutyDecisionProgress { from{width:0} to{width:100%} }
@media(max-width:900px){
  body.modelos-page .ruty-decision-editorial{grid-template-columns:1fr!important;gap:48px!important}.ruty-decision-painting{height:620px!important}
}
@media(max-width:620px){
  body.modelos-page .ruty-decision-editorial{width:calc(100% - 24px)!important;padding:12px 12px 30px!important;border-radius:17px!important}.ruty-decision-painting{height:470px!important;border-radius:12px!important}body.modelos-page .ruty-decision-editorial .product-visual-copy{padding:10px 8px 0!important}body.modelos-page .ruty-decision-list summary>span{gap:14px}
}
@media(prefers-reduced-motion:reduce){body.modelos-page .ruty-decision-painting img,body.modelos-page .ruty-painting-light{transition:none!important}.ruty-decision-progress{animation:none!important}}
}

html { background: #fff; }
body { background: #fff !important; color: var(--cnw-ink); font-family: "Inter Tight", "Helvetica Neue", Arial, sans-serif; }
p { color: var(--cnw-text); }

/* A visibly distinct first impression: colour is atmospheric, UI stays black/white/navy. */
body.index-page .home-hero {
  min-height: calc(100svh - 58px);
  padding-top: clamp(122px,15vh,190px) !important;
  padding-bottom: clamp(112px,14vh,180px) !important;
  display: grid;
  align-items: center;
  color: var(--cnw-ink);
  background: #fff !important;
}
body.index-page .home-hero::before {
  inset: -58%;
  opacity: calc(var(--hero-visual-opacity) * .48);
  background: conic-gradient(from 20deg,
    rgba(113,190,225,.66),
    rgba(145,215,190,.58),
    rgba(239,174,207,.58),
    rgba(142,202,229,.62),
    rgba(113,190,225,.66));
  filter: blur(72px) saturate(.92);
  will-change: transform,opacity;
  animation: none;
}
body.index-page .home-hero::before { display: none !important; }
body.index-page .home-hero::after {
  background: linear-gradient(to bottom,transparent 0 64%,rgba(255,255,255,.18) 82%,#fff 100%);
}
body.index-page .home-hero-copy { max-width: 1120px; margin: auto; }
body.index-page .home-hero h1 {
  max-width: 1100px;
  margin-inline: auto;
  color: #080808;
  font-size: clamp(58px,8vw,112px);
  line-height: .88;
  letter-spacing: 0 !important;
  font-weight: 500;
  text-transform: uppercase;
  text-shadow: none;
}
body.index-page .home-hero .home-lead { color: #101112; }
body.index-page .home-hero .home-button { background: #080808 !important; color: #fff !important; }
body.index-page .home-hero .home-link { color: #080808 !important; }
body.index-page:not(.home-has-scrolled) .cnw-global-nav {
  background: transparent !important;
  border-color: rgba(16,42,67,.13) !important;
  backdrop-filter: none !important;
}
body.index-page:not(.home-has-scrolled) :is(.cnw-global-brand,.cnw-global-primary>a,.cnw-products-toggle) { color: #080808 !important; }
body.index-page:not(.home-has-scrolled) .cnw-global-brand img { filter: none !important; }
body.index-page:not(.home-has-scrolled) .cnw-global-access { background: #080808; color: #fff !important; }
body.index-page:not(.home-has-scrolled) .cnw-menu-toggle span { background: #080808; }

/* Product heroes use their own field and let the artwork dissolve into it. */
:is(.modelos-page,.altdata-page) .page-hero.has-integrated-visual {
  position: relative;
  isolation: isolate;
  width: 100% !important;
  max-width: none !important;
  min-height: calc(100svh - 58px);
  margin: 0 !important;
  padding-inline: var(--site-gutter) !important;
  overflow: hidden;
}
.modelos-page .page-hero.has-integrated-visual {
  color: var(--cnw-ink);
  background:
    radial-gradient(65% 72% at 18% 10%,rgba(151,207,235,.64),transparent 68%),
    linear-gradient(145deg,#edf7fc,#e1f0f8 52%,#d7eaf5) !important;
}
.altdata-page .page-hero.has-integrated-visual {
  color: var(--cnw-ink);
  background:
    radial-gradient(70% 82% at 82% 13%,rgba(139,208,218,.58),transparent 66%),
    linear-gradient(145deg,#eef9f9,#e5f4f6 52%,#d9edf1) !important;
}
:is(.modelos-page,.altdata-page) .page-hero.has-integrated-visual :is(.page-title,.product-hero-copy) { color: #102a43 !important; }
:is(.modelos-page,.altdata-page) .page-hero.has-integrated-visual .product-hero-copy { color: #426176 !important; }

.cnw-fluid-field {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  pointer-events: none;
  opacity: 0;
  background: transparent;
  mix-blend-mode: normal;
  filter: none;
  transition: opacity 520ms cubic-bezier(.22,1,.36,1);
}
.cnw-fluid-field.cnw-fluid-ready { opacity: 1; }
body.index-page .home-hero > .cnw-fluid-field {
  position: absolute !important;
  z-index: 0 !important;
  inset: 0 !important;
}
body:not(.index-page) .page-hero.cnw-fluid-hero > .cnw-fluid-field {
  position: fixed !important;
  z-index: -1 !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  opacity: .4 !important;
}
body.index-page .home-hero::after,
body:not(.index-page) .page-hero.cnw-fluid-hero::after {
  content: "";
  position: absolute !important;
  z-index: 1 !important;
  inset: 0 !important;
  width: auto !important;
  transform: none !important;
  pointer-events: none;
  background: linear-gradient(to bottom,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0) 72%,
    rgba(255,255,255,.18) 88%,
    #fff 100%) !important;
}
body.index-page .home-hero::after {
  background: linear-gradient(to bottom,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0) 72%,
    rgba(255,255,255,.24) 90%,
    #fff 100%) !important;
}
body.index-page .home-hero :is(.home-hero-copy,.home-actions) { position: relative; z-index: 2; }
body.index-page .home-hero > .cnw-fluid-field {
  mix-blend-mode: normal;
  filter: none;
  transform: none;
}
body.index-page .home-hero > .cnw-fluid-field.cnw-fluid-ready { opacity: 1; }
html.cnw-page-boot::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 2147482998;
  background:
    radial-gradient(46% 40% at 50% 42%, rgba(221,232,238,.86), transparent 70%),
    linear-gradient(180deg,#fff 0%,#f8fafb 100%);
  pointer-events: none;
}
html.cnw-page-boot::after {
  content: "CNW";
  position: fixed;
  z-index: 2147482999;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  color: #102a43;
  font: 850 13px/1 "Inter Tight", system-ui, sans-serif;
  letter-spacing: .22em;
  pointer-events: none;
}
.cnw-page-curtain {
  position: fixed;
  z-index: 2147483000;
  inset: 0;
  display: grid;
  place-items: center;
  pointer-events: none;
  background:
    radial-gradient(52% 44% at 48% 38%, rgba(210,226,236,.9), transparent 68%),
    linear-gradient(180deg,#fff 0%,#f7f9fb 100%);
  opacity: 1;
  transition: opacity 340ms cubic-bezier(.22,1,.36,1), visibility 0s linear 340ms;
  visibility: visible;
}
.cnw-page-loader {
  width: min(260px,62vw);
  display: grid;
  gap: 16px;
  justify-items: center;
  color: #102a43;
  transform: translateY(0);
  transition: transform 300ms cubic-bezier(.22,1,.36,1), opacity 260ms ease;
}
.cnw-page-loader span {
  font-size: 13px;
  font-weight: 850;
  letter-spacing: .22em;
}
.cnw-page-loader i {
  position: relative;
  width: 100%;
  height: 2px;
  overflow: hidden;
  background: rgba(16,42,67,.12);
}
.cnw-page-loader i::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 42%;
  background: #102a43;
  animation: cnwLoaderSweep 860ms cubic-bezier(.65,0,.35,1) infinite;
}
@keyframes cnwLoaderSweep {
  0% { transform: translateX(-110%); }
  100% { transform: translateX(260%); }
}
body.cnw-page-ready .cnw-page-curtain {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
body.cnw-page-ready .cnw-page-loader {
  opacity: 0;
  transform: translateY(-8px);
}
body.cnw-page-leaving .cnw-page-curtain {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-duration: 180ms;
  transition-delay: 0s;
}
body.cnw-page-leaving .cnw-page-loader {
  opacity: 1;
  transform: translateY(0);
}

/* Product family stays in the global Products menu. */
.cnw-products-panel-inner { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
.products-open .cnw-products-panel a:nth-child(3) { transition-delay: 90ms; }
.cnw-global-demo { color: #102a43; text-decoration: none; font-size: 13px; font-weight: 600; white-space: nowrap; }
.cnw-global-demo:hover { opacity: .58; }

.product-version-shell { width: min(1320px,calc(100% - 48px)); margin: clamp(84px,10vw,148px) auto; }
.ruty-version-heading { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(280px,.8fr); gap: 48px; align-items: end; margin-bottom: 36px; }
.ruty-version-heading h2 { margin: 0; max-width: 760px; font-size: clamp(48px,6vw,82px); line-height: .96; letter-spacing: -.06em; }
.ruty-version-heading p { margin: 0 0 7px; max-width: 520px; color: #5f6870; font-size: 18px; line-height: 1.55; }
.product-version-shell .ruty-version-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.product-version-shell .ruty-version-card { position: relative; min-height: 0; padding: 0; overflow: hidden; border: 1px solid rgba(16,42,67,.14); border-radius: 8px; background: transparent; color: #102a43 !important; font: inherit; text-align: left; text-decoration: none; display: block; transition: transform 520ms cubic-bezier(.22,1,.36,1),box-shadow 320ms ease,border-color 220ms ease !important; }
.product-version-shell .ruty-version-card:hover { transform: translateY(-5px); box-shadow: 0 28px 64px rgba(16,42,67,.12); }
.ruty-version-media { position: relative; width: 100%; aspect-ratio: 4 / 3; display: block; overflow: hidden; }
.ruty-version-card-r02 .ruty-version-media,
.ruty-version-card-r01 .ruty-version-media { background: url("assets/images/generated/generated-2026-06-21-165304.png") center / cover no-repeat; }
.ruty-matrix-icon { box-sizing: border-box; position: absolute; left: 50%; top: 36%; transform: translate(-50%,-50%); width: 150px; height: 150px; padding: 31px; display: grid; grid-template-columns: repeat(3,1fr); grid-template-rows: repeat(3,1fr); gap: 8px; border: 1px solid rgba(16,42,67,.08); border-radius: 30px; background: #fff; box-shadow: 0 18px 46px rgba(16,42,67,.18); }
.ruty-matrix-icon b { display: block; min-width: 0; min-height: 0; background: #102a43; }
.ruty-matrix-icon b:nth-child(3n), .ruty-matrix-icon b:nth-child(7) { background: #7297c5; }
.ruty-version-copy { position: absolute; left: 0; right: 0; bottom: 0; padding: 30px 30px 34px; display: flex; flex-direction: column; gap: 12px; color: #102a43 !important; }
.ruty-version-copy strong { color: #102a43 !important; font-size: clamp(34px,4vw,54px); line-height: .98; letter-spacing: -.055em; }
.ruty-version-copy > span { max-width: 520px; font-size: 16px; line-height: 1.5; color: rgba(16,42,67,.76) !important; }

.modelos-page .page-hero::before,
.modelos-page .page-hero::after {
  content: none !important;
  display: none !important;
}

.product-decision {
  display: grid;
  gap: clamp(28px,4vw,48px);
}
.product-decision > h2 {
  margin-bottom: 0 !important;
}
.product-decision-visual {
  position: relative;
  width: 100%;
  height: clamp(360px,46vw,560px);
  overflow: hidden;
  border: 1px solid #d9dfe4;
  border-radius: 8px;
  background:
    radial-gradient(circle at 16% 18%, rgba(114,151,197,.18), transparent 34%),
    linear-gradient(145deg,#ffffff,#f3f8fb 58%,#edf4f7);
}
.product-decision-visual canvas {
  width: 100%;
  height: 100%;
}
.product-decision .product-flow {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  border-top: 1px solid #d9dfe4;
  border-bottom: 1px solid #d9dfe4;
}
.product-decision .product-flow article {
  display: block !important;
  min-height: 190px;
  padding: 24px 22px !important;
  border-right: 1px solid #d9dfe4;
  border-bottom: 0 !important;
}
.product-decision .product-flow article:last-child {
  border-right: 0;
}
.product-decision .product-flow h3 {
  margin: 0 0 52px !important;
  color: #102a43;
  font-size: 19px;
}
.product-decision .product-flow p {
  max-width: none !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}

.ruty-spec-page { width: min(1180px,calc(100% - 48px)); margin: 0 auto clamp(96px,10vw,150px); }
.ruty-spec-intro { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(300px,.9fr); gap: clamp(48px,8vw,110px); align-items: start; margin-bottom: clamp(72px,8vw,112px); }
.ruty-spec-intro h2 { margin: 0; font-size: clamp(46px,6vw,82px); line-height: .96; letter-spacing: -.06em; }
.ruty-spec-intro p { margin: 6px 0 0; color: #5f6870; font-size: 19px; line-height: 1.6; }
.ruty-spec-list { border-top: 1px solid #d9dfe4; }
.ruty-spec-row { display: grid; grid-template-columns: minmax(180px,.35fr) minmax(0,.65fr); gap: 40px; padding: 28px 0; border-bottom: 1px solid #d9dfe4; }
.ruty-spec-row h3 { margin: 0; color: #102a43; font-size: 18px; }
.ruty-spec-row p { margin: 0; max-width: 720px; color: #5f6870; font-size: 17px; line-height: 1.55; }
.ruty-spec-back { display: inline-flex; margin-top: 42px; color: #102a43; text-decoration: none; font-weight: 600; }
.ruty-spec-back:hover { opacity: .58; }
.ruty-validation-block,
.ruty-model-table-block {
  margin-top: clamp(70px,8vw,112px);
}
.ruty-validation-head {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(320px,.82fr);
  gap: clamp(32px,6vw,82px);
  align-items: end;
  margin-bottom: 28px;
}
.ruty-validation-head h2 {
  margin: 0;
  font-size: clamp(38px,5vw,68px);
  line-height: .96;
  letter-spacing: -.06em;
}
.ruty-validation-head p {
  margin: 0 0 5px;
  color: #5f6870;
  font-size: 17px;
  line-height: 1.62;
}
.ruty-validation-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  border-top: 1px solid #d9dfe4;
  border-bottom: 1px solid #d9dfe4;
}
.ruty-validation-grid article {
  padding: 26px 20px;
  border-right: 1px solid #d9dfe4;
}
.ruty-validation-grid article:last-child { border-right: 0; }
.ruty-validation-grid strong {
  display: block;
  margin-bottom: 8px;
  color: #102a43;
  font-size: clamp(30px,4vw,48px);
  line-height: .95;
  letter-spacing: -.05em;
}
.ruty-validation-grid span {
  color: #5f6870;
  font-size: 14px;
}
.ruty-table-scroll {
  overflow-x: auto;
  border-top: 1px solid #d9dfe4;
}
.ruty-model-table {
  width: 100%;
  min-width: 1240px;
  border-collapse: collapse;
  font-size: 13px;
}
.ruty-model-table th,
.ruty-model-table td {
  padding: 13px 11px;
  border-bottom: 1px solid #d9dfe4;
  text-align: left;
  white-space: nowrap;
}
.ruty-model-table th {
  color: #68737c;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ruty-model-table td:first-child {
  color: #102a43;
  font-weight: 700;
}
.ruty-model-table tbody tr:hover td {
  background: #f6f9fb;
}
.ruty-model-table .ruty-pending {
  color: #8a939b;
  font-style: italic;
}
.ruty-model-table .ruty-pos { color: var(--cnw-positive); font-weight: 700; }
.ruty-model-table .ruty-neg { color: var(--cnw-risk); font-weight: 700; }
.ruty-table-note {
  max-width: 860px;
  margin: 18px 0 0;
  color: #68737c;
  font-size: 13px;
  line-height: 1.55;
}
.ruty-r02-page .ruty-validation-block,
.ruty-r02-page .product-faq-accordion {
  margin-top: clamp(72px,8vw,118px);
}
.ruty-r02-intro {
  margin-bottom: clamp(42px,6vw,76px);
}
.ruty-r02-stage {
  display: grid;
  grid-template-columns: minmax(170px,.3fr) minmax(220px,.35fr) minmax(0,.65fr);
  gap: 28px;
  align-items: center;
  margin-bottom: clamp(46px,6vw,78px);
  padding: 22px 0;
  border-top: 1px solid #d9dfe4;
  border-bottom: 1px solid #d9dfe4;
}
.ruty-r02-stage > span {
  color: #68737c;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ruty-r02-stage strong {
  color: #102a43;
  font-size: clamp(24px,3vw,38px);
  line-height: 1;
  letter-spacing: -.04em;
}
.ruty-r02-stage p {
  margin: 0;
  color: #5f6870;
  font-size: 15px;
  line-height: 1.55;
}
.ruty-r02-metrics {
  margin-bottom: clamp(72px,8vw,118px);
}
.ruty-r02-split {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(320px,.7fr);
  gap: clamp(34px,6vw,86px);
  align-items: center;
  margin-top: clamp(70px,8vw,112px);
}
.ruty-r02-split h2 {
  margin: 0 0 16px;
  font-size: clamp(38px,5vw,68px);
  line-height: .96;
  letter-spacing: -.06em;
}
.ruty-r02-split p {
  max-width: 720px;
  margin: 0;
  color: #5f6870;
  font-size: 17px;
  line-height: 1.62;
}
.ruty-r02-stack {
  display: grid;
  gap: 10px;
  padding: 18px;
  border: 1px solid #d9dfe4;
  border-radius: 8px;
  background: #f7fafb;
}
.ruty-r02-stack span {
  display: flex;
  min-height: 46px;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  border: 1px solid rgba(16,42,67,.14);
  border-radius: 6px;
  background: #fff;
  color: #102a43;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ruty-r02-stack span::after {
  content: "↓";
  color: #7f929f;
  font-weight: 600;
}
.ruty-r02-stack span:last-child::after {
  content: "";
}
.ruty-r02-inputs article,
.ruty-r02-goals article {
  background: transparent !important;
}
.ruty-r02-roadmap .ruty-spec-row h3 {
  color: #8aa0af;
  font-family: "Inter Tight","Helvetica Neue",Arial,sans-serif;
}
.ruty-r02-faq {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.product-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.altdata-page .product-hero-actions,
.modelos-page .product-hero-actions { justify-content: center; }
.modelos-page .cnw-global-access { display: none !important; }
.product-hero-actions a { display: inline-flex; align-items: center; min-height: 46px; padding: 0 19px; border-radius: 999px; border: 1px solid #102a43; color: #102a43; text-decoration: none; font-weight: 600; }
.product-hero-actions a:first-child { background: #102a43; color: #fff; }
.terminal-split {
  display: grid;
  grid-template-columns: minmax(260px,.72fr) minmax(420px,1.28fr);
  gap: clamp(28px,4vw,64px);
  align-items: center;
}
.terminal-split-reverse {
  grid-template-columns: minmax(420px,1.28fr) minmax(260px,.72fr);
}
.terminal-split-reverse .terminal-split-copy { order: 2; }
.terminal-split-reverse .terminal-shot { order: 1; }
.terminal-split-copy h2 {
  margin: 0 0 14px;
  font-size: clamp(30px,4vw,56px);
  line-height: .98;
  letter-spacing: -.04em;
}
.terminal-split-copy p {
  max-width: 560px;
  margin: 0;
  color: #5d6870;
  font-size: clamp(16px,1.3vw,19px);
  line-height: 1.55;
}
.terminal-shot {
  overflow: hidden;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(16,42,67,.18);
  border-radius: 8px;
  background: #050606;
  box-shadow: 0 18px 50px rgba(16,42,67,.08);
}
.terminal-shot img {
  display: block;
  width: 100%;
  height: auto;
}
.product-faq-list article h3 {
  max-width: 420px;
}
.product-faq-list article p {
  max-width: 620px;
}
.product-faq-accordion > h2 {
  max-width: 980px;
  margin: 0 0 22px;
  font-size: clamp(30px,4vw,48px);
}
.product-faq-accordion-list {
  border-top: 1px solid var(--cnw-line);
}
.product-faq-accordion-list details {
  border-bottom: 1px solid var(--cnw-line);
}
.product-faq-accordion-list summary {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  list-style: none;
  cursor: pointer;
  color: #101112;
  font-size: clamp(15px,1.05vw,17px);
  font-weight: 600;
  letter-spacing: 0;
}
.product-faq-accordion-list summary::-webkit-details-marker {
  display: none;
}
.product-faq-accordion-list summary i {
  flex: 0 0 auto;
  color: #102a43;
  font-style: normal;
  font-size: 18px;
}
.product-faq-accordion-list p {
  max-width: 820px;
  margin: -2px 0 22px;
  color: #636c73;
  font-size: 14px;
  line-height: 1.6;
}

@media(max-width:900px){
  .terminal-split,
  .terminal-split-reverse {
    grid-template-columns: 1fr;
  }
  .terminal-split-reverse .terminal-split-copy,
  .terminal-split-reverse .terminal-shot {
    order: initial;
  }
}

.release-list { width: min(1180px,calc(100% - 48px)); margin: 0 auto 120px; border-top: 1px solid #d9dfe4; }
.release-entry { display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 38px; padding: 44px 0; border-bottom: 1px solid #d9dfe4; }
.release-entry time { color: #68737c; font-size: 14px; }
.release-entry h2 { margin: 0 0 12px; font-size: clamp(30px,4vw,50px); letter-spacing: -.05em; }
.release-entry p { max-width: 760px; color: #5f6870; font-size: 17px; }
.release-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.release-tags span { border: 1px solid #cbd4db; border-radius: 999px; padding: 6px 10px; font-size: 12px; color: #40566a; }

.investigacion-page .paper-item.hidden { display: none !important; }

@media(max-width:900px){
  .ruty-version-heading { grid-template-columns: 1fr; gap: 18px; }
  .product-version-shell .ruty-version-tabs { grid-template-columns: 1fr; }
  .ruty-version-media { aspect-ratio: 4 / 5; }
  .ruty-matrix-icon { top: 33%; width: 132px; height: 132px; padding: 28px; border-radius: 26px; }
  .ruty-version-copy { padding: 24px; }
  .product-decision .product-flow { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-decision .product-flow article:nth-child(2) { border-right: 0; }
  .product-decision .product-flow article:nth-child(-n+2) { border-bottom: 1px solid #d9dfe4 !important; }
  .ruty-spec-intro,
  .ruty-spec-row,
  .ruty-validation-head,
  .ruty-r02-stage,
  .ruty-r02-split {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .ruty-validation-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ruty-validation-grid article:nth-child(2) { border-right: 0; }
  .ruty-validation-grid article:nth-child(-n+2) { border-bottom: 1px solid #d9dfe4; }
  .release-entry { grid-template-columns: 1fr; gap: 10px; }
}
@media(max-width:1120px){ .cnw-global-demo { display: none; } }
:is(.modelos-page,.altdata-page) .page-hero.has-integrated-visual :is(.page-hero-inner,.cnw-page-visual) { position: relative; z-index: 2; }

body:not(.index-page) .page-hero.cnw-fluid-hero {
  position: relative;
  isolation: isolate;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  background: var(--cnw-fluid-paper,#eaf3fa) !important;
}
body:not(.index-page) main { padding: 58px 0 0 !important; }
body:not(.index-page) .page-hero.cnw-fluid-hero .page-hero-inner {
  width: min(100%,var(--site-max)) !important;
  margin-inline: auto !important;
}
body:not(.index-page) .page-hero.cnw-fluid-hero .page-hero-inner,
body:not(.index-page) .page-hero.cnw-fluid-hero .cnw-page-visual { position: relative; z-index: 2; }
.cnw-fluid-blue { --cnw-fluid-paper:#f3f8fb; --fluid-a:rgba(91,169,214,.48); --fluid-b:rgba(155,207,235,.52); --fluid-c:rgba(65,132,188,.32); }
.cnw-fluid-cyan { --cnw-fluid-paper:#f2f9f9; --fluid-a:rgba(79,176,194,.42); --fluid-b:rgba(158,220,224,.56); --fluid-c:rgba(65,149,177,.30); }
.cnw-fluid-teal { --cnw-fluid-paper:#f2faf8; --fluid-a:rgba(79,169,159,.42); --fluid-b:rgba(169,222,215,.56); --fluid-c:rgba(61,137,130,.28); }
.cnw-fluid-violet { --cnw-fluid-paper:#f7f6fb; --fluid-a:rgba(150,143,207,.38); --fluid-b:rgba(205,201,232,.58); --fluid-c:rgba(124,151,205,.28); }
.cnw-fluid-indigo { --cnw-fluid-paper:#f5f6fc; --fluid-a:rgba(118,136,207,.38); --fluid-b:rgba(193,205,240,.58); --fluid-c:rgba(91,106,174,.26); }
.cnw-fluid-rose { --cnw-fluid-paper:#fbf6f8; --fluid-a:rgba(196,125,157,.34); --fluid-b:rgba(230,194,211,.58); --fluid-c:rgba(168,93,128,.22); }
.cnw-fluid-mint { --cnw-fluid-paper:#f4faf7; --fluid-a:rgba(91,180,155,.38); --fluid-b:rgba(178,224,210,.58); --fluid-c:rgba(86,157,151,.28); }
.cnw-fluid-yellow { --cnw-fluid-paper:#f3efe3; --fluid-a:rgba(236,210,142,.20); --fluid-b:rgba(255,244,213,.38); --fluid-c:rgba(216,184,105,.10); }
.cnw-fluid-orange { --cnw-fluid-paper:#fff7ef; --fluid-a:rgba(199,131,66,.34); --fluid-b:rgba(234,191,144,.58); --fluid-c:rgba(171,105,49,.22); }
.cnw-fluid-sand { --cnw-fluid-paper:#fbf8f3; --fluid-a:rgba(204,161,105,.34); --fluid-b:rgba(235,211,179,.62); --fluid-c:rgba(183,139,91,.24); }
.cnw-fluid-slate { --cnw-fluid-paper:#f6f8f9; --fluid-a:rgba(129,149,165,.34); --fluid-b:rgba(196,208,217,.58); --fluid-c:rgba(93,111,126,.22); }
.cnw-fluid-aurora { --cnw-fluid-paper:#fff; --fluid-a:rgba(185,220,236,.62); --fluid-b:rgba(186,223,206,.62); --fluid-c:rgba(237,204,217,.62); }
body:not(.index-page) .page-hero.cnw-fluid-hero::before { opacity: 0 !important; animation: none !important; }

body:not(.index-page) .page-hero.cnw-fluid-hero {
  min-height: clamp(480px,62vh,680px);
  padding: clamp(96px,11vh,144px) var(--site-gutter) clamp(84px,10vh,132px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}
body:not(.index-page) .page-hero.cnw-fluid-hero .page-hero-inner {
  max-width: 1120px !important;
  text-align: center !important;
}
body:not(.index-page) .page-hero.cnw-fluid-hero :is(.page-title,.page-sub,.product-hero-copy) {
  margin-inline: auto !important;
}
body:not(.index-page) .page-hero.cnw-fluid-hero > .cnw-page-visual { display: none !important; }


:is(.modelos-page,.altdata-page) .cnw-page-visual.cnw-page-visual-integrated {
  background: transparent !important;
  border: 0 !important;
  opacity: .88;
  -webkit-mask-image: linear-gradient(to bottom,transparent 0,#000 14%,#000 76%,transparent 100%);
  mask-image: linear-gradient(to bottom,transparent 0,#000 14%,#000 76%,transparent 100%);
}
:is(.modelos-page,.altdata-page) .cnw-page-visual.cnw-page-visual-integrated img {
  mix-blend-mode: luminosity;
  filter: saturate(.72) contrast(.94) !important;
}

/* Geometry */
body:not(.index-page) :is(.page-hero,.tabs-wrap,.section,.content-grid,.cta-section),
.product-v2,
.method-v2,
.cnw-global-footer-inner,
.home-section,
.home-feature,
.home-cta {
  width: min(calc(100% - (var(--site-gutter) * 2)),var(--site-max)) !important;
  max-width: var(--site-max) !important;
  margin-inline: auto !important;
}
.product-v2,
.method-v2 { padding-block: var(--cnw-section-y) !important; }
body:not(.index-page) .section { padding-block: var(--cnw-section-y) !important; }

/* Typography */
body:not(.index-page) .page-title {
  max-width: 1050px;
  font-size: clamp(54px,7vw,94px) !important;
  line-height: .88 !important;
  letter-spacing: 0 !important;
  font-weight: 500 !important;
  text-transform: uppercase;
  text-wrap: balance;
}
.product-v2 h2,
.method-v2 h2,
.home-section h2,
.home-feature h2,
.home-cta h2 {
  font-size: clamp(42px,5.2vw,70px);
  line-height: .9;
  letter-spacing: 0;
  font-weight: 500;
  text-transform: uppercase;
  text-wrap: balance;
}

body:not(.index-page) .page-title em,
.product-v2 h2 em,
.method-v2 h2 em,
.home-section h2 em,
.home-feature h2 em,
.home-cta h2 em {
  font-style: normal;
  font-weight: 300;
  opacity: .74;
}

/* OpenAI-derived product composition, expressed with CNW content and artwork. */
:is(.modelos-page,.altdata-page) .page-hero.has-integrated-visual {
  display: flex !important;
  flex-direction: column;
  align-items: center !important;
  gap: 0 !important;
  padding-top: clamp(88px,10vw,150px) !important;
  text-align: center;
}
:is(.modelos-page,.altdata-page) .page-hero.has-integrated-visual .page-hero-inner {
  width: min(100%,980px) !important;
  max-width: 980px !important;
  margin-inline: auto !important;
}
:is(.modelos-page,.altdata-page) .page-hero .page-title { max-width: 980px; }
:is(.modelos-page,.altdata-page) .product-hero-copy { max-width: 700px; margin-inline: auto; }
:is(.modelos-page,.altdata-page) .cnw-page-visual.cnw-page-visual-integrated {
  width: min(100%,1120px) !important;
  height: clamp(420px,52vw,680px) !important;
  margin-top: clamp(58px,7vw,96px) !important;
}
:is(.modelos-page,.altdata-page) .product-v2:not(.product-split):not(.product-integration) > h2 {
  max-width: 980px;
  margin-inline: auto;
  text-align: center;
}
:is(.modelos-page,.altdata-page) :is(.product-output-grid,.terminal-view-grid,.product-metrics,.product-layer-list,.product-validation-grid,.product-use-grid,.product-channel-detail) {
  margin-top: clamp(42px,5vw,70px);
}

/* About/research variants keep the editorial asymmetry found in OpenAI's content pages. */
:is(.equipo-page,.acceso-page) .page-hero-inner { max-width: 980px !important; margin-inline: auto !important; text-align: center; }
:is(.equipo-page,.acceso-page) .page-title { margin-inline: auto !important; }
:is(.equipo-page,.acceso-page) .page-sub { margin-inline: auto !important; }
:is(.investigacion-page,.blog-page) .page-hero-inner { max-width: 1080px !important; text-align: left; }
:is(.product-v2,.method-v2,.home-section,.home-feature) h3 { text-wrap: balance; }
:is(.product-v2,.method-v2,.home-section,.home-feature) p { font-size: max(15px,1rem); }

/* Color belongs to artwork; UI remains institutional. */
.home-main img,
body:not(.index-page) main img {
  filter: saturate(.82) contrast(.98) !important;
}
.nav-logo img,
.cnw-global-brand img { filter: none !important; }
a { text-underline-offset: 4px; }
.home-link,
.home-product-action,
.product-text-link,
.method-delivery-copy a,
.delivery-choice a { color: var(--cnw-navy) !important; }
.signal-family-expanded small { color: var(--cnw-navy) !important; }
.investigacion-page .paper-stat {
  color: var(--cnw-positive) !important;
  background: #f2f7f4 !important;
  border-color: #cfe0d6 !important;
}
body:not(.index-page) .pos { color: var(--cnw-positive) !important; }
body:not(.index-page) .neg { color: var(--cnw-risk) !important; }

/* Rules structure content; they do not frame it. */
:is(.product-v2,.method-v2,.home-section,.home-feature,.home-cta) { border-color: var(--cnw-line) !important; }
:is(.product-output-grid,.terminal-view-grid,.product-metrics,.product-layer-list,.product-validation-grid,.product-use-grid,.product-channel-detail,.method-steps,.method-rows,.method-metrics,.signal-family-list,.product-flow,.product-spec-list,.product-payload) {
  border-color: var(--cnw-line) !important;
}
:is(.product-output-grid,.terminal-view-grid,.product-metrics,.product-layer-list,.product-validation-grid,.product-use-grid,.product-channel-detail,.method-steps,.method-rows,.method-metrics,.signal-family-list,.product-flow,.product-spec-list,.product-payload) :is(article,div) {
  border-color: var(--cnw-line);
}

/* Controls */
:is(.home-button,.btn-primary,.blog-filter,.filter-tag) { border-radius: 999px !important; }
.paper-btn,
.tab-btn { border-radius: 2px !important; }
.home-button,
.btn-primary { background: var(--cnw-ink) !important; color: #fff !important; }
.blog-filter.active,
.filter-tag.active { background: var(--cnw-navy) !important; border-color: var(--cnw-navy) !important; }
:where(a,button,input,select,textarea,summary):focus-visible { outline-color: rgba(18,48,71,.72) !important; }
.cnw-global-access {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  padding-inline: 16px;
  border-radius: 999px;
  background: var(--cnw-navy);
  color: #fff !important;
}
.cnw-global-access:hover { background: #1d4059; opacity: 1; }

/* Artwork is integrated, never tinted into monochrome. */
.cnw-page-visual,
.home-artefact > div,
.home-product-media,
.home-feature figure,
.home-research-layout figure,
.home-explore-grid img,
.blog-card-img { background: var(--cnw-soft) !important; }
.cnw-page-visual img,
.home-artefact img,
.home-product-media img,
.home-feature img,
.home-research-layout img,
.home-explore-grid img,
.blog-card-img img { filter: saturate(.84) contrast(.98) !important; }
body.index-page .home-main :is(.home-artefact,.home-product-media,.home-feature figure,.home-research-layout figure,.home-explore-grid a) img,
body:not(.index-page) main :is(.cnw-page-visual,.blog-card-img,.hero-image,.team-photo,.product-media) img {
  filter: saturate(.84) contrast(.98) !important;
}
.home-artefact-surface > div,
.home-artefact-heatmap > div,
.home-artefact-network > div { background: #f5f3ee !important; }
.home-artefact-surface img,
.home-artefact-heatmap img,
.home-artefact-network img { object-fit: cover !important; object-position: center !important; filter: none !important; transform: none !important; }
.home-artefact-surface:hover img,
.home-artefact-heatmap:hover img,
.home-artefact-network:hover img { transform: scale(1.022) !important; }
.home-artefacts,
.home-artefact-grid,
.home-artefact { background: #fff !important; }
.home-artefact :is(div,img) { background-color: transparent !important; opacity: 1 !important; }
.home-artefact-network img,
.home-artefact-surface img,
.home-artefact-heatmap img { mix-blend-mode: normal !important; }
.home-artefact-grid .home-artefact > div {
  box-sizing: border-box;
  border: 1px solid #e2e7eb;
  background: #fafafa !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.72);
}
body.index-page .home-artefact-network > div {
  background: #f5f3ee !important;
}

/* Motion: fast controls, slower editorial reveals. Neither changes layout. */
.home-main .cnw-motion-item,
body:not(.index-page) main .cnw-motion-item {
  opacity: 0 !important;
  transform: translate3d(0,16px,0) !important;
  transition:
    opacity 560ms ease-out var(--motion-delay,0ms),
    transform var(--cnw-editorial-speed) var(--cnw-swish) var(--motion-delay,0ms) !important;
  will-change: opacity,transform;
}
.home-main .cnw-motion-item.cnw-in-view,
body:not(.index-page) main .cnw-motion-item.cnw-in-view {
  opacity: 1 !important;
  transform: translate3d(0,0,0) !important;
  will-change: auto;
}
:is(a,button,input,select,summary),
.cnw-products-panel,
.cnw-products-toggle i {
  transition-duration: var(--cnw-ui-speed) !important;
}
:is(.home-product,.home-artefact,.home-explore-grid a,.blog-card,.paper-item):hover img {
  transform: scale(1.018) !important;
}
.cnw-scroll-progress { background: linear-gradient(90deg,var(--cnw-navy),#6d96ad); }
.blog-grid,
.home-artefact-grid,
.home-products,
.home-explore-grid { column-gap: var(--cnw-grid-gap); }

/* Text and media share one composition instead of behaving like separate banners. */
.home-feature,
.home-research-layout {
  display: grid !important;
  grid-template-columns: repeat(12,minmax(0,1fr)) !important;
  gap: var(--cnw-grid-gap) !important;
  align-items: center;
}
.home-feature-copy { grid-column: 1 / span 5; }
.home-feature figure { grid-column: 7 / -1; }
.home-research-layout figure { grid-column: 1 / span 6; }
.home-research-layout .home-paper-list { grid-column: 8 / -1; }
.home-feature figure,
.home-research-layout figure,
:is(.modelos-page,.altdata-page) .cnw-page-visual.cnw-page-visual-integrated {
  overflow: hidden;
  isolation: isolate;
}
.home-feature figure,
.home-research-layout figure { aspect-ratio: 4 / 3; }
.home-feature figure img,
.home-research-layout figure img,
:is(.modelos-page,.altdata-page) .cnw-page-visual.cnw-page-visual-integrated img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Archive layouts stay fluid: long titles never clip during reveal or hover. */
:is(.investigacion-page,.blog-page) :is(.section,.blog-grid,.paper-list,.paper-item,.blog-card) {
  min-width: 0;
  overflow: visible !important;
}
.investigacion-page :is(.paper-title,.paper-title *) {
  overflow-wrap: anywhere;
  text-wrap: pretty;
}
.investigacion-page .research-archive-intro {
  width: min(calc(100% - (var(--site-gutter) * 2)),var(--site-max));
  margin: 0 auto clamp(24px,4vw,46px);
  padding-bottom: clamp(18px,3vw,28px);
  border-bottom: 1px solid var(--cnw-border);
}
.investigacion-page .research-archive-intro p {
  max-width: 720px;
  margin: 0;
  color: var(--cnw-muted);
  font-size: clamp(17px,1.45vw,21px);
  line-height: 1.55;
}
.investigacion-page #papersList {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr));
  column-gap: clamp(34px,5vw,72px);
  border-top: 0;
}
.investigacion-page .paper-item,
.investigacion-page .paper-item:hover {
  display: grid !important;
  grid-template-columns: 78px minmax(0,1fr) minmax(132px,auto) !important;
  gap: clamp(14px,2vw,24px) !important;
  align-items: start !important;
  min-height: 0;
  padding: clamp(26px,3.2vw,42px) 0 !important;
  border-top: 0 !important;
  border-bottom: 1px solid var(--cnw-border) !important;
  background: transparent !important;
  transform: none !important;
}
.investigacion-page #papersList > .paper-item:nth-child(-n+2) {
  border-top: 1px solid var(--cnw-border) !important;
}
.investigacion-page .paper-date {
  font-size: 12px !important;
  line-height: 1.35;
}
.investigacion-page .paper-title {
  font-size: clamp(22px,2.2vw,32px) !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
  font-weight: 500 !important;
}
.investigacion-page .paper-abstract {
  display: block !important;
  margin-top: 14px;
  max-width: 620px;
  color: var(--cnw-muted) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}
.investigacion-page .paper-actions {
  display: flex !important;
  justify-content: flex-end;
  align-items: flex-start !important;
  min-width: 132px;
}
.investigacion-page .paper-btn,
.investigacion-page .paper-download {
  min-width: 132px;
  min-height: 34px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px !important;
  border: 1px solid rgba(16,17,18,.24) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #101112 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
  word-break: keep-all !important;
}
.investigacion-page .paper-btn:hover,
.investigacion-page .paper-download:hover {
  border-color: #101112 !important;
  background: #101112 !important;
  color: #fff !important;
}
.investigacion-page .paper-download svg {
  width: 15px !important;
  height: 15px !important;
  flex: 0 0 auto;
}
.investigacion-page .paper-download-label {
  position: static !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  display: inline !important;
  white-space: nowrap !important;
  border: 0 !important;
}
@media(max-width:1100px){
  .investigacion-page #papersList {
    grid-template-columns: 1fr;
  }
  .investigacion-page #papersList > .paper-item:nth-child(2) {
    border-top: 0 !important;
  }
}
@media(max-width:680px){
  .investigacion-page .paper-item,
  .investigacion-page .paper-item:hover {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .investigacion-page .paper-actions {
    flex-direction: row !important;
    justify-content: flex-start;
    align-items: center !important;
  }
}

/* CNW display typography: refined uppercase lead, light secondary emphasis. */
:is(
  .page-title,
  .home-hero h1,
  .product-v2 h2,
  .method-v2 h2,
  .home-section h2,
  .home-feature h2,
  .home-cta h2,
  .ruty-version-heading h2,
  .ruty-spec-intro h2,
  .ruty-validation-head h2,
  .ruty-r02-split h2,
  .terminal-split-copy h2,
  .product-faq-accordion > h2,
  .release-entry h2
) {
  font-family: "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  letter-spacing: 0 !important;
  font-weight: 500 !important;
  line-height: .88 !important;
  text-transform: uppercase;
}
:is(
  .page-title,
  .home-hero h1,
  .product-v2 h2,
  .method-v2 h2,
  .home-section h2,
  .home-feature h2,
  .home-cta h2,
  .ruty-version-heading h2,
  .ruty-spec-intro h2,
  .ruty-validation-head h2,
  .ruty-r02-split h2,
  .terminal-split-copy h2,
  .product-faq-accordion > h2,
  .release-entry h2
) :is(em,.cnw-heading-light) {
  font-style: normal !important;
  font-weight: 300 !important;
  opacity: .74;
}

/* Responsive typography and rows */
@media(max-width:920px){
  body:not(.index-page) .page-title { font-size: clamp(48px,11vw,76px) !important; }
  .product-v2 h2,
  .method-v2 h2,
  .home-section h2,
  .home-feature h2 { font-size: clamp(38px,8vw,58px); }
  .home-feature,
  .home-research-layout { grid-template-columns: 1fr !important; gap: 32px !important; }
  .home-feature-copy,
  .home-feature figure,
  .home-research-layout figure,
  .home-research-layout .home-paper-list { grid-column: 1 !important; }
  .home-feature figure,
  .home-research-layout figure { aspect-ratio: 16 / 11; }
}
@media(max-width:620px){
  :root { --cnw-section-y: 58px; }
  body:not(.index-page) .page-title { font-size: clamp(44px,13vw,64px) !important; }
  body.index-page .home-hero { min-height: 92svh; padding-top: 104px !important; }
  body.index-page .home-hero h1 { font-size: clamp(52px,16vw,76px); }
  :is(.modelos-page,.altdata-page) .page-hero.has-integrated-visual { min-height: auto; }
  .product-decision-visual { height: clamp(300px,82vw,420px); }
  .product-decision .product-flow { grid-template-columns: 1fr; }
  .product-decision .product-flow article,
  .product-decision .product-flow article:nth-child(2) {
    border-right: 0;
    border-bottom: 1px solid #d9dfe4 !important;
  }
  .product-decision .product-flow article:last-child { border-bottom: 0 !important; }
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .home-main .cnw-motion-item,
  body:not(.index-page) main .cnw-motion-item { opacity: 1 !important; transform: none !important; }
}

/* July 2026 refresh: product-first nav and lighter home product visuals. */
nav.cnw-global-nav {
  top: 14px !important;
  left: 50% !important;
  right: auto !important;
  width: min(calc(100% - 32px), 560px) !important;
  height: 52px !important;
  transform: translateX(-50%) !important;
  padding: 6px !important;
  gap: 8px !important;
  border: 1px solid rgba(255,255,255,.26) !important;
  border-radius: 10px !important;
  background: rgba(44,59,105,.74) !important;
  color: #fff !important;
  box-shadow: 0 16px 42px rgba(18,38,84,.16), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
.cnw-global-brand {
  width: 38px !important;
  height: 38px !important;
  justify-content: center !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,.14) !important;
}
.cnw-global-brand span,
.cnw-nav-context { display: none !important; }
.cnw-global-brand img {
  width: 24px !important;
  height: 24px !important;
  filter: brightness(0) invert(1);
  opacity: .94;
}
.cnw-global-primary {
  position: static !important;
  transform: none !important;
  flex: 1;
  justify-content: center;
  gap: clamp(12px,2vw,24px) !important;
}
.cnw-global-primary > a {
  color: rgba(255,255,255,.94) !important;
  font-size: 14px !important;
  font-weight: 650 !important;
}
.cnw-global-actions {
  margin-left: 0 !important;
  gap: 6px !important;
}
.cnw-global-access,
.cnw-global-product-link {
  min-height: 38px !important;
  padding: 0 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 8px !important;
  background: rgba(18,20,31,.88) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  text-decoration: none !important;
}
.cnw-global-terminal,
.cnw-global-product-link-dark {
  background: rgba(255,255,255,.16) !important;
}
.cnw-global-nav .lang-toggle { display: none !important; }
.home-cta-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
}
.home-button-secondary {
  background: #f4f7fb !important;
  border: 1px solid #cfd9e5 !important;
  color: #102a43 !important;
}
.home-research-layout .home-flower-figure,
.home-research-layout .home-flower-frame {
  display: grid !important;
  place-items: center;
  background: #fbfcf8 !important;
}
.home-research-layout .home-flower-figure img,
.home-research-layout .home-flower-frame img {
  width: min(82%, 520px) !important;
  height: min(92%, 620px) !important;
  object-fit: contain !important;
  image-rendering: pixelated;
}
.home-product-showcase .home-product-tabs .home-product-media {
  background: #f6f9ff !important;
}
.home-product-showcase .home-product-tabs .home-product:first-child .home-product-media {
  background: linear-gradient(135deg,#eef6ff 0%,#d8ebff 52%,#f7fbff 100%) !important;
}
.home-product-showcase .home-product-tabs .home-product:last-child .home-product-media {
  background: linear-gradient(135deg,#fff0f5 0%,#ffd7e4 48%,#f0e8ff 100%) !important;
}
.home-product-showcase .home-product-tabs .home-product-media img {
  filter: saturate(.9) contrast(.92) brightness(1.48) !important;
}
.investigacion-page .paper-item,
.investigacion-page .paper-item:hover {
  grid-template-columns: 92px minmax(0,1fr) minmax(148px,auto) !important;
  padding-left: clamp(22px,3vw,36px) !important;
  padding-right: clamp(22px,3vw,36px) !important;
}
@media (max-width: 920px) {
  nav.cnw-global-nav {
    width: min(calc(100% - 24px), 520px) !important;
  }
  .cnw-global-primary { display: none !important; }
  .cnw-global-actions { margin-left: auto !important; }
  .cnw-menu-toggle { display: flex !important; }
  .cnw-menu-toggle span { background: #fff !important; }
  .home-cta-actions { justify-content: flex-start; }
}
@media (max-width: 560px) {
  .cnw-global-access {
    padding: 0 10px !important;
    font-size: 12px !important;
  }
}

/* Nav/content repair: complete product nav and full-bleed liquid hero. */
body.index-page .cnw-scroll-progress { display: none !important; }
body.index-page .home-main { padding-top: 0 !important; }
body.index-page .home-hero {
  width: 100% !important;
  max-width: none !important;
  min-height: 100svh !important;
  margin: 0 !important;
  padding: clamp(132px,14vw,176px) var(--site-gutter,32px) clamp(96px,12vw,170px) !important;
  overflow: hidden !important;
}
body.index-page .home-hero > .cnw-fluid-field {
  position: absolute !important;
  inset: -90px 0 -8% 0 !important;
  width: 100% !important;
  height: calc(100% + 120px) !important;
}
body.index-page .home-hero::after {
  inset: -90px 0 0 !important;
}
nav.cnw-global-nav {
  width: auto !important;
  min-width: min(760px, calc(100% - 32px)) !important;
  max-width: calc(100% - 32px) !important;
}
.cnw-global-primary {
  flex: 0 1 auto !important;
  gap: clamp(14px,1.7vw,24px) !important;
}
.cnw-global-primary > a {
  white-space: nowrap !important;
}
.cnw-global-product-link {
  white-space: nowrap !important;
}
@media (max-width: 920px) {
  nav.cnw-global-nav {
    min-width: 0 !important;
    width: min(calc(100% - 24px), 560px) !important;
  }
}

/* Pixel flower and features console section. */
.home-research-layout .home-flower-frame {
  background: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
  position: relative !important;
  min-height: clamp(420px, 42vw, 620px) !important;
  outline: 0 !important;
}
.home-research-layout .home-flower-frame .pixel-flower-canvas,
.home-research-layout .home-flower-frame .pixel-flower-fallback {
  width: min(76%, 464px) !important;
  height: auto !important;
  image-rendering: pixelated;
}
.home-research-layout .home-flower-frame .pixel-flower-canvas {
  display: block !important;
  position: relative;
  z-index: 2;
}
.home-research-layout .home-flower-frame .pixel-flower-fallback {
  display: none !important;
}
.home-research-layout .home-flower-frame .pixel-flower-canvas.pixel-flower-failed + .pixel-flower-fallback {
  display: block !important;
}
.home-feature-console {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(72px,8vw,118px) var(--site-gutter,32px) !important;
  display: block !important;
  border: 0 !important;
  background: #080909 !important;
  color: #fff !important;
  overflow: hidden;
}
.feature-console-head {
  max-width: 1280px;
  margin: 0 auto clamp(46px,5vw,70px);
  text-align: center;
  position: relative;
}
.feature-console-head::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -36px;
  width: min(680px,82vw);
  height: 190px;
  transform: translateX(-50%);
  opacity: .26;
  background-image: radial-gradient(circle, #fff 0 2px, transparent 2.5px);
  background-size: 20px 20px;
  mask-image: radial-gradient(ellipse at center, #000 0 45%, transparent 76%);
  pointer-events: none;
}
.feature-console-head h2 {
  position: relative;
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(42px,5vw,72px);
  line-height: .9;
  letter-spacing: -.04em;
  font-weight: 650;
}
.feature-console-head p {
  position: relative;
  margin: 0;
  color: rgba(255,255,255,.52);
  font-size: clamp(16px,1.5vw,21px);
  font-weight: 550;
}
.feature-console-grid {
  max-width: 1420px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(300px,.78fr) minmax(420px,1fr);
  gap: clamp(36px,5vw,84px);
  align-items: center;
}
.feature-console-list article {
  padding: clamp(24px,2.8vw,36px) 0;
  border-bottom: 1px solid rgba(255,255,255,.11);
  color: rgba(255,255,255,.34);
}
.feature-console-list article:first-child { border-top: 0; }
.feature-console-list article.is-active { color: #fff; }
.feature-console-list h3 {
  margin: 0 0 18px;
  font-size: clamp(31px,3.2vw,48px);
  line-height: .98;
  letter-spacing: -.045em;
  font-weight: 650;
}
.feature-console-list p {
  max-width: 620px;
  margin: 0;
  color: rgba(255,255,255,.58);
  font-size: clamp(16px,1.35vw,20px);
  line-height: 1.48;
}
.feature-console-visual {
  min-height: clamp(420px,42vw,620px);
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 28px;
  background:
    radial-gradient(circle at 50% 36%, rgba(120,169,210,.13), transparent 36%),
    linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07);
}
.feature-phone {
  width: min(260px, 58vw);
  aspect-ratio: 9 / 16.5;
  padding: 26px 22px;
  border-radius: 34px;
  background: #fff;
  color: #07111f;
  box-shadow: 0 34px 80px rgba(0,0,0,.48);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.feature-phone-status { display: flex; gap: 5px; justify-content: center; }
.feature-phone-status span { width: 24px; height: 5px; border-radius: 999px; background: #d9e1ec; }
.feature-phone-status span:first-child { background: #29d098; }
.feature-phone strong { font-size: 42px; letter-spacing: -.06em; }
.feature-phone small { color: #6b7280; text-transform: uppercase; letter-spacing: .1em; font-size: 11px; font-weight: 700; }
.feature-bars { height: 150px; display: flex; align-items: end; gap: 9px; }
.feature-bars i { flex: 1; border-radius: 8px 8px 0 0; background: #d9e4f1; }
.feature-bars i:nth-child(1){height:38%}.feature-bars i:nth-child(2){height:56%}.feature-bars i:nth-child(3){height:46%}.feature-bars i:nth-child(4){height:72%;background:#89b2dd}.feature-bars i:nth-child(5){height:88%;background:#28c497}
.feature-phone b { color: #0aa678; font-size: 22px; letter-spacing: -.02em; }
@media(max-width:900px){
  .feature-console-grid { grid-template-columns: 1fr; }
  .feature-console-visual { min-height: 380px; }
}

/* Glass product row dropdown from the floating nav. */
nav.cnw-global-nav { min-width: min(780px, calc(100% - 32px)) !important; }
.cnw-global-actions { display: none !important; }
.cnw-products-toggle {
  border: 0 !important;
  background: transparent !important;
  color: rgba(255,255,255,.94) !important;
  font: inherit !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  cursor: pointer !important;
}
.cnw-products-dropdown {
  position: relative !important;
  align-self: stretch !important;
  display: flex !important;
  align-items: center !important;
}
.cnw-products-panel {
  position: absolute !important;
  top: calc(100% + 26px) !important;
  left: 0 !important;
  right: auto !important;
  width: min(380px, calc(100vw - 40px)) !important;
  max-height: none !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.78) !important;
  backdrop-filter: blur(20px) saturate(1.2) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.2) !important;
  box-shadow: 0 22px 60px rgba(17,27,56,.18) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(-8px) !important;
  overflow: hidden !important;
}
.cnw-global-nav.products-open .cnw-products-panel {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}
.cnw-products-panel-inner {
  width: 100% !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
}
.cnw-products-panel a {
  min-height: 154px !important;
  padding: 26px 24px 22px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  position: relative !important;
  color: #101112 !important;
  text-decoration: none !important;
  border-left: 1px solid rgba(16,17,18,.12) !important;
  opacity: 1 !important;
  transform: none !important;
}
.cnw-products-panel a:first-child { border-left: 0 !important; }
.cnw-products-panel strong {
  margin: 0 0 14px !important;
  font-size: clamp(30px,3.4vw,42px) !important;
  line-height: .92 !important;
  letter-spacing: -.055em !important;
  font-weight: 720 !important;
}
.cnw-products-panel small {
  color: #69727d !important;
  font-size: 14px !important;
}
.cnw-products-panel i {
  position: absolute !important;
  top: 24px !important;
  right: 24px !important;
  color: #101112 !important;
  font-style: normal !important;
}
@media(max-width:920px){
  nav.cnw-global-nav { min-width: 0 !important; }
  .cnw-global-actions { display: flex !important; }
  .cnw-products-panel { display: none !important; }
}

/* Use the uploaded pixel flower image directly in the research block. */
.home-research-layout figure.home-flower-frame {
  display: grid !important;
  place-items: center !important;
  min-height: clamp(430px, 42vw, 620px) !important;
  aspect-ratio: 1.25 !important;
  overflow: visible !important;
  background: #fff !important;
}
.home-research-layout figure.home-flower-frame > img {
  display: block !important;
  width: min(72%, 430px) !important;
  max-width: 430px !important;
  height: auto !important;
  max-height: min(92%, 610px) !important;
  object-fit: contain !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  transform: none !important;
  image-rendering: pixelated;
}
.home-research-layout figure.home-flower-frame > iframe {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  width: min(100%, 560px) !important;
  height: min(100%, 668px) !important;
  min-height: 560px !important;
  border: 0 !important;
  background: #fff !important;
}
.home-research-layout figure.home-flower-frame > .home-flower-fallback {
  display: none !important;
}

/* Compact floating nav frame: hug the actual links. */
nav.cnw-global-nav {
  width: max-content !important;
  min-width: 0 !important;
  max-width: calc(100% - 32px) !important;
}

/* Evidence section sizing pass. */
.home-research-layout {
  grid-template-columns: minmax(0, .98fr) minmax(560px, .92fr) !important;
  gap: clamp(18px, 3vw, 56px) !important;
  align-items: center !important;
}
.home-research-layout figure.home-flower-frame {
  justify-items: start !important;
  padding-left: clamp(10px, 3vw, 54px) !important;
}
.home-research-layout figure.home-flower-frame > iframe {
  width: min(88%, 540px) !important;
  height: auto !important;
  aspect-ratio: 464 / 552 !important;
  min-height: 0 !important;
  transform: translateX(-26px) scale(1.08) !important;
  transform-origin: center left !important;
  border: 0 !important;
  background: #fff !important;
}
.home-paper-list {
  width: min(100%, 680px) !important;
  justify-self: start !important;
}
.home-paper-list a {
  grid-template-columns: 84px minmax(0, 1fr) 28px !important;
  gap: clamp(22px, 2.2vw, 38px) !important;
  padding: clamp(30px, 3vw, 40px) 0 !important;
}
.home-paper-list span {
  font-size: clamp(15px, 1.05vw, 18px) !important;
}
.home-paper-list strong {
  font-size: clamp(32px, 2.7vw, 44px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.045em !important;
}
.home-paper-list i {
  font-size: 24px !important;
  line-height: 1 !important;
}
@media (max-width: 980px) {
  .home-research-layout {
    grid-template-columns: 1fr !important;
  }
  .home-research-layout figure.home-flower-frame {
    justify-items: center !important;
    padding-left: 0 !important;
  }
.home-research-layout figure.home-flower-frame > iframe {
  width: min(92vw, 430px) !important;
  transform: translateX(-10px) scale(1.06) !important;
}

/* Keep evidence visual and papers side by side on tablet/narrow desktop. */
.home-research-layout {
  grid-template-columns: minmax(220px, .92fr) minmax(300px, 1fr) !important;
  gap: clamp(20px, 4vw, 64px) !important;
  align-items: center !important;
}
.home-research-layout figure.home-flower-frame {
  min-height: clamp(320px, 48vw, 560px) !important;
}
.home-research-layout figure.home-flower-frame > iframe {
  width: min(92%, 440px) !important;
  transform: translateX(-12px) scale(1.06) !important;
}
.home-paper-list {
  align-self: center !important;
}
@media (max-width: 560px) {
  .home-research-layout {
    grid-template-columns: 1fr !important;
  }
  .home-research-layout figure.home-flower-frame {
    min-height: 360px !important;
  }
}
  .home-paper-list {
    width: 100% !important;
  }
  .home-paper-list strong {
    font-size: clamp(24px, 6vw, 34px) !important;
  }
  .home-paper-list a {
    grid-template-columns: 70px minmax(0, 1fr) 22px !important;
    padding: 26px 0 !important;
  }
}

/* Final flower embed fit: keep the supplied pixel canvas intact. */
.home-research-layout figure.home-flower-frame {
  background: #fff !important;
  overflow: hidden !important;
}
.home-research-layout figure.home-flower-frame > iframe {
  width: min(74%, 464px) !important;
  height: auto !important;
  aspect-ratio: 464 / 552 !important;
  min-height: 0 !important;
  border: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

/* Final evidence alignment: same row, no legacy 12-col placement. */
.home-research-layout {
  display: grid !important;
  grid-template-columns: minmax(300px, .88fr) minmax(440px, 1fr) !important;
  gap: clamp(28px, 5vw, 88px) !important;
  align-items: center !important;
}
.home-research-layout figure.home-flower-frame,
.home-research-layout .home-paper-list {
  grid-column: auto !important;
  grid-row: auto !important;
  align-self: center !important;
}
.home-research-layout figure.home-flower-frame {
  min-height: 0 !important;
  height: auto !important;
  justify-items: center !important;
  padding-left: 0 !important;
  margin: 0 !important;
}
.home-research-layout figure.home-flower-frame > iframe {
  width: min(100%, 430px) !important;
  transform: none !important;
}
.home-research-layout .home-paper-list {
  width: min(100%, 720px) !important;
  margin: 0 !important;
  justify-self: start !important;
}
.home-paper-list a:last-child {
  grid-template-columns: 84px minmax(0, 1fr) 28px !important;
  align-items: center !important;
}
.home-paper-list a:last-child strong,
.home-paper-list a:last-child strong span {
  display: block !important;
  color: #101112 !important;
  font-size: clamp(22px, 1.9vw, 32px) !important;
  line-height: 1.05 !important;
  letter-spacing: -.035em !important;
  font-weight: 720 !important;
}
.home-paper-list a:last-child > span {
  font-size: clamp(15px, 1.05vw, 18px) !important;
}
@media (max-width: 720px) {
  .home-research-layout {
    grid-template-columns: 1fr !important;
  }
  .home-research-layout .home-paper-list {
    justify-self: stretch !important;
  }
}

/* Final override: API reference section in white, after legacy dark identity styles. */
body.index-page .home-feature-console,
.home-feature-console {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(86px,10vw,136px) var(--site-gutter,32px) !important;
  display: block !important;
  border: 0 !important;
  border-top: 1px solid #ececec !important;
  border-bottom: 1px solid #ececec !important;
  background: #fff !important;
  color: #050505 !important;
  overflow: hidden !important;
}
body.index-page .home-feature-console .feature-console-grid,
.home-feature-console .feature-console-grid {
  width: min(100%,1160px) !important;
  margin-inline: auto !important;
  display: grid !important;
  grid-template-columns: minmax(320px,.86fr) minmax(420px,1.14fr) !important;
  align-items: center !important;
  gap: clamp(56px,8vw,118px) !important;
}
.feature-api-copy {
  max-width: 430px !important;
}
.feature-api-kicker {
  margin: 0 0 16px !important;
  color: #5f6a76 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 520 !important;
}
.feature-api-copy h2 {
  margin: 0 !important;
  color: #050505 !important;
  font-size: clamp(42px,4.7vw,64px) !important;
  line-height: .96 !important;
  font-weight: 560 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.feature-api-copy h2 span {
  color: #77808a !important;
  font: inherit !important;
}
.feature-api-lead {
  max-width: 430px !important;
  margin: 20px 0 0 !important;
  color: #5d6875 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  font-weight: 440 !important;
}
.feature-api-actions {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 28px !important;
}
.feature-api-actions a {
  min-height: 34px !important;
  padding: 0 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  border: 1px solid #d9dde2 !important;
  background: #050505 !important;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 650 !important;
}
.feature-api-actions a + a {
  background: #fff !important;
  color: #050505 !important;
}
.feature-api-metrics {
  margin-top: 30px !important;
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 28px !important;
}
.feature-api-metrics strong {
  display: block !important;
  color: #050505 !important;
  font-size: 14px !important;
  line-height: 1.1 !important;
  font-weight: 650 !important;
}
.feature-api-metrics span {
  display: block !important;
  margin-top: 4px !important;
  color: #6f7781 !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
}
.feature-code-wrap {
  position: relative !important;
  min-height: 420px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  isolation: isolate !important;
}
.feature-code-glow {
  position: absolute !important;
  z-index: -1 !important;
  inset: 10px 0 58px !important;
  background:
    radial-gradient(42% 68% at 95% 50%, rgba(0,0,0,.12), transparent 72%),
    radial-gradient(65% 70% at 35% 50%, rgba(0,0,0,.07), transparent 75%),
    #f6f6f6 !important;
  box-shadow: 18px 18px 0 #f0f0f0, -12px 12px 0 #f0f0f0, 0 22px 80px rgba(0,0,0,.10) !important;
}
.feature-code-card {
  width: min(100%,430px) !important;
  margin-inline: auto 42px !important;
  overflow: hidden !important;
  border: 1px solid #d7dce2 !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.12) !important;
}
.feature-code-top {
  height: 40px !important;
  padding: 0 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border-bottom: 1px solid #e6e8eb !important;
  background: #f9fafb !important;
}
.feature-code-card pre {
  max-height: 250px !important;
  margin: 0 !important;
  padding: 14px 14px 24px !important;
  overflow: hidden !important;
  background: #fff !important;
  color: #15191f !important;
  font: 650 12px/1.78 "SFMono-Regular","Cascadia Code","Consolas",monospace !important;
  white-space: pre !important;
}
.feature-code-card code {
  font: inherit !important;
}
.code-pink { color: #c72560 !important; }
.code-blue { color: #276fbf !important; }
.feature-code-tabs {
  width: min(100%,430px) !important;
  margin: 34px 42px 0 auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
.feature-code-tabs button {
  min-height: 30px !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #697481 !important;
  font-size: 13px !important;
  font-weight: 620 !important;
  cursor: pointer !important;
}
.feature-code-tabs button.is-active {
  background: #050505 !important;
  color: #fff !important;
}
@media(max-width:980px){
  .home-feature-console .feature-console-grid {
    grid-template-columns: 1fr !important;
  }
  .feature-api-copy {
    max-width: 620px !important;
  }
  .feature-code-card,
  .feature-code-tabs {
    margin-inline: 0 auto !important;
  }
}
@media(max-width:620px){
  .home-feature-console {
    padding-inline: 18px !important;
  }
  .feature-api-copy h2 {
    font-size: clamp(42px,13vw,58px) !important;
  }
  .feature-api-metrics {
    grid-template-columns: 1fr 1fr !important;
    gap: 18px !important;
  }
  .feature-code-wrap {
    min-height: 0 !important;
    padding-bottom: 8px !important;
  }
  .feature-code-glow {
    inset: 8px 0 50px !important;
    box-shadow: 10px 12px 0 #f0f0f0, -8px 12px 0 #f0f0f0, 0 18px 54px rgba(0,0,0,.10) !important;
  }
  .feature-code-card {
    width: calc(100% - 18px) !important;
    margin-left: 0 !important;
  }
  .feature-code-card pre {
    font-size: 11px !important;
  }
  .feature-code-tabs {
    width: 100% !important;
    margin-top: 24px !important;
    overflow-x: auto !important;
  }
}

/* Polished API block: aligned with the home rhythm and fully interactive. */
body.index-page .home-feature-console,
.home-feature-console {
  padding: clamp(88px,8.8vw,124px) var(--site-gutter,32px) !important;
  background:
    linear-gradient(180deg,#fff 0%,#fff 72%,#fbfbfa 100%) !important;
}
body.index-page .home-feature-console .feature-console-grid,
.home-feature-console .feature-console-grid {
  width: min(calc(100vw - (var(--site-gutter,32px) * 2)), 1280px) !important;
  grid-template-columns: minmax(330px,.82fr) minmax(520px,1.18fr) !important;
  gap: clamp(60px,7vw,112px) !important;
}
.feature-api-copy {
  max-width: 456px !important;
}
.feature-api-kicker {
  margin-bottom: 18px !important;
  color: #465363 !important;
  font-size: 15px !important;
  font-weight: 650 !important;
}
.feature-api-copy h2 {
  font-size: clamp(58px,5.3vw,82px) !important;
  line-height: .92 !important;
  font-weight: 700 !important;
}
.feature-api-copy h2 span {
  color: #7b838d !important;
  font-weight: 660 !important;
}
.feature-api-lead {
  max-width: 470px !important;
  margin-top: 24px !important;
  color: #4d5968 !important;
  font-size: clamp(16px,1.18vw,18px) !important;
}
.feature-api-actions {
  gap: 14px !important;
  margin-top: 32px !important;
}
.feature-api-actions a {
  min-height: 38px !important;
  padding: 0 18px !important;
  border-color: #050505 !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.08) !important;
  transition: transform .2s ease, opacity .2s ease, background-color .2s ease, color .2s ease !important;
}
.feature-api-actions a:hover {
  transform: translateY(-1px) !important;
  opacity: .82 !important;
}
.feature-api-actions a + a {
  border-color: #d7dde4 !important;
  box-shadow: none !important;
}
.feature-api-actions a:focus-visible,
.feature-code-top button:focus-visible,
.feature-code-tabs button:focus-visible {
  outline: 2px solid #050505 !important;
  outline-offset: 3px !important;
}
.feature-api-metrics {
  margin-top: 36px !important;
  gap: clamp(24px,3vw,46px) !important;
}
.feature-api-metrics strong {
  font-size: 16px !important;
  font-weight: 760 !important;
}
.feature-api-metrics span {
  color: #66717c !important;
  font-size: 13px !important;
}
.feature-code-wrap {
  min-height: 470px !important;
  justify-content: center !important;
}
.feature-code-glow {
  inset: 18px 34px 72px 0 !important;
  background:
    radial-gradient(42% 66% at 84% 45%, rgba(0,0,0,.10), transparent 76%),
    radial-gradient(74% 72% at 42% 50%, rgba(0,0,0,.075), transparent 78%),
    linear-gradient(135deg,#fafafa,#f1f1f0) !important;
  box-shadow: 22px 18px 0 #f1f1f1, -16px 12px 0 #f6f6f6, 0 32px 90px rgba(0,0,0,.11) !important;
}
.feature-code-card {
  width: min(100%,460px) !important;
  min-height: 292px !important;
  margin-inline: auto 74px !important;
  border-color: #d9dfe6 !important;
  border-radius: 10px !important;
  box-shadow: 0 24px 68px rgba(22,28,36,.14) !important;
}
.feature-code-top {
  height: 42px !important;
  background: #f7f8f9 !important;
}
.feature-code-top button {
  color: #465363 !important;
  font-size: 12px !important;
  font-weight: 650 !important;
}
.feature-code-top button:hover {
  color: #050505 !important;
}
.feature-code-card pre {
  max-height: 292px !important;
  min-height: 250px !important;
  padding: 18px 16px 26px !important;
  color: #050505 !important;
  font-size: 12.5px !important;
  line-height: 1.78 !important;
}
.feature-code-tabs {
  width: min(100%,460px) !important;
  margin: 34px 74px 0 auto !important;
  gap: 16px !important;
}
.feature-code-tabs button {
  min-height: 32px !important;
  padding: 0 16px !important;
  transition: background-color .2s ease, color .2s ease, transform .2s ease !important;
}
.feature-code-tabs button:hover {
  color: #050505 !important;
  transform: translateY(-1px) !important;
}
.feature-code-tabs button.is-active {
  box-shadow: 0 10px 22px rgba(0,0,0,.11) !important;
}
@media(max-width:1100px){
  body.index-page .home-feature-console .feature-console-grid,
  .home-feature-console .feature-console-grid {
    grid-template-columns: minmax(0,1fr) !important;
    gap: 56px !important;
  }
  .feature-api-copy {
    max-width: 720px !important;
  }
  .feature-code-wrap {
    width: min(100%,760px) !important;
  }
  .feature-code-card,
  .feature-code-tabs {
    margin-inline: 0 auto !important;
  }
}
@media(max-width:640px){
  .feature-api-copy h2 {
    font-size: clamp(46px,14vw,66px) !important;
  }
  .feature-api-actions {
    align-items: flex-start !important;
  }
  .feature-api-metrics {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 14px !important;
  }
  .feature-code-wrap {
    min-height: 0 !important;
  }
  .feature-code-glow {
    inset: 10px 0 62px 0 !important;
  }
  .feature-code-card {
    width: 100% !important;
    min-height: 0 !important;
  }
  .feature-code-card pre {
    min-height: 236px !important;
    overflow-x: auto !important;
    font-size: 11px !important;
  }
  .feature-code-tabs {
    width: 100% !important;
    margin-top: 24px !important;
  }
}
@media(max-width:430px){
  .feature-api-metrics {
    grid-template-columns: 1fr !important;
  }
}

/* Interactive code plates: the backdrop follows the selected code tab. */
.feature-code-wrap {
  align-items: center !important;
  min-height: 540px !important;
  --plate-x: 0px;
  --plate-y: 0px;
  --plate-r: 0deg;
  --plate-2x: 34px;
  --plate-2y: 26px;
  --plate-3x: -34px;
  --plate-3y: 38px;
}
.feature-code-wrap[data-active-code="typescript"] {
  --plate-x: 34px;
  --plate-y: -10px;
  --plate-r: .35deg;
  --plate-2x: -22px;
  --plate-2y: 36px;
  --plate-3x: 46px;
  --plate-3y: 52px;
}
.feature-code-wrap[data-active-code="curl"] {
  --plate-x: -26px;
  --plate-y: 18px;
  --plate-r: -.35deg;
  --plate-2x: 48px;
  --plate-2y: -2px;
  --plate-3x: -54px;
  --plate-3y: 58px;
}
.feature-code-glow {
  left: 50% !important;
  right: auto !important;
  top: 48% !important;
  bottom: auto !important;
  width: min(100%, 650px) !important;
  height: 370px !important;
  transform: translate(calc(-50% + var(--plate-x)), calc(-50% + var(--plate-y))) rotate(var(--plate-r)) !important;
  border-radius: 0 !important;
  background: #f3f3f2 !important;
  box-shadow: 0 34px 96px rgba(0,0,0,.11) !important;
  transition: transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s ease !important;
}
.feature-code-wrap::before,
.feature-code-wrap::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 48% !important;
  width: min(86%, 610px) !important;
  height: 342px !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background: #f8f8f7 !important;
  box-shadow: 0 24px 78px rgba(0,0,0,.07) !important;
  transition: transform .45s cubic-bezier(.22,1,.36,1), opacity .3s ease !important;
}
.feature-code-wrap::before {
  transform: translate(calc(-50% + var(--plate-2x)), calc(-50% + var(--plate-2y))) !important;
  opacity: .88 !important;
}
.feature-code-wrap::after {
  width: min(82%, 570px) !important;
  height: 318px !important;
  transform: translate(calc(-50% + var(--plate-3x)), calc(-50% + var(--plate-3y))) !important;
  opacity: .54 !important;
}
.feature-code-card {
  position: relative !important;
  z-index: 1 !important;
  margin-inline: auto !important;
  width: min(100%, 520px) !important;
  min-height: 336px !important;
  box-shadow: 0 28px 74px rgba(20,25,34,.15) !important;
  transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease !important;
}
.feature-code-wrap[data-active-code="typescript"] .feature-code-card {
  transform: translateX(8px) !important;
}
.feature-code-wrap[data-active-code="curl"] .feature-code-card {
  transform: translateX(-8px) !important;
}
.feature-code-card pre {
  min-height: 292px !important;
  max-height: 330px !important;
  font-size: 13px !important;
}
.feature-code-tabs {
  position: relative !important;
  z-index: 1 !important;
  margin-inline: auto !important;
  width: min(100%, 520px) !important;
  justify-content: center !important;
  margin-top: 36px !important;
}
@media(max-width:640px){
  .feature-code-wrap {
    min-height: 440px !important;
  }
  .feature-code-glow {
    width: 100% !important;
    height: 310px !important;
  }
  .feature-code-wrap::before,
  .feature-code-wrap::after {
    height: 292px !important;
  }
  .feature-code-card {
    width: min(100%, 100%) !important;
    min-height: 0 !important;
  }
  .feature-code-card pre {
    min-height: 250px !important;
    font-size: 11px !important;
  }
}

/* Final clean screen: no decorative backdrop, only the editor morphs on tab change. */
.feature-code-wrap {
  min-height: 560px !important;
  align-items: center !important;
  justify-content: center !important;
  --screen-w: 600px;
  --screen-h: 410px;
  --pre-h: 360px;
}
.feature-code-wrap[data-active-code="typescript"] {
  --screen-w: 640px;
  --screen-h: 390px;
  --pre-h: 340px;
}
.feature-code-wrap[data-active-code="curl"] {
  --screen-w: 680px;
  --screen-h: 330px;
  --pre-h: 280px;
}
.feature-code-glow,
.feature-code-wrap::before,
.feature-code-wrap::after {
  display: none !important;
  content: none !important;
}
.feature-code-card {
  width: min(100%, var(--screen-w)) !important;
  min-height: var(--screen-h) !important;
  margin-inline: auto !important;
  border: 1px solid #d7dde5 !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 32px 80px rgba(18,24,32,.13), 0 1px 0 rgba(255,255,255,.8) inset !important;
  transform: none !important;
  overflow: hidden !important;
  transition:
    width .42s cubic-bezier(.22,1,.36,1),
    min-height .42s cubic-bezier(.22,1,.36,1),
    box-shadow .28s ease,
    transform .28s cubic-bezier(.22,1,.36,1) !important;
}
.feature-code-wrap.is-switching .feature-code-card {
  animation: cnwCodeScreenMorph .42s cubic-bezier(.22,1,.36,1) both !important;
}
.feature-code-top {
  height: 46px !important;
}
.feature-code-card pre {
  min-height: var(--pre-h) !important;
  max-height: var(--pre-h) !important;
  padding: 22px 20px 30px !important;
  overflow: hidden auto !important;
  font-size: 13px !important;
  line-height: 1.82 !important;
  transition: min-height .42s cubic-bezier(.22,1,.36,1), max-height .42s cubic-bezier(.22,1,.36,1) !important;
}
.feature-code-tabs {
  width: min(100%, var(--screen-w)) !important;
  margin: 30px auto 0 !important;
  justify-content: center !important;
  transition: width .42s cubic-bezier(.22,1,.36,1) !important;
}
@keyframes cnwCodeScreenMorph {
  0% { transform: scale(.985,.985); opacity: .86; }
  55% { transform: scale(1.018,.992); opacity: 1; }
  100% { transform: scale(1,1); opacity: 1; }
}
@media(max-width:780px){
  .feature-code-wrap,
  .feature-code-wrap[data-active-code="typescript"],
  .feature-code-wrap[data-active-code="curl"] {
    --screen-w: 100%;
    --screen-h: 390px;
    --pre-h: 338px;
    min-height: 460px !important;
  }
}
@media(max-width:520px){
  .feature-code-wrap,
  .feature-code-wrap[data-active-code="typescript"],
  .feature-code-wrap[data-active-code="curl"] {
    --screen-h: 348px;
    --pre-h: 296px;
  }
  .feature-code-card pre {
    font-size: 11px !important;
    padding-inline: 14px !important;
  }
}

/* Show full snippets: no inner code scrollbar. */
.feature-code-wrap {
  --screen-h: auto;
  --pre-h: auto;
}
.feature-code-wrap[data-active-code="python"] {
  --screen-min-h: 470px;
}
.feature-code-wrap[data-active-code="typescript"] {
  --screen-min-h: 440px;
}
.feature-code-wrap[data-active-code="curl"] {
  --screen-min-h: 330px;
}
.feature-code-card {
  min-height: var(--screen-min-h, 470px) !important;
  height: auto !important;
}
.feature-code-card pre {
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
}
@media(max-width:520px){
  .feature-code-wrap[data-active-code="python"],
  .feature-code-wrap[data-active-code="typescript"],
  .feature-code-wrap[data-active-code="curl"] {
    --screen-min-h: auto;
  }
  .feature-code-card pre {
    white-space: pre !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
  }
}

/* Landing final polish: standard CNW type and calm editorial reveals. */
body.index-page .home-feature-console,
body.index-page .home-feature-console :not(pre):not(code):not(code *) {
  font-family: "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  letter-spacing: 0 !important;
}
body.index-page .feature-api-copy h2 {
  font-size: clamp(54px, 5.8vw, 88px) !important;
  line-height: .9 !important;
  font-weight: 760 !important;
  letter-spacing: 0 !important;
}
body.index-page .feature-api-copy h2 span {
  font-weight: 720 !important;
  color: #808891 !important;
}
body.index-page .feature-api-kicker,
body.index-page .feature-api-lead,
body.index-page .feature-api-metrics span {
  color: #24384c !important;
}
body.index-page .feature-api-actions a {
  font-weight: 720 !important;
}
body.index-page .feature-api-actions a:first-child::after {
  content: "";
  width: 0;
  height: 0;
}
body.index-page .feature-code-card {
  border-radius: 8px !important;
}
body.index-page .feature-code-tabs button,
body.index-page .feature-code-top button {
  font-family: "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
}
body.index-page.cnw-page-ready .home-hero-copy > *,
body.index-page.cnw-page-ready .home-product-showcase .home-section-head,
body.index-page.cnw-page-ready .home-feature-console .feature-api-copy > *,
body.index-page.cnw-page-ready .home-feature-console .feature-code-wrap,
body.index-page.cnw-page-ready .home-research .home-section-head,
body.index-page.cnw-page-ready .home-cta > * {
  animation: cnwLandingRise .82s var(--cnw-swish, cubic-bezier(.22,1,.36,1)) both;
}
body.index-page.cnw-page-ready .home-hero-copy > *:nth-child(1) { animation-delay: 40ms; }
body.index-page.cnw-page-ready .home-hero-copy > *:nth-child(2) { animation-delay: 120ms; }
body.index-page.cnw-page-ready .home-hero-copy > *:nth-child(3) { animation-delay: 200ms; }
body.index-page.cnw-page-ready .home-hero-copy > *:nth-child(4) { animation-delay: 280ms; }
body.index-page.cnw-page-ready .home-feature-console .feature-api-copy > *:nth-child(1) { animation-delay: 60ms; }
body.index-page.cnw-page-ready .home-feature-console .feature-api-copy > *:nth-child(2) { animation-delay: 120ms; }
body.index-page.cnw-page-ready .home-feature-console .feature-api-copy > *:nth-child(3) { animation-delay: 180ms; }
body.index-page.cnw-page-ready .home-feature-console .feature-api-copy > *:nth-child(4) { animation-delay: 240ms; }
body.index-page.cnw-page-ready .home-feature-console .feature-api-copy > *:nth-child(5) { animation-delay: 300ms; }
body.index-page.cnw-page-ready .home-feature-console .feature-code-wrap { animation-delay: 170ms; }
body.index-page .home-product,
body.index-page .home-paper-list a,
body.index-page .home-cta .home-button {
  transition:
    transform .46s cubic-bezier(.22,1,.36,1),
    opacity .22s ease,
    box-shadow .28s ease,
    border-color .22s ease,
    background-color .22s ease,
    color .22s ease !important;
}
body.index-page .home-product:hover,
body.index-page .home-paper-list a:hover {
  transform: translate3d(0,-3px,0) !important;
}
body.index-page .feature-code-card:hover {
  box-shadow: 0 38px 92px rgba(18,24,32,.16), 0 1px 0 rgba(255,255,255,.8) inset !important;
}
@keyframes cnwLandingRise {
  from {
    opacity: 0;
    transform: translate3d(0, 18px, 0);
    filter: blur(4px);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  body.index-page.cnw-page-ready .home-hero-copy > *,
  body.index-page.cnw-page-ready .home-product-showcase .home-section-head,
  body.index-page.cnw-page-ready .home-feature-console .feature-api-copy > *,
  body.index-page.cnw-page-ready .home-feature-console .feature-code-wrap,
  body.index-page.cnw-page-ready .home-research .home-section-head,
  body.index-page.cnw-page-ready .home-cta > * {
    animation: none !important;
  }
}

/* Final typography correction: keep the API block in CNW's lighter editorial voice. */
body.index-page .home-feature-console,
body.index-page .home-feature-console :not(pre):not(code):not(code *) {
  font-family: "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
}
body.index-page .feature-api-copy h2 {
  max-width: 560px !important;
  font-size: clamp(58px, 6.5vw, 96px) !important;
  line-height: .94 !important;
  letter-spacing: -.055em !important;
  font-weight: 600 !important;
}
body.index-page .feature-api-copy h2 span {
  color: #7f8790 !important;
  font-weight: 600 !important;
  letter-spacing: inherit !important;
}
body.index-page .feature-api-kicker {
  color: #123047 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}
body.index-page .feature-api-lead {
  color: #4f5357 !important;
  font-size: clamp(18px, 1.5vw, 22px) !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
}
body.index-page .feature-api-actions a {
  font-size: 14px !important;
  font-weight: 600 !important;
}
body.index-page .feature-api-metrics strong {
  font-size: clamp(22px, 2.2vw, 32px) !important;
  letter-spacing: -.04em !important;
  font-weight: 600 !important;
}
body.index-page .feature-api-metrics span {
  color: #666b70 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}

/* Product section: text left, compact product screens stacked right. */
body.index-page .home-product-showcase {
  display: grid !important;
  grid-template-columns: minmax(360px,.82fr) minmax(560px,1fr) !important;
  align-items: center !important;
  gap: clamp(42px,7vw,104px) !important;
  padding-top: clamp(74px,8vw,118px) !important;
  padding-bottom: clamp(74px,8vw,118px) !important;
}
body.index-page .home-product-showcase .home-section-head {
  max-width: 680px !important;
  margin: 0 !important;
}
body.index-page .home-product-showcase .home-section-head h2 {
  font-size: clamp(54px,6.2vw,92px) !important;
  line-height: .92 !important;
  letter-spacing: -.055em !important;
  font-weight: 600 !important;
}
body.index-page .home-product-showcase .home-products.home-product-tabs {
  width: min(100%,760px) !important;
  justify-self: end !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
}
body.index-page .home-product-showcase .home-product-tabs .home-product {
  display: grid !important;
  grid-template-columns: 320px minmax(0,1fr) !important;
  align-items: center !important;
  gap: 24px !important;
  padding: 0 !important;
}
body.index-page .home-product-showcase .home-product-tabs .home-product-media {
  width: 320px !important;
  aspect-ratio: 16 / 10 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}
body.index-page .home-product-showcase .home-product-tabs .home-product-copy {
  padding: 0 !important;
}
body.index-page .home-product-showcase .home-product-tabs .home-product-copy small {
  margin-bottom: 7px !important;
  color: #70777f !important;
}
body.index-page .home-product-showcase .home-product-tabs .home-product h3 {
  font-size: clamp(28px,2.65vw,42px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.035em !important;
  font-weight: 650 !important;
}
body.index-page .home-product-showcase .home-product-tabs .home-product:hover {
  transform: translate3d(4px,0,0) !important;
}
@media(max-width:920px){
  body.index-page .home-product-showcase {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }
  body.index-page .home-product-showcase .home-products.home-product-tabs {
    justify-self: stretch !important;
    width: 100% !important;
  }
}
@media(max-width:560px){
  body.index-page .home-product-showcase .home-product-tabs .home-product {
    grid-template-columns: 1fr !important;
  }
  body.index-page .home-product-showcase .home-product-tabs .home-product-media {
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
  }
}

/* Landing structure pass: consistent section rhythm after moving Research above Products and API below. */
body.index-page .home-section,
body.index-page .home-feature-console,
body.index-page .home-cta {
  width: min(calc(100% - (var(--site-gutter,32px) * 2)), 1280px) !important;
  max-width: 1280px !important;
  margin-inline: auto !important;
}
body.index-page .home-research,
body.index-page .home-product-showcase,
body.index-page .home-feature-console {
  padding-top: clamp(86px, 8vw, 126px) !important;
  padding-bottom: clamp(86px, 8vw, 126px) !important;
  border-top: 1px solid #ecefec !important;
}
body.index-page .home-research {
  border-top: 0 !important;
}
body.index-page .home-research .home-section-head,
body.index-page .home-product-showcase .home-section-head {
  margin-bottom: clamp(32px, 4vw, 56px) !important;
}
body.index-page .home-product-showcase .home-section-head h2 {
  text-transform: uppercase !important;
  max-width: 760px !important;
  font-size: clamp(54px, 6vw, 88px) !important;
  line-height: .94 !important;
  letter-spacing: -.052em !important;
}
body.index-page .home-feature-console {
  width: 100% !important;
  max-width: none !important;
  padding-inline: var(--site-gutter,32px) !important;
}
body.index-page .home-feature-console .feature-console-grid {
  width: min(100%, 1280px) !important;
}
@media(max-width:920px){
  body.index-page .home-section,
  body.index-page .home-feature-console,
  body.index-page .home-cta {
    width: min(calc(100% - 36px), 1280px) !important;
  }
}

/* Final type/layout tuning: lighter headings, centered rhythm, roomier product cards. */
body.index-page :is(.home-section h2,.home-feature h2,.home-cta h2) {
  font-family: "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 520 !important;
  letter-spacing: -.045em !important;
  line-height: .96 !important;
}
body.index-page .home-research .home-section-head {
  max-width: 980px !important;
  margin-inline: auto !important;
  text-align: center !important;
}
body.index-page .home-research .home-section-head h2 {
  text-transform: uppercase !important;
  font-size: clamp(44px, 5.2vw, 76px) !important;
  font-weight: 500 !important;
  letter-spacing: -.042em !important;
}
body.index-page .home-product-showcase {
  grid-template-columns: minmax(330px,.78fr) minmax(640px,1fr) !important;
  gap: clamp(64px, 8vw, 128px) !important;
}
body.index-page .home-product-showcase .home-section-head {
  align-self: center !important;
}
body.index-page .home-product-showcase .home-section-head h2 {
  max-width: 620px !important;
  font-size: clamp(42px, 4.7vw, 70px) !important;
  line-height: .97 !important;
  letter-spacing: -.042em !important;
  font-weight: 520 !important;
}
body.index-page .home-product-showcase .home-products.home-product-tabs {
  width: min(100%, 820px) !important;
  gap: 26px !important;
}
body.index-page .home-product-showcase .home-product-tabs .home-product {
  grid-template-columns: 340px minmax(210px,1fr) !important;
  gap: clamp(34px, 4vw, 58px) !important;
}
body.index-page .home-product-showcase .home-product-tabs .home-product-media {
  width: 340px !important;
}
body.index-page .home-product-showcase .home-product-tabs .home-product h3 {
  max-width: 280px !important;
  font-size: clamp(26px, 2.25vw, 36px) !important;
  line-height: 1.04 !important;
  letter-spacing: -.035em !important;
  font-weight: 620 !important;
}
body.index-page .home-product-showcase .home-product-tabs .home-product-copy small {
  margin-bottom: 10px !important;
}
@media(max-width:1080px){
  body.index-page .home-product-showcase {
    grid-template-columns: 1fr !important;
  }
  body.index-page .home-product-showcase .home-section-head {
    max-width: 780px !important;
  }
  body.index-page .home-product-showcase .home-products.home-product-tabs {
    justify-self: stretch !important;
  }
}
@media(max-width:680px){
  body.index-page .home-product-showcase .home-product-tabs .home-product {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  body.index-page .home-product-showcase .home-product-tabs .home-product-media {
    width: 100% !important;
  }
}

/* Process section: market state diagram. */
body.index-page .home-process-section {
  display: grid !important;
  grid-template-columns: minmax(320px,.72fr) minmax(520px,1fr) !important;
  align-items: center !important;
  gap: clamp(56px, 8vw, 118px) !important;
  padding-top: clamp(86px, 8vw, 126px) !important;
  padding-bottom: clamp(86px, 8vw, 126px) !important;
  border-top: 1px solid #ecefec !important;
}
.home-process-copy {
  max-width: 470px !important;
}
.home-process-kicker {
  margin: 0 0 24px !important;
  color: #70777c !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
}
.home-process-copy h2 {
  margin: 0 !important;
  color: #101112 !important;
  font-size: clamp(50px, 5vw, 76px) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
  font-weight: 500 !important;
}
.home-process-copy p:not(.home-process-kicker) {
  max-width: 420px !important;
  margin: 22px 0 0 !important;
  color: #666b70 !important;
  font-size: clamp(18px, 1.45vw, 22px) !important;
  line-height: 1.45 !important;
}
.home-process-card {
  position: relative !important;
  min-height: clamp(390px, 38vw, 520px) !important;
  margin: 0 !important;
  border: 1px solid #dfe4df !important;
  border-radius: 14px !important;
  background: #fbfcfb !important;
  overflow: hidden !important;
}
.home-process-card figcaption {
  position: absolute !important;
  left: 28px !important;
  top: 26px !important;
  color: #696f74 !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  letter-spacing: .16em !important;
}
.home-process-card small {
  position: absolute !important;
  right: 28px !important;
  bottom: 22px !important;
  color: #6f7478 !important;
  font-size: 12px !important;
}
.process-orbit {
  position: absolute !important;
  left: 50% !important;
  top: 52% !important;
  width: min(70%, 430px) !important;
  aspect-ratio: 1 !important;
  transform: translate(-50%,-50%) !important;
}
.process-orbit::before,
.process-orbit::after {
  content: "" !important;
  position: absolute !important;
  inset: 18% 30% !important;
  border: 1px solid #e2e7e4 !important;
  border-radius: 999px !important;
  transform: rotate(28deg) !important;
}
.process-orbit::after {
  inset: 36% !important;
  transform: none !important;
  background: rgba(255,255,255,.62) !important;
}
.process-core {
  position: absolute !important;
  z-index: 2 !important;
  left: 50% !important;
  top: 50% !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 999px !important;
  transform: translate(-50%,-50%) !important;
  border: 1px solid #cfd5d2 !important;
  background: linear-gradient(90deg,#f9faf9 0 35%,#c8ccd0 35% 62%,#fff 62% 100%) !important;
  box-shadow: 0 0 0 18px rgba(255,255,255,.55) !important;
}
.process-orbit i {
  position: absolute !important;
  width: 34px !important;
  height: 34px !important;
  border: 1px solid #e7ebe8 !important;
  border-radius: 6px !important;
  background: rgba(255,255,255,.42) !important;
  box-shadow: 0 2px 8px rgba(16,17,18,.03) !important;
}
.process-orbit i:nth-of-type(1) { left: 8%; top: 48%; }
.process-orbit i:nth-of-type(2) { left: 25%; top: 24%; }
.process-orbit i:nth-of-type(3) { left: 47%; top: 18%; }
.process-orbit i:nth-of-type(4) { right: 20%; top: 24%; }
.process-orbit i:nth-of-type(5) { right: 2%; top: 48%; }
.process-orbit i:nth-of-type(6) { right: 20%; bottom: 20%; }
.process-orbit i:nth-of-type(7) { left: 47%; bottom: 14%; }
.process-orbit i:nth-of-type(8) { left: 25%; bottom: 20%; }
@media(max-width:900px){
  body.index-page .home-process-section {
    grid-template-columns: 1fr !important;
  }
  .home-process-card {
    min-height: 380px !important;
  }
}

/* Process motion from the experimental lab: sticky animated states. */
body.index-page .home-process-section {
  align-items: start !important;
}
.home-process-copy {
  max-width: 520px !important;
}
.home-process-step {
  min-height: 56vh !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  opacity: .32 !important;
  transform: translate3d(0,18px,0) !important;
  transition: opacity .55s cubic-bezier(.22,1,.36,1), transform .55s cubic-bezier(.22,1,.36,1) !important;
}
.home-process-step.is-active {
  opacity: 1 !important;
  transform: translate3d(0,0,0) !important;
}
.home-process-card {
  position: sticky !important;
  top: clamp(92px, 12vh, 150px) !important;
  min-height: min(560px, 72vh) !important;
}
.process-diagram {
  position: absolute !important;
  left: 50% !important;
  top: 52% !important;
  width: min(74%, 520px) !important;
  height: 320px !important;
  transform: translate(-50%,-50%) !important;
  transition: transform .65s cubic-bezier(.22,1,.36,1), opacity .65s cubic-bezier(.22,1,.36,1) !important;
}
.process-orbit,
.process-orbit::before,
.process-orbit::after,
.process-orbit i {
  display: none !important;
}
.process-orbit-line {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 320px !important;
  height: 164px !important;
  transform: translate(-50%,-50%) rotate(28deg) !important;
  border: 1px solid #e2e7e4 !important;
  border-radius: 999px !important;
  opacity: 1 !important;
  animation: cnwProcessSpin 18s linear infinite !important;
  transition: opacity .45s cubic-bezier(.22,1,.36,1), transform .65s cubic-bezier(.22,1,.36,1) !important;
}
.process-core {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  z-index: 2 !important;
  width: 76px !important;
  height: 76px !important;
  border-radius: 999px !important;
  transform: translate(-50%,-50%) !important;
  border: 1px solid #dbe1dd !important;
  background: rgba(255,255,255,.86) !important;
  box-shadow: none !important;
  display: grid !important;
  place-items: center !important;
  transition: border-radius .5s cubic-bezier(.22,1,.36,1), width .5s cubic-bezier(.22,1,.36,1), height .5s cubic-bezier(.22,1,.36,1) !important;
}
.process-core::before {
  content: "" !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(16,18,21,.24) !important;
  background: transparent !important;
  box-shadow: inset 11px 0 0 rgba(16,18,21,.08), inset -11px 0 0 rgba(16,18,21,.08) !important;
}
.process-node {
  position: absolute !important;
  left: var(--x) !important;
  top: var(--y) !important;
  width: 34px !important;
  height: 34px !important;
  transform: translate(-50%,-50%) !important;
  border: 1px solid #e5ebe7 !important;
  border-radius: 6px !important;
  background: rgba(255,255,255,.78) !important;
  box-shadow: 0 2px 8px rgba(16,17,18,.035) !important;
  animation: cnwProcessBreathe 2.8s cubic-bezier(.22,1,.36,1) infinite !important;
  animation-delay: calc(var(--i) * -180ms) !important;
  transition:
    left .65s cubic-bezier(.22,1,.36,1),
    top .65s cubic-bezier(.22,1,.36,1),
    border-radius .45s cubic-bezier(.22,1,.36,1),
    opacity .45s ease,
    transform .45s cubic-bezier(.22,1,.36,1) !important;
}
.process-diagram[data-mode="grid"] .process-orbit-line {
  opacity: 0 !important;
  transform: translate(-50%,-50%) rotate(0deg) scale(.86) !important;
}
.process-diagram[data-mode="grid"] .process-node {
  border-radius: 999px !important;
}
.process-diagram[data-mode="cluster"] .process-orbit-line {
  opacity: .34 !important;
  transform: translate(-50%,-50%) rotate(-18deg) scale(.72) !important;
}
.process-diagram[data-mode="cluster"] .process-core {
  width: 92px !important;
  height: 92px !important;
}
@keyframes cnwProcessSpin {
  from { rotate: 0deg; }
  to { rotate: 360deg; }
}
@keyframes cnwProcessBreathe {
  0%,100% { transform: translate(-50%,-50%) scale(1); opacity: .72; }
  50% { transform: translate(-50%,-50%) scale(1.08); opacity: 1; }
}
@media(max-width:900px){
  .home-process-step {
    min-height: auto !important;
    padding: 34px 0 !important;
  }
  .home-process-card {
    position: relative !important;
    top: auto !important;
  }
}

/* Cohesive landing pass: shared rhythm, calmer headings, product block balanced. */
body.index-page {
  --landing-max: 1280px;
  --landing-gutter: clamp(22px, 4vw, 56px);
  --landing-section-y: clamp(82px, 8vw, 128px);
  --landing-line: #ecefec;
}
body.index-page .home-main {
  overflow-x: hidden !important;
}
body.index-page :is(.home-section,.home-feature,.home-cta) {
  width: min(calc(100% - (var(--landing-gutter) * 2)), var(--landing-max)) !important;
  max-width: var(--landing-max) !important;
  margin-inline: auto !important;
}
body.index-page :is(.home-section,.home-feature-console,.home-cta) {
  padding-top: var(--landing-section-y) !important;
  padding-bottom: var(--landing-section-y) !important;
}
body.index-page :is(.home-section h2,.home-feature h2,.home-cta h2) {
  font-family: "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 560 !important;
  letter-spacing: -.045em !important;
  line-height: .96 !important;
}
body.index-page .home-section-head {
  margin-bottom: clamp(34px, 4.5vw, 64px) !important;
}
body.index-page .home-product-showcase {
  width: min(calc(100% - (var(--landing-gutter) * 2)), var(--landing-max)) !important;
  display: grid !important;
  grid-template-columns: minmax(480px, .95fr) minmax(640px, 1.05fr) !important;
  align-items: center !important;
  gap: clamp(76px, 8.5vw, 132px) !important;
  border-top: 1px solid var(--landing-line) !important;
}
body.index-page .home-product-showcase .home-section-head {
  max-width: 620px !important;
  margin: 0 !important;
}
body.index-page .home-product-showcase .home-section-head h2 {
  max-width: 620px !important;
  font-size: clamp(44px, 5vw, 72px) !important;
  line-height: .96 !important;
  letter-spacing: -.045em !important;
  font-weight: 560 !important;
  text-transform: uppercase !important;
}
body.index-page .home-product-showcase .home-products.home-product-tabs {
  width: 100% !important;
  max-width: 760px !important;
  justify-self: end !important;
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(24px, 3vw, 34px) !important;
}
body.index-page .home-product-showcase .home-product-tabs .home-product {
  display: grid !important;
  grid-template-columns: minmax(320px, 380px) minmax(230px, 1fr) !important;
  align-items: center !important;
  gap: clamp(54px, 5.6vw, 86px) !important;
  transform: none !important;
}
body.index-page .home-product-showcase .home-product-tabs .home-product:hover {
  transform: translate3d(6px, 0, 0) !important;
}
body.index-page .home-product-showcase .home-product-tabs .home-product-media {
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
  border-radius: 9px !important;
}
body.index-page .home-product-showcase .home-product-tabs .home-product-copy {
  min-width: 0 !important;
  padding: 0 !important;
}
body.index-page .home-product-showcase .home-product-tabs .home-product-copy small {
  margin-bottom: 12px !important;
  color: #747b82 !important;
  font-size: 13px !important;
}
body.index-page .home-product-showcase .home-product-tabs .home-product h3 {
  max-width: 320px !important;
  color: #101112 !important;
  font-size: clamp(28px, 2.4vw, 38px) !important;
  line-height: 1.03 !important;
  letter-spacing: -.035em !important;
  font-weight: 620 !important;
}
body.index-page .home-research {
  border-top: 0 !important;
}
body.index-page .home-research .home-section-head {
  max-width: 980px !important;
  margin-inline: auto !important;
  text-align: center !important;
}
body.index-page .home-research .home-section-head h2 {
  font-size: clamp(44px, 5.4vw, 78px) !important;
  font-weight: 520 !important;
  text-transform: uppercase !important;
}
body.index-page .home-process-section,
body.index-page .home-feature-console {
  border-top: 1px solid var(--landing-line) !important;
}
@media(max-width:1180px){
  body.index-page .home-product-showcase {
    grid-template-columns: 1fr !important;
    gap: 46px !important;
  }
  body.index-page .home-product-showcase .home-section-head {
    max-width: 820px !important;
  }
  body.index-page .home-product-showcase .home-products.home-product-tabs {
    justify-self: stretch !important;
    max-width: none !important;
  }
}
@media(max-width:760px){
  body.index-page {
    --landing-gutter: 18px;
  }
  body.index-page .home-product-showcase .home-product-tabs .home-product {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  body.index-page .home-product-showcase .home-product-tabs .home-product-media {
    aspect-ratio: 16 / 9 !important;
  }
}
@media(prefers-reduced-motion:reduce){
  .process-orbit-line,
  .process-node {
    animation: none !important;
  }
}

/* Final process scrollytelling fix: left column scrolls, right diagram stays pinned. */
body.index-page .home-process-section {
  min-height: 260vh !important;
  display: grid !important;
  grid-template-columns: minmax(360px, .78fr) minmax(560px, 1.08fr) !important;
  align-items: start !important;
  gap: clamp(72px, 8vw, 128px) !important;
  padding-top: clamp(96px, 9vw, 140px) !important;
  padding-bottom: clamp(96px, 9vw, 140px) !important;
}
body.index-page .home-process-copy {
  max-width: 500px !important;
  padding-top: 8vh !important;
  padding-bottom: 18vh !important;
}
body.index-page .home-process-step {
  min-height: 74vh !important;
  padding: 0 !important;
  justify-content: center !important;
}
body.index-page .home-process-step + .home-process-step {
  margin-top: 6vh !important;
}
body.index-page .home-process-copy h2 {
  font-size: clamp(54px, 5.2vw, 82px) !important;
  line-height: .94 !important;
  letter-spacing: -.052em !important;
  font-weight: 560 !important;
  text-transform: uppercase !important;
}
body.index-page .home-process-copy p:not(.home-process-kicker) {
  max-width: 430px !important;
  font-size: clamp(19px, 1.45vw, 23px) !important;
  line-height: 1.38 !important;
}
body.index-page .home-process-card {
  position: sticky !important;
  top: clamp(86px, 11vh, 126px) !important;
  align-self: start !important;
  width: 100% !important;
  height: min(620px, calc(100svh - 150px)) !important;
  min-height: 520px !important;
  margin: 0 !important;
  overflow: hidden !important;
  isolation: isolate !important;
  transform: translateZ(0) !important;
}
body.index-page .process-diagram {
  left: 50% !important;
  top: 50% !important;
  width: min(66%, 460px) !important;
  height: min(46vh, 330px) !important;
  transform: translate(-50%,-50%) !important;
}
body.index-page .process-orbit-line {
  width: min(250px, 68%) !important;
  height: min(250px, 88%) !important;
  transform: translate(-50%,-50%) rotate(-26deg) !important;
}
body.index-page .process-core {
  left: 50% !important;
  top: 50% !important;
  width: 76px !important;
  height: 76px !important;
}
body.index-page .process-diagram[data-mode="cluster"] .process-orbit-line {
  opacity: .26 !important;
  transform: translate(-50%,-50%) rotate(-18deg) scale(.64) !important;
}
body.index-page .process-diagram[data-mode="cluster"] .process-core {
  width: 86px !important;
  height: 86px !important;
}
@media(max-width:980px){
  body.index-page .home-process-section {
    min-height: auto !important;
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }
  body.index-page .home-process-copy {
    padding: 0 !important;
  }
  body.index-page .home-process-step {
    min-height: auto !important;
    padding: 42px 0 !important;
  }
  body.index-page .home-process-card {
    position: relative !important;
    top: auto !important;
    height: 460px !important;
    min-height: 460px !important;
  }
}

/* API text cleanup: keep the code-card shadow, remove every text halo/shadow. */
body.index-page .home-feature-console :is(
  .feature-api-copy,
  .feature-api-copy *,
  .feature-api-metrics,
  .feature-api-metrics *,
  .feature-api-actions,
  .feature-api-actions *,
  .feature-code-tabs,
  .feature-code-tabs *
) {
  text-shadow: none !important;
  filter: none !important;
  -webkit-text-stroke: 0 !important;
  box-shadow: none !important;
}
body.index-page .home-feature-console :is(.feature-code-wrap,.feature-code-glow,.feature-code-card) {
  filter: none !important;
}
body.index-page .home-feature-console .feature-code-glow {
  box-shadow: 18px 18px 0 #f0f0f0, -12px 12px 0 #f0f0f0, 0 22px 80px rgba(0,0,0,.10) !important;
}
body.index-page .home-feature-console .feature-code-card {
  box-shadow: 0 24px 70px rgba(0,0,0,.12) !important;
}

/* Imported cleanly from the Ruty Motion Lab scrollytelling block. */
body.index-page .home-process-section.scrollytelling {
  width: min(calc(100% - (var(--landing-gutter, 56px) * 2)), 1280px) !important;
  max-width: 1280px !important;
  min-height: auto !important;
  display: block !important;
  margin-inline: auto !important;
  padding: clamp(76px, 10vw, 136px) 0 !important;
  border-top: 1px solid var(--landing-line, #ecefec) !important;
  border-bottom: 1px solid var(--landing-line, #ecefec) !important;
}
body.index-page .home-process-section .process-wrap {
  width: min(1200px, 100%) !important;
  margin: 0 auto !important;
}
body.index-page .home-process-section .scroll-grid {
  display: grid !important;
  grid-template-columns: minmax(260px, .75fr) minmax(420px, 1.25fr) !important;
  gap: clamp(34px, 7vw, 104px) !important;
  align-items: start !important;
}
body.index-page .home-process-section .story {
  display: grid !important;
  gap: 30vh !important;
  padding: 8vh 0 18vh !important;
}
body.index-page .home-process-section .story-step {
  min-height: 38vh !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  opacity: .42 !important;
  transform: translateY(20px) !important;
  transition: opacity .55s cubic-bezier(.22,1,.36,1), transform .55s cubic-bezier(.22,1,.36,1) !important;
}
body.index-page .home-process-section .story-step.is-active {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
body.index-page .home-process-section .story-step small {
  margin-bottom: 18px !important;
  color: #646464 !important;
  font-size: 11px !important;
  font-weight: 760 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}
body.index-page .home-process-section .story-step h3 {
  margin: 0 !important;
  color: #101112 !important;
  font-family: "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  font-size: clamp(34px, 4.8vw, 64px) !important;
  line-height: .94 !important;
  letter-spacing: -.05em !important;
  font-weight: 520 !important;
}
body.index-page .home-process-section .story-step p {
  max-width: 420px !important;
  margin: 20px 0 0 !important;
  color: #646a70 !important;
  font-size: clamp(17px, 1.5vw, 20px) !important;
  line-height: 1.38 !important;
}
body.index-page .home-process-section .sticky-card {
  position: sticky !important;
  top: 96px !important;
  min-height: 520px !important;
  margin: 0 !important;
  border: 1px solid #dee2de !important;
  border-radius: 16px !important;
  background: rgba(249,250,247,.86) !important;
  box-shadow: none !important;
  overflow: hidden !important;
  display: grid !important;
  place-items: center !important;
}
body.index-page .home-process-section .scene-label {
  position: absolute !important;
  left: 28px !important;
  top: 24px !important;
  color: #646464 !important;
  font-size: 11px !important;
  font-weight: 760 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}
body.index-page .home-process-section .scene-caption {
  position: absolute !important;
  right: 28px !important;
  bottom: 22px !important;
  color: #646464 !important;
  font-size: 12px !important;
}
body.index-page .home-process-section .diagram-scene {
  width: min(520px, 78%) !important;
  height: 280px !important;
  position: relative !important;
  transform: none !important;
  transition: transform .65s cubic-bezier(.22,1,.36,1), opacity .65s cubic-bezier(.22,1,.36,1) !important;
}
body.index-page .home-process-section .diagram-scene[data-mode="grid"] .orbit-line {
  opacity: 0 !important;
}
body.index-page .home-process-section .diagram-scene[data-mode="grid"] .square-node {
  border-radius: 50% !important;
}
body.index-page .home-process-section .orbit-line {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 300px !important;
  height: 150px !important;
  transform: translate(-50%,-50%) !important;
  border: 1px solid #dee2de !important;
  border-radius: 50% !important;
  opacity: 1 !important;
  transition: opacity .45s cubic-bezier(.22,1,.36,1) !important;
  animation: cnwProcessReferenceSpin 18s linear infinite !important;
}
body.index-page .home-process-section .center-orb {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 76px !important;
  height: 76px !important;
  transform: translate(-50%,-50%) !important;
  border-radius: 50% !important;
  border: 1px solid #dee2de !important;
  background: rgba(255,255,255,.86) !important;
  display: grid !important;
  place-items: center !important;
  z-index: 2 !important;
}
body.index-page .home-process-section .center-orb::before {
  content: "" !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(16,18,21,.24) !important;
  box-shadow: inset 11px 0 0 rgba(16,18,21,.08), inset -11px 0 0 rgba(16,18,21,.08) !important;
}
body.index-page .home-process-section .square-node {
  position: absolute !important;
  left: var(--x) !important;
  top: var(--y) !important;
  width: 32px !important;
  height: 32px !important;
  transform: translate(-50%,-50%) !important;
  border: 1px solid #dee2de !important;
  border-radius: 5px !important;
  background: rgba(255,255,255,.78) !important;
  box-shadow: 0 2px 8px rgba(16,17,18,.035) !important;
  transition: left .65s cubic-bezier(.22,1,.36,1), top .65s cubic-bezier(.22,1,.36,1), border-radius .45s cubic-bezier(.22,1,.36,1), opacity .45s cubic-bezier(.22,1,.36,1) !important;
  animation: cnwProcessReferenceBreathe 2.8s cubic-bezier(.22,1,.36,1) infinite !important;
  animation-delay: calc(var(--i) * -180ms) !important;
}
@keyframes cnwProcessReferenceSpin {
  to { transform: translate(-50%,-50%) rotate(360deg); }
}
@keyframes cnwProcessReferenceBreathe {
  0%, 100% { opacity: .42; transform: translate(-50%,-50%) scale(1); }
  50% { opacity: 1; transform: translate(-50%,-50%) scale(1.08); }
}
@media(max-width:880px){
  body.index-page .home-process-section.scrollytelling {
    width: min(calc(100% - 36px), 1280px) !important;
  }
  body.index-page .home-process-section .scroll-grid {
    grid-template-columns: 1fr !important;
  }
  body.index-page .home-process-section .story {
    gap: 34px !important;
    padding: 0 !important;
  }
  body.index-page .home-process-section .story-step {
    min-height: auto !important;
    padding: 28px 0 !important;
  }
  body.index-page .home-process-section .sticky-card {
    position: relative !important;
    top: auto !important;
    min-height: 420px !important;
  }
}
@media(prefers-reduced-motion:reduce){
  body.index-page .home-process-section .orbit-line,
  body.index-page .home-process-section .square-node {
    animation: none !important;
  }
}

/* Sticky needs visible overflow on every parent; common/home were clipping main. */
body.index-page main,
body.index-page .home-main {
  overflow: visible !important;
}
body.index-page {
  overflow-x: hidden !important;
}
body.index-page .home-process-section.scrollytelling,
body.index-page .home-process-section .process-wrap,
body.index-page .home-process-section .scroll-grid {
  overflow: visible !important;
}
body.index-page .home-process-section .sticky-card {
  position: sticky !important;
  top: clamp(92px, 12vh, 120px) !important;
  align-self: start !important;
  justify-self: stretch !important;
}
body.index-page .home-process-section.cnw-motion-item,
body.index-page .home-process-section.cnw-motion-item.cnw-in-view {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
html.index-root {
  overflow: visible !important;
}

/* API section: plain white background, no ambient gradient glow. */
body.index-page .home-feature-console {
  background: #fff !important;
}
body.index-page .home-feature-console .feature-code-glow {
  display: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.index-page .home-feature-console .feature-code-card {
  box-shadow: 0 24px 70px rgba(0,0,0,.12) !important;
}

/* White interactive feature lab, adapted from the uploaded CNW Features animation. */
body.index-page .home-cnw-features {
  width: min(calc(100% - (var(--landing-gutter, 56px) * 2)), 1280px) !important;
  max-width: 1280px !important;
  margin-inline: auto !important;
  padding: clamp(86px, 8vw, 126px) 0 !important;
  border-top: 1px solid var(--landing-line, #ecefec) !important;
  border-bottom: 1px solid var(--landing-line, #ecefec) !important;
  background: #fff !important;
  color: #101112 !important;
  overflow: visible !important;
}
body.index-page .home-cnw-features-head {
  max-width: 860px !important;
  margin: 0 auto clamp(52px, 6vw, 82px) !important;
  text-align: center !important;
}
body.index-page .home-cnw-features-head p {
  margin: 0 0 12px !important;
  color: #70777c !important;
  font-size: 12px !important;
  font-weight: 760 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}
body.index-page .home-cnw-features-head h2 {
  margin: 0 !important;
  color: #101112 !important;
  font-size: clamp(46px, 5.2vw, 78px) !important;
  line-height: .94 !important;
  letter-spacing: -.055em !important;
  font-weight: 560 !important;
  text-transform: uppercase !important;
}
body.index-page .home-cnw-features-grid {
  display: grid !important;
  grid-template-columns: minmax(360px, 520px) minmax(420px, 660px) !important;
  gap: clamp(56px, 6vw, 82px) !important;
  align-items: start !important;
}
body.index-page .home-cnw-feature-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}
body.index-page .home-cnw-feature-list li {
  position: relative !important;
  border-bottom: 1px solid #e4e7e3 !important;
}
body.index-page .home-cnw-feature-list button {
  width: 100% !important;
  display: block !important;
  padding: 26px 0 22px !important;
  border: 0 !important;
  background: transparent !important;
  text-align: left !important;
  cursor: pointer !important;
  font: inherit !important;
}
body.index-page .home-cnw-feature-list button span {
  display: inline-block !important;
  color: #8c9297 !important;
  font-size: clamp(28px, 3vw, 38px) !important;
  line-height: 1 !important;
  letter-spacing: -.04em !important;
  font-weight: 560 !important;
  transition: color .45s ease, transform .45s cubic-bezier(.22,1,.36,1) !important;
}
body.index-page .home-cnw-feature-list button:hover span,
body.index-page .home-cnw-feature-list li.is-active button span {
  color: #101112 !important;
  transform: translateX(6px) !important;
}
body.index-page .home-cnw-feature-body {
  max-height: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  transition: max-height .65s cubic-bezier(.4,0,.2,1), opacity .5s ease !important;
}
body.index-page .home-cnw-feature-body p {
  max-width: 46ch !important;
  margin: 0 0 14px !important;
  color: #666d72 !important;
  font-size: 16px !important;
  line-height: 1.58 !important;
  opacity: 0 !important;
  transform: translateY(12px) !important;
  transition: opacity .55s ease, transform .55s cubic-bezier(.22,1,.36,1) !important;
}
body.index-page .home-cnw-feature-body p + p {
  color: #8a9095 !important;
  transition-delay: 90ms !important;
}
body.index-page .home-cnw-feature-list li.is-active .home-cnw-feature-body {
  max-height: 260px !important;
  opacity: 1 !important;
}
body.index-page .home-cnw-feature-list li.is-active .home-cnw-feature-body p {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
body.index-page .home-cnw-feature-list li > i {
  position: absolute !important;
  left: 0 !important;
  bottom: -1px !important;
  width: 0 !important;
  height: 2px !important;
  background: #101112 !important;
  transition: width .45s cubic-bezier(.22,1,.36,1) !important;
}
body.index-page .home-cnw-feature-list li.is-active > i {
  width: 180px !important;
}
body.index-page .home-cnw-feature-stage {
  position: relative !important;
  min-height: 520px !important;
  border: 1px solid #dfe4df !important;
  border-radius: 18px !important;
  background: #fff !important;
  overflow: hidden !important;
}
body.index-page .home-cnw-scene {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0 !important;
  transform: scale(.96) translateY(14px) !important;
  transition: opacity .65s ease, transform .75s cubic-bezier(.22,1,.36,1) !important;
  pointer-events: none !important;
}
body.index-page .home-cnw-scene.is-active {
  opacity: 1 !important;
  transform: scale(1) translateY(0) !important;
  pointer-events: auto !important;
}
body.index-page .home-cnw-market-card,
body.index-page .home-cnw-monitor-card {
  width: 78% !important;
  height: 76% !important;
  padding: 22px 24px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  border: 1px solid #e2e7e4 !important;
  border-radius: 16px !important;
  background: #fbfcfb !important;
}
body.index-page .home-cnw-visual-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
}
body.index-page .home-cnw-visual-top span,
body.index-page .home-cnw-visual-top b,
body.index-page .home-cnw-report-status span,
body.index-page .home-cnw-report-status b {
  color: #6d7378 !important;
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
body.index-page .home-cnw-visual-top b,
body.index-page .home-cnw-report-status b {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  color: #8a9095 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
body.index-page .home-cnw-visual-top em,
body.index-page .home-cnw-report-status em {
  width: 7px !important;
  height: 7px !important;
  display: block !important;
  border-radius: 999px !important;
  background: #2fbf8f !important;
  animation: cnwFeatureBlink 1.4s ease-in-out infinite !important;
}
body.index-page .home-cnw-map-grid {
  position: relative !important;
  flex: 1 !important;
  border: 1px solid #edf0ed !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background-image:
    linear-gradient(#edf0ed 1px, transparent 1px),
    linear-gradient(90deg, #edf0ed 1px, transparent 1px) !important;
  background-size: 44px 44px !important;
}
body.index-page .home-cnw-map-grid .scan-line {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 2px !important;
  background: linear-gradient(180deg, transparent, rgba(47,191,143,.48), transparent) !important;
  animation: cnwFeatureSweep 5s ease-in-out infinite !important;
}
body.index-page .pulse-dot,
body.index-page .pulse-ring {
  position: absolute !important;
  border-radius: 999px !important;
}
body.index-page .pulse-dot {
  width: 18px !important;
  height: 18px !important;
  background: rgba(16,17,18,.76) !important;
  animation: cnwFeaturePulse 3.2s ease-in-out infinite !important;
}
body.index-page .pulse-ring {
  width: 18px !important;
  height: 18px !important;
  border: 1px solid rgba(16,17,18,.22) !important;
  animation: cnwFeatureRing 3.2s ease-out infinite !important;
}
body.index-page .dot-a { left: 18% !important; top: 30% !important; }
body.index-page .dot-b { left: 44% !important; top: 58% !important; opacity: .55 !important; animation-delay: .5s !important; }
body.index-page .dot-c { left: 66% !important; top: 24% !important; opacity: .7 !important; animation-delay: 1s !important; }
body.index-page .dot-d { left: 78% !important; top: 62% !important; opacity: .45 !important; animation-delay: 1.4s !important; }
body.index-page .dot-e { left: 58% !important; top: 76% !important; background: #2fbf8f !important; animation-delay: 2.2s !important; }
body.index-page .home-cnw-bars {
  height: 54px !important;
  display: flex !important;
  align-items: flex-end !important;
  gap: 8px !important;
}
body.index-page .home-cnw-bars span,
body.index-page .home-cnw-equalizer span,
body.index-page .home-cnw-report-card em {
  flex: 1 !important;
  border-radius: 3px 3px 0 0 !important;
  background: rgba(16,17,18,.16) !important;
  transform-origin: bottom !important;
  animation: cnwFeatureEq 2.6s ease-in-out infinite !important;
}
body.index-page .home-cnw-bars span:nth-child(1) { height: 60% !important; }
body.index-page .home-cnw-bars span:nth-child(2) { height: 90% !important; animation-delay: .3s !important; }
body.index-page .home-cnw-bars span:nth-child(3) { height: 45% !important; animation-delay: .6s !important; }
body.index-page .home-cnw-bars span:nth-child(4) { height: 75% !important; background: rgba(47,191,143,.56) !important; animation-delay: .9s !important; }
body.index-page .home-cnw-bars span:nth-child(5) { height: 55% !important; animation-delay: 1.2s !important; }
body.index-page .home-cnw-report-card {
  width: min(46%, 260px) !important;
  aspect-ratio: 3 / 4 !important;
  padding: 26px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 13px !important;
  border: 1px solid #dfe4df !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 24px 60px rgba(16,17,18,.09) !important;
}
body.index-page .home-cnw-report-card > span {
  color: #7a8085 !important;
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace !important;
  font-size: 10px !important;
  font-weight: 650 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}
body.index-page .home-cnw-report-card > b,
body.index-page .home-cnw-report-card > i {
  display: block !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: #cfd4d7 !important;
  transform-origin: left !important;
  animation: cnwFeatureType 7s linear infinite !important;
}
body.index-page .home-cnw-report-card > b {
  width: 78% !important;
  height: 13px !important;
  background: #101112 !important;
}
body.index-page .home-cnw-report-card > i:nth-of-type(1) { width: 92% !important; animation-delay: .5s !important; }
body.index-page .home-cnw-report-card > i:nth-of-type(2) { width: 86% !important; animation-delay: .9s !important; }
body.index-page .home-cnw-report-card > i:nth-of-type(3) { width: 64% !important; animation-delay: 1.3s !important; }
body.index-page .home-cnw-report-card div {
  flex: 1 !important;
  display: flex !important;
  align-items: flex-end !important;
  gap: 10px !important;
  padding: 12px 6px 4px !important;
}
body.index-page .home-cnw-report-card em:nth-child(1) { height: 40% !important; animation-delay: 1.8s !important; }
body.index-page .home-cnw-report-card em:nth-child(2) { height: 65% !important; animation-delay: 2.1s !important; }
body.index-page .home-cnw-report-card em:nth-child(3) { height: 52% !important; animation-delay: 2.4s !important; }
body.index-page .home-cnw-report-card em:nth-child(4) { height: 88% !important; background: #2fbf8f !important; animation-delay: 2.7s !important; }
body.index-page .home-cnw-report-status {
  margin-left: 28px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
body.index-page .home-cnw-equalizer {
  flex: 1 !important;
  display: flex !important;
  align-items: flex-end !important;
  gap: 5px !important;
  padding-bottom: 2px !important;
  border-bottom: 1px solid #e6eae7 !important;
}
body.index-page .home-cnw-equalizer span:nth-child(1) { height: 34% !important; }
body.index-page .home-cnw-equalizer span:nth-child(2) { height: 58% !important; animation-delay: .2s !important; }
body.index-page .home-cnw-equalizer span:nth-child(3) { height: 42% !important; animation-delay: .4s !important; }
body.index-page .home-cnw-equalizer span:nth-child(4) { height: 74% !important; animation-delay: .1s !important; }
body.index-page .home-cnw-equalizer span:nth-child(5) { height: 50% !important; animation-delay: .5s !important; }
body.index-page .home-cnw-equalizer span:nth-child(6) { height: 86% !important; background: rgba(47,191,143,.52) !important; animation-delay: .3s !important; }
body.index-page .home-cnw-equalizer span:nth-child(7) { height: 62% !important; animation-delay: .6s !important; }
body.index-page .home-cnw-equalizer span:nth-child(8) { height: 46% !important; animation-delay: .25s !important; }
body.index-page .home-cnw-equalizer span:nth-child(9) { height: 70% !important; animation-delay: .45s !important; }
body.index-page .home-cnw-equalizer span:nth-child(10) { height: 55% !important; animation-delay: .15s !important; }
body.index-page .home-cnw-equalizer span:nth-child(11) { height: 80% !important; animation-delay: .55s !important; }
body.index-page .home-cnw-equalizer span:nth-child(12) { height: 38% !important; animation-delay: .35s !important; }
body.index-page .home-cnw-chip-feed {
  height: 92px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
}
body.index-page .home-cnw-chip-feed p {
  margin: 0 !important;
  padding: 9px 13px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  border: 1px solid #e6eae7 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #686e73 !important;
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  animation: cnwFeatureChip 8s ease-in-out infinite !important;
}
body.index-page .home-cnw-chip-feed p + p {
  animation-delay: 4s !important;
}
body.index-page .home-cnw-chip-feed em {
  width: 6px !important;
  height: 6px !important;
  display: block !important;
  border-radius: 999px !important;
  background: #2fbf8f !important;
}
@keyframes cnwFeaturePulse {
  0%, 100% { transform: scale(1); opacity: .55; }
  50% { transform: scale(1.35); opacity: 1; }
}
@keyframes cnwFeatureRing {
  0% { transform: scale(.6); opacity: .7; }
  100% { transform: scale(2.4); opacity: 0; }
}
@keyframes cnwFeatureEq {
  0%, 100% { transform: scaleY(.25); }
  50% { transform: scaleY(1); }
}
@keyframes cnwFeatureType {
  0% { transform: scaleX(0); }
  30%, 86% { transform: scaleX(1); }
  96%, 100% { transform: scaleX(0); }
}
@keyframes cnwFeatureBlink {
  0%, 100% { opacity: .35; }
  50% { opacity: 1; }
}
@keyframes cnwFeatureSweep {
  0% { left: -8%; opacity: 0; }
  10%, 90% { opacity: 1; }
  100% { left: 104%; opacity: 0; }
}
@keyframes cnwFeatureChip {
  0% { opacity: 0; transform: translateY(10px); }
  6%, 44% { opacity: 1; transform: translateY(0); }
  52%, 100% { opacity: 0; transform: translateY(-8px); }
}
@media(max-width:980px){
  body.index-page .home-cnw-features-grid {
    grid-template-columns: 1fr !important;
  }
  body.index-page .home-cnw-feature-stage {
    min-height: 460px !important;
  }
}
@media(max-width:640px){
  body.index-page .home-cnw-features {
    width: min(calc(100% - 36px), 1280px) !important;
  }
  body.index-page .home-cnw-feature-stage {
    min-height: 390px !important;
  }
  body.index-page .home-cnw-market-card,
  body.index-page .home-cnw-monitor-card {
    width: 88% !important;
  }
}
@media(prefers-reduced-motion:reduce){
  body.index-page .home-cnw-features * {
    animation: none !important;
    transition-duration: .01ms !important;
  }
}

/* Final editorial paper pass */
html.index-root {
  overflow: visible !important;
  background: #f0e3c0 !important;
}
body.index-page {
  overflow-x: hidden !important;
  background:
    radial-gradient(900px 520px at 10% 6%, rgba(255,255,255,.98), rgba(255,255,255,0) 68%),
    radial-gradient(760px 500px at 82% 18%, rgba(25,25,20,.09), rgba(25,25,20,0) 66%),
    radial-gradient(620px 420px at 18% 74%, rgba(74,70,55,.08), rgba(74,70,55,0) 62%),
    linear-gradient(180deg, #fff 0%, #fbf7ec 36%, #f0e3c0 100%) !important;
  color: #0f1011 !important;
}
body.index-page .home-main {
  background: transparent !important;
  overflow: visible !important;
}
body.index-page :is(.home-section,.home-feature,.home-feature-console,.home-cta) {
  background-color: transparent !important;
}
body.index-page :is(.home-section h1,.home-section h2,.home-section h3,.home-feature h2,.home-cta h2),
body.index-page :is(.home-kicker,.feature-api-kicker,.feature-api-copy h2,.feature-api-lead,.feature-api-metrics strong,.feature-api-metrics span) {
  text-shadow: none !important;
  filter: none !important;
}
body.index-page .home-feature-console,
body.index-page .home-feature-console::before,
body.index-page .home-feature-console::after {
  background: transparent !important;
  box-shadow: none !important;
}
body.index-page .home-feature-console .feature-code-glow {
  display: none !important;
}
body.index-page .home-feature-console .feature-code-card {
  box-shadow: 0 30px 86px rgba(28,25,18,.14) !important;
}

body.index-page .home-cnw-features {
  position: relative !important;
  width: min(calc(100% - (var(--landing-gutter,56px) * 2)), 1280px) !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: clamp(96px, 8.5vw, 136px) 0 clamp(108px, 9vw, 148px) !important;
  border: 0 !important;
  color: #101112 !important;
  background: transparent !important;
  isolation: isolate !important;
}
body.index-page .home-cnw-features::before {
  content: "" !important;
  position: absolute !important;
  inset: 4% -7% 0 !important;
  z-index: -1 !important;
  background:
    radial-gradient(46% 30% at 52% 8%, rgba(48,43,30,.10), transparent 70%),
    radial-gradient(34% 42% at 94% 62%, rgba(84,80,60,.10), transparent 74%) !important;
  filter: blur(28px) !important;
  opacity: .72 !important;
  pointer-events: none !important;
}
body.index-page .home-cnw-features-head {
  max-width: 820px !important;
  margin: 0 auto clamp(56px, 6vw, 86px) !important;
  text-align: center !important;
}
body.index-page .home-cnw-features-head p {
  margin: 0 0 14px !important;
  color: #68645b !important;
  font: 650 12px/1 "Inter Tight","Helvetica Neue",Arial,sans-serif !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}
body.index-page .home-cnw-features-head h2 {
  margin: 0 !important;
  color: #0f1011 !important;
  font: 600 clamp(44px, 5.8vw, 78px)/.92 "Inter Tight","Helvetica Neue",Arial,sans-serif !important;
  letter-spacing: -.045em !important;
}
body.index-page .home-cnw-features-head span {
  display: block !important;
  margin-top: 10px !important;
  color: #767068 !important;
  font: 400 clamp(18px, 1.8vw, 24px)/1.25 "Inter Tight","Helvetica Neue",Arial,sans-serif !important;
}
body.index-page .home-cnw-features-grid {
  display: grid !important;
  grid-template-columns: minmax(330px, 500px) minmax(520px, 680px) !important;
  align-items: start !important;
  gap: clamp(56px, 7vw, 92px) !important;
}
body.index-page .home-cnw-feature-list {
  list-style: none !important;
  margin: 0 !important;
  padding: clamp(18px, 4vh, 56px) 0 0 !important;
  display: flex !important;
  flex-direction: column !important;
}
body.index-page .home-cnw-feature-list li {
  position: relative !important;
  border-bottom: 1px solid rgba(26,25,20,.14) !important;
  padding: 0 !important;
}
body.index-page .home-cnw-feature-list button {
  width: 100% !important;
  padding: 24px 0 17px !important;
  border: 0 !important;
  background: transparent !important;
  text-align: left !important;
  cursor: pointer !important;
}
body.index-page .home-cnw-feature-list button small {
  display: block !important;
  margin-bottom: 16px !important;
  color: #817b70 !important;
  font: 700 12px/1 ui-monospace,"SFMono-Regular",Consolas,monospace !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
body.index-page .home-cnw-feature-list button span {
  display: block !important;
  color: rgba(15,16,17,.34) !important;
  font: 550 clamp(32px, 3.2vw, 48px)/.98 "Inter Tight","Helvetica Neue",Arial,sans-serif !important;
  letter-spacing: -.052em !important;
  transition: color .34s cubic-bezier(.22,1,.36,1), transform .34s cubic-bezier(.22,1,.36,1) !important;
}
body.index-page .home-cnw-feature-list li.is-active button small {
  color: #526f40 !important;
}
body.index-page .home-cnw-feature-list li.is-active button span,
body.index-page .home-cnw-feature-list button:hover span {
  color: #101112 !important;
  transform: translateX(8px) !important;
}
body.index-page .home-cnw-feature-body {
  max-height: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  transition: max-height .5s cubic-bezier(.22,1,.36,1), opacity .35s ease !important;
}
body.index-page .home-cnw-feature-body p {
  max-width: 42ch !important;
  margin: 0 0 24px !important;
  color: #656660 !important;
  font: 400 clamp(18px, 1.45vw, 22px)/1.36 "Inter Tight","Helvetica Neue",Arial,sans-serif !important;
  letter-spacing: -.018em !important;
  opacity: 0 !important;
  transform: translateY(8px) !important;
  transition: opacity .35s ease, transform .35s cubic-bezier(.22,1,.36,1) !important;
}
body.index-page .home-cnw-feature-list li.is-active .home-cnw-feature-body {
  max-height: 180px !important;
  opacity: 1 !important;
}
body.index-page .home-cnw-feature-list li.is-active .home-cnw-feature-body p {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
body.index-page .home-cnw-feature-list li > i {
  position: absolute !important;
  left: 0 !important;
  bottom: -1px !important;
  width: 0 !important;
  height: 2px !important;
  background: #101112 !important;
  transition: width .55s cubic-bezier(.22,1,.36,1) !important;
}
body.index-page .home-cnw-feature-list li.is-active > i {
  width: 190px !important;
}
body.index-page .home-cnw-feature-stage {
  position: sticky !important;
  top: clamp(82px, 11vh, 116px) !important;
  min-height: 560px !important;
  border: 1px solid rgba(36,34,26,.16) !important;
  border-radius: 16px !important;
  background: rgba(255,253,246,.72) !important;
  box-shadow: 0 30px 84px rgba(52,45,30,.08) !important;
  overflow: hidden !important;
}
body.index-page .home-cnw-scene {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: clamp(28px, 4vw, 56px) !important;
  opacity: 0 !important;
  transform: translateY(14px) scale(.982) !important;
  pointer-events: none !important;
  transition: opacity .48s ease, transform .58s cubic-bezier(.22,1,.36,1) !important;
}
body.index-page .home-cnw-scene.is-active {
  opacity: 1 !important;
  transform: translateY(0) scale(1) !important;
  pointer-events: auto !important;
}
body.index-page .home-cnw-terminal-card {
  width: 82% !important;
  min-height: 74% !important;
  padding: clamp(22px, 2.4vw, 30px) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
  border: 1px solid rgba(36,34,26,.13) !important;
  border-radius: 16px !important;
  background: rgba(255,254,250,.86) !important;
  box-shadow: 0 24px 70px rgba(55,48,34,.08), inset 0 1px 0 rgba(255,255,255,.88) !important;
}
body.index-page .home-cnw-visual-top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 18px !important;
}
body.index-page .home-cnw-visual-top span,
body.index-page .home-cnw-visual-top b {
  color: #6e6b63 !important;
  font-family: ui-monospace,"SFMono-Regular",Consolas,monospace !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  letter-spacing: .08em !important;
  line-height: 1.35 !important;
  text-transform: uppercase !important;
}
body.index-page .home-cnw-visual-top b {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  color: #908a7d !important;
  text-align: right !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
body.index-page .home-cnw-visual-top em {
  width: 7px !important;
  height: 7px !important;
  display: block !important;
  border-radius: 50% !important;
  background: #75a35c !important;
  animation: cnwFeatureBlink 2.2s ease-in-out infinite !important;
}
body.index-page .home-cnw-line-chart {
  width: 100% !important;
  flex: 1 !important;
  min-height: 150px !important;
}
body.index-page .home-cnw-line-chart line {
  stroke: rgba(26,25,20,.08) !important;
}
body.index-page .home-cnw-line-chart polyline {
  fill: none !important;
  stroke: #111 !important;
  stroke-width: 2.2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  stroke-dasharray: 720 !important;
  animation: cnwFeatureDraw 2.2s cubic-bezier(.22,1,.36,1) both !important;
}
body.index-page .home-cnw-line-chart circle {
  fill: #6f965b !important;
}
body.index-page .home-cnw-observable-rows {
  display: grid !important;
  gap: 9px !important;
}
body.index-page .home-cnw-observable-rows div {
  display: grid !important;
  grid-template-columns: 92px minmax(0,1fr) 78px !important;
  align-items: center !important;
  gap: 12px !important;
  color: #5e5b55 !important;
  font: 600 12px/1 ui-monospace,"SFMono-Regular",Consolas,monospace !important;
}
body.index-page .home-cnw-observable-rows i {
  height: 8px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: rgba(35,32,24,.08) !important;
}
body.index-page .home-cnw-observable-rows b {
  display: block !important;
  width: var(--w) !important;
  height: 100% !important;
  border-radius: inherit !important;
  background: #101112 !important;
  transform-origin: left !important;
  animation: cnwFeatureBar 1.6s cubic-bezier(.22,1,.36,1) var(--d) both !important;
}
body.index-page .home-cnw-observable-rows strong {
  justify-self: end !important;
  color: #101112 !important;
}
body.index-page .home-cnw-universe-grid {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0,1fr)) !important;
  gap: 8px !important;
  flex: 1 !important;
  align-content: center !important;
}
body.index-page .home-cnw-universe-grid span {
  aspect-ratio: 1 !important;
  border-radius: 5px !important;
  border: 1px solid rgba(37,35,27,.12) !important;
  background: rgba(24,23,18,.08) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65) !important;
  animation: cnwFeaturePop 1.8s cubic-bezier(.22,1,.36,1) both !important;
}
body.index-page .home-cnw-universe-grid span:nth-child(3n) { animation-delay: 120ms !important; }
body.index-page .home-cnw-universe-grid span:nth-child(4n) { animation-delay: 220ms !important; }
body.index-page .home-cnw-universe-grid span:nth-child(5n) { animation-delay: 320ms !important; }
body.index-page .home-cnw-universe-grid span.hit {
  border-color: rgba(82,124,67,.45) !important;
  background: rgba(91,142,74,.62) !important;
  box-shadow: 0 0 0 1px rgba(91,142,74,.18), 0 10px 24px rgba(91,142,74,.12) !important;
}
body.index-page .home-cnw-matches {
  display: grid !important;
  gap: 9px !important;
}
body.index-page .home-cnw-matches div {
  display: grid !important;
  grid-template-columns: 54px minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px 13px !important;
  border: 1px solid rgba(34,32,26,.12) !important;
  border-radius: 8px !important;
  background: rgba(248,244,234,.72) !important;
  font-family: ui-monospace,"SFMono-Regular",Consolas,monospace !important;
  font-size: 12px !important;
}
body.index-page .home-cnw-matches strong { color: #537d42 !important; }
body.index-page .home-cnw-matches span { color: #101112 !important; font-weight: 700 !important; }
body.index-page .home-cnw-matches em {
  color: #8c8678 !important;
  font-style: normal !important;
  text-align: right !important;
}
body.index-page .home-cnw-inputs {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 12px !important;
}
body.index-page .home-cnw-inputs div {
  min-height: 82px !important;
  padding: 15px !important;
  border: 1px solid rgba(34,32,26,.12) !important;
  border-radius: 12px !important;
  background: rgba(248,244,234,.78) !important;
}
body.index-page .home-cnw-inputs span {
  display: block !important;
  margin-bottom: 12px !important;
  color: #898377 !important;
  font: 650 10px/1 ui-monospace,"SFMono-Regular",Consolas,monospace !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
}
body.index-page .home-cnw-inputs strong {
  color: #111 !important;
  font: 620 18px/1.08 "Inter Tight","Helvetica Neue",Arial,sans-serif !important;
  letter-spacing: -.025em !important;
}
body.index-page .home-cnw-policy-lines {
  width: 100% !important;
  height: 92px !important;
  margin: 4px 0 -4px !important;
}
body.index-page .home-cnw-policy-lines path {
  fill: none !important;
  stroke: rgba(15,16,17,.24) !important;
  stroke-width: 1.4 !important;
  stroke-dasharray: 260 !important;
  animation: cnwFeatureDraw 1.7s cubic-bezier(.22,1,.36,1) both !important;
}
body.index-page .home-cnw-policy-lines circle {
  fill: #101112 !important;
}
body.index-page .home-cnw-agent {
  align-self: center !important;
  min-width: 112px !important;
  padding: 12px 20px !important;
  border-radius: 999px !important;
  background: #101112 !important;
  color: #fff !important;
  text-align: center !important;
  font: 700 14px/1 "Inter Tight","Helvetica Neue",Arial,sans-serif !important;
  box-shadow: 0 14px 34px rgba(16,17,18,.16) !important;
}
body.index-page .home-cnw-actions-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 10px !important;
}
body.index-page .home-cnw-actions-row span {
  padding: 13px 10px !important;
  border: 1px solid rgba(34,32,26,.12) !important;
  border-radius: 10px !important;
  background: rgba(248,244,234,.78) !important;
  color: #101112 !important;
  text-align: center !important;
  font: 700 13px/1 "Inter Tight","Helvetica Neue",Arial,sans-serif !important;
}

@keyframes cnwFeatureDraw {
  from { stroke-dashoffset: 720; opacity: .35; }
  to { stroke-dashoffset: 0; opacity: 1; }
}
@keyframes cnwFeatureBar {
  from { transform: scaleX(0); opacity: .45; }
  to { transform: scaleX(1); opacity: 1; }
}
@keyframes cnwFeaturePop {
  0% { transform: translateY(8px) scale(.86); opacity: 0; }
  100% { transform: translateY(0) scale(1); opacity: 1; }
}

@media(max-width: 980px) {
  body.index-page .home-cnw-features-grid {
    grid-template-columns: 1fr !important;
  }
  body.index-page .home-cnw-feature-stage {
    position: relative !important;
    top: auto !important;
    min-height: 560px !important;
  }
}
@media(max-width: 640px) {
  body.index-page .home-cnw-features {
    width: min(calc(100% - 36px), 1280px) !important;
    padding-block: 78px !important;
  }
  body.index-page .home-cnw-features-head h2 {
    font-size: clamp(38px, 12vw, 58px) !important;
  }
  body.index-page .home-cnw-feature-stage {
    min-height: 520px !important;
  }
  body.index-page .home-cnw-terminal-card {
    width: 94% !important;
    min-height: 78% !important;
  }
  body.index-page .home-cnw-observable-rows div,
  body.index-page .home-cnw-matches div {
    grid-template-columns: 1fr !important;
    gap: 7px !important;
  }
  body.index-page .home-cnw-matches em {
    text-align: left !important;
  }
  body.index-page .home-cnw-inputs,
  body.index-page .home-cnw-actions-row {
    grid-template-columns: 1fr !important;
  }
}
@media(prefers-reduced-motion: reduce) {
  body.index-page .home-cnw-features *,
  body.index-page .home-feature-console * {
    animation: none !important;
    transition-duration: .01ms !important;
  }
}

/* Last-word homepage pass: global gutters, lateral-only Ruty expansion, airy nav, matte footer. */
body.index-page {
  --home-gutter: clamp(28px, 8.95vw, 172px);
  --home-max: 1560px;
  --home-measure: min(calc(100% - (var(--home-gutter) * 2)), var(--home-max));
  background: #eeece3 !important;
}

body.index-page .home-editorial-hero,
body.index-page .home-main,
body.index-page main,
body.index-page .home-editorial-releases,
body.index-page .home-latest-research,
body.index-page .home-terminal-cta,
body.index-page .home-ruty-announcement {
  background: transparent !important;
}

body.index-page .home-editorial-hero-inner,
body.index-page .home-editorial-releases,
body.index-page .home-latest-research-head,
body.index-page .home-research-card-grid,
body.index-page .home-terminal-cta > div,
body.index-page .cnw-global-footer-inner {
  width: var(--home-measure) !important;
  max-width: var(--home-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.index-page .home-editorial-releases,
body.index-page .home-latest-research,
body.index-page .home-terminal-cta {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.index-page .home-ruty-announcement {
  min-height: calc(100svh + 150px) !important;
  padding: clamp(28px, 4vw, 52px) 0 clamp(76px, 8vw, 118px) !important;
}

body.index-page .home-ruty-panel {
  width: var(--home-measure) !important;
  height: clamp(560px, 44vw, 720px) !important;
  max-height: calc(100svh - 48px) !important;
  grid-template-columns: 1fr !important;
  background: transparent !important;
  box-shadow: 0 22px 58px rgba(54, 45, 24, .08) !important;
  transition:
    width .95s cubic-bezier(.22,1,.36,1),
    border-radius .95s cubic-bezier(.22,1,.36,1),
    box-shadow .95s cubic-bezier(.22,1,.36,1) !important;
}

body.index-page .home-ruty-announcement.is-ruty-expanded .home-ruty-panel {
  width: min(calc(100% - 32px), 1840px) !important;
  height: clamp(560px, 44vw, 720px) !important;
  max-height: calc(100svh - 48px) !important;
}

body.index-page .home-ruty-panel::before {
  display: none !important;
}

body.index-page nav.cnw-global-nav {
  width: min(var(--home-measure), 1180px) !important;
  min-width: 0 !important;
  max-width: calc(100% - 32px) !important;
  height: 52px !important;
  top: 14px !important;
  padding: 6px !important;
  display: flex !important;
  align-items: center !important;
  gap: clamp(16px, 2vw, 30px) !important;
  border-radius: 10px !important;
  background: rgba(222,238,251,.86) !important;
  border: 1px solid rgba(21,21,21,.16) !important;
  box-shadow: 0 18px 46px rgba(21,18,12,.08) !important;
  color: #111 !important;
  backdrop-filter: blur(18px) saturate(1.04) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.04) !important;
}

body.index-page nav.cnw-global-nav .cnw-global-brand {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 40px !important;
  padding: 0 12px 0 6px !important;
  gap: 9px !important;
  background: transparent !important;
  border: 0 !important;
  color: #111 !important;
}

body.index-page nav.cnw-global-nav .cnw-global-brand img {
  width: 30px !important;
  height: 30px !important;
  filter: none !important;
}

body.index-page nav.cnw-global-nav .cnw-global-brand span {
  display: inline-block !important;
  color: #111 !important;
  font: 720 14px/1 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  letter-spacing: -.015em !important;
}

body.index-page nav.cnw-global-nav .cnw-global-primary {
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: clamp(24px, 3.8vw, 54px) !important;
  min-width: 0 !important;
}

body.index-page nav.cnw-global-nav .cnw-global-primary > a,
body.index-page nav.cnw-global-nav .cnw-products-toggle {
  padding: 0 !important;
  color: #111 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  font: 650 15px/1 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  letter-spacing: -.01em !important;
}

body.index-page nav.cnw-global-nav .cnw-global-actions {
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

body.index-page nav.cnw-global-nav .cnw-global-access {
  min-height: 38px !important;
  padding: 0 18px !important;
  border-radius: 8px !important;
  background: #111 !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
  font: 690 14px/1 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
}

body.index-page nav.cnw-global-nav .cnw-menu-toggle {
  display: none !important;
}

body.index-page nav.cnw-global-nav .cnw-products-dropdown {
  position: relative !important;
  align-self: stretch !important;
  display: flex !important;
  align-items: center !important;
}
body.index-page nav.cnw-global-nav .cnw-products-panel {
  left: 0 !important;
  right: auto !important;
  top: calc(100% + 26px) !important;
  width: min(380px, calc(100vw - 40px)) !important;
  padding: 24px !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  border: 1px solid rgba(21,21,21,.10) !important;
  box-shadow: 0 24px 70px rgba(18,16,12,.13) !important;
  color: #111 !important;
}

body.index-page nav.cnw-global-nav .cnw-products-panel-inner {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 22px !important;
}

body.index-page nav.cnw-global-nav .cnw-products-panel section {
  display: grid !important;
  gap: 9px !important;
}

body.index-page nav.cnw-global-nav .cnw-products-panel section + section {
  padding-top: 20px !important;
  border-top: 1px solid rgba(21,21,21,.12) !important;
}

body.index-page nav.cnw-global-nav .cnw-products-panel span {
  color: rgba(21,21,21,.55) !important;
  font: 650 14px/1.1 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
}

body.index-page nav.cnw-global-nav .cnw-products-panel a {
  min-height: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  border: 0 !important;
  background: transparent !important;
  color: #111 !important;
  text-decoration: none !important;
  font: 430 22px/1.18 Georgia, "Times New Roman", serif !important;
  letter-spacing: -.02em !important;
}

body.index-page nav.cnw-global-nav .cnw-products-panel i {
  color: rgba(21,21,21,.52) !important;
  font-style: normal !important;
  font-size: 16px !important;
}

body.index-page .home-terminal-cta > div {
  background-color: #161616 !important;
  background-image:
    linear-gradient(180deg, rgba(10,14,20,.55) 0%, rgba(10,14,20,.72) 100%),
    url('assets/images/paintings/coastal-storm-shipwreck.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  border-color: rgba(255,255,255,.08) !important;
}

body.index-page footer,
body.index-page .cnw-global-footer {
  background: #0b0b0b !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: #f2efe6 !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
}

body.index-page .cnw-global-footer-inner {
  background: #0b0b0b !important;
}

body.index-page .cnw-global-footer,
body.index-page .cnw-global-footer * {
  color: #f2efe6 !important;
}

body.index-page .cnw-global-footer-links,
body.index-page .cnw-global-footer-bottom {
  border-color: rgba(255,255,255,.14) !important;
}

body.index-page .cnw-global-footer-links span,
body.index-page .cnw-global-footer-links b,
body.index-page .cnw-global-footer-bottom p,
body.index-page .cnw-footer-social a,
body.index-page .cnw-footer-locale,
body.index-page .cnw-footer-locale span + span {
  color: rgba(242,239,230,.55) !important;
}

body.index-page .cnw-global-footer-links a {
  color: rgba(242,239,230,.9) !important;
}

body.index-page .cnw-footer-locale {
  background: rgba(255,255,255,.10) !important;
}

@media (max-width: 860px) {
  body.index-page {
    --home-gutter: clamp(18px, 6vw, 34px);
  }

  body.index-page nav.cnw-global-nav {
    width: min(calc(100% - 24px), 720px) !important;
  }

  body.index-page nav.cnw-global-nav .cnw-global-primary {
    display: none !important;
  }

  body.index-page nav.cnw-global-nav .cnw-menu-toggle {
    display: inline-flex !important;
  }

  body.index-page .home-editorial-hero-inner {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  body.index-page .home-ruty-panel,
  body.index-page .home-ruty-announcement.is-ruty-expanded .home-ruty-panel {
    width: min(calc(100% - 24px), 720px) !important;
    height: min(650px, calc(100svh - 38px)) !important;
  }
}

/* Homepage alignment, navigation and matte footer pass. */
body.index-page {
  --home-gutter: clamp(28px, 8.95vw, 172px);
  --home-max: 1560px;
  --home-measure: min(calc(100% - (var(--home-gutter) * 2)), var(--home-max));
  background: #eeece3 !important;
}

body.index-page .home-editorial-hero,
body.index-page .home-main,
body.index-page main {
  background: transparent !important;
}

body.index-page .home-editorial-hero-inner,
body.index-page .home-editorial-releases,
body.index-page .home-latest-research-head,
body.index-page .home-research-card-grid,
body.index-page .home-terminal-cta > div,
body.index-page .cnw-global-footer-inner {
  width: var(--home-measure) !important;
  max-width: var(--home-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.index-page .home-editorial-releases,
body.index-page .home-latest-research,
body.index-page .home-terminal-cta {
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: transparent !important;
}

body.index-page .home-ruty-announcement {
  min-height: calc(100svh + 150px) !important;
  padding: clamp(28px, 4vw, 52px) 0 clamp(76px, 8vw, 118px) !important;
  background: transparent !important;
}

body.index-page .home-ruty-panel {
  width: var(--home-measure) !important;
  height: clamp(560px, 44vw, 720px) !important;
  max-height: calc(100svh - 48px) !important;
  grid-template-columns: 1fr !important;
  background: transparent !important;
  box-shadow: 0 22px 58px rgba(54, 45, 24, .08) !important;
  transition:
    width .95s cubic-bezier(.22,1,.36,1),
    border-radius .95s cubic-bezier(.22,1,.36,1),
    box-shadow .95s cubic-bezier(.22,1,.36,1) !important;
}

body.index-page .home-ruty-announcement.is-ruty-expanded .home-ruty-panel {
  width: min(calc(100% - 32px), 1840px) !important;
  height: clamp(560px, 44vw, 720px) !important;
  max-height: calc(100svh - 48px) !important;
}

body.index-page .home-ruty-panel::before {
  display: none !important;
}

body.index-page nav.cnw-global-nav {
  width: min(var(--home-measure), 1180px) !important;
  min-width: 0 !important;
  max-width: calc(100% - 32px) !important;
  height: 52px !important;
  top: 14px !important;
  padding: 6px !important;
  display: flex !important;
  align-items: center !important;
  gap: clamp(16px, 2vw, 30px) !important;
  border-radius: 10px !important;
  background: rgba(222,238,251,.86) !important;
  border: 1px solid rgba(21,21,21,.16) !important;
  box-shadow: 0 18px 46px rgba(21,18,12,.08) !important;
  color: #111 !important;
  backdrop-filter: blur(18px) saturate(1.04) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.04) !important;
}

body.index-page nav.cnw-global-nav .cnw-global-brand {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 40px !important;
  padding: 0 12px 0 6px !important;
  gap: 9px !important;
  background: transparent !important;
  border: 0 !important;
  color: #111 !important;
}

body.index-page nav.cnw-global-nav .cnw-global-brand img {
  width: 30px !important;
  height: 30px !important;
  filter: none !important;
}

body.index-page nav.cnw-global-nav .cnw-global-brand span {
  display: inline-block !important;
  color: #111 !important;
  font: 720 14px/1 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  letter-spacing: -.015em !important;
}

body.index-page nav.cnw-global-nav .cnw-global-primary {
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: clamp(24px, 3.8vw, 54px) !important;
  min-width: 0 !important;
}

body.index-page nav.cnw-global-nav .cnw-global-primary > a,
body.index-page nav.cnw-global-nav .cnw-products-toggle {
  padding: 0 !important;
  color: #111 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  font: 650 15px/1 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  letter-spacing: -.01em !important;
}

body.index-page nav.cnw-global-nav .cnw-global-primary > a:hover,
body.index-page nav.cnw-global-nav .cnw-products-toggle:hover {
  text-decoration: underline !important;
  text-underline-offset: 5px !important;
}

body.index-page nav.cnw-global-nav .cnw-global-actions {
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

body.index-page nav.cnw-global-nav .cnw-global-access {
  min-height: 38px !important;
  padding: 0 18px !important;
  border-radius: 8px !important;
  background: #111 !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
  font: 690 14px/1 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
}

body.index-page nav.cnw-global-nav .cnw-menu-toggle {
  display: none !important;
}

body.index-page nav.cnw-global-nav .cnw-products-dropdown {
  position: relative !important;
  align-self: stretch !important;
  display: flex !important;
  align-items: center !important;
}
body.index-page nav.cnw-global-nav .cnw-products-panel {
  left: 0 !important;
  right: auto !important;
  top: calc(100% + 26px) !important;
  width: min(380px, calc(100vw - 40px)) !important;
  padding: 24px !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  border: 1px solid rgba(21,21,21,.10) !important;
  box-shadow: 0 24px 70px rgba(18,16,12,.13) !important;
  color: #111 !important;
}

body.index-page nav.cnw-global-nav .cnw-products-panel-inner {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 22px !important;
}

body.index-page nav.cnw-global-nav .cnw-products-panel section {
  display: grid !important;
  gap: 9px !important;
}

body.index-page nav.cnw-global-nav .cnw-products-panel section + section {
  padding-top: 20px !important;
  border-top: 1px solid rgba(21,21,21,.12) !important;
}

body.index-page nav.cnw-global-nav .cnw-products-panel span {
  color: rgba(21,21,21,.55) !important;
  font: 650 14px/1.1 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
}

body.index-page nav.cnw-global-nav .cnw-products-panel a {
  min-height: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  border: 0 !important;
  background: transparent !important;
  color: #111 !important;
  text-decoration: none !important;
  font: 430 22px/1.18 Georgia, "Times New Roman", serif !important;
  letter-spacing: -.02em !important;
}

body.index-page nav.cnw-global-nav .cnw-products-panel a:hover {
  text-decoration: underline !important;
  text-underline-offset: 5px !important;
}

body.index-page nav.cnw-global-nav .cnw-products-panel i {
  color: rgba(21,21,21,.52) !important;
  font-style: normal !important;
  font-size: 16px !important;
}

body.index-page .home-terminal-cta > div {
  background-color: #161616 !important;
  background-image:
    linear-gradient(180deg, rgba(10,14,20,.55) 0%, rgba(10,14,20,.72) 100%),
    url('assets/images/paintings/coastal-storm-shipwreck.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  border-color: rgba(255,255,255,.08) !important;
}

body.index-page footer,
body.index-page .cnw-global-footer {
  background: #0b0b0b !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: #f2efe6 !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
}

body.index-page .cnw-global-footer-inner {
  background: #0b0b0b !important;
}

body.index-page .cnw-global-footer,
body.index-page .cnw-global-footer * {
  color: #f2efe6 !important;
}

body.index-page .cnw-global-footer-links,
body.index-page .cnw-global-footer-bottom {
  border-color: rgba(255,255,255,.14) !important;
}

body.index-page .cnw-global-footer-links span,
body.index-page .cnw-global-footer-links b,
body.index-page .cnw-global-footer-bottom p,
body.index-page .cnw-footer-social a,
body.index-page .cnw-footer-locale,
body.index-page .cnw-footer-locale span + span {
  color: rgba(242,239,230,.55) !important;
}

body.index-page .cnw-global-footer-links a {
  color: rgba(242,239,230,.9) !important;
}

body.index-page .cnw-footer-locale {
  background: rgba(255,255,255,.10) !important;
}

@media (max-width: 860px) {
  body.index-page {
    --home-gutter: clamp(18px, 6vw, 34px);
  }

  body.index-page nav.cnw-global-nav {
    width: min(calc(100% - 24px), 720px) !important;
  }

  body.index-page nav.cnw-global-nav .cnw-global-primary {
    display: none !important;
  }

  body.index-page nav.cnw-global-nav .cnw-menu-toggle {
    display: inline-flex !important;
  }

  body.index-page .home-editorial-hero-inner {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  body.index-page .home-ruty-panel,
  body.index-page .home-ruty-announcement.is-ruty-expanded .home-ruty-panel {
    width: min(calc(100% - 24px), 720px) !important;
    height: min(650px, calc(100svh - 38px)) !important;
  }
}

/* Editorial home reset */
html.index-root,
body.index-page {
  background: #eeece3 !important;
}
body.index-page {
  color: #151515 !important;
}
body.index-page .home-main {
  padding-top: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}
body.index-page .home-main > :not(.home-editorial-hero):not(.home-ruty-announcement):not(.home-editorial-releases):not(.home-latest-research):not(.home-terminal-cta) {
  display: none !important;
}
body.index-page footer {
  background: rgba(238,236,227,.84) !important;
  color: #151515 !important;
  border-top: 1px solid rgba(21,21,21,.18) !important;
}
body.index-page .cnw-global-footer {
  background: rgba(238,236,227,.84) !important;
  color: #151515 !important;
  border-top: 1px solid rgba(21,21,21,.18) !important;
}
body.index-page .home-footer,
body.index-page .home-footer *,
body.index-page .cnw-global-footer,
body.index-page .cnw-global-footer * {
  color: #151515 !important;
}
body.index-page .home-footer-lead,
body.index-page .home-footer-nav,
body.index-page .cnw-global-footer-links,
body.index-page .cnw-global-footer-bottom {
  border-color: rgba(21,21,21,.18) !important;
}
body.index-page .home-footer-nav > div > span,
body.index-page .home-footer-bottom p,
body.index-page .cnw-global-footer-links span,
body.index-page .cnw-global-footer-links b,
body.index-page .cnw-global-footer-bottom p,
body.index-page .cnw-footer-social a,
body.index-page .cnw-footer-locale,
body.index-page .cnw-footer-locale span + span {
  color: rgba(21,21,21,.48) !important;
}
body.index-page .cnw-global-footer-links a {
  color: rgba(21,21,21,.86) !important;
}
body.index-page .cnw-footer-locale {
  background: rgba(21,21,21,.06) !important;
}
body.index-page nav,
body.index-page .cnw-global-nav {
  background: rgba(238,236,227,.88) !important;
  border-color: rgba(21,21,21,.18) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}
body.index-page .cnw-global-nav :is(.cnw-global-brand,.cnw-global-primary > a,.cnw-products-toggle) {
  color: #080808 !important;
}
body.index-page .cnw-global-nav .cnw-global-brand img {
  filter: none !important;
}
body.index-page .nav-mobile {
  background: #eeece3 !important;
}
body.index-page .home-editorial-news {
  width: min(calc(100% - clamp(32px, 5vw, 80px)), 1560px) !important;
  margin: 0 auto !important;
  padding: clamp(54px, 7vw, 92px) 0 clamp(72px, 9vw, 128px) !important;
  display: grid !important;
  gap: clamp(22px, 2.6vw, 38px) !important;
}
body.index-page .home-ruty-announcement {
  --ruty-progress: 0;
  min-height: calc(100svh + 220px) !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: clamp(22px, 3.4vw, 46px) 0 clamp(68px, 8vw, 118px) !important;
  background: linear-gradient(
    to bottom,
    rgba(238,236,227,.10) 0%,
    rgba(238,236,227,.28) 42%,
    rgba(238,236,227,.64) 76%
  ) !important;
}
body.index-page .home-ruty-panel {
  position: sticky !important;
  top: 38px !important;
  width: calc(86vw + 14vw * var(--ruty-progress)) !important;
  height: calc(540px + 260px * var(--ruty-progress)) !important;
  max-height: calc(100svh - 38px) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(320px, .86fr) minmax(460px, 1.14fr) !important;
  align-items: center !important;
  overflow: hidden !important;
  border-radius: max(0px, calc(18px * (1 - var(--ruty-progress)))) !important;
  background:
    radial-gradient(circle at 18% 20%, rgba(255,255,255,.28), transparent 30%),
    linear-gradient(135deg, #efe3c7 0%, #f2e8cd 52%, #e8d5a9 100%) !important;
  box-shadow: 0 18px 54px rgba(58,45,24,.08) !important;
  transform: translateZ(0) !important;
  transition:
    width .95s cubic-bezier(.22,1,.36,1),
    height .95s cubic-bezier(.22,1,.36,1),
    border-radius .95s cubic-bezier(.22,1,.36,1),
    box-shadow .95s cubic-bezier(.22,1,.36,1) !important;
}
body.index-page .home-ruty-announcement.is-ruty-expanded .home-ruty-panel {
  box-shadow: 0 22px 68px rgba(58,45,24,.10) !important;
}
body.index-page .home-ruty-panel::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background-image:
    radial-gradient(circle at 15% 24%, rgba(70,45,18,.06) 0 1px, transparent 1.5px),
    radial-gradient(circle at 60% 70%, rgba(70,45,18,.045) 0 1px, transparent 1.7px) !important;
  background-size: 42px 38px, 58px 54px !important;
  opacity: .55 !important;
  pointer-events: none !important;
}
body.index-page .home-ruty-panel-copy {
  position: relative !important;
  z-index: 3 !important;
  justify-self: center !important;
  width: min(78%, 480px) !important;
  text-align: center !important;
  color: #151515 !important;
  opacity: calc(.82 + .18 * var(--ruty-progress)) !important;
  transform: translateY(calc(18px - 40px * var(--ruty-progress))) !important;
  transition: opacity .75s ease, transform .95s cubic-bezier(.22,1,.36,1) !important;
}
body.index-page .home-ruty-panel-copy > * {
  opacity: calc(.72 + .28 * var(--ruty-progress)) !important;
  transform: translateY(calc(12px - 12px * var(--ruty-progress))) !important;
  transition:
    opacity .72s cubic-bezier(.22,1,.36,1),
    transform .82s cubic-bezier(.22,1,.36,1) !important;
}
body.index-page .home-ruty-panel-copy > *:nth-child(2) { transition-delay: 70ms !important; }
body.index-page .home-ruty-panel-copy > *:nth-child(3) { transition-delay: 130ms !important; }
body.index-page .home-ruty-panel-copy > *:nth-child(4) { transition-delay: 190ms !important; }
body.index-page .home-ruty-panel-copy > *:nth-child(5) { transition-delay: 250ms !important; }
body.index-page .home-ruty-announcement.is-ruty-expanded .home-ruty-panel-copy > * {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
body.index-page .home-ruty-panel-copy > p,
body.index-page .home-ruty-panel-copy > h2,
body.index-page .home-ruty-panel-copy > span,
body.index-page .home-ruty-panel-copy > a {
  position: relative !important;
  z-index: 3 !important;
}
body.index-page .home-ruty-copy-math {
  position: absolute !important;
  inset: -28% -18% -24% -18% !important;
  z-index: 1 !important;
  pointer-events: none !important;
  opacity: calc(.24 + .24 * var(--ruty-progress)) !important;
  transform: translateY(calc(12px - 20px * var(--ruty-progress))) !important;
  transition: opacity .85s ease, transform .95s cubic-bezier(.22,1,.36,1) !important;
}
body.index-page .home-ruty-copy-math span {
  position: absolute !important;
  display: block !important;
  margin: 0 !important;
  color: rgba(77, 116, 153, .66) !important;
  font: 520 clamp(17px, 1.7vw, 25px)/1 Georgia, "Times New Roman", serif !important;
  letter-spacing: -.025em !important;
  white-space: nowrap !important;
  opacity: .78 !important;
  transform: translate3d(0,0,0) rotate(var(--r, 0deg)) !important;
  animation: rutyCopyMathFloat 5.8s ease-in-out infinite alternate !important;
  animation-delay: var(--d, 0ms) !important;
}
body.index-page .home-ruty-copy-math span:nth-child(1) { left: 1%; top: 1%; --r: -4deg; --d: -400ms; }
body.index-page .home-ruty-copy-math span:nth-child(2) { left: 58%; top: -2%; --r: 2deg; --d: -900ms; }
body.index-page .home-ruty-copy-math span:nth-child(3) { right: 2%; top: 28%; --r: 7deg; --d: -1400ms; }
body.index-page .home-ruty-copy-math span:nth-child(4) { left: 64%; top: 38%; --r: 5deg; --d: -700ms; }
body.index-page .home-ruty-copy-math span:nth-child(5) { left: 78%; top: 51%; --r: -8deg; --d: -1200ms; }
body.index-page .home-ruty-copy-math span:nth-child(6) { left: 48%; top: 55%; --r: 4deg; --d: -1800ms; }
body.index-page .home-ruty-copy-math span:nth-child(7) { left: 5%; top: 66%; --r: -7deg; --d: -1100ms; }
body.index-page .home-ruty-copy-math span:nth-child(8) { left: 68%; top: 71%; --r: 5deg; --d: -1500ms; }
body.index-page .home-ruty-copy-math span:nth-child(9) { left: 84%; top: 72%; --r: 8deg; --d: -300ms; }
body.index-page .home-ruty-copy-math span:nth-child(10) { left: 76%; bottom: 6%; --r: -5deg; --d: -2000ms; }
body.index-page .home-ruty-copy-math span:nth-child(11) { left: 52%; bottom: 20%; --r: 5deg; --d: -600ms; }
body.index-page .home-ruty-copy-math span:nth-child(12) { left: 34%; bottom: -2%; --r: 2deg; --d: -1600ms; }
body.index-page .home-ruty-copy-math span:nth-child(13) { left: 15%; bottom: 13%; --r: -4deg; --d: -1000ms; }
body.index-page .home-ruty-copy-math span:nth-child(14) { right: -2%; bottom: 25%; --r: 6deg; --d: -1300ms; }
body.index-page .home-ruty-copy-math span:nth-child(15) { right: 18%; top: 14%; --r: -2deg; --d: -500ms; }
@keyframes rutyCopyMathFloat {
  from { translate: 0 -5px; opacity: .48; }
  to { translate: 0 6px; opacity: .9; }
}
body.index-page .home-ruty-panel-copy p,
body.index-page .home-ruty-panel-copy h2,
body.index-page .home-ruty-panel-copy span {
  margin: 0 !important;
  color: #151515 !important;
}
body.index-page .home-ruty-panel-copy p,
body.index-page .home-ruty-panel-copy h2 {
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 400 !important;
  letter-spacing: -.045em !important;
  text-transform: none !important;
}
body.index-page .home-ruty-panel-copy p {
  font-size: clamp(52px, 5.4vw, 88px) !important;
  line-height: .92 !important;
}
body.index-page .home-ruty-panel-copy h2 {
  font-size: clamp(58px, 6.2vw, 104px) !important;
  line-height: .86 !important;
}
body.index-page .home-ruty-panel-copy span {
  display: block !important;
  margin-top: 18px !important;
  font: 420 17px/1.25 Georgia, "Times New Roman", serif !important;
}
body.index-page .home-ruty-panel-copy .home-ruty-copy-math span {
  position: absolute !important;
  display: block !important;
  margin: 0 !important;
  color: rgba(77, 116, 153, .66) !important;
  font: 520 clamp(17px, 1.7vw, 25px)/1 Georgia, "Times New Roman", serif !important;
  letter-spacing: -.025em !important;
  white-space: nowrap !important;
}
body.index-page .home-ruty-panel-copy a {
  width: max-content !important;
  margin: 22px auto 0 !important;
  padding: 10px 16px !important;
  display: inline-flex !important;
  border-radius: 7px !important;
  background: #111 !important;
  color: #fff !important;
  text-decoration: none !important;
  font: 650 13px/1 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
}
body.index-page .home-ruty-panel-art {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 auto !important;
  aspect-ratio: auto !important;
  display: grid !important;
  place-items: center !important;
  transform: none !important;
  transition: none !important;
}
body.index-page .home-ruty-panel-art img,
body.index-page .home-ruty-panel-art iframe {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body.index-page .home-ruty-panel-art img {
  object-fit: cover !important;
  filter: saturate(.95) contrast(.98) !important;
}
body.index-page .home-ruty-panel-art iframe {
  border: 0 !important;
  background: transparent !important;
  pointer-events: auto !important;
  filter: none !important;
}
@media(max-width: 980px) {
  body.index-page .home-ruty-announcement {
    min-height: auto !important;
    padding: 20px 16px 56px !important;
  }
  body.index-page .home-ruty-panel {
    position: relative !important;
    top: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 640px !important;
    max-height: none !important;
    grid-template-columns: 1fr !important;
    align-content: center !important;
    gap: 18px !important;
    padding: 64px 22px !important;
    border-radius: 18px !important;
  }
  body.index-page .home-ruty-panel-copy {
    width: min(100%, 430px) !important;
    transform: none !important;
  }
  body.index-page .home-ruty-panel-art {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
  }
}
@media(max-width: 640px) {
  body.index-page .home-ruty-panel {
    min-height: 560px !important;
    padding: 46px 18px !important;
  }
  body.index-page .home-ruty-panel-copy p {
    font-size: clamp(42px, 14vw, 62px) !important;
  }
  body.index-page .home-ruty-panel-copy h2 {
    font-size: clamp(48px, 15vw, 70px) !important;
  }
}
body.index-page .home-editorial-hero {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  min-height: clamp(520px, 68svh, 720px) !important;
  margin: 0 !important;
  padding: clamp(116px, 16vh, 190px) clamp(24px, 5vw, 80px) clamp(24px, 3vh, 48px) !important;
  display: flex !important;
  align-items: center !important;
  overflow: visible !important;
  background: #ffffff !important;
  isolation: auto !important;
}
body.index-page .home-editorial-hero::before,
body.index-page .home-editorial-hero::after {
  display: none !important;
}
body.index-page .home-editorial-hero > .cnw-fluid-field {
  position: fixed !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100vw !important;
  height: 100svh !important;
  opacity: .34 !important;
  mix-blend-mode: multiply !important;
  pointer-events: none !important;
}
body.index-page .home-main > :not(.home-editorial-hero) {
  position: relative !important;
  z-index: 1 !important;
}
body.index-page .home-editorial-hero-inner {
  position: relative !important;
  z-index: 2 !important;
  width: min(100%, 1272px) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(320px, .62fr) !important;
  align-items: end !important;
  gap: clamp(54px, 9vw, 170px) !important;
}
body.index-page .home-editorial-hero h1 {
  margin: 0 !important;
  max-width: 15.4ch !important;
  color: #151515 !important;
  font: 620 clamp(42px, 4.25vw, 66px)/.97 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  letter-spacing: -.058em !important;
  text-wrap: balance !important;
}
body.index-page .home-editorial-hero p {
  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;
}
body.index-page .home-editorial-releases {
  width: min(calc(100% - clamp(32px, 5vw, 80px)), 1560px) !important;
  margin: 0 auto !important;
  padding: clamp(44px, 6vw, 86px) 0 clamp(36px, 5vw, 74px) !important;
  color: #151515 !important;
}
body.index-page .home-releases-head {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 20px !important;
  margin: 0 0 clamp(20px, 2.2vw, 28px) !important;
}
body.index-page .home-releases-head h2 {
  margin: 0 !important;
  color: #151515 !important;
  font: 650 clamp(38px, 3.4vw, 56px)/1 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  letter-spacing: -.04em !important;
  text-transform: none !important;
}
body.index-page .home-releases-viewmore {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-shrink: 0 !important;
  color: #151515 !important;
  text-decoration: none !important;
  font: 600 15px/1 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  opacity: .68 !important;
  transition: opacity .18s ease !important;
}
body.index-page .home-releases-viewmore:hover {
  opacity: 1 !important;
}
body.index-page .home-release-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(44px, 4.4vw, 64px) clamp(32px, 4.5vw, 64px) !important;
}
body.index-page .home-release-row {
  display: flex !important;
  align-items: flex-start !important;
  gap: 28px !important;
  padding: 0 !important;
  color: #151515 !important;
  text-decoration: none !important;
  transition: opacity .18s ease !important;
}
body.index-page .home-release-row:hover {
  opacity: .64 !important;
}
body.index-page .home-release-row-media {
  flex: 0 0 auto !important;
  width: clamp(140px, 12.5vw, 190px) !important;
  height: clamp(140px, 12.5vw, 190px) !important;
  margin: 0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #e1d8c9 !important;
}
body.index-page .home-release-row-media img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
}
body.index-page .home-release-row-copy {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  min-width: 0 !important;
}
body.index-page .home-release-row h3 {
  margin: 0 !important;
  max-width: 26ch !important;
  color: #151515 !important;
  font: 650 clamp(27px, 2.15vw, 34px)/1.18 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  letter-spacing: -.03em !important;
}
body.index-page .home-release-row-meta {
  display: flex !important;
  gap: 14px !important;
  color: rgba(21,21,21,.56) !important;
  font: 500 17px/1 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  white-space: nowrap !important;
}
body.index-page .home-featured-list {
  margin-top: clamp(72px, 8vw, 116px) !important;
  display: grid !important;
  grid-template-columns: minmax(260px, .55fr) minmax(440px, 1fr) !important;
  gap: clamp(42px, 7vw, 110px) !important;
  align-items: start !important;
}
body.index-page .home-featured-list h2 {
  max-width: 14ch !important;
  margin: 0 !important;
  color: #151515 !important;
  font: 650 clamp(28px, 2.3vw, 38px)/1.05 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  letter-spacing: -.045em !important;
}
body.index-page .home-featured-list ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body.index-page .home-featured-list li {
  border-top: 1px solid rgba(21,21,21,.2) !important;
}
body.index-page .home-featured-list li:last-child {
  border-bottom: 1px solid rgba(21,21,21,.2) !important;
}
body.index-page .home-featured-list a {
  min-height: 56px !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 24px !important;
  color: #151515 !important;
  text-decoration: none !important;
}
body.index-page .home-featured-list strong {
  font: 650 clamp(16px, 1.3vw, 20px)/1.15 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
}
body.index-page .home-featured-list span {
  color: rgba(21,21,21,.6) !important;
  font: 500 clamp(15px, 1.2vw, 19px)/1.1 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
}
body.index-page .home-latest-research {
  width: 100% !important;
  margin: 0 !important;
  padding: clamp(58px, 7vw, 104px) 0 clamp(52px, 6vw, 90px) !important;
  background: rgba(238,236,227,.78) !important;
  color: #151515 !important;
}
body.index-page .home-latest-research-head {
  width: var(--home-measure) !important;
  max-width: var(--home-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: clamp(30px, 3.5vw, 48px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
}
body.index-page .home-latest-research-head h2,
body.index-page .home-latest-research-head a {
  margin: 0 !important;
  color: #151515 !important;
  font-family: "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
}
body.index-page .home-latest-research-head h2 {
  font-size: clamp(38px, 3.4vw, 56px) !important;
  line-height: 1 !important;
  font-weight: 650 !important;
  letter-spacing: -.04em !important;
  text-transform: none !important;
}
body.index-page .home-latest-research-head a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  text-decoration: none !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  opacity: .68 !important;
  transition: opacity .18s ease !important;
}
body.index-page .home-latest-research-head a:hover {
  opacity: 1 !important;
}
body.index-page .home-research-split {
  width: var(--home-measure) !important;
  max-width: var(--home-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: grid !important;
  grid-template-columns: 1.4fr 1fr !important;
  align-items: start !important;
  gap: clamp(28px, 3.4vw, 56px) !important;
}
body.index-page .home-research-feature {
  position: sticky !important;
  top: clamp(90px, 9vw, 120px) !important;
}
body.index-page .home-research-cubes {
  min-height: clamp(650px, 55vw, 820px) !important;
  overflow: visible !important;
  background: transparent !important;
}
body.index-page .home-research-cubes-stage {
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  perspective: 1400px !important;
  perspective-origin: center !important;
  transform: translate(-30px, 88px) !important;
}
body.index-page .home-research-cubes #researchCubesCanvas {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  transform: rotateX(6deg) rotateY(-8deg);
  transform-style: preserve-3d;
  will-change: transform;
}
body.index-page .home-research-mosaic {
  min-height: clamp(760px, 62vw, 900px) !important;
  overflow: visible !important;
  background: transparent !important;
}
body.index-page .home-research-mosaic-stage {
  position: absolute !important;
  inset: clamp(4px, 1vw, 16px) 0 auto !important;
  width: 100% !important;
  height: clamp(690px, 76vh, 820px) !important;
  overflow: visible !important;
  background: transparent !important;
  cursor: pointer !important;
}
body.index-page .home-research-mosaic #researchMosaicCanvas {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  background: transparent !important;
}
body.index-page .home-research-feature a,
body.index-page .home-research-side-item {
  display: block !important;
  min-width: 0 !important;
  color: #151515 !important;
  text-decoration: none !important;
}
body.index-page .home-research-feature figure {
  width: 100% !important;
  aspect-ratio: 1408 / 1117 !important;
  margin: 0 0 clamp(18px, 2vw, 24px) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #ded6c8 !important;
  box-shadow: 0 1px 0 rgba(21,21,21,.08) !important;
}
body.index-page .home-research-feature img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center 42% !important;
  transform: scale(1.001) !important;
  transition: transform .58s cubic-bezier(.22,1,.36,1), filter .34s ease !important;
}
body.index-page .home-research-feature a:hover img {
  transform: scale(1.035) !important;
  filter: saturate(1.08) contrast(1.03) !important;
}
body.index-page .home-research-feature h3 {
  max-width: 28ch !important;
  margin: 0 0 16px !important;
  color: #151515 !important;
  font: 650 clamp(24px, 2vw, 32px)/1.1 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  letter-spacing: -.035em !important;
  text-transform: none !important;
}
body.index-page .home-research-side {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(30px, 3.2vw, 44px) !important;
}
body.index-page .home-research-side-item {
  padding-top: clamp(26px, 2.8vw, 36px) !important;
  border-top: 1px solid rgba(21,21,21,.14) !important;
  transition: opacity .18s ease !important;
}
body.index-page .home-research-side-item:first-child {
  padding-top: 0 !important;
  border-top: 0 !important;
}
body.index-page .home-research-side-item:hover {
  opacity: .64 !important;
}
body.index-page .home-research-side-item h3 {
  max-width: 26ch !important;
  margin: 0 0 14px !important;
  color: #151515 !important;
  font: 650 clamp(21px, 1.65vw, 27px)/1.16 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  letter-spacing: -.03em !important;
  text-transform: none !important;
}
body.index-page .home-research-feature p,
body.index-page .home-research-side-item p {
  display: flex !important;
  gap: 14px !important;
  align-items: center !important;
  margin: 0 !important;
  color: rgba(21,21,21,.56) !important;
  font: 650 14px/1 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
}
body.index-page .home-research-feature p strong,
body.index-page .home-research-side-item p strong {
  color: #151515 !important;
  font-weight: 650 !important;
}
body.index-page .home-research-feature p span,
body.index-page .home-research-side-item p span {
  color: rgba(21,21,21,.56) !important;
}
body.index-page .home-terminal-cta {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 clamp(24px, 4.5vw, 64px) clamp(64px, 7vw, 112px) !important;
  background: rgba(238,236,227,.78) !important;
  color: #151515 !important;
}
body.index-page .home-terminal-cta > div {
  width: min(100%, 1560px) !important;
  min-height: clamp(320px, 33vw, 430px) !important;
  margin: 0 auto !important;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  gap: 28px !important;
  border-radius: 6px !important;
  background-color: #1d1d1d !important;
  background-image:
    radial-gradient(circle at 22% 0%, rgba(255,255,255,.075), transparent 34%),
    linear-gradient(135deg, #242424 0%, #1d1d1d 48%, #171717 100%) !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.055), 0 18px 42px rgba(24,20,13,.08) !important;
}
body.index-page .home-terminal-cta h2 {
  margin: 0 !important;
  color: #f7f7f3 !important;
  text-align: center !important;
  font: 520 clamp(40px, 4vw, 64px)/1.02 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  letter-spacing: -.055em !important;
  text-transform: none !important;
}
body.index-page .home-terminal-cta a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.13) !important;
  color: #fff !important;
  text-decoration: none !important;
  font: 650 14px/1 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  transition: background .22s ease, transform .22s cubic-bezier(.22,1,.36,1) !important;
}
body.index-page .home-terminal-cta a:hover {
  background: rgba(255,255,255,.21) !important;
  transform: translateY(-1px) !important;
}
@media(max-width: 960px) {
  body.index-page .home-research-split {
    grid-template-columns: 1fr !important;
  }
  body.index-page .home-research-feature {
    position: static !important;
    top: auto !important;
  }
  body.index-page .home-research-cubes {
    min-height: 620px !important;
  }
  body.index-page .home-research-mosaic {
    min-height: min(112vw, 780px) !important;
  }
  body.index-page .home-research-mosaic-stage {
    position: relative !important;
    inset: auto !important;
    height: min(104vw, 760px) !important;
  }
  body.index-page .home-research-feature figure {
    aspect-ratio: 1408 / 1117 !important;
  }
  body.index-page .home-terminal-cta > div {
    min-height: 300px !important;
  }
}
@media(max-width: 640px) {
  body.index-page .home-latest-research-head {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
  body.index-page .home-latest-research,
  body.index-page .home-terminal-cta {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  body.index-page .home-terminal-cta h2 {
    font-size: clamp(34px, 12vw, 48px) !important;
  }
  body.index-page .home-research-cubes {
    min-height: 480px !important;
  }
  body.index-page .home-research-mosaic {
    min-height: 122vw !important;
  }
  body.index-page .home-research-mosaic-stage {
    height: 116vw !important;
  }
  body.index-page .home-research-cubes-stage {
    transform: translate(-8px, 42px) !important;
  }
}
body.index-page .home-editorial-label {
  display: flex !important;
  justify-content: space-between !important;
  gap: 24px !important;
  padding-bottom: clamp(18px, 2.2vw, 30px) !important;
  border-bottom: 1px solid rgba(21,21,21,.2) !important;
  color: rgba(21,21,21,.66) !important;
  font: 600 12px/1 ui-monospace, "SFMono-Regular", Consolas, monospace !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
body.index-page .home-editorial-article {
  position: relative !important;
  min-height: clamp(560px, 72vh, 860px) !important;
  display: grid !important;
  grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr) !important;
  align-items: stretch !important;
  gap: clamp(28px, 3.5vw, 56px) !important;
  padding: clamp(24px, 3vw, 48px) 0 !important;
  border-bottom: 1px solid rgba(21,21,21,.2) !important;
  color: #151515 !important;
}
body.index-page .home-editorial-article-secondary {
  min-height: clamp(500px, 64vh, 760px) !important;
}
body.index-page .home-editorial-link {
  position: absolute !important;
  inset: 0 !important;
  z-index: 4 !important;
  color: inherit !important;
  text-decoration: none !important;
}
body.index-page .home-editorial-copy {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 32px !important;
  padding: clamp(12px, 1.5vw, 24px) 0 !important;
}
body.index-page .home-editorial-copy p {
  margin: 0 !important;
  color: rgba(21,21,21,.64) !important;
  font: 600 clamp(15px, 1.3vw, 18px)/1.2 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  letter-spacing: -.01em !important;
}
body.index-page .home-editorial-copy h1,
body.index-page .home-editorial-copy h2 {
  max-width: 13ch !important;
  margin: 0 !important;
  color: #151515 !important;
  font-family: "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  font-size: clamp(54px, 6.4vw, 104px) !important;
  line-height: .9 !important;
  letter-spacing: -.068em !important;
  font-weight: 560 !important;
  text-wrap: balance !important;
}
body.index-page .home-editorial-article-secondary .home-editorial-copy h2 {
  max-width: 13ch !important;
  font-size: clamp(48px, 5.6vw, 90px) !important;
}
body.index-page .home-editorial-meta {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  max-width: 620px !important;
  padding-top: clamp(22px, 3vw, 42px) !important;
  border-top: 1px solid rgba(21,21,21,.2) !important;
}
body.index-page .home-editorial-meta span {
  color: rgba(21,21,21,.62) !important;
  font: 500 clamp(13px, 1vw, 15px)/1.25 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
}
body.index-page .home-editorial-media {
  margin: 0 !important;
  min-height: 100% !important;
  overflow: hidden !important;
  align-self: stretch !important;
  background: rgba(21,21,21,.06) !important;
}
body.index-page .home-editorial-media img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  filter: saturate(.92) contrast(.98) !important;
  transform: scale(1.001) !important;
  transition: transform .62s cubic-bezier(.22,1,.36,1), filter .34s ease !important;
}
body.index-page .home-editorial-article:hover .home-editorial-media img {
  transform: scale(1.028) !important;
  filter: saturate(1) contrast(1) !important;
}
body.index-page .home-editorial-article::after {
  content: "Leer noticia" !important;
  position: absolute !important;
  right: 0 !important;
  bottom: clamp(24px, 3vw, 48px) !important;
  z-index: 5 !important;
  color: #151515 !important;
  font: 600 14px/1 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  opacity: .74 !important;
  transform: translateX(-8px) !important;
  transition: opacity .24s ease, transform .34s cubic-bezier(.22,1,.36,1) !important;
  pointer-events: none !important;
}
body.index-page .home-editorial-article:hover::after {
  opacity: 1 !important;
  transform: translateX(0) !important;
}
@media(max-width: 960px) {
  body.index-page .home-editorial-hero-inner,
  body.index-page .home-featured-list,
  body.index-page .home-editorial-article {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
  }
  body.index-page .home-release-list {
    grid-template-columns: 1fr !important;
  }
  body.index-page .home-release-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
  }
  body.index-page .home-editorial-copy {
    min-height: 430px !important;
  }
  body.index-page .home-editorial-media {
    aspect-ratio: 16 / 10 !important;
  }
}
@media(max-width: 640px) {
  body.index-page .home-editorial-news {
    width: min(calc(100% - 32px), 1560px) !important;
    padding-top: 92px !important;
  }
  body.index-page .home-editorial-label,
  body.index-page .home-editorial-meta {
    grid-template-columns: 1fr !important;
    display: grid !important;
  }
  body.index-page .home-editorial-copy {
    min-height: 360px !important;
  }
  body.index-page .home-editorial-copy h1,
  body.index-page .home-editorial-copy h2,
  body.index-page .home-editorial-article-secondary .home-editorial-copy h2 {
    font-size: clamp(48px, 15vw, 82px) !important;
  }
  body.index-page .home-editorial-article::after {
    position: static !important;
    display: block !important;
    margin-top: 18px !important;
  }
}

/* Features fit/animation correction */
body.index-page .home-cnw-features-grid {
  grid-template-columns: minmax(360px, .88fr) minmax(560px, 1.12fr) !important;
  align-items: center !important;
  gap: clamp(54px, 6vw, 84px) !important;
}
body.index-page .home-cnw-feature-list {
  padding-top: 0 !important;
}
body.index-page .home-cnw-feature-list button {
  padding: 20px 0 15px !important;
}
body.index-page .home-cnw-feature-list button span {
  font-size: clamp(34px, 3vw, 46px) !important;
}
body.index-page .home-cnw-feature-body p {
  font-size: clamp(18px, 1.35vw, 21px) !important;
}
body.index-page .home-cnw-feature-stage {
  min-height: 520px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
body.index-page .home-cnw-scene {
  padding: 0 !important;
}
body.index-page .home-cnw-terminal-card {
  width: 100% !important;
  min-height: 500px !important;
  height: 500px !important;
  padding: clamp(28px, 3vw, 38px) !important;
  border-radius: 18px !important;
  background: rgba(255,253,247,.86) !important;
  box-shadow: 0 34px 92px rgba(50,44,31,.12), inset 0 1px 0 rgba(255,255,255,.92) !important;
}
body.index-page .home-cnw-scene.is-active.is-restarting .home-cnw-terminal-card {
  animation: cnwPanelArrive .72s cubic-bezier(.22,1,.36,1) both !important;
}
body.index-page .home-cnw-data-scene .home-cnw-line-chart polyline {
  animation: cnwFeatureDraw 2s cubic-bezier(.22,1,.36,1) both, cnwLineBreathe 4.8s ease-in-out 2s infinite !important;
}
body.index-page .home-cnw-data-scene .home-cnw-line-chart circle {
  animation: cnwDotPing 1.8s ease-in-out infinite !important;
  transform-origin: center !important;
}
body.index-page .home-cnw-observable-rows b {
  animation: cnwFeatureBar 1.4s cubic-bezier(.22,1,.36,1) var(--d) both, cnwBarScan 5.4s ease-in-out calc(var(--d) + 1.3s) infinite !important;
}
body.index-page .home-cnw-universe-grid span {
  animation: cnwFeaturePop .78s cubic-bezier(.22,1,.36,1) both !important;
}
body.index-page .home-cnw-universe-grid span.hit {
  animation: cnwFeaturePop .78s cubic-bezier(.22,1,.36,1) both, cnwHitPulse 2.6s ease-in-out infinite !important;
}
body.index-page .home-cnw-matches div {
  transform: translateY(8px) !important;
  opacity: 0 !important;
}
body.index-page .home-cnw-scene.is-active .home-cnw-matches div {
  animation: cnwMatchIn .56s cubic-bezier(.22,1,.36,1) both !important;
}
body.index-page .home-cnw-scene.is-active .home-cnw-matches div:nth-child(2) {
  animation-delay: 110ms !important;
}
body.index-page .home-cnw-scene.is-active .home-cnw-matches div:nth-child(3) {
  animation-delay: 220ms !important;
}
body.index-page .home-cnw-policy-lines {
  height: 118px !important;
  margin: 10px 0 2px !important;
}
body.index-page .home-cnw-policy-lines path {
  stroke-width: 1.7 !important;
  stroke: rgba(15,16,17,.22) !important;
  animation: cnwPolicyDraw 2.2s cubic-bezier(.22,1,.36,1) both, cnwPolicyFlow 3.4s ease-in-out 2.2s infinite !important;
}
body.index-page .home-cnw-policy-lines circle {
  animation: cnwDotPing 1.8s ease-in-out infinite !important;
  transform-origin: center !important;
}
body.index-page .home-cnw-agent {
  animation: cnwAgentPulse 2.4s ease-in-out infinite !important;
}
body.index-page .home-cnw-actions-row span {
  transition: transform .24s cubic-bezier(.22,1,.36,1), background .24s ease !important;
}
body.index-page .home-cnw-actions-row span:hover {
  transform: translateY(-2px) !important;
  background: #fff !important;
}
@keyframes cnwPanelArrive {
  from { opacity: 0; transform: translateY(18px) scale(.975); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes cnwLineBreathe {
  0%, 100% { stroke-width: 2.2; opacity: .88; }
  50% { stroke-width: 3; opacity: 1; }
}
@keyframes cnwDotPing {
  0%, 100% { transform: scale(1); opacity: .72; }
  50% { transform: scale(1.45); opacity: 1; }
}
@keyframes cnwBarScan {
  0%, 100% { filter: brightness(1); transform: scaleX(1); }
  50% { filter: brightness(1.35); transform: scaleX(.82); }
}
@keyframes cnwHitPulse {
  0%, 100% { box-shadow: 0 0 0 1px rgba(91,142,74,.18), 0 10px 24px rgba(91,142,74,.12); filter: brightness(1); }
  50% { box-shadow: 0 0 0 4px rgba(91,142,74,.12), 0 18px 34px rgba(91,142,74,.20); filter: brightness(1.12); }
}
@keyframes cnwMatchIn {
  to { opacity: 1; transform: translateY(0); }
}
@keyframes cnwPolicyDraw {
  from { stroke-dasharray: 260; stroke-dashoffset: 260; opacity: .25; }
  to { stroke-dasharray: 260; stroke-dashoffset: 0; opacity: 1; }
}
@keyframes cnwPolicyFlow {
  0%, 100% { opacity: .42; }
  50% { opacity: 1; }
}
@keyframes cnwAgentPulse {
  0%, 100% { transform: translateY(0); box-shadow: 0 14px 34px rgba(16,17,18,.16); }
  50% { transform: translateY(-2px); box-shadow: 0 20px 44px rgba(16,17,18,.22); }
}
@media(max-width: 980px) {
  body.index-page .home-cnw-features-grid {
    grid-template-columns: 1fr !important;
  }
  body.index-page .home-cnw-feature-stage {
    position: relative !important;
    top: auto !important;
    min-height: 500px !important;
  }
}
@media(max-width: 640px) {
  body.index-page .home-cnw-terminal-card {
    height: auto !important;
    min-height: 500px !important;
  }
}
@media(prefers-reduced-motion: reduce) {
  body.index-page .home-cnw-features *,
  body.index-page .home-feature-console * {
    animation: none !important;
    transition-duration: .01ms !important;
  }
}

/* EOF homepage override: this block must stay after all legacy homepage rules. */
body.index-page {
  --home-gutter: clamp(28px, 8.95vw, 172px);
  --home-max: 1560px;
  --home-measure: min(calc(100% - (var(--home-gutter) * 2)), var(--home-max));
  background: #ffffff !important;
}

body.index-page .home-editorial-hero,
body.index-page .home-main,
body.index-page main,
body.index-page .home-editorial-releases,
body.index-page .home-latest-research,
body.index-page .home-terminal-cta,
body.index-page .home-ruty-announcement {
  background: transparent !important;
}

body.index-page .home-editorial-hero-inner,
body.index-page .home-editorial-releases,
body.index-page .home-latest-research-head,
body.index-page .home-research-card-grid,
body.index-page .home-terminal-cta > div,
body.index-page .cnw-global-footer-inner {
  width: var(--home-measure) !important;
  max-width: var(--home-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.index-page .home-editorial-releases,
body.index-page .home-latest-research,
body.index-page .home-terminal-cta {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.index-page .home-ruty-announcement {
  min-height: calc(100svh + 20px) !important;
  padding: clamp(8px, 1vw, 20px) 0 clamp(76px, 8vw, 118px) !important;
}

body.index-page .home-ruty-panel,
body.index-page .home-ruty-announcement.is-ruty-expanded .home-ruty-panel {
  height: clamp(560px, 44vw, 720px) !important;
  max-height: calc(100svh - 48px) !important;
  grid-template-columns: 1fr !important;
  background: transparent !important;
  border-radius: 24px !important;
  transition:
    width 1.6s cubic-bezier(.16,1,.3,1),
    height 1.6s cubic-bezier(.16,1,.3,1),
    border-radius 1.6s cubic-bezier(.16,1,.3,1),
    box-shadow 1.6s cubic-bezier(.16,1,.3,1) !important;
}

body.index-page .home-ruty-panel {
  width: var(--home-measure) !important;
  max-width: var(--home-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-shadow: 0 22px 58px rgba(54, 45, 24, .08) !important;
  transition:
    width 1.6s cubic-bezier(.16,1,.3,1),
    height 1.6s cubic-bezier(.16,1,.3,1),
    max-width 1.6s cubic-bezier(.16,1,.3,1),
    border-radius 1.6s cubic-bezier(.16,1,.3,1),
    box-shadow 1.6s cubic-bezier(.16,1,.3,1) !important;
}

body.index-page .home-ruty-announcement.is-ruty-expanded .home-ruty-panel {
  width: calc(100% - 16px) !important;
  max-width: 2200px !important;
  height: clamp(620px, 48vw, 780px) !important;
}

body.index-page .home-ruty-panel::before {
  display: none !important;
}

body.index-page nav.cnw-global-nav {
  width: min(var(--home-measure), 1180px) !important;
  min-width: 0 !important;
  max-width: calc(100% - 32px) !important;
  height: 52px !important;
  top: 14px !important;
  padding: 6px !important;
  display: flex !important;
  align-items: center !important;
  gap: clamp(16px, 2vw, 30px) !important;
  border-radius: 10px !important;
  background: rgba(222,238,251,.86) !important;
  border: 1px solid rgba(21,21,21,.16) !important;
  box-shadow: 0 18px 46px rgba(21,18,12,.08) !important;
  color: #111 !important;
  backdrop-filter: blur(18px) saturate(1.04) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.04) !important;
}

body.index-page nav.cnw-global-nav .cnw-global-brand {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 40px !important;
  padding: 0 12px 0 6px !important;
  gap: 9px !important;
  background: transparent !important;
  border: 0 !important;
  color: #111 !important;
}

body.index-page nav.cnw-global-nav .cnw-global-brand img {
  width: 30px !important;
  height: 30px !important;
  filter: none !important;
}

body.index-page nav.cnw-global-nav .cnw-global-brand span {
  display: inline-block !important;
  color: #111 !important;
  font: 720 14px/1 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
}

body.index-page nav.cnw-global-nav .cnw-global-primary {
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: clamp(24px, 3.8vw, 54px) !important;
  min-width: 0 !important;
}

body.index-page nav.cnw-global-nav .cnw-global-primary > a,
body.index-page nav.cnw-global-nav .cnw-products-toggle {
  padding: 0 !important;
  color: #111 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  font: 650 15px/1 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
}

body.index-page nav.cnw-global-nav .cnw-global-actions {
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

body.index-page nav.cnw-global-nav .cnw-global-access {
  min-height: 38px !important;
  padding: 0 18px !important;
  border-radius: 8px !important;
  background: #111 !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
  font: 690 14px/1 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
}

body.index-page nav.cnw-global-nav .cnw-menu-toggle {
  display: none !important;
}

body.index-page nav.cnw-global-nav .cnw-products-dropdown {
  position: relative !important;
  align-self: stretch !important;
  display: flex !important;
  align-items: center !important;
}
body.index-page nav.cnw-global-nav .cnw-products-panel {
  left: 0 !important;
  right: auto !important;
  top: calc(100% + 26px) !important;
  width: min(380px, calc(100vw - 40px)) !important;
  padding: 24px !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  border: 1px solid rgba(21,21,21,.10) !important;
  box-shadow: 0 24px 70px rgba(18,16,12,.13) !important;
  color: #111 !important;
}

body.index-page nav.cnw-global-nav .cnw-products-panel-inner {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 22px !important;
}

body.index-page nav.cnw-global-nav .cnw-products-panel section {
  display: grid !important;
  gap: 9px !important;
}

body.index-page nav.cnw-global-nav .cnw-products-panel section + section {
  padding-top: 20px !important;
  border-top: 1px solid rgba(21,21,21,.12) !important;
}

body.index-page nav.cnw-global-nav .cnw-products-panel span {
  color: rgba(21,21,21,.55) !important;
  font: 650 14px/1.1 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
}

body.index-page nav.cnw-global-nav .cnw-products-panel a {
  min-height: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  border: 0 !important;
  background: transparent !important;
  color: #111 !important;
  text-decoration: none !important;
  font: 430 22px/1.18 Georgia, "Times New Roman", serif !important;
}

body.index-page nav.cnw-global-nav .cnw-products-panel i {
  color: rgba(21,21,21,.52) !important;
  font-style: normal !important;
  font-size: 16px !important;
}

body.index-page .home-terminal-cta > div {
  background-color: #161616 !important;
  background-image:
    linear-gradient(180deg, rgba(10,14,20,.55) 0%, rgba(10,14,20,.72) 100%),
    url('assets/images/paintings/coastal-storm-shipwreck.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  border-color: rgba(255,255,255,.08) !important;
}

body.index-page footer,
body.index-page .cnw-global-footer {
  background: #0b0b0b !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: #f2efe6 !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
}

body.index-page .cnw-global-footer-inner {
  background: #0b0b0b !important;
}

body.index-page .cnw-global-footer,
body.index-page .cnw-global-footer * {
  color: #f2efe6 !important;
}

body.index-page .cnw-global-footer-links,
body.index-page .cnw-global-footer-bottom {
  border-color: rgba(255,255,255,.14) !important;
}

body.index-page .cnw-global-footer-links span,
body.index-page .cnw-global-footer-links b,
body.index-page .cnw-global-footer-bottom p,
body.index-page .cnw-footer-social a,
body.index-page .cnw-footer-locale,
body.index-page .cnw-footer-locale span + span {
  color: rgba(242,239,230,.55) !important;
}

body.index-page .cnw-global-footer-links a {
  color: rgba(242,239,230,.9) !important;
}

body.index-page .cnw-footer-locale {
  background: rgba(255,255,255,.10) !important;
}

@media (max-width: 860px) {
  body.index-page {
    --home-gutter: clamp(18px, 6vw, 34px);
  }

  body.index-page nav.cnw-global-nav {
    width: min(calc(100% - 24px), 720px) !important;
  }

  body.index-page nav.cnw-global-nav .cnw-global-primary {
    display: none !important;
  }

  body.index-page nav.cnw-global-nav .cnw-menu-toggle {
    display: inline-flex !important;
  }

  body.index-page .home-editorial-hero-inner {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  body.index-page .home-ruty-panel,
  body.index-page .home-ruty-announcement.is-ruty-expanded .home-ruty-panel {
    width: min(calc(100% - 24px), 720px) !important;
    height: min(650px, calc(100svh - 38px)) !important;
  }
}

body.index-page .home-editorial-hero {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Site-wide nav — matches the homepage's floating pill exactly so every subpage looks identical. */
nav.cnw-global-nav {
  position: fixed !important;
  top: 14px !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translateX(-50%) !important;
  width: min(90vw, 1180px) !important;
  min-width: 0 !important;
  max-width: calc(100% - 32px) !important;
  height: 52px !important;
  margin: 0 !important;
  padding: 6px !important;
  display: flex !important;
  align-items: center !important;
  gap: clamp(16px, 2vw, 30px) !important;
  border-radius: 10px !important;
  background: rgba(222,238,251,.86) !important;
  border: 1px solid rgba(21,21,21,.16) !important;
  box-shadow: 0 18px 46px rgba(21,18,12,.08) !important;
  color: #111 !important;
  backdrop-filter: blur(18px) saturate(1.04) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.04) !important;
}

nav.cnw-global-nav .cnw-global-brand {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 40px !important;
  padding: 0 12px 0 6px !important;
  gap: 9px !important;
  background: transparent !important;
  border: 0 !important;
  color: #111 !important;
}

nav.cnw-global-nav .cnw-global-brand img {
  width: 30px !important;
  height: 30px !important;
  filter: none !important;
}

nav.cnw-global-nav .cnw-global-brand span {
  display: inline-block !important;
  color: #111 !important;
  font: 720 14px/1 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
}

nav.cnw-global-nav .cnw-global-primary {
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: clamp(24px, 3.8vw, 54px) !important;
  min-width: 0 !important;
}

nav.cnw-global-nav .cnw-global-primary > a,
nav.cnw-global-nav .cnw-products-toggle {
  padding: 0 !important;
  color: #111 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  font: 650 15px/1 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
}

nav.cnw-global-nav .cnw-global-actions {
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

nav.cnw-global-nav .cnw-global-access {
  min-height: 38px !important;
  padding: 0 18px !important;
  border-radius: 8px !important;
  background: #111 !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
  font: 690 14px/1 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
}

nav.cnw-global-nav .cnw-menu-toggle {
  display: none !important;
}

nav.cnw-global-nav .cnw-products-dropdown {
  position: relative !important;
  align-self: stretch !important;
  display: flex !important;
  align-items: center !important;
}

nav.cnw-global-nav .cnw-products-panel {
  left: 0 !important;
  right: auto !important;
  top: calc(100% + 26px) !important;
  width: min(380px, calc(100vw - 40px)) !important;
  padding: 24px !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  border: 1px solid rgba(21,21,21,.10) !important;
  box-shadow: 0 24px 70px rgba(18,16,12,.13) !important;
  color: #111 !important;
}

nav.cnw-global-nav .cnw-products-panel-inner {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 22px !important;
}

nav.cnw-global-nav .cnw-products-panel section {
  display: grid !important;
  gap: 9px !important;
}

nav.cnw-global-nav .cnw-products-panel section + section {
  padding-top: 20px !important;
  border-top: 1px solid rgba(21,21,21,.12) !important;
}

nav.cnw-global-nav .cnw-products-panel span {
  color: rgba(21,21,21,.55) !important;
  font: 650 14px/1.1 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
}

nav.cnw-global-nav .cnw-products-panel a {
  min-height: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  border: 0 !important;
  background: transparent !important;
  color: #111 !important;
  text-decoration: none !important;
  font: 430 22px/1.18 Georgia, "Times New Roman", serif !important;
}

nav.cnw-global-nav .cnw-products-panel i {
  color: rgba(21,21,21,.52) !important;
  font-style: normal !important;
  font-size: 16px !important;
}

@media (max-width: 720px) {
  nav.cnw-global-nav .cnw-global-primary {
    display: none !important;
  }
  nav.cnw-global-nav .cnw-menu-toggle {
    display: inline-flex !important;
  }
}

/* Reading-progress bar was built for the old full-width nav; it now floats as a stray
   line disconnected from the pill nav, so hide it everywhere. */
.cnw-scroll-progress {
  display: none !important;
}

/* Painting-paired sections on internal product pages — dark card, pastel image tile,
   accordion list on the right. Modelled directly on the Claude.com product-page pattern. */
body:not(.index-page) .product-visual-split {
  display: grid !important;
  grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr) !important;
  align-items: center !important;
  gap: clamp(32px, 5vw, 72px) !important;
  width: min(calc(100% - 40px), 1320px) !important;
  margin: 0 auto !important;
  background: #101112 !important;
  border-radius: 24px !important;
  padding: clamp(28px, 4vw, 56px) !important;
  color: #fff !important;
}
body:not(.index-page) .product-visual-split-reverse .product-visual-media {
  order: 2;
}
body:not(.index-page) .product-visual-split-reverse .product-visual-copy {
  order: 1;
}
body:not(.index-page) .product-visual-media {
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  margin: 0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #cfe3d8 !important;
}
body:not(.index-page) .product-visual-media-lavender {
  background: #d9d3ef !important;
}
body:not(.index-page) .product-visual-media-sand {
  background: #ecdfc4 !important;
}
body:not(.index-page) .product-visual-media-sky {
  background: #cfe0f2 !important;
}
body:not(.index-page) .product-visual-media-rose {
  background: #ecd6dc !important;
}
body:not(.index-page) .product-visual-media-canvas {
  background: #0b0d10 !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}
body:not(.index-page) .product-visual-media-canvas canvas {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}
body:not(.index-page) .product-visual-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
body:not(.index-page) .product-visual-copy h2 {
  max-width: none !important;
  text-align: left !important;
  color: #fff !important;
  font-size: clamp(30px, 2.6vw, 42px) !important;
  margin: 0 0 14px !important;
}
body:not(.index-page) .product-visual-lead {
  max-width: 46ch;
  margin: 0 0 clamp(28px, 3vw, 40px) !important;
  color: rgba(255,255,255,.62) !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}
body:not(.index-page) .product-visual-list {
  display: block !important;
  border-top: 1px solid rgba(255,255,255,.16) !important;
}
body:not(.index-page) .product-visual-list details {
  border-bottom: 1px solid rgba(255,255,255,.16) !important;
  padding: 18px 0 !important;
}
body:not(.index-page) .product-visual-list summary {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin: 0 !important;
  color: #fff !important;
  font: 600 17px/1.3 "Inter Tight", "Helvetica Neue", Arial, sans-serif !important;
  cursor: pointer !important;
  list-style: none !important;
}
body:not(.index-page) .product-visual-list summary::-webkit-details-marker {
  display: none !important;
}
body:not(.index-page) .product-visual-list summary i {
  flex-shrink: 0 !important;
  color: rgba(255,255,255,.5) !important;
  font-style: normal !important;
  font-size: 20px !important;
}
body:not(.index-page) .product-visual-list p {
  margin: 12px 0 0 !important;
  max-width: 52ch;
  color: rgba(255,255,255,.62) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}
@media (max-width: 860px) {
  body:not(.index-page) .product-visual-split {
    grid-template-columns: 1fr !important;
  }
  body:not(.index-page) .product-visual-split-reverse .product-visual-media,
  body:not(.index-page) .product-visual-split-reverse .product-visual-copy {
    order: initial;
  }
  body:not(.index-page) .product-visual-media {
    aspect-ratio: 16 / 10 !important;
  }
}

/* Big, confident stat numbers instead of the small default. */
body:not(.index-page) .product-metrics {
  border-top: 0 !important;
  border-bottom: 0 !important;
  gap: clamp(24px, 3vw, 40px) !important;
}
body:not(.index-page) .product-metrics div {
  padding: 0 !important;
  border-right: 0 !important;
}
body:not(.index-page) .product-metrics strong {
  font-size: clamp(56px, 6.5vw, 104px) !important;
  letter-spacing: -.045em !important;
  color: #102a43 !important;
}
body:not(.index-page) .product-metrics span {
  font-size: 15px !important;
}

/* Simple scroll-reveal: fade + rise into place instead of popping in flat. */
body:not(.index-page) .reveal {
  opacity: 0 !important;
  transform: translateY(28px) !important;
  transition: opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1) !important;
  animation: none !important;
}
body:not(.index-page) .reveal.cnw-in-view {
  opacity: 1 !important;
  transform: none !important;
}
@media (prefers-reduced-motion: reduce) {
  body:not(.index-page) .reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* Ruty page: editorial motion and lighter reading rhythm. */
body.modelos-page .page-hero {
  min-height: 100svh !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
}

body.modelos-page .page-hero-inner > * {
  opacity: 0;
  transform: translateY(34px);
}

body.modelos-page.cnw-page-ready .page-hero-inner > * {
  animation: rutyHeroRise .86s cubic-bezier(.22,1,.36,1) forwards;
}

body.modelos-page.cnw-page-ready .page-hero-inner > *:nth-child(2) { animation-delay: 90ms; }
body.modelos-page.cnw-page-ready .page-hero-inner > *:nth-child(3) { animation-delay: 170ms; }

@keyframes rutyHeroRise {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

body.modelos-page .page-title {
  letter-spacing: -.062em !important;
}

body.modelos-page .product-hero-actions a {
  transition: transform .28s cubic-bezier(.22,1,.36,1), background .22s ease, box-shadow .22s ease !important;
}

body.modelos-page .product-hero-actions a:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 18px 42px rgba(16,42,67,.18) !important;
}

body.modelos-page .product-v2.reveal,
body.modelos-page .product-version-shell.reveal {
  transition-duration: .9s !important;
}

body.modelos-page .product-intro {
  display: block !important;
}

body.modelos-page .product-intro h2 {
  margin: 0 !important;
  max-width: 820px !important;
  text-align: left !important;
  font-size: clamp(44px,5.8vw,84px) !important;
}

body.modelos-page .product-intro-copy {
  max-width: 560px;
  margin: 22px 0 0;
  color: #526473;
  font-size: clamp(17px,1.35vw,20px);
  line-height: 1.55;
}

body.modelos-page .product-intro .product-output-grid {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: clamp(28px,4.8vw,76px) !important;
  margin-top: clamp(48px,6vw,86px) !important;
  border: 0 !important;
  background: transparent !important;
  backdrop-filter: none !important;
}

body.modelos-page .product-intro .product-output-grid article {
  position: relative !important;
  min-height: 0 !important;
  padding: 0 !important;
  display: block !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.modelos-page .product-intro .product-output-grid article::after {
  content: "";
  position: absolute;
  top: 17px;
  left: 50px;
  right: -40px;
  border-top: 1px dashed rgba(16,42,67,.26);
}

body.modelos-page .product-intro .product-output-grid article:last-child::after {
  display: none;
}

body.modelos-page .product-intro .product-output-grid article > span:first-child {
  position: relative;
  z-index: 1;
  width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(16,42,67,.18);
  border-radius: 50%;
  background: rgba(255,255,255,.72);
  color: #101112;
  font-size: 12px;
  font-weight: 620;
  letter-spacing: 0;
}

body.modelos-page .product-intro .product-output-grid h3 {
  margin: 20px 0 10px !important;
  color: #101112 !important;
  font-size: clamp(21px,2vw,28px) !important;
  line-height: 1.06 !important;
  letter-spacing: -.035em !important;
  font-weight: 650 !important;
}

body.modelos-page .product-intro .product-output-grid p {
  color: #526473 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  max-width: 260px !important;
}

body.modelos-page .product-decision .product-flow {
  counter-reset: ruty-flow;
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: clamp(28px,4.8vw,68px) !important;
  border: 0 !important;
  margin-top: clamp(34px,4vw,58px) !important;
}

body.modelos-page .product-decision .product-flow article {
  counter-increment: ruty-flow;
  position: relative !important;
  display: block !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.modelos-page .product-decision .product-flow article::before {
  content: counter(ruty-flow, decimal-leading-zero);
  width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(16,42,67,.18);
  border-radius: 50%;
  background: rgba(255,255,255,.72);
  color: #101112;
  font-size: 12px;
  font-weight: 620;
}

body.modelos-page .product-decision .product-flow article::after {
  content: "";
  position: absolute;
  top: 17px;
  left: 50px;
  right: -40px;
  border-top: 1px dashed rgba(16,42,67,.26);
}

body.modelos-page .product-decision .product-flow article:last-child::after {
  display: none;
}

body.modelos-page .product-decision .product-flow h3 {
  margin: 20px 0 10px !important;
  font-size: clamp(21px,2vw,28px) !important;
  line-height: 1.06 !important;
  letter-spacing: -.035em !important;
}

body.modelos-page .product-decision .product-flow p {
  max-width: 260px !important;
  color: #666b70 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

body.modelos-page :is(.product-output-grid,.product-use-grid,.product-payload,.product-spec-list) :is(article,div),
body.modelos-page :is(.product-layer-list,.product-validation-grid) article {
  transition: transform .34s cubic-bezier(.22,1,.36,1), background .24s ease, box-shadow .24s ease, border-color .24s ease !important;
}

body.modelos-page :is(.product-output-grid,.product-use-grid,.product-payload,.product-spec-list) :is(article,div):hover,
body.modelos-page :is(.product-layer-list,.product-validation-grid) article:hover {
  transform: translateY(-4px);
  background: rgba(255,255,255,.58) !important;
  box-shadow: 0 18px 46px rgba(16,42,67,.08);
}

body.modelos-page .product-intro .product-output-grid article:hover {
  transform: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.modelos-page .product-daily-brief {
  display: grid !important;
  grid-template-columns: minmax(0,.95fr) minmax(360px,1.05fr) !important;
  align-items: end !important;
  gap: clamp(34px,5vw,78px) !important;
}

body.modelos-page .product-daily-brief h2 {
  margin-bottom: 0 !important;
}

body.modelos-page .product-daily-brief .product-payload {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 1px !important;
  border: 1px solid rgba(16,42,67,.14) !important;
  background: rgba(16,42,67,.14) !important;
}

body.modelos-page .product-daily-brief .product-payload > div {
  min-height: 190px !important;
  padding: clamp(20px,2.3vw,28px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 26px !important;
  border: 0 !important;
  background: rgba(255,255,255,.74) !important;
}

body.modelos-page .product-daily-brief .product-payload strong {
  color: #102a43 !important;
  font-size: 15px !important;
  font-weight: 720 !important;
}

body.modelos-page .product-daily-brief .product-payload span {
  max-width: 210px !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
}

body.modelos-page .product-faq-accordion-list {
  max-width: 980px !important;
}

body.modelos-page .product-faq-accordion-list details {
  transition: background .24s ease, border-color .24s ease, transform .24s ease !important;
}

body.modelos-page .product-faq-accordion-list details[open] {
  background: rgba(255,255,255,.7) !important;
  border-color: rgba(16,42,67,.18) !important;
}

body.modelos-page .product-faq-accordion-list details:hover {
  transform: translateX(4px);
}

@media (max-width: 900px) {
  body.modelos-page .product-intro .product-output-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  body.modelos-page .product-intro .product-output-grid article::after,
  body.modelos-page .product-decision .product-flow article::after {
    top: 48px;
    left: 18px;
    right: auto;
    bottom: -24px;
    height: auto;
    border-top: 0;
    border-left: 1px dashed rgba(16,42,67,.24);
  }
  body.modelos-page .product-intro .product-output-grid article:last-child::after,
  body.modelos-page .product-decision .product-flow article:last-child::after {
    display: none;
  }
  body.modelos-page .product-decision .product-flow {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  body.modelos-page .product-daily-brief {
    grid-template-columns: 1fr !important;
  }
  body.modelos-page .product-daily-brief .product-payload {
    grid-template-columns: 1fr !important;
  }
  body.modelos-page .product-daily-brief .product-payload > div {
    min-height: 150px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.modelos-page .page-hero-inner > * {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
  body.modelos-page :is(.product-output-grid,.product-use-grid,.product-payload,.product-spec-list) :is(article,div):hover,
  body.modelos-page :is(.product-layer-list,.product-validation-grid) article:hover,
  body.modelos-page .product-faq-accordion-list details:hover {
    transform: none !important;
  }
}

/* Ruty copy pass: editorial rows instead of literal process cards/timelines. */
body.modelos-page .product-intro {
  display: grid !important;
  grid-template-columns: minmax(0,.82fr) minmax(460px,1.18fr) !important;
  align-items: start !important;
  gap: clamp(42px,7vw,118px) !important;
}

body.modelos-page .product-intro h2 {
  max-width: 660px !important;
}

body.modelos-page .product-intro-copy {
  max-width: 520px !important;
}

body.modelos-page .product-intro .product-output-grid {
  margin-top: 6px !important;
  display: block !important;
  border-top: 1px solid rgba(16,42,67,.16) !important;
}

body.modelos-page .product-intro .product-output-grid article {
  display: grid !important;
  grid-template-columns: 58px minmax(160px,.65fr) minmax(220px,1fr) !important;
  align-items: baseline !important;
  gap: clamp(18px,2.4vw,34px) !important;
  padding: clamp(20px,2.2vw,30px) 0 !important;
  border-bottom: 1px solid rgba(16,42,67,.16) !important;
}

body.modelos-page .product-intro .product-output-grid article::after {
  display: none !important;
}

body.modelos-page .product-intro .product-output-grid article > span:first-child {
  width: auto !important;
  height: auto !important;
  display: block !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(16,42,67,.48) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  letter-spacing: .08em !important;
}

body.modelos-page .product-intro .product-output-grid h3 {
  margin: 0 !important;
  font-size: clamp(22px,2.15vw,34px) !important;
  letter-spacing: -.045em !important;
}

body.modelos-page .product-intro .product-output-grid p {
  max-width: 420px !important;
  margin: 0 !important;
  font-size: clamp(15px,1.15vw,17px) !important;
}

body.modelos-page .product-decision .product-flow {
  display: block !important;
  counter-reset: ruty-flow !important;
  margin-top: clamp(30px,4vw,56px) !important;
  border-top: 1px solid rgba(16,42,67,.16) !important;
}

body.modelos-page .product-decision .product-flow article {
  counter-increment: ruty-flow !important;
  display: grid !important;
  grid-template-columns: 62px minmax(170px,.42fr) minmax(260px,1fr) !important;
  align-items: baseline !important;
  gap: clamp(18px,2.8vw,44px) !important;
  padding: clamp(21px,2.3vw,32px) 0 !important;
  border-bottom: 1px solid rgba(16,42,67,.16) !important;
}

body.modelos-page .product-decision .product-flow article::before {
  content: counter(ruty-flow, decimal-leading-zero) !important;
  width: auto !important;
  height: auto !important;
  display: block !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(16,42,67,.48) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  letter-spacing: .08em !important;
}

body.modelos-page .product-decision .product-flow article::after {
  display: none !important;
}

body.modelos-page .product-decision .product-flow h3 {
  margin: 0 !important;
  font-size: clamp(22px,2.15vw,34px) !important;
  letter-spacing: -.045em !important;
}

body.modelos-page .product-decision .product-flow p {
  max-width: 680px !important;
  margin: 0 !important;
  font-size: clamp(15px,1.15vw,17px) !important;
}

body.modelos-page .product-intro .product-output-grid article:hover,
body.modelos-page .product-decision .product-flow article:hover {
  transform: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 900px) {
  body.modelos-page .product-intro {
    grid-template-columns: 1fr !important;
  }
  body.modelos-page .product-intro .product-output-grid article,
  body.modelos-page .product-decision .product-flow article {
    grid-template-columns: 44px 1fr !important;
    gap: 12px 18px !important;
  }
  body.modelos-page .product-intro .product-output-grid p,
  body.modelos-page .product-decision .product-flow p {
    grid-column: 2 !important;
    max-width: 560px !important;
  }
}

/* Ruty copy pass, part 2: extend the same editorial-row scale to the sections
   left over from the literal card grid (spec list, use grid, integration, FAQ). */
body.modelos-page .product-split .product-spec-list {
  border-top: 1px solid rgba(16,42,67,.16) !important;
}

body.modelos-page .product-split .product-spec-list article {
  counter-increment: ruty-spec;
  display: grid !important;
  grid-template-columns: 62px minmax(170px,.42fr) minmax(260px,1fr) !important;
  align-items: baseline !important;
  gap: clamp(18px,2.8vw,44px) !important;
  padding: clamp(21px,2.3vw,32px) 0 !important;
  border-bottom: 1px solid rgba(16,42,67,.16) !important;
}

body.modelos-page .product-split .product-spec-list {
  counter-reset: ruty-spec;
}

body.modelos-page .product-split .product-spec-list article::before {
  content: counter(ruty-spec, decimal-leading-zero);
  display: block;
  color: rgba(16,42,67,.48);
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .08em;
}

body.modelos-page .product-split .product-spec-list h3 {
  margin: 0 !important;
  font-size: clamp(22px,2.15vw,34px) !important;
  letter-spacing: -.045em !important;
  font-weight: 650 !important;
}

body.modelos-page .product-split .product-spec-list p {
  max-width: 520px !important;
  margin: 0 !important;
  color: #526473 !important;
  font-size: clamp(15px,1.15vw,17px) !important;
  line-height: 1.55 !important;
}

body.modelos-page .product-use-grid {
  counter-reset: ruty-use;
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: clamp(28px,4.8vw,64px) !important;
  border: 0 !important;
  margin-top: clamp(34px,4vw,58px) !important;
}

body.modelos-page .product-use-grid article {
  counter-increment: ruty-use;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body.modelos-page .product-use-grid article::before {
  content: counter(ruty-use, decimal-leading-zero);
  display: block;
  margin-bottom: 18px;
  color: rgba(16,42,67,.48);
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .08em;
}

body.modelos-page .product-use-grid h3 {
  margin: 0 0 10px !important;
  font-size: clamp(22px,2.15vw,32px) !important;
  letter-spacing: -.04em !important;
  font-weight: 650 !important;
}

body.modelos-page .product-use-grid p {
  max-width: 320px !important;
  margin: 0 !important;
  color: #526473 !important;
  font-size: clamp(15px,1.15vw,17px) !important;
  line-height: 1.55 !important;
}

body.modelos-page .product-integration p {
  font-size: clamp(17px,1.4vw,21px) !important;
  line-height: 1.6 !important;
}

body.modelos-page .product-faq-accordion-list summary {
  font-size: clamp(17px,1.3vw,20px) !important;
  min-height: 66px !important;
}

body.modelos-page .product-faq-accordion-list p {
  font-size: clamp(15px,1.1vw,16px) !important;
  max-width: 760px !important;
}

@media (max-width: 900px) {
  body.modelos-page .product-split .product-spec-list article {
    grid-template-columns: 44px 1fr !important;
    gap: 12px 18px !important;
  }
  body.modelos-page .product-split .product-spec-list p {
    grid-column: 2 !important;
    max-width: 560px !important;
  }
  body.modelos-page .product-use-grid {
    grid-template-columns: 1fr !important;
  }
}
@supports (display: cnw-disable-redesign) {
/* Ruty — algorithmic navigation chart */
body.modelos-page { --navy:#071722; --navy-2:#0b202c; --paper:#e7e5da; --foam:#dce8e4; --aqua:#8fd9d1; --signal:#efb86c; --line:rgba(181,211,207,.18); background:var(--navy) !important; color:var(--foam); }
body.modelos-page .cnw-global-nav { background:rgba(7,23,34,.86) !important; border-color:rgba(220,232,228,.12) !important; backdrop-filter:blur(18px); }
body.modelos-page .cnw-global-nav :is(a,button,.cnw-global-brand span) { color:var(--foam) !important; }
body.modelos-page .cnw-global-brand img { filter:brightness(0) invert(1); }
body.modelos-page footer { margin-top:0 !important; }
.ruty-nav-main { overflow:hidden; background:var(--navy); }
.ruty-nav-main *, .ruty-nav-main *::before, .ruty-nav-main *::after { box-sizing:border-box; }
.ruty-nav-main h1,.ruty-nav-main h2,.ruty-nav-main h3,.ruty-nav-main p { margin-top:0; }
.ruty-nav-main h1,.ruty-nav-main h2 { font-weight:400; letter-spacing:-.055em; }
.ruty-nav-main em { font-family:Georgia,"Times New Roman",serif; font-weight:400; }
.ruty-nav-main a { color:inherit; }
.ruty-nav-main :is(.ruty-eyebrow,.ruty-section-index,.ruty-nav-coord,.ruty-telemetry,.ruty-scroll-mark,.state-map-head,.state-map-legend,.ruty-instrument-list article>span,.ruty-course-selector,.course-output>span,.course-output>div,.generation-meta,.generation-chart em,.generation-link,.ruty-log-table,.ruty-metrics span,.ruty-metrics i,.ruty-disclaimer) { font-family:"DM Mono",monospace; }
.ruty-chart-grid { position:absolute; inset:0; opacity:.34; background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.72) 65%,transparent 100%); }
.ruty-nav-hero { position:relative; min-height:calc(100svh - 70px); height:max(760px,calc(100svh - 70px)); padding:clamp(110px,14vh,160px) clamp(24px,6vw,92px) 54px; display:flex; align-items:center; isolation:isolate; background:radial-gradient(circle at 70% 42%,rgba(25,76,93,.48),transparent 35%),linear-gradient(150deg,#071722 12%,#0a202c 58%,#06131c); border-bottom:1px solid var(--line); }
.ruty-nav-hero::after { content:""; position:absolute; inset:auto 0 0; height:36%; z-index:-1; background:linear-gradient(180deg,transparent,rgba(1,8,13,.44)); }
.ruty-nav-network { position:absolute; inset:5% -4% 0 36%; width:68% !important; height:88% !important; z-index:-2; opacity:.48; mask-image:radial-gradient(ellipse at 57% 48%,#000 10%,rgba(0,0,0,.72) 48%,transparent 75%); }
.ruty-contours { position:absolute; width:48vw; height:48vw; right:-12vw; top:-15vw; opacity:.2; border:1px solid var(--aqua); border-radius:47% 53% 38% 62%; transform:rotate(18deg); }
.ruty-contours i { position:absolute; inset:8%; border:1px solid var(--aqua); border-radius:54% 46% 61% 39%; transform:rotate(calc(var(--i,1)*7deg)); }
.ruty-contours i:nth-child(2){inset:20%;border-radius:38% 62% 44% 56%}.ruty-contours i:nth-child(3){inset:34%;border-radius:59% 41% 52% 48%}.ruty-contours i:nth-child(4){inset:46%;border-radius:44% 56% 65% 35%}
.ruty-hero-route { position:absolute; inset:12% 3% 8% 38%; z-index:-1; opacity:.75; }
.ruty-hero-route svg { width:100%;height:100%;overflow:visible }.ruty-hero-route path{fill:none}.route-dim{stroke:rgba(143,217,209,.18);stroke-width:1.4;stroke-dasharray:5 8}.route-live{stroke:var(--aqua);stroke-width:2;stroke-dasharray:12 7;filter:drop-shadow(0 0 8px rgba(143,217,209,.45));animation:routeDash 16s linear infinite}
@keyframes routeDash{to{stroke-dashoffset:-380}}
.route-vessel { position:absolute; right:3.6%; top:15%; width:12px; height:12px; border:2px solid var(--aqua); border-radius:50%; box-shadow:0 0 0 8px rgba(143,217,209,.08),0 0 26px var(--aqua); }
.route-vessel::after { content:"";position:absolute;width:35px;border-top:1px solid var(--aqua);transform:rotate(-48deg);transform-origin:left;left:5px;top:5px }
.ruty-nav-hero-copy { position:relative; z-index:2; width:min(820px,64vw); }
.ruty-eyebrow { margin-bottom:28px !important; color:var(--aqua); font-size:11px; letter-spacing:.16em; }
.ruty-nav-hero h1 { max-width:900px; margin-bottom:32px; color:var(--foam); font-size:clamp(58px,7.2vw,112px); line-height:.89; }
.ruty-nav-hero h1 em,.ruty-final h2 em { color:var(--aqua); }
.ruty-hero-lead { max-width:600px; margin-bottom:38px; color:rgba(220,232,228,.68); font-size:clamp(18px,1.5vw,23px); line-height:1.5; }
.ruty-nav-actions { display:flex; align-items:center; gap:28px; }
.ruty-nav-actions a { display:inline-flex; align-items:center; gap:24px; color:rgba(220,232,228,.7); font-size:14px; text-decoration:none; }
.ruty-nav-actions .ruty-nav-primary { padding:15px 18px 15px 20px; border:1px solid rgba(143,217,209,.5); color:var(--foam); background:rgba(143,217,209,.06); }
.ruty-nav-primary b { color:var(--aqua); font-size:18px; }.ruty-nav-actions a:hover{color:#fff}.ruty-nav-primary:hover{background:rgba(143,217,209,.14)!important}
.ruty-nav-coord { position:absolute; color:rgba(220,232,228,.42); font-size:10px; line-height:1.65; letter-spacing:.12em; }.coord-a{left:6vw;top:16%}.coord-b{right:5vw;top:17%;text-align:right}
.ruty-telemetry { position:absolute; right:5vw; bottom:7%; width:min(290px,24vw); border-top:1px solid var(--line); }
.ruty-telemetry div { display:grid;grid-template-columns:1fr 1.1fr;gap:16px;padding:9px 0;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:.09em }.ruty-telemetry span{color:rgba(220,232,228,.38)}.ruty-telemetry strong{font-weight:400;color:rgba(220,232,228,.78)}.ruty-telemetry .signal{color:var(--aqua)}
.ruty-scroll-mark { position:absolute; left:6vw; bottom:5%; display:flex;align-items:center;gap:12px;color:rgba(220,232,228,.36);font-size:9px;letter-spacing:.14em}.ruty-scroll-mark span{width:36px;border-top:1px solid var(--aqua)}
.ruty-section-index { position:absolute; top:42px; left:clamp(24px,6vw,92px); color:rgba(220,232,228,.35); font-size:10px; letter-spacing:.12em; }.ruty-section-index span{color:var(--aqua)}
.ruty-kicker { margin-bottom:20px!important;color:var(--aqua)!important;font-family:"DM Mono",monospace;font-size:11px!important;letter-spacing:.14em;text-transform:uppercase}
.ruty-sea-state,.ruty-instruments,.ruty-course,.ruty-generations,.ruty-logbook { position:relative; padding:clamp(130px,14vw,210px) clamp(24px,6vw,92px); border-bottom:1px solid var(--line); }
.ruty-sea-state { min-height:920px; display:grid;grid-template-columns:minmax(300px,.74fr) minmax(520px,1.26fr);gap:clamp(60px,8vw,130px);align-items:center;background:linear-gradient(120deg,#e8e5d9,#dcdacb);color:#0b2530}.ruty-sea-state .ruty-section-index{color:rgba(11,37,48,.42)}.ruty-sea-state .ruty-section-index span,.ruty-sea-state .ruty-kicker{color:#2b6c70!important}
.ruty-state-copy h2,.ruty-instruments h2,.ruty-course h2,.ruty-generations h2,.ruty-logbook h2 { font-size:clamp(50px,6vw,92px);line-height:.94 }.ruty-state-copy>p:last-child{max-width:520px;margin-top:28px;color:rgba(11,37,48,.68);font-size:18px;line-height:1.65}
.ruty-state-map { position:relative;border:1px solid rgba(11,37,48,.18);padding:18px;background:rgba(255,255,255,.15) }.state-map-head,.state-map-legend{display:flex;justify-content:space-between;color:rgba(11,37,48,.48);font-size:9px;letter-spacing:.1em}.state-map-head b{color:#2b6c70;font-weight:400}.ruty-state-map svg{display:block;width:100%;height:auto;margin:20px 0}.map-grid path{stroke:rgba(11,37,48,.11);stroke-width:1}.sea-area{fill:url(#seaFill)}.sea-line{fill:none;stroke:#2b6c70;stroke-width:3}.fixed-route{fill:none;stroke:rgba(11,37,48,.3);stroke-width:1;stroke-dasharray:5 7}.map-point{fill:#0b2530}.map-ping{fill:none;stroke:#2b6c70;animation:mapPing 2s ease-out infinite;transform-origin:491px 166px}@keyframes mapPing{to{transform:scale(2.4);opacity:0}}.state-map-legend{gap:24px;justify-content:flex-start;align-items:center}.state-map-legend strong{margin-left:auto;color:#0b2530;font-weight:500}.state-map-legend i{display:inline-block;width:20px;border-top:2px solid #2b6c70;margin-right:7px}.state-map-legend span:nth-child(2) i{border-top:1px dashed rgba(11,37,48,.5)}
.ruty-instruments{background:#081923}.ruty-instruments-head,.ruty-logbook-head{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end}.ruty-instruments-head>p,.ruty-logbook-head>p{max-width:520px;color:rgba(220,232,228,.6);font-size:18px;line-height:1.65}.ruty-instrument-deck{margin-top:90px;display:grid;grid-template-columns:minmax(400px,.9fr) minmax(500px,1.1fr);gap:clamp(60px,9vw,140px);align-items:center}.ruty-radar{position:relative;width:min(40vw,580px);aspect-ratio:1;border:1px solid var(--line);border-radius:50%;background:radial-gradient(circle,rgba(143,217,209,.08),transparent 60%);overflow:hidden}.radar-ring{position:absolute;inset:16%;border:1px solid var(--line);border-radius:50%}.radar-ring.r2{inset:32%}.radar-ring.r3{inset:44%}.radar-cross::before,.radar-cross::after{content:"";position:absolute;left:50%;top:0;height:100%;border-left:1px solid var(--line)}.radar-cross::after{transform:rotate(90deg)}.radar-sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,rgba(143,217,209,.02) 260deg,rgba(143,217,209,.32) 354deg,transparent 360deg);animation:radarSweep 7s linear infinite}@keyframes radarSweep{to{transform:rotate(360deg)}}.radar-node{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--aqua);box-shadow:0 0 18px var(--aqua)}.radar-node::after{content:"";position:absolute;inset:-7px;border:1px solid rgba(143,217,209,.45);border-radius:50%}.radar-node.n1{left:28%;top:25%}.radar-node.n2{right:24%;top:38%}.radar-node.n3{left:20%;bottom:30%}.radar-node.n4{right:37%;bottom:18%}.radar-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;color:rgba(220,232,228,.5);font:10px/1.5 "DM Mono",monospace;letter-spacing:.12em}.radar-core b{color:var(--aqua);font-weight:400}
.ruty-instrument-list{border-top:1px solid var(--line)}.ruty-instrument-list article{position:relative;display:grid;grid-template-columns:82px minmax(120px,.55fr) 1fr 40px;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);transition:padding .3s,background .3s}.ruty-instrument-list article:hover{padding-left:14px;background:rgba(143,217,209,.04)}.ruty-instrument-list article>span{color:rgba(220,232,228,.35);font-size:9px}.ruty-instrument-list h3{margin:0;font-size:25px;font-weight:500}.ruty-instrument-list p{margin:0;color:rgba(220,232,228,.48);font-size:14px}.ruty-instrument-list article>b{color:var(--aqua);font:400 13px "DM Mono",monospace;text-align:right}
.ruty-course{background:#d9d7ca;color:#0b2530}.ruty-course .ruty-section-index{color:rgba(11,37,48,.38)}.ruty-course .ruty-section-index span,.ruty-course .ruty-kicker{color:#2b6c70!important}.ruty-course-head{max-width:1100px}.ruty-course-selector{display:grid;grid-template-columns:repeat(3,1fr);margin-top:80px;border-top:1px solid rgba(11,37,48,.2);border-bottom:1px solid rgba(11,37,48,.2)}.ruty-course-selector button{appearance:none;border:0;border-right:1px solid rgba(11,37,48,.2);padding:24px 26px;background:transparent;color:#0b2530;display:grid;grid-template-columns:36px 1fr auto;align-items:center;text-align:left;cursor:pointer}.ruty-course-selector button:last-child{border-right:0}.ruty-course-selector button>span{font-size:9px;color:rgba(11,37,48,.45)}.ruty-course-selector b{font:500 22px "Inter Tight",sans-serif}.ruty-course-selector em{font:400 10px "DM Mono",monospace;letter-spacing:.1em}.ruty-course-selector button.is-active{background:#0b2530;color:var(--foam)}.ruty-course-selector button.is-active>span{color:var(--aqua)}.ruty-course-selector button.is-active em{color:var(--aqua)}
.ruty-course-display{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:center;min-height:570px;padding-top:65px}.course-compass{position:relative;width:min(35vw,440px);aspect-ratio:1;border:1px solid rgba(11,37,48,.24);border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(11,37,48,.35) 0 .5deg,transparent .5deg 10deg)}.course-compass::after{content:"";position:absolute;inset:8%;border:1px solid rgba(11,37,48,.16);border-radius:50%;background:#d9d7ca}.course-compass>span{position:absolute;z-index:2;font:10px "DM Mono",monospace}.course-compass>span:nth-child(1){left:50%;top:4%;transform:translateX(-50%)}.course-compass>span:nth-child(2){right:5%;top:50%}.course-compass>span:nth-child(3){left:50%;bottom:4%}.course-compass>span:nth-child(4){left:5%;top:50%}.course-compass i{position:absolute;z-index:3;left:50%;top:50%;width:2px;height:36%;background:#2b6c70;transform-origin:bottom;transform:translate(-50%,-100%) rotate(34deg);transition:transform .6s cubic-bezier(.2,.8,.2,1)}.course-compass i::after{content:"";position:absolute;left:50%;top:-7px;transform:translateX(-50%);border:6px solid transparent;border-bottom:14px solid #2b6c70}.course-compass b{position:absolute;z-index:4;left:50%;top:50%;width:16px;height:16px;border-radius:50%;transform:translate(-50%,-50%);background:#0b2530;border:4px solid #d9d7ca}.ruty-course-display[data-active-course="flat"] .course-compass i{transform:translate(-50%,-100%) rotate(90deg)}.ruty-course-display[data-active-course="short"] .course-compass i{transform:translate(-50%,-100%) rotate(214deg)}.course-output>span{color:rgba(11,37,48,.5);font-size:10px;letter-spacing:.1em}.course-output>span b{color:#2b6c70;font-weight:500}.course-output>strong{display:block;margin:16px 0 38px;font-size:clamp(76px,10vw,150px);font-weight:300;letter-spacing:-.07em;line-height:.9}.course-output>div{display:grid;grid-template-columns:100px 1fr 58px;gap:18px;align-items:center;font-size:9px;color:rgba(11,37,48,.55)}.course-output>div i{height:3px;background:rgba(11,37,48,.14)}.course-output>div i b{display:block;width:78.4%;height:100%;background:#2b6c70;transition:width .5s}.course-output>div em{font:500 10px "DM Mono",monospace;color:#0b2530}.course-output p{max-width:520px;margin-top:30px;color:rgba(11,37,48,.68);font-size:17px;line-height:1.6}
.ruty-generations{background:#0b202c}.ruty-generations-head{max-width:1000px}.ruty-generation-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:85px;background:var(--line);border:1px solid var(--line)}.ruty-generation{padding:clamp(28px,4vw,56px);background:#0b202c;text-decoration:none;transition:background .35s}.ruty-generation:hover{background:#102b38}.generation-meta{display:flex;justify-content:space-between;color:rgba(220,232,228,.36);font-size:9px;letter-spacing:.1em}.generation-meta b{color:var(--aqua);font-weight:400}.generation-chart{position:relative;height:280px;margin:46px 0;border:1px solid var(--line);overflow:hidden;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:44px 44px}.generation-chart i{position:absolute;border:1px solid rgba(143,217,209,.16);border-radius:50%}.generation-chart i:nth-child(1){width:240px;height:150px;right:-30px;top:-30px}.generation-chart i:nth-child(2){width:150px;height:100px;right:20px;top:0}.generation-chart i:nth-child(3){width:70px;height:50px;right:58px;top:25px}.generation-route{position:absolute;left:8%;bottom:18%;width:84%;height:58%;border-top:2px solid var(--aqua);transform:skewY(-14deg);filter:drop-shadow(0 0 7px rgba(143,217,209,.35))}.r01 .generation-route{border-top-color:rgba(220,232,228,.45);transform:skewY(-5deg)}.generation-route::before,.generation-route::after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--aqua);top:-4px}.generation-route::before{left:0}.generation-route::after{right:0}.generation-chart em{position:absolute;left:16px;bottom:14px;color:rgba(220,232,228,.4);font-size:9px;letter-spacing:.1em}.ruty-generation h3{font-size:clamp(38px,4vw,60px);font-weight:400;letter-spacing:-.05em}.ruty-generation p{max-width:530px;color:rgba(220,232,228,.55);font-size:16px;line-height:1.6}.generation-link{display:block;margin-top:38px;color:var(--aqua);font-size:10px;letter-spacing:.1em}
.ruty-logbook{background:#e8e5d9;color:#0b2530}.ruty-logbook .ruty-section-index{color:rgba(11,37,48,.4)}.ruty-logbook .ruty-section-index span,.ruty-logbook .ruty-kicker{color:#2b6c70!important}.ruty-logbook-head>p{color:rgba(11,37,48,.64)}.ruty-log-table{margin-top:90px;border-top:1px solid rgba(11,37,48,.22);font-size:10px;letter-spacing:.08em}.ruty-log-table>div{display:grid;grid-template-columns:1fr 1fr 120px;gap:30px;padding:20px 0;border-bottom:1px solid rgba(11,37,48,.18)}.ruty-log-table .log-head{color:rgba(11,37,48,.4);font-size:8px}.ruty-log-table strong{font-weight:500}.ruty-log-table em{font-style:normal;color:#2b6c70}.ruty-metrics{display:grid;grid-template-columns:repeat(4,1fr);margin-top:100px;border-top:1px solid rgba(11,37,48,.2);border-bottom:1px solid rgba(11,37,48,.2)}.ruty-metrics article{position:relative;min-height:230px;padding:28px 24px;border-right:1px solid rgba(11,37,48,.2);display:flex;flex-direction:column;justify-content:space-between}.ruty-metrics article:last-child{border-right:0}.ruty-metrics span{font-size:9px;letter-spacing:.1em;color:rgba(11,37,48,.5)}.ruty-metrics strong{font-size:clamp(44px,5vw,72px);font-weight:300;letter-spacing:-.06em}.ruty-metrics small{font-size:.28em;letter-spacing:0}.ruty-metrics i{position:absolute;right:18px;top:25px;font-style:normal;font-size:8px;color:rgba(11,37,48,.3)}.ruty-disclaimer{margin:20px 0 0;color:rgba(11,37,48,.42);font-size:9px}
.ruty-final{position:relative;min-height:760px;padding:150px clamp(24px,6vw,92px);display:flex;align-items:center;background:linear-gradient(#071722,#06131c);isolation:isolate}.ruty-final-copy{position:relative;z-index:2}.ruty-final h2{max-width:1100px;margin-bottom:48px;font-size:clamp(54px,6.5vw,102px);line-height:.95}.ruty-final-horizon{position:absolute;inset:0;z-index:-1;overflow:hidden}.ruty-final-horizon::before,.ruty-final-horizon::after{content:"";position:absolute;left:50%;top:55%;border:1px solid rgba(143,217,209,.12);border-radius:50%;transform:translate(-50%,-50%)}.ruty-final-horizon::before{width:90vw;height:28vw}.ruty-final-horizon::after{width:65vw;height:18vw}.ruty-final-horizon i{position:absolute;left:0;right:0;top:55%;border-top:1px solid rgba(143,217,209,.5);box-shadow:0 0 24px rgba(143,217,209,.2)}.ruty-final-horizon span{position:absolute;left:72%;top:calc(55% - 6px);width:12px;height:12px;border-radius:50%;background:var(--aqua);box-shadow:0 0 30px var(--aqua)}
@media(max-width:900px){
  .ruty-nav-hero{height:auto;min-height:820px;padding-top:150px;align-items:flex-start}.ruty-nav-hero-copy{width:100%}.ruty-nav-hero h1{font-size:clamp(52px,13vw,82px)}.ruty-nav-network{inset:32% -30% 5% 10%;width:120%!important;opacity:.3}.ruty-hero-route{inset:36% -20% 8% 4%}.ruty-telemetry{right:24px;bottom:55px;width:250px}.ruty-scroll-mark,.ruty-nav-coord{display:none}
  .ruty-sea-state,.ruty-instrument-deck,.ruty-course-display,.ruty-instruments-head,.ruty-logbook-head{grid-template-columns:1fr}.ruty-sea-state{min-height:0}.ruty-state-map{margin-top:30px}.ruty-instruments-head,.ruty-logbook-head{gap:25px}.ruty-instrument-deck{margin-top:60px}.ruty-radar{width:min(86vw,520px);margin:auto}.ruty-course-display{gap:50px}.course-compass{width:min(78vw,440px);margin:auto}.ruty-generation-grid{grid-template-columns:1fr}.ruty-metrics{grid-template-columns:1fr 1fr}.ruty-metrics article:nth-child(2){border-right:0}.ruty-metrics article:nth-child(-n+2){border-bottom:1px solid rgba(11,37,48,.2)}
}
@media(max-width:620px){
  .ruty-sea-state,.ruty-instruments,.ruty-course,.ruty-generations,.ruty-logbook{padding:120px 20px 90px}.ruty-section-index{left:20px;top:32px}.ruty-nav-hero{padding:135px 20px 40px;min-height:780px}.ruty-nav-hero h1{font-size:48px;line-height:.94}.ruty-hero-lead{font-size:17px}.ruty-nav-actions{align-items:flex-start;flex-direction:column;gap:20px}.ruty-telemetry{left:20px;right:20px;bottom:30px;width:auto}.ruty-instrument-list article{grid-template-columns:60px 1fr 30px}.ruty-instrument-list article p{display:none}.ruty-course-selector{grid-template-columns:1fr}.ruty-course-selector button{border-right:0;border-bottom:1px solid rgba(11,37,48,.18)}.ruty-course-display{min-height:0;padding-top:50px}.course-output>strong{font-size:78px}.ruty-generation{padding:28px 20px}.generation-chart{height:210px}.ruty-log-table>div{grid-template-columns:1fr 1fr}.ruty-log-table>div>*:last-child{display:none}.ruty-metrics{grid-template-columns:1fr}.ruty-metrics article{min-height:170px;border-right:0!important;border-bottom:1px solid rgba(11,37,48,.2)}.ruty-final{min-height:680px;padding:110px 20px}.ruty-final h2{font-size:48px}.state-map-legend span{display:none}
}
@media(prefers-reduced-motion:reduce){.route-live,.radar-sweep,.map-ping{animation:none!important}.ruty-course-display .course-compass i{transition:none}}

/* Ruty navigation v2 — restore CNW liquid identity and original model artwork. */
.ruty-liquid-backdrop { position:absolute; inset:0; z-index:-4; width:100%; height:100%; border:0; pointer-events:none; background:#dceefa; }
.ruty-nav-hero { background:#dceefa; color:#0b2530; }
.ruty-nav-hero::before { content:""; position:absolute; inset:0; z-index:-3; pointer-events:none; background:linear-gradient(90deg,rgba(238,248,252,.92) 0%,rgba(235,247,252,.62) 42%,rgba(205,232,247,.22) 76%,rgba(196,224,242,.08)); }
.ruty-nav-hero::after { z-index:-2; background:linear-gradient(180deg,transparent 62%,rgba(185,216,235,.38)); }
.ruty-nav-hero .ruty-chart-grid { color:#102a43; opacity:.18; --line:rgba(16,42,67,.16); }
.ruty-nav-hero h1 { color:#0b2530; }
.ruty-nav-hero h1 em { color:#245f82; }
.ruty-nav-hero .ruty-eyebrow { color:#245f82; }
.ruty-nav-hero .ruty-hero-lead { color:rgba(11,37,48,.7); }
.ruty-nav-hero .ruty-nav-actions a { color:rgba(11,37,48,.7); }
.ruty-nav-hero .ruty-nav-actions .ruty-nav-primary { color:#0b2530; border-color:rgba(36,95,130,.5); background:rgba(255,255,255,.24); backdrop-filter:blur(10px); }
.ruty-nav-hero .ruty-nav-primary b { color:#245f82; }
.ruty-nav-hero .ruty-nav-coord,.ruty-nav-hero .ruty-scroll-mark { color:rgba(11,37,48,.44); }
.ruty-nav-hero .ruty-scroll-mark span { border-color:#245f82; }
.ruty-nav-hero .ruty-telemetry { border-color:rgba(11,37,48,.17); background:rgba(240,248,251,.18); backdrop-filter:blur(8px); padding:8px 12px; }
.ruty-nav-hero .ruty-telemetry div { border-color:rgba(11,37,48,.14); }
.ruty-nav-hero .ruty-telemetry span { color:rgba(11,37,48,.42); }
.ruty-nav-hero .ruty-telemetry strong { color:rgba(11,37,48,.76); }
.ruty-nav-hero .ruty-telemetry .signal { color:#245f82; }
.ruty-nav-hero .route-dim { stroke:rgba(36,95,130,.2); }
.ruty-nav-hero .route-live { stroke:#245f82; filter:drop-shadow(0 0 8px rgba(36,95,130,.28)); }
.ruty-nav-hero .route-vessel { border-color:#245f82; box-shadow:0 0 0 8px rgba(36,95,130,.08),0 0 24px rgba(36,95,130,.45); }
.ruty-nav-hero .route-vessel::after { border-color:#245f82; }
.ruty-nav-network { opacity:.18; mix-blend-mode:multiply; }

.ruty-network-feature { position:relative; min-height:960px; padding:clamp(130px,13vw,200px) clamp(24px,6vw,92px); display:grid; grid-template-columns:minmax(340px,.72fr) minmax(580px,1.28fr); gap:clamp(50px,7vw,110px); align-items:center; overflow:hidden; border-bottom:1px solid var(--line); background:radial-gradient(circle at 78% 48%,rgba(31,90,130,.34),transparent 37%),linear-gradient(135deg,#071722,#0b2635); }
.ruty-network-feature::before { content:""; position:absolute; inset:0; opacity:.16; background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(90deg,transparent,#000 45%,#000); }
.ruty-network-copy { position:relative; z-index:2; }
.ruty-network-copy h2 { margin-bottom:30px; font-size:clamp(52px,5.7vw,88px); line-height:.94; }
.ruty-network-copy>p:last-child { max-width:520px; color:rgba(220,232,228,.62); font-size:18px; line-height:1.65; }
.ruty-network-stage { position:relative; z-index:2; height:clamp(590px,56vw,760px); border:1px solid rgba(143,217,209,.22); background:rgba(3,14,22,.48); box-shadow:0 40px 100px rgba(0,0,0,.28); overflow:hidden; }
.ruty-network-stage::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at center,rgba(61,132,173,.16),transparent 58%); }
.ruty-network-stage canvas { position:absolute; inset:48px 0 42px; width:100%!important; height:calc(100% - 90px)!important; }
.network-stage-top,.network-stage-bottom { position:absolute; z-index:2; left:18px; right:18px; display:flex; justify-content:space-between; color:rgba(220,232,228,.4); font:9px "DM Mono",monospace; letter-spacing:.11em; }
.network-stage-top { top:17px; }.network-stage-top b { color:var(--aqua); font-weight:400; }.network-stage-bottom { bottom:16px; }.network-stage-bottom span:nth-child(2){margin-left:auto;margin-right:auto}

.generation-chart { height:clamp(330px,32vw,470px); background:url("assets/images/generated/generated-2026-06-21-165304.png") center/cover no-repeat; border:0; }
.generation-chart::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 50%,rgba(236,231,226,.2)); }
.generation-matrix { position:absolute; z-index:2; left:50%; top:42%; transform:translate(-50%,-50%); width:142px; height:142px; padding:29px; display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:repeat(3,1fr); gap:7px; border:1px solid rgba(16,42,67,.08); border-radius:28px; background:#fff; box-shadow:0 20px 55px rgba(16,42,67,.2); transition:transform .55s cubic-bezier(.2,.8,.2,1); }
.ruty-generation:hover .generation-matrix { transform:translate(-50%,-54%) rotate(3deg); }
.generation-matrix b { display:block; background:#102a43; }.generation-matrix b:nth-child(3n),.generation-matrix b:nth-child(7){background:#7297c5}.r02 .generation-matrix b:nth-child(2),.r02 .generation-matrix b:nth-child(8){background:#86b6d5}
.generation-chart .generation-route { z-index:3; left:8%; bottom:13%; width:84%; height:1px; border-top:1px dashed rgba(16,42,67,.35); filter:none; transform:none; }
.generation-chart .generation-route::before,.generation-chart .generation-route::after { width:6px;height:6px;top:-4px;background:#102a43; }
.generation-chart em { z-index:4; color:rgba(16,42,67,.58); }

@media(max-width:900px){.ruty-network-feature{grid-template-columns:1fr;min-height:0}.ruty-network-stage{height:650px}.ruty-network-copy{max-width:700px}}
@media(max-width:620px){.ruty-network-feature{padding:120px 20px 90px}.ruty-network-stage{height:520px}.network-stage-bottom span:nth-child(2){display:none}.generation-matrix{width:120px;height:120px;padding:25px}.generation-chart{height:300px}}

/* Ruty v3 — align every surface with the original CNW ice-blue identity. */
body.modelos-page { --navy:#102a43; --navy-2:#dcecf9; --paper:#fff; --foam:#111418; --aqua:#6f9dca; --signal:#102a43; --line:rgba(16,42,67,.14); background:#fff!important; color:#111418; }
body.modelos-page .cnw-global-nav { background:rgba(218,235,249,.94)!important; border-color:rgba(16,42,67,.2)!important; box-shadow:0 14px 40px rgba(57,102,143,.14)!important; }
body.modelos-page .cnw-global-nav :is(a,button,.cnw-global-brand span) { color:#111418!important; }
body.modelos-page .cnw-global-brand img { filter:none!important; }
body.modelos-page .cnw-global-access { background:#111418!important; color:#fff!important; }
body.modelos-page .cnw-menu-toggle span { background:#111418!important; }
.ruty-nav-main { background:#fff; color:#111418; }
.ruty-nav-hero { background:#e5f2fc; border-color:rgba(16,42,67,.12); }
.ruty-nav-hero::before { background:linear-gradient(90deg,rgba(255,255,255,.88) 0%,rgba(245,250,254,.5) 48%,rgba(214,235,249,.12) 100%); }
.ruty-nav-hero::after { background:linear-gradient(180deg,transparent 65%,rgba(255,255,255,.4)); }
.ruty-nav-hero h1,.ruty-nav-hero h1 em { color:#111418; }
.ruty-nav-hero .ruty-eyebrow,.ruty-nav-hero .ruty-nav-primary b { color:#315f8b; }
.ruty-nav-hero .ruty-hero-lead { color:rgba(17,20,24,.68); }
.ruty-nav-hero .ruty-nav-actions a { color:rgba(17,20,24,.72); }
.ruty-nav-hero .ruty-nav-actions .ruty-nav-primary { color:#fff; border-color:#111418; background:#111418; backdrop-filter:none; }
.ruty-nav-hero .ruty-nav-actions .ruty-nav-primary:hover { color:#fff!important; background:#102a43!important; }
.ruty-nav-hero .ruty-nav-primary b { color:#fff; }
.ruty-nav-hero .ruty-telemetry { background:rgba(232,244,252,.68); border-color:rgba(16,42,67,.16); }
.ruty-nav-hero .route-live { stroke:#315f8b; }.ruty-nav-hero .route-vessel{border-color:#315f8b}

.ruty-network-feature { background:linear-gradient(135deg,#fafdff 0%,#e4f2fc 52%,#c9e4f7 100%); color:#111418; border-color:rgba(16,42,67,.14); }
.ruty-network-feature::before { opacity:.32; --line:rgba(16,42,67,.12); }
.ruty-network-feature .ruty-section-index { color:rgba(16,42,67,.45); }.ruty-network-feature .ruty-section-index span,.ruty-network-feature .ruty-kicker{color:#315f8b!important}
.ruty-network-copy>p:last-child { color:rgba(17,20,24,.64); }
.ruty-network-stage { border-color:rgba(16,42,67,.18); background:#0b1822; box-shadow:0 35px 80px rgba(51,95,132,.18); }

.ruty-sea-state { background:#fff; color:#111418; border-color:rgba(16,42,67,.14); }
.ruty-sea-state .ruty-section-index { color:rgba(16,42,67,.4); }.ruty-sea-state .ruty-section-index span,.ruty-sea-state .ruty-kicker{color:#315f8b!important}
.ruty-state-copy>p:last-child { color:rgba(17,20,24,.64); }
.ruty-state-map { border-color:rgba(16,42,67,.16); background:linear-gradient(135deg,#f6fbff,#dceefa); }
.state-map-head,.state-map-legend { color:rgba(16,42,67,.5); }.state-map-head b,.state-map-legend strong{color:#102a43}.sea-line{stroke:#315f8b}.map-point{fill:#102a43}.map-ping{stroke:#315f8b}.fixed-route{stroke:rgba(16,42,67,.35)}

.ruty-instruments { background:#eef7fd; color:#111418; border-color:rgba(16,42,67,.14); }
.ruty-instruments .ruty-section-index { color:rgba(16,42,67,.42); }.ruty-instruments .ruty-section-index span,.ruty-instruments .ruty-kicker{color:#315f8b!important}
.ruty-instruments-head>p { color:rgba(17,20,24,.62); }
.ruty-radar { border-color:rgba(16,42,67,.2); background:radial-gradient(circle,rgba(112,164,207,.2),transparent 62%); }
.ruty-radar .radar-ring,.ruty-radar .radar-cross::before,.ruty-radar .radar-cross::after { border-color:rgba(16,42,67,.16); }
.ruty-radar .radar-sweep { background:conic-gradient(from 0deg,transparent 0deg,rgba(49,95,139,.02) 260deg,rgba(49,95,139,.3) 354deg,transparent 360deg); }
.ruty-radar .radar-node { background:#315f8b; box-shadow:0 0 18px rgba(49,95,139,.55); }.ruty-radar .radar-node::after{border-color:rgba(49,95,139,.42)}
.radar-core { color:rgba(16,42,67,.5); }.radar-core b{color:#102a43}
.ruty-instrument-list { border-color:rgba(16,42,67,.16); }.ruty-instrument-list article{border-color:rgba(16,42,67,.16)}.ruty-instrument-list article:hover{background:rgba(112,164,207,.1)}
.ruty-instrument-list article>span{color:rgba(16,42,67,.42)}.ruty-instrument-list h3{color:#111418}.ruty-instrument-list p{color:rgba(17,20,24,.58)}.ruty-instrument-list article>b{color:#315f8b}

.ruty-course { background:#fff; color:#111418; border-color:rgba(16,42,67,.14); }
.ruty-course .ruty-section-index{color:rgba(16,42,67,.42)}.ruty-course .ruty-section-index span,.ruty-course .ruty-kicker{color:#315f8b!important}
.ruty-course-selector{border-color:rgba(16,42,67,.18)}.ruty-course-selector button{color:#111418;border-color:rgba(16,42,67,.18)}.ruty-course-selector button.is-active{background:#102a43;color:#fff}.ruty-course-selector button.is-active>span,.ruty-course-selector button.is-active em{color:#a9d0ec}
.course-compass{border-color:rgba(16,42,67,.24);background:repeating-conic-gradient(from 0deg,rgba(16,42,67,.32) 0 .5deg,transparent .5deg 10deg)}.course-compass::after{background:#fff;border-color:rgba(16,42,67,.14)}.course-compass i{background:#315f8b}.course-compass i::after{border-bottom-color:#315f8b}.course-compass b{background:#102a43;border-color:#fff}
.course-output>span,.course-output>div{color:rgba(16,42,67,.52)}.course-output>span b,.course-output>div em{color:#102a43}.course-output>div i{background:rgba(16,42,67,.14)}.course-output>div i b{background:#315f8b}.course-output p{color:rgba(17,20,24,.64)}

.ruty-generations { background:#eef7fd; color:#111418; border-color:rgba(16,42,67,.14); }
.ruty-generations .ruty-section-index{color:rgba(16,42,67,.42)}.ruty-generations .ruty-section-index span,.ruty-generations .ruty-kicker{color:#315f8b!important}
.ruty-generation-grid { background:rgba(16,42,67,.14); border-color:rgba(16,42,67,.14); }
.ruty-generation { background:#fff; color:#111418; }.ruty-generation:hover{background:#f8fcff}.generation-meta{color:rgba(16,42,67,.48)}.generation-meta b,.generation-link{color:#315f8b}.ruty-generation p{color:rgba(17,20,24,.62)}

.ruty-logbook { background:#fff; color:#111418; border-color:rgba(16,42,67,.14); }
.ruty-logbook .ruty-section-index{color:rgba(16,42,67,.42)}.ruty-logbook .ruty-section-index span,.ruty-logbook .ruty-kicker{color:#315f8b!important}.ruty-logbook-head>p{color:rgba(17,20,24,.62)}
.ruty-log-table,.ruty-log-table>div,.ruty-metrics{border-color:rgba(16,42,67,.18)}.ruty-log-table .log-head,.ruty-metrics span,.ruty-metrics i{color:rgba(16,42,67,.45)}.ruty-log-table em{color:#315f8b}.ruty-metrics article{border-color:rgba(16,42,67,.18)}.ruty-disclaimer{color:rgba(16,42,67,.42)}

.ruty-final { background:linear-gradient(135deg,#fafdff,#d9edf9); color:#111418; }
.ruty-final .ruty-chart-grid { --line:rgba(16,42,67,.12); opacity:.3; }
.ruty-final .ruty-eyebrow { color:#315f8b; }.ruty-final h2,.ruty-final h2 em{color:#111418}.ruty-final .ruty-nav-actions a{color:rgba(17,20,24,.68)}.ruty-final .ruty-nav-primary{background:#111418;color:#fff;border-color:#111418}.ruty-final-horizon::before,.ruty-final-horizon::after{border-color:rgba(49,95,139,.15)}.ruty-final-horizon i{border-color:rgba(49,95,139,.48);box-shadow:0 0 24px rgba(49,95,139,.18)}.ruty-final-horizon span{background:#315f8b;box-shadow:0 0 25px rgba(49,95,139,.45)}

/* Ruty v4 — one continuous liquid field, following the Terminal/Science rhythm. */
body.modelos-page { background:#fff!important; }
.ruty-nav-main { position:relative; isolation:isolate; background:transparent!important; }
.ruty-liquid-site-bg { position:fixed; inset:0; z-index:-10; width:100vw; height:100vh; border:0; pointer-events:none; background:#f3f8fb; }
.ruty-nav-main::before { content:""; position:fixed; inset:0; z-index:-9; pointer-events:none; background:rgba(255,255,255,.1); }
.ruty-liquid-backdrop { display:none!important; }

.ruty-nav-hero { background:transparent!important; }
.ruty-nav-hero::before { background:linear-gradient(90deg,rgba(255,255,255,.72),rgba(255,255,255,.22) 62%,transparent)!important; }
.ruty-nav-hero::after { background:linear-gradient(180deg,transparent 68%,rgba(255,255,255,.52))!important; }
.ruty-nav-hero .ruty-telemetry { display:none!important; }

.ruty-network-feature { background:rgba(255,255,255,.54)!important; backdrop-filter:blur(2px); }
.ruty-network-stage { height:clamp(570px,55vw,740px); border:1px solid rgba(16,42,67,.13); border-radius:22px; background:#fff!important; box-shadow:0 28px 80px rgba(56,105,145,.14); }
.ruty-network-stage::before { background:radial-gradient(circle at center,rgba(121,180,219,.12),transparent 64%); }
.ruty-network-stage canvas { inset:0; width:100%!important; height:100%!important; }
.network-stage-top,.network-stage-bottom { display:none!important; }

.ruty-sea-state { background:rgba(255,255,255,.78)!important; backdrop-filter:blur(7px); }
.ruty-instruments { background:rgba(221,239,251,.82)!important; backdrop-filter:blur(9px); }
.ruty-course { background:rgba(255,255,255,.86)!important; backdrop-filter:blur(9px); }
.ruty-generations { background:rgba(225,241,251,.8)!important; backdrop-filter:blur(8px); }
.ruty-logbook { background:rgba(255,255,255,.86)!important; backdrop-filter:blur(9px); }
.ruty-final { background:linear-gradient(180deg,rgba(255,255,255,.38),rgba(226,241,250,.7))!important; backdrop-filter:blur(3px); }

/* Artwork stays generous and editorial; interface chrome stays out of the way. */
.ruty-section-index { opacity:.72; }
.ruty-state-map,.ruty-generation-grid { box-shadow:0 24px 70px rgba(60,104,139,.1); }
.ruty-generation { border-radius:0; }
.ruty-generation-grid { border-radius:22px; overflow:hidden; }
.ruty-radar { background:rgba(255,255,255,.34); }
@media(max-width:900px){.ruty-network-stage{height:620px}}
@media(max-width:620px){.ruty-network-stage{height:480px;border-radius:15px}.ruty-generation-grid{border-radius:15px}}

/* Ruty v5 — Claude Security-inspired editorial paintings, no decorative instruments. */
.ruty-contours,.ruty-hero-route,.ruty-nav-coord,.ruty-radar,.course-compass,.ruty-final-horizon,.ruty-state-map { display:none!important; }
.ruty-nav-hero { min-height:900px; padding-top:150px; }
.ruty-nav-hero-copy { width:min(680px,49vw); }
.ruty-nav-hero h1 { font-size:clamp(58px,5.9vw,92px); }
.ruty-nav-network { inset:7% 0 0 48%; width:55%!important; opacity:.08; }
.ruty-hero-painting { position:absolute; right:clamp(24px,5vw,76px); top:50%; transform:translateY(-46%); width:min(39vw,620px); height:min(67vh,650px); margin:0; overflow:hidden; border-radius:24px; background:#d7e9f5; box-shadow:0 40px 100px rgba(47,89,123,.2); }
.ruty-hero-painting::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 68%,rgba(4,18,29,.55)); }
.ruty-hero-painting img { width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.02); transition:transform 1.1s cubic-bezier(.2,.8,.2,1); }
.ruty-hero-painting:hover img { transform:scale(1.06); }
.ruty-hero-painting figcaption { position:absolute; z-index:2; left:24px; bottom:20px; color:rgba(255,255,255,.8); font:9px "DM Mono",monospace; letter-spacing:.12em; }

.ruty-editorial-painting { position:relative; margin:0; overflow:hidden; border-radius:22px; background:#dcecf6; box-shadow:0 32px 80px rgba(47,89,123,.16); }
.ruty-editorial-painting img { display:block; width:100%; height:100%; min-height:540px; object-fit:cover; transition:transform .9s cubic-bezier(.2,.8,.2,1); }
.ruty-editorial-painting:hover img { transform:scale(1.025); }
.ruty-editorial-painting::after { content:""; position:absolute; inset:55% 0 0; pointer-events:none; background:linear-gradient(transparent,rgba(3,14,22,.68)); }
.ruty-editorial-painting figcaption { position:absolute; z-index:2; left:26px; right:26px; bottom:24px; display:flex; justify-content:space-between; align-items:end; gap:24px; color:#fff; }
.ruty-editorial-painting figcaption span { font:9px "DM Mono",monospace; letter-spacing:.11em; opacity:.68; }
.ruty-editorial-painting figcaption b { max-width:290px; font:400 clamp(20px,2vw,30px)/1.08 Georgia,"Times New Roman",serif; text-align:right; }
.ruty-state-copy { align-self:center; }
.ruty-instrument-painting img { min-height:660px; object-position:center; }
.ruty-course-painting img { min-height:620px; }
.ruty-course-display { grid-template-columns:minmax(390px,.82fr) minmax(420px,1.18fr); }

/* The reference page uses calm, oversized blocks and minimal interface framing. */
.ruty-sea-state,.ruty-instruments,.ruty-course,.ruty-generations,.ruty-logbook,.ruty-network-feature { padding-top:clamp(150px,14vw,220px); padding-bottom:clamp(150px,14vw,220px); }
.ruty-instrument-list article { padding:27px 0; }
.ruty-course-selector { margin-top:95px; }
.ruty-generation-grid { margin-top:100px; }
.ruty-metrics { margin-top:120px; }

@media(max-width:1000px){
  .ruty-nav-hero{min-height:1050px;align-items:flex-start}.ruty-nav-hero-copy{width:100%;max-width:760px}.ruty-hero-painting{top:auto;bottom:50px;transform:none;width:calc(100% - 48px);max-width:none;height:430px}.ruty-nav-network{display:none}
}
@media(max-width:900px){.ruty-course-display{grid-template-columns:1fr}.ruty-editorial-painting img,.ruty-instrument-painting img,.ruty-course-painting img{min-height:520px}}
@media(max-width:620px){
  .ruty-nav-hero{min-height:940px}.ruty-nav-hero h1{font-size:48px}.ruty-hero-painting{left:20px;right:20px;width:auto;height:350px;border-radius:16px}.ruty-editorial-painting{border-radius:16px}.ruty-editorial-painting img,.ruty-instrument-painting img,.ruty-course-painting img{min-height:390px}.ruty-editorial-painting figcaption{left:18px;right:18px;bottom:17px}.ruty-editorial-painting figcaption b{font-size:20px}
}

}

/* Ruty product story — editorial first section on the existing CNW background. */
body.modelos-page .ruty-product-story {
  width: min(1240px,calc(100% - 48px)) !important;
  margin: 0 auto !important;
  padding: clamp(120px,12vw,190px) 0 clamp(110px,11vw,170px) !important;
  border: 0 !important;
  background: transparent !important;
  color: #111418 !important;
  overflow: visible !important;
}
body.modelos-page .ruty-product-story-head {
  max-width: 830px;
  margin: 0 auto clamp(58px,7vw,96px);
  text-align: center;
}
body.modelos-page .ruty-story-mark {
  position: relative;
  width: 38px;
  height: 38px;
  margin: 0 auto 20px;
  display: block;
  border: 1px solid rgba(16,42,67,.22);
  border-radius: 50%;
}
body.modelos-page .ruty-story-mark i { position:absolute; left:50%; top:50%; width:4px; height:4px; margin:-2px; border-radius:50%; background:#102a43; }
body.modelos-page .ruty-story-mark i:nth-child(1){transform:translate(-10px,5px)}
body.modelos-page .ruty-story-mark i:nth-child(2){transform:translate(10px,-6px)}
body.modelos-page .ruty-story-mark i:nth-child(3){transform:translate(1px,-12px)}
body.modelos-page .ruty-story-mark::before,body.modelos-page .ruty-story-mark::after{content:"";position:absolute;left:9px;top:23px;width:21px;border-top:1px solid rgba(16,42,67,.5);transform:rotate(-28deg);transform-origin:left}
body.modelos-page .ruty-story-mark::after{left:18px;top:11px;width:13px;transform:rotate(105deg)}
body.modelos-page .ruty-product-story-head>p {
  margin: 0 0 18px !important;
  color: rgba(16,42,67,.52) !important;
  font: 500 10px/1.3 "DM Mono",monospace !important;
  letter-spacing: .14em !important;
}
body.modelos-page .ruty-product-story-head h2 {
  margin: 0 !important;
  color: #111418 !important;
  font-family: Georgia,"Times New Roman",serif !important;
  font-size: clamp(58px,7vw,104px) !important;
  font-weight: 400 !important;
  line-height: .9 !important;
  letter-spacing: -.055em !important;
}
body.modelos-page .ruty-product-story-head>div {
  max-width: 650px;
  margin: 28px auto 0;
  color: rgba(17,20,24,.6);
  font-size: clamp(16px,1.4vw,19px);
  line-height: 1.55;
}
body.modelos-page .ruty-product-story-art {
  position: relative;
  width: min(900px,82%);
  height: clamp(560px,58vw,760px);
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid rgba(16,42,67,.14);
  border-radius: 24px;
  background: #dcebf5;
  box-shadow: 0 36px 100px rgba(46,91,126,.17);
}
body.modelos-page .ruty-product-story-art::after { content:"";position:absolute;inset:58% 0 0;background:linear-gradient(transparent,rgba(4,13,20,.58));pointer-events:none; }
body.modelos-page .ruty-product-story-art img {
  width: 100%;
  height: 112%;
  display: block;
  object-fit: cover;
  object-position: center 48%;
  transform: translateY(-5%);
  filter: saturate(.9) contrast(1.025);
}
body.modelos-page .ruty-product-story-art figcaption {
  position: absolute;
  z-index: 2;
  left: 24px;
  right: 24px;
  bottom: 20px;
  display: flex;
  justify-content: space-between;
  color: rgba(255,255,255,.82);
  font: 500 9px/1.2 "DM Mono",monospace;
  letter-spacing: .11em;
}
body.modelos-page .ruty-product-story-art figcaption b { font-weight:500; }
body.modelos-page .ruty-product-story-features {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  margin-top: clamp(70px,8vw,112px);
  border-top: 1px solid rgba(16,42,67,.18);
  border-bottom: 1px solid rgba(16,42,67,.18);
}
body.modelos-page .ruty-product-story-features article {
  position: relative;
  min-height: 300px;
  padding: 28px clamp(24px,3vw,42px) 38px;
  border-right: 1px solid rgba(16,42,67,.18);
  background: rgba(255,255,255,.12);
}
body.modelos-page .ruty-product-story-features article:last-child { border-right:0; }
body.modelos-page .ruty-product-story-features article>span { position:absolute;right:20px;top:22px;color:rgba(16,42,67,.34);font:500 9px "DM Mono",monospace;letter-spacing:.1em; }
body.modelos-page .ruty-story-icon { position:relative; width:30px;height:30px;margin:0 0 62px;display:block;color:#102a43; }
body.modelos-page .ruty-story-icon::before,body.modelos-page .ruty-story-icon::after{content:"";position:absolute}
body.modelos-page .ruty-story-icon-direction::before{left:1px;top:14px;width:26px;border-top:1px solid currentColor}.ruty-story-icon-direction::after{right:1px;top:10px;width:8px;height:8px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
body.modelos-page .ruty-story-icon-score{border:1px solid currentColor;border-radius:50%}.ruty-story-icon-score::before{inset:6px;border:1px solid currentColor;border-radius:50%}.ruty-story-icon-score::after{left:13px;top:13px;width:4px;height:4px;border-radius:50%;background:currentColor}
body.modelos-page .ruty-story-icon-weight::before{left:3px;bottom:3px;width:5px;height:10px;background:currentColor;box-shadow:9px -7px 0 currentColor,18px -16px 0 currentColor}.ruty-story-icon-weight::after{left:1px;right:1px;bottom:1px;border-top:1px solid currentColor}
body.modelos-page .ruty-product-story-features h3 { margin:0 0 13px!important;color:#111418!important;font-size:clamp(22px,2.1vw,31px)!important;font-weight:560!important;letter-spacing:-.035em!important; }
body.modelos-page .ruty-product-story-features p { max-width:300px;margin:0!important;color:rgba(17,20,24,.57)!important;font-size:15px!important;line-height:1.55!important; }

@supports (animation-timeline:view()) {
  body.modelos-page .ruty-product-story-art img { animation:rutyStoryParallax linear both;animation-timeline:view();animation-range:entry 0% exit 100%; }
  body.modelos-page .ruty-product-story-features article { animation:rutyStoryRise linear both;animation-timeline:view();animation-range:entry 10% cover 34%; }
  body.modelos-page .ruty-product-story-features article:nth-child(2){animation-range:entry 16% cover 38%}body.modelos-page .ruty-product-story-features article:nth-child(3){animation-range:entry 22% cover 42%}
}
@keyframes rutyStoryParallax{from{transform:translateY(-9%) scale(1.02)}to{transform:translateY(0) scale(1.02)}}
@keyframes rutyStoryRise{from{opacity:.25;transform:translateY(28px)}to{opacity:1;transform:none}}
@media(max-width:800px){
  body.modelos-page .ruty-product-story{width:min(100% - 28px,680px)!important;padding-block:100px!important}body.modelos-page .ruty-product-story-art{width:100%;height:620px;border-radius:18px}body.modelos-page .ruty-product-story-features{grid-template-columns:1fr}body.modelos-page .ruty-product-story-features article{min-height:235px;border-right:0;border-bottom:1px solid rgba(16,42,67,.18)}body.modelos-page .ruty-product-story-features article:last-child{border-bottom:0}body.modelos-page .ruty-story-icon{margin-bottom:38px}
}
@media(max-width:520px){body.modelos-page .ruty-product-story-head h2{font-size:54px!important}body.modelos-page .ruty-product-story-art{height:470px;border-radius:14px}body.modelos-page .ruty-product-story-art figcaption{left:16px;right:16px;bottom:14px}}
@media(prefers-reduced-motion:reduce){body.modelos-page .ruty-product-story-art img,body.modelos-page .ruty-product-story-features article{animation:none!important}}

/* Ruty generations — taller product covers with a living model mark. */
body.modelos-page .product-version-shell {
  width: min(1180px,calc(100% - 48px)) !important;
  margin-inline: auto !important;
}
body.modelos-page .product-version-shell .ruty-version-tabs {
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: clamp(22px,3vw,38px) !important;
  max-width: 1040px !important;
  margin: 0 auto !important;
}
body.modelos-page .product-version-shell .ruty-version-card {
  border-radius: 10px !important;
  box-shadow: 0 18px 56px rgba(55,88,118,.08) !important;
}
body.modelos-page .product-version-shell .ruty-version-card:hover {
  transform: translateY(-7px) !important;
  box-shadow: 0 34px 82px rgba(55,88,118,.16) !important;
}
body.modelos-page .product-version-shell .ruty-version-media {
  aspect-ratio: 4 / 5 !important;
  min-height: 610px !important;
}
body.modelos-page .product-version-shell .ruty-matrix-icon {
  top: 34% !important;
  width: 154px !important;
  height: 154px !important;
  padding: 32px !important;
  border-radius: 31px !important;
  animation: rutyMarkDrift 5.2s ease-in-out infinite alternate !important;
  will-change: transform;
}
body.modelos-page .product-version-shell .ruty-version-card-r01 .ruty-matrix-icon { animation-delay: -2.6s !important; }
body.modelos-page .product-version-shell .ruty-version-card:hover .ruty-matrix-icon {
  animation-play-state: paused !important;
  transform: translate(-50%,-54%) rotate(3deg) scale(1.045) !important;
  box-shadow: 0 28px 62px rgba(16,42,67,.24) !important;
}
body.modelos-page .product-version-shell .ruty-matrix-icon b {
  transition: transform .45s cubic-bezier(.2,.8,.2,1),background-color .35s ease,opacity .35s ease !important;
}
body.modelos-page .product-version-shell .ruty-version-card:hover .ruty-matrix-icon b:nth-child(2),
body.modelos-page .product-version-shell .ruty-version-card:hover .ruty-matrix-icon b:nth-child(6) { transform: translateY(-3px); }
body.modelos-page .product-version-shell .ruty-version-card:hover .ruty-matrix-icon b:nth-child(4),
body.modelos-page .product-version-shell .ruty-version-card:hover .ruty-matrix-icon b:nth-child(8) { transform: translateY(3px); }
body.modelos-page .product-version-shell .ruty-version-copy {
  padding: 36px 36px 40px !important;
  gap: 15px !important;
}
body.modelos-page .product-version-shell .ruty-version-copy strong {
  font-size: clamp(39px,4vw,58px) !important;
}
body.modelos-page .product-version-shell .ruty-version-copy>span {
  max-width: 440px !important;
  font-size: 16px !important;
}
@keyframes rutyMarkDrift {
  0% { transform: translate(-50%,-50%) rotate(-1.2deg); }
  48% { transform: translate(-50%,-54%) rotate(.6deg); }
  100% { transform: translate(-50%,-51%) rotate(1.4deg); }
}
@media(max-width:760px){
  body.modelos-page .product-version-shell .ruty-version-tabs{grid-template-columns:1fr!important;max-width:560px!important}body.modelos-page .product-version-shell .ruty-version-media{min-height:0!important;aspect-ratio:4/5!important}
}
@media(max-width:520px){
  body.modelos-page .product-version-shell{width:calc(100% - 24px)!important}body.modelos-page .product-version-shell .ruty-matrix-icon{width:126px!important;height:126px!important;padding:26px!important;border-radius:26px!important}body.modelos-page .product-version-shell .ruty-version-copy{padding:26px!important}
}
@media(prefers-reduced-motion:reduce){
  body.modelos-page .product-version-shell .ruty-matrix-icon{animation:none!important}body.modelos-page .product-version-shell .ruty-matrix-icon b{transition:none!important}
}

/* Stronger portrait correction: deliberately narrow, long version tabs. */
body.modelos-page .product-version-shell .ruty-version-tabs {
  width: min(100%,820px) !important;
  max-width: 820px !important;
  gap: 30px !important;
}
body.modelos-page .product-version-shell .ruty-version-card {
  width: 100% !important;
  max-width: 395px !important;
  justify-self: center !important;
}
body.modelos-page .product-version-shell .ruty-version-media {
  aspect-ratio: 3 / 5 !important;
  min-height: 660px !important;
}
body.modelos-page .product-version-shell .ruty-matrix-icon {
  top: 31% !important;
  animation: rutyMarkTurn 4.6s ease-in-out infinite alternate !important;
}
body.modelos-page .product-version-shell .ruty-version-card-r01 .ruty-matrix-icon {
  animation-delay: -2.3s !important;
}
body.modelos-page .product-version-shell .ruty-version-card:hover .ruty-matrix-icon {
  animation-play-state: paused !important;
  transform: translate(-50%,-50%) rotate(7deg) scale(1.055) !important;
}
body.modelos-page .product-version-shell .ruty-version-copy {
  padding: 32px 30px 36px !important;
}
body.modelos-page .product-version-shell .ruty-version-copy strong {
  font-size: clamp(38px,3.6vw,50px) !important;
}
@keyframes rutyMarkTurn {
  0% { transform: translate(-50%,-50%) rotate(-4.5deg); }
  50% { transform: translate(-50%,-50%) rotate(.8deg); }
  100% { transform: translate(-50%,-50%) rotate(4.5deg); }
}
@media(max-width:760px){
  body.modelos-page .product-version-shell .ruty-version-tabs{width:min(100%,410px)!important}body.modelos-page .product-version-shell .ruty-version-card{max-width:395px!important}body.modelos-page .product-version-shell .ruty-version-media{aspect-ratio:3/5!important;min-height:620px!important}
}
@media(max-width:440px){
  body.modelos-page .product-version-shell .ruty-version-media{min-height:0!important}body.modelos-page .product-version-shell .ruty-version-card{max-width:350px!important}
}

/* Model mark interaction: static at rest, turn only on card hover. */
body.modelos-page .product-version-shell .ruty-matrix-icon,
body.modelos-page .product-version-shell .ruty-version-card-r01 .ruty-matrix-icon {
  animation: none !important;
  transform: translate(-50%,-50%) rotate(0deg) !important;
  transition: transform .65s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease !important;
}
body.modelos-page .product-version-shell .ruty-version-card:hover .ruty-matrix-icon {
  transform: translate(-50%,-50%) rotate(8deg) scale(1.045) !important;
}
body.modelos-page .product-version-shell .ruty-version-card:hover .ruty-matrix-icon b {
  transform: none !important;
}

/* One coordinated decision animation: direction -> confidence -> exposure. */
body.modelos-page .ruty-product-story-features { position: relative; isolation: isolate; }
body.modelos-page .ruty-story-flow {
  --flow-edge: 16.6667%;
  position: absolute;
  z-index: 0;
  left: var(--flow-edge);
  right: var(--flow-edge);
  top: 42px;
  height: 2px;
  pointer-events: none;
}
body.modelos-page .ruty-story-flow-track {
  position: absolute;
  inset: 0;
  height: 1px;
  background: rgba(16,42,67,.16);
}
body.modelos-page .ruty-story-flow-track::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 1px;
  background: #315f8b;
  animation: rutyFlowTrace 7.2s cubic-bezier(.35,0,.2,1) infinite;
}
body.modelos-page .ruty-story-flow-node {
  position: absolute;
  top: 0;
  width: 7px;
  height: 7px;
  transform: translate(-50%,-3px);
  border: 1px solid rgba(16,42,67,.34);
  border-radius: 50%;
  background: rgba(255,255,255,.92);
}
body.modelos-page .ruty-story-flow-node.n1{left:0}.ruty-story-flow-node.n2{left:50%}.ruty-story-flow-node.n3{left:100%}
body.modelos-page .ruty-story-flow-pulse {
  position: absolute;
  left: 0;
  top: 0;
  width: 8px;
  height: 8px;
  transform: translate(-50%,-3.5px);
  border-radius: 50%;
  background: #102a43;
  box-shadow: 0 0 0 6px rgba(87,137,178,.12),0 0 18px rgba(49,95,139,.42);
  animation: rutyFlowPulse 7.2s cubic-bezier(.35,0,.2,1) infinite;
}
body.modelos-page .ruty-product-story-features article { z-index: 1; }
body.modelos-page .ruty-product-story-features .ruty-story-icon {
  z-index: 2;
  margin-left: auto !important;
  margin-right: auto !important;
  background: rgba(255,255,255,.88);
  box-shadow: 0 0 0 9px rgba(255,255,255,.78);
}
body.modelos-page .ruty-product-story-features article:nth-of-type(1) .ruty-story-icon { animation:rutyDirectionStage 7.2s ease-in-out infinite; }
body.modelos-page .ruty-product-story-features article:nth-of-type(2) .ruty-story-icon { animation:rutyScoreStage 7.2s ease-in-out infinite; }
body.modelos-page .ruty-product-story-features article:nth-of-type(3) .ruty-story-icon { animation:rutyWeightStage 7.2s ease-in-out infinite; }
body.modelos-page .ruty-product-story-features article::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0;
  background: linear-gradient(180deg,rgba(197,225,243,.18),transparent 48%);
  transition: opacity .3s ease;
}
body.modelos-page .ruty-product-story-features article:nth-of-type(1)::after{animation:rutyStageOne 7.2s ease infinite}
body.modelos-page .ruty-product-story-features article:nth-of-type(2)::after{animation:rutyStageTwo 7.2s ease infinite}
body.modelos-page .ruty-product-story-features article:nth-of-type(3)::after{animation:rutyStageThree 7.2s ease infinite}
@keyframes rutyFlowTrace{0%,8%{width:0}42%{width:50%}76%,100%{width:100%}}
@keyframes rutyFlowPulse{0%,8%{left:0;opacity:0}12%{opacity:1}42%{left:50%;opacity:1}76%{left:100%;opacity:1}84%,100%{left:100%;opacity:0}}
@keyframes rutyDirectionStage{0%,8%,28%,100%{transform:translateX(0) rotate(0)}14%{transform:translateX(5px) rotate(-2deg)}}
@keyframes rutyScoreStage{0%,32%,54%,100%{transform:scale(1)}41%{transform:scale(1.18);color:#315f8b;box-shadow:0 0 0 13px rgba(113,164,204,.16)}}
@keyframes rutyWeightStage{0%,66%,90%,100%{transform:translateY(0)}76%{transform:translateY(-7px);color:#315f8b}}
@keyframes rutyStageOne{0%,7%,29%,100%{opacity:0}12%,23%{opacity:1}}
@keyframes rutyStageTwo{0%,34%,57%,100%{opacity:0}40%,51%{opacity:1}}
@keyframes rutyStageThree{0%,68%,92%,100%{opacity:0}75%,86%{opacity:1}}
@media(max-width:800px){
  body.modelos-page .ruty-story-flow{display:none}body.modelos-page .ruty-product-story-features .ruty-story-icon{margin-left:0!important;box-shadow:none}body.modelos-page .ruty-product-story-features article:nth-of-type(1) .ruty-story-icon,body.modelos-page .ruty-product-story-features article:nth-of-type(2) .ruty-story-icon,body.modelos-page .ruty-product-story-features article:nth-of-type(3) .ruty-story-icon,body.modelos-page .ruty-product-story-features article::after{animation:none!important}
}
@media(prefers-reduced-motion:reduce){
  body.modelos-page .ruty-story-flow-track::after,body.modelos-page .ruty-story-flow-pulse,body.modelos-page .ruty-product-story-features .ruty-story-icon,body.modelos-page .ruty-product-story-features article::after{animation:none!important}.ruty-story-flow-pulse{display:none!important}
}

/* Full-panel choreography: every stage moves as one piece, including its copy. */
body.modelos-page .ruty-product-story-features article:nth-of-type(1) {
  animation: rutyFullPanelOne 7.2s cubic-bezier(.22,.75,.2,1) infinite !important;
}
body.modelos-page .ruty-product-story-features article:nth-of-type(2) {
  animation: rutyFullPanelTwo 7.2s cubic-bezier(.22,.75,.2,1) infinite !important;
}
body.modelos-page .ruty-product-story-features article:nth-of-type(3) {
  animation: rutyFullPanelThree 7.2s cubic-bezier(.22,.75,.2,1) infinite !important;
}
body.modelos-page .ruty-product-story-features article h3,
body.modelos-page .ruty-product-story-features article p,
body.modelos-page .ruty-product-story-features article>span,
body.modelos-page .ruty-product-story-features article .ruty-story-icon {
  transition: none !important;
}
body.modelos-page .ruty-product-story-features article h3,
body.modelos-page .ruty-product-story-features article p {
  animation: inherit !important;
  animation-name: rutyCopyFocus !important;
}
body.modelos-page .ruty-product-story-features article:nth-of-type(2) h3,
body.modelos-page .ruty-product-story-features article:nth-of-type(2) p { animation-delay: 2.25s !important; }
body.modelos-page .ruty-product-story-features article:nth-of-type(3) h3,
body.modelos-page .ruty-product-story-features article:nth-of-type(3) p { animation-delay: 4.5s !important; }
@keyframes rutyFullPanelOne {
  0% { opacity:.32; transform:translate3d(-24px,18px,0); filter:blur(2px); background:rgba(255,255,255,0); }
  7%,25% { opacity:1; transform:translate3d(0,-8px,0); filter:blur(0); background:rgba(255,255,255,.62); box-shadow:0 22px 55px rgba(55,102,139,.12); }
  34%,88% { opacity:.56; transform:none; filter:blur(0); background:rgba(255,255,255,.08); box-shadow:none; }
  94%,100% { opacity:1; transform:none; filter:blur(0); background:rgba(255,255,255,.22); }
}
@keyframes rutyFullPanelTwo {
  0%,25% { opacity:.28; transform:translate3d(-18px,18px,0); filter:blur(2px); background:rgba(255,255,255,0); }
  34%,52% { opacity:1; transform:translate3d(0,-8px,0); filter:blur(0); background:rgba(255,255,255,.62); box-shadow:0 22px 55px rgba(55,102,139,.12); }
  61%,88% { opacity:.56; transform:none; filter:blur(0); background:rgba(255,255,255,.08); box-shadow:none; }
  94%,100% { opacity:1; transform:none; filter:blur(0); background:rgba(255,255,255,.22); }
}
@keyframes rutyFullPanelThree {
  0%,52% { opacity:.28; transform:translate3d(-18px,18px,0); filter:blur(2px); background:rgba(255,255,255,0); }
  61%,80% { opacity:1; transform:translate3d(0,-8px,0); filter:blur(0); background:rgba(255,255,255,.62); box-shadow:0 22px 55px rgba(55,102,139,.12); }
  88% { opacity:.72; transform:none; filter:blur(0); box-shadow:none; }
  94%,100% { opacity:1; transform:none; filter:blur(0); background:rgba(255,255,255,.22); }
}
@keyframes rutyCopyFocus {
  0%,100% { opacity:.7; transform:translateY(8px); }
  8%,36% { opacity:1; transform:translateY(0); }
  48%,88% { opacity:.72; transform:translateY(0); }
}
@media(max-width:800px){
  body.modelos-page .ruty-product-story-features article:nth-of-type(1),body.modelos-page .ruty-product-story-features article:nth-of-type(2),body.modelos-page .ruty-product-story-features article:nth-of-type(3),body.modelos-page .ruty-product-story-features article h3,body.modelos-page .ruty-product-story-features article p{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}
}
@media(prefers-reduced-motion:reduce){
  body.modelos-page .ruty-product-story-features article:nth-of-type(1),body.modelos-page .ruty-product-story-features article:nth-of-type(2),body.modelos-page .ruty-product-story-features article:nth-of-type(3),body.modelos-page .ruty-product-story-features article h3,body.modelos-page .ruty-product-story-features article p{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}
}

/* Purpose-built Ruty decision system canvas. */
body.modelos-page .ruty-decision-system {
  position: relative;
  width: 100%;
  min-height: 610px;
  margin-top: clamp(72px,8vw,112px);
  overflow: hidden;
  border-top: 1px solid rgba(16,42,67,.18);
  border-bottom: 1px solid rgba(16,42,67,.18);
  background: rgba(255,255,255,.22);
}
body.modelos-page .ruty-decision-system canvas {
  display: block;
  width: 100% !important;
  height: 465px !important;
}
body.modelos-page .ruty-decision-system-copy {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  border-top: 1px solid rgba(16,42,67,.16);
  background: rgba(246,250,253,.66);
  backdrop-filter: blur(12px);
}
body.modelos-page .ruty-decision-system-copy article {
  min-height: 145px;
  padding: 20px clamp(20px,2.8vw,36px) 24px;
  border-right: 1px solid rgba(16,42,67,.16);
  opacity: .42;
  transform: translateY(6px);
  transition: opacity .65s ease,transform .65s cubic-bezier(.2,.8,.2,1),background .65s ease;
}
body.modelos-page .ruty-decision-system-copy article:last-child { border-right:0; }
body.modelos-page .ruty-decision-system-copy article>span { color:rgba(16,42,67,.45);font:500 9px "DM Mono",monospace;letter-spacing:.1em; }
body.modelos-page .ruty-decision-system-copy h3 { margin:12px 0 5px!important;color:#111418!important;font-size:clamp(20px,2vw,28px)!important;font-weight:560!important;letter-spacing:-.035em!important; }
body.modelos-page .ruty-decision-system-copy h3 b { color:#315f8b;font-weight:650; }
body.modelos-page .ruty-decision-system-copy p { margin:0!important;color:rgba(17,20,24,.55)!important;font-size:14px!important; }
body.modelos-page .ruty-decision-system[data-active-system-stage="action"] [data-system-stage="action"],
body.modelos-page .ruty-decision-system[data-active-system-stage="score"] [data-system-stage="score"],
body.modelos-page .ruty-decision-system[data-active-system-stage="weight"] [data-system-stage="weight"] {
  opacity: 1;
  transform: none;
  background: rgba(255,255,255,.7);
}
@media(max-width:760px){
  body.modelos-page .ruty-decision-system{min-height:760px}body.modelos-page .ruty-decision-system canvas{height:430px!important}.ruty-decision-system-copy{position:relative!important;grid-template-columns:1fr!important}.ruty-decision-system-copy article{min-height:105px!important;border-right:0!important;border-bottom:1px solid rgba(16,42,67,.14)}
}
