/* CNW internal pages: shared editorial system */
body:not(.index-page) { background: #fff !important; color: #101112; }
body:not(.index-page) main { padding-top: 58px !important; }

body:not(.index-page) .page-hero {
  width: min(calc(100% - 40px), 1320px) !important;
  min-height: auto !important;
  margin: 0 auto !important;
  padding: clamp(64px, 8vw, 112px) 0 clamp(42px, 5vw, 70px) !important;
  border: 0 !important;
  background: #fff !important;
}
body:not(.index-page) .page-hero-inner { max-width: 1080px !important; }
body:not(.index-page) .page-title {
  max-width: 1050px;
  margin: 0 !important;
  font-size: clamp(54px, 7.4vw, 104px) !important;
  line-height: .91 !important;
  letter-spacing: -.075em !important;
  font-weight: 600 !important;
}
body:not(.index-page) .page-title em { color: inherit !important; font-style: italic !important; font-weight: 400 !important; }
body:not(.index-page) .page-sub { max-width: 640px !important; margin: 28px 0 0 !important; color: #5f6468 !important; font-size: clamp(17px,1.5vw,21px) !important; line-height: 1.55 !important; }

body:not(.index-page) .cnw-page-visual {
  width: min(calc(100% - 40px),1320px) !important;
  height: clamp(360px,48vw,650px) !important;
  margin: 0 auto clamp(74px,8vw,118px) !important;
}
body:not(.index-page) .cnw-page-visual img { object-fit: cover; }

body:not(.index-page) .tabs-wrap {
  width: min(calc(100% - 40px),1320px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-top: 1px solid #deded8 !important;
  border-bottom: 1px solid #deded8 !important;
  background: #fff !important;
}
body:not(.index-page) .tabs-nav { min-height: 58px; justify-content: flex-start !important; gap: 28px !important; border: 0 !important; }
body:not(.index-page) .tab-btn { min-height: 58px; padding: 0 !important; border: 0 !important; background: transparent !important; color: #777b7f !important; font-size: 13px !important; text-transform: none !important; letter-spacing: 0 !important; }
body:not(.index-page) .tab-btn.active { color: #101112 !important; box-shadow: inset 0 -2px #101112 !important; }

body:not(.index-page) .section,
body:not(.index-page) .content-grid,
body:not(.index-page) .cta-section {
  width: min(calc(100% - 40px),1320px) !important;
  max-width: 1320px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body:not(.index-page) .section { padding-top: clamp(64px,7vw,100px) !important; padding-bottom: clamp(64px,7vw,100px) !important; border-top: 1px solid #deded8 !important; border-bottom: 0 !important; }
body:not(.index-page) .section:first-child { border-top: 0 !important; }
body:not(.index-page) .section-label { display: none !important; }
body:not(.index-page) .section h2 { max-width: 960px; margin: 0 0 26px !important; font-size: clamp(39px,5vw,72px) !important; line-height: .98 !important; letter-spacing: -.06em !important; font-weight: 600 !important; }
body:not(.index-page) .section > p { max-width: 700px !important; color: #666b70 !important; font-size: 17px !important; line-height: 1.6 !important; }

/* Rows instead of framed cards */
body:not(.index-page) :is(.model-card,.channel-card,.cat-card,.client-card,.team-card,.finding-card,.principle-card,.tier-card,.form-card,.dev-pipeline,.chart-box) {
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
body:not(.index-page) :is(.model-card,.channel-card,.cat-card,.client-card,.team-card,.finding-card,.principle-card,.tier-card) { border-top: 1px solid #deded8 !important; border-bottom: 1px solid #deded8 !important; }
body:not(.index-page) :is(.model-card-header,.form-card-header,.chart-box-header) { padding-left: 0 !important; padding-right: 0 !important; background: transparent !important; }
body:not(.index-page) :is(.model-card-body,.form-body) { padding-left: 0 !important; padding-right: 0 !important; }
body:not(.index-page) :is(.method-item,.paper-item,.res-model-row,.dev-stage,.advisor-row,.include-item,.value-item,.why-item,.evidence-item,.step) { border-left: 0 !important; border-right: 0 !important; border-radius: 0 !important; background: transparent !important; }
body:not(.index-page) :is(.method-item,.paper-item,.res-model-row,.dev-stage,.advisor-row,.include-item,.value-item,.evidence-item,.step) { transition: transform .35s cubic-bezier(.22,1,.36,1),background-color .3s ease; }
body:not(.index-page) :is(.method-item,.paper-item,.res-model-row,.advisor-row):hover { transform: translateX(5px); background: #f7f7f5 !important; }

body:not(.index-page) :is(.stats-row,.stats-4,.findings-grid,.principles-grid,.cat-grid,.client-grid,.team-grid,.values-grid,.compare-grid,.channels-grid,.results-grid) { border-left: 0 !important; border-right: 0 !important; border-radius: 0 !important; }
body:not(.index-page) :is(.stat-item,.stat-cell,.finding-card) { padding-top: 24px !important; padding-bottom: 24px !important; }

body:not(.index-page) .cnw-toolbar { width: min(calc(100% - 40px),1320px) !important; margin: 24px auto 0 !important; padding: 12px 0 !important; border: 0 !important; border-bottom: 1px solid #deded8 !important; background: white !important; }
body:not(.index-page) .cnw-search { border: 1px solid #deded8 !important; border-radius: 999px !important; padding: 11px 17px !important; }
body:not(.index-page) .badge, body:not(.index-page) .param-chip { border-radius: 999px !important; }

body:not(.index-page) .table-wrap, body:not(.index-page) .cnw-table-scroll { border: 0 !important; border-top: 1px solid #deded8 !important; border-bottom: 1px solid #deded8 !important; }
body:not(.index-page) .data-table th { background: white !important; color: #777b7f !important; }

body:not(.index-page) .cta-section { margin-top: 0 !important; padding-top: clamp(64px,7vw,100px) !important; padding-bottom: clamp(64px,7vw,100px) !important; border-top: 1px solid #deded8 !important; }

/* One shared internal footer */
.cnw-global-footer { margin: 0 !important; padding: 0 !important; background: #101112 !important; color: white; }
.cnw-global-footer-inner { width: min(calc(100% - 40px),1320px); margin: 0 auto; padding: 64px 0 28px; }
.cnw-global-footer-top { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding-bottom: 48px; border-bottom: 1px solid rgba(255,255,255,.14); }
.cnw-global-footer-top strong { font-size: clamp(28px,4vw,52px); letter-spacing: -.05em; }
.cnw-global-footer-top p { max-width: 430px; margin: 0; color: rgba(255,255,255,.58); font-size: 16px; line-height: 1.55; }
.cnw-global-footer-links { display: grid; grid-template-columns: repeat(6,1fr); gap: 28px; padding: 42px 0 52px; border-bottom: 1px solid rgba(255,255,255,.14); }
.cnw-global-footer-links div,
.cnw-global-footer-links section { display: flex; flex-direction: column; gap: 10px; }
.cnw-global-footer-links span { margin-bottom: 6px; color: rgba(255,255,255,.34); font-size: 11px; text-transform: uppercase; letter-spacing: .07em; }
.cnw-global-footer-links h3 { margin: 0; color: #fff; font-size: 15px; line-height: 1.15; letter-spacing: -.02em; }
.cnw-global-footer-links p { min-height: 54px; margin: 0 0 8px; color: rgba(255,255,255,.48); font-size: 12px; line-height: 1.5; }
.cnw-global-footer-links b { margin: 8px 0 0; color: rgba(255,255,255,.34); font-size: 10px; font-weight: 400; text-transform: uppercase; letter-spacing: .08em; }
.cnw-global-footer-links a { color: rgba(255,255,255,.72); text-decoration: none; font-size: 13px; font-weight: 400; }
.cnw-global-footer-links a:hover { color: white; }
.cnw-global-footer-bottom { display: flex; justify-content: space-between; gap: 30px; padding-top: 24px; }
.cnw-global-footer-bottom p { margin: 0; color: rgba(255,255,255,.34); font-size: 11px; }

@media (max-width:900px) {
  body:not(.index-page) .page-hero, body:not(.index-page) .section, body:not(.index-page) .tabs-wrap, body:not(.index-page) .content-grid, body:not(.index-page) .cta-section { width: calc(100% - 32px) !important; }
  body:not(.index-page) .cnw-page-visual { width: calc(100% - 32px) !important; }
  .cnw-global-footer-inner { width: calc(100% - 32px); }
  .cnw-global-footer-top { grid-template-columns: 1fr; }
  .cnw-global-footer-links { grid-template-columns: 1fr 1fr; row-gap: 36px; }
}
@media (max-width:560px) {
  body:not(.index-page) .page-title { font-size: clamp(46px,14vw,68px) !important; }
  body:not(.index-page) .cnw-page-visual { height: 75vw !important; }
  .cnw-global-footer-bottom { flex-direction: column; }
}

/* Methodology v2 */
.method-hero-copy { max-width: 720px; margin: 28px 0 0; color: #5f6468; font-size: clamp(18px,1.5vw,21px); line-height: 1.55; }
.method-v2 { width: min(calc(100% - 40px),1320px); margin: 0 auto; padding: clamp(72px,8vw,118px) 0; border-top: 1px solid #deded8; }
.method-v2-head { display: grid; grid-template-columns: 90px 1fr; gap: 24px; margin-bottom: clamp(42px,6vw,76px); }
.method-v2-head > span { padding-top: 7px; color: #9b653c; font-size: 12px; }
.method-kicker { margin: 0 0 14px; color: #123047; font-size: 13px; font-weight: 600; }
.method-v2 h2 { max-width: 900px; margin: 0; font-size: clamp(42px,5.5vw,78px); line-height: .96; letter-spacing: -.065em; font-weight: 600; }
.method-steps { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid #deded8; }
.method-steps article { min-height: 260px; padding: 24px 24px 24px 0; border-bottom: 1px solid #deded8; border-right: 1px solid #deded8; }
.method-steps article + article { padding-left: 24px; }
.method-steps article:last-child { border-right: 0; }
.method-steps article > span { color: #9b653c; font-size: 11px; }
.method-steps h3 { margin: 68px 0 13px; font-size: 22px; letter-spacing: -.035em; }
.method-steps p { margin: 0; color: #666b70; font-size: 15px; line-height: 1.55; }
.method-rows { border-top: 1px solid #deded8; }
.method-rows article { display: grid; grid-template-columns: minmax(180px,280px) 1fr 40px; gap: 34px; padding: 25px 0; border-bottom: 1px solid #deded8; align-items: start; }
.method-rows h3 { margin: 0; font-size: 20px; }
.method-rows p { max-width: 700px; margin: 0; color: #666b70; font-size: 16px; line-height: 1.55; }
.method-rows strong { color: #b0b2b3; font-size: 12px; text-align: right; }
.method-metrics { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid #deded8; border-bottom: 1px solid #deded8; }
.method-metrics div { padding: 26px 22px; border-right: 1px solid #deded8; }
.method-metrics div:first-child { padding-left: 0; }
.method-metrics div:last-child { border-right: 0; }
.method-metrics strong { display: block; margin-bottom: 8px; font-size: clamp(28px,3vw,42px); letter-spacing: -.05em; }
.method-metrics span { color: #666b70; font-size: 13px; }
.method-note { max-width: 740px; margin: 28px 0 0; color: #666b70; font-size: 15px; line-height: 1.6; }
.method-delivery { display: grid; grid-template-columns: 1fr .7fr; gap: clamp(50px,8vw,130px); align-items: end; }
.method-delivery-copy p { margin: 0 0 24px; color: #666b70; font-size: 18px; line-height: 1.6; }
.method-delivery-copy a { color: #101112; font-size: 14px; font-weight: 600; text-decoration: none; }
@media(max-width:900px){
  .method-v2 { width: calc(100% - 32px); }
  .method-steps { grid-template-columns: 1fr 1fr; }
  .method-steps article:nth-child(2) { border-right: 0; }
  .method-delivery { grid-template-columns: 1fr; align-items: start; }
}
@media(max-width:600px){
  .method-v2-head { grid-template-columns: 42px 1fr; }
  .method-steps, .method-metrics { grid-template-columns: 1fr; }
  .method-steps article, .method-steps article + article, .method-metrics div, .method-metrics div:first-child { min-height: auto; padding: 22px 0; border-right: 0; }
  .method-steps h3 { margin-top: 34px; }
  .method-rows article { grid-template-columns: 1fr; gap: 10px; }
  .method-rows strong { display: none; }
}

/* Research archive: document rows */
.investigacion-page #papersList { border-top: 1px solid #deded8; }
.investigacion-page .paper-item {
  display: grid !important;
  grid-template-columns: 150px minmax(0,1fr) 170px !important;
  gap: 38px !important;
  align-items: start !important;
  padding: 27px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #deded8 !important;
  background: transparent !important;
}
.investigacion-page .paper-date { padding-top: 5px; color: #666b70 !important; font-size: 14px !important; }
.investigacion-page .paper-tag { display: block; margin: 0 0 9px !important; padding: 0 !important; border: 0 !important; background: transparent !important; color: #9b653c !important; font-size: 11px !important; }
.investigacion-page .paper-title { max-width: 900px; font-size: clamp(24px,2.5vw,36px) !important; line-height: 1.05 !important; letter-spacing: -.045em !important; font-weight: 600 !important; }
.investigacion-page .paper-abstract, .investigacion-page .paper-meta { display: none; }
.investigacion-page .paper-actions { align-items: flex-end !important; gap: 9px !important; }
.investigacion-page .paper-stat { color: #666b70 !important; font-size: 12px !important; }
.investigacion-page .paper-btn { padding: 0 !important; border: 0 !important; background: transparent !important; color: #101112 !important; font-size: 12px !important; text-decoration: underline !important; text-underline-offset: 4px; }
.investigacion-page .filters { padding: 0 0 24px !important; border: 0 !important; background: transparent !important; }
.investigacion-page .filter-tag { padding: 8px 13px !important; border: 1px solid #deded8 !important; border-radius: 999px !important; background: white !important; }
.investigacion-page .filter-tag.active { background: #101112 !important; color: white !important; border-color: #101112 !important; }
@media(max-width:800px){
  .investigacion-page .paper-item { grid-template-columns: 1fr !important; gap: 11px !important; }
  .investigacion-page .paper-actions { align-items: flex-start !important; }
}

/* Integrated editorial imagery and clean title hierarchy. */
:is(.section-label,.method-kicker,.method-v2-head > span,.cnw-products-kicker,.terminal-entry-kicker,.eyebrow,.principle-num,.step-num,.cnw-route-step,.cnw-product-index,.product-index,.paper-tag,.cnw-page-visual figcaption) {
  display: none !important;
}
body:not(.index-page) .page-hero.has-integrated-visual {
  display: grid !important;
  grid-template-columns: minmax(0,1.05fr) minmax(320px,.72fr);
  gap: clamp(42px,6vw,96px);
  align-items: center;
  padding-top: clamp(74px,8vw,118px) !important;
  padding-bottom: clamp(54px,7vw,96px) !important;
}
body:not(.index-page) .page-hero.has-integrated-visual .page-hero-inner {
  width: auto !important;
  max-width: 880px !important;
  margin: 0 !important;
}
body:not(.index-page) .cnw-page-visual.cnw-page-visual-integrated {
  width: 100% !important;
  max-width: none !important;
  height: clamp(390px,45vw,650px) !important;
  margin: 0 !important;
  overflow: hidden;
  background: #f2f1ed;
}
body:not(.index-page) .cnw-page-visual-integrated img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
@media(max-width:860px){
  body:not(.index-page) .page-hero.has-integrated-visual { grid-template-columns: 1fr; }
  body:not(.index-page) .cnw-page-visual.cnw-page-visual-integrated { height: min(110vw,620px) !important; }
}

/* Wide aligned research archive */
.investigacion-page .page-hero,
.investigacion-page .cnw-page-visual,
.investigacion-page .tabs-wrap,
.investigacion-page .section,
.investigacion-page .cta-section {
  width: min(calc(100% - (var(--site-gutter) * 2)),var(--site-max)) !important;
  max-width: var(--site-max) !important;
}
.investigacion-page .cnw-page-visual { margin-bottom: 34px !important; }
.investigacion-page .tabs-wrap { margin-bottom: 0 !important; border-radius: 0 !important; overflow: visible !important; }
.investigacion-page .section { padding-top: 42px !important; padding-bottom: 64px !important; border-radius: 0 !important; }
.investigacion-page .filters { margin: 0 0 38px !important; }
.investigacion-page .paper-item:hover { transform: none !important; }

/* Keep all internal pages on the same horizontal grid. */
body:not(.index-page) .page-hero,
body:not(.index-page) .cnw-page-visual,
body:not(.index-page) .tabs-wrap,
body:not(.index-page) .section,
body:not(.index-page) .content-grid,
body:not(.index-page) .cta-section,
.cnw-global-footer-inner {
  width: min(calc(100% - (var(--site-gutter) * 2)),var(--site-max)) !important;
  max-width: var(--site-max) !important;
}

/* Ensure hero and revealed elements are always visible (page's own fadeUp animation is killed by the reset below, so we force visibility first). */
body:not(.index-page) .page-hero-inner,
body:not(.index-page) .reveal,
body:not(.index-page) .reveal-child { opacity: 1 !important; transform: none !important; animation: none !important; }

/* Kill entrance animations (they rely on opacity:0 start which breaks without JS). */
body:not(.index-page) .page-hero-inner,
body:not(.index-page) [style*="animation"],
body:not(.index-page) [class*="fade"] { animation: none !important; }

/* Interactive transitions — always on. */
.cnw-global-nav a, .cnw-global-nav button { transition: color .18s ease, background-color .18s ease, opacity .18s ease; }
a, button { transition: color .14s ease, opacity .14s ease, background-color .14s ease; }
/* Product pages v2 and final visual cleanup */
.product-hero-copy { max-width: 720px; margin: 28px 0 0; color: #5f6468; font-size: clamp(18px,1.5vw,21px); line-height: 1.55; }
.product-v2 { width: min(calc(100% - (var(--site-gutter) * 2)),var(--site-max)); margin: 0 auto; padding: clamp(72px,8vw,118px) 0; border-top: 1px solid #deded8; }
.product-v2 h2 { max-width: 1000px; margin: 0 0 clamp(42px,6vw,74px); font-size: clamp(44px,5.8vw,82px); line-height: .95; letter-spacing: -.068em; font-weight: 600; }
.product-output-grid, .terminal-view-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid #deded8; }
.product-output-grid article, .terminal-view-grid article { min-height: 190px; padding: 24px 24px 24px 0; border-right: 1px solid #deded8; border-bottom: 1px solid #deded8; }
.product-output-grid article + article, .terminal-view-grid article + article { padding-left: 24px; }
.product-output-grid article:last-child, .terminal-view-grid article:last-child { border-right: 0; }
.product-output-grid h3, .terminal-view-grid h3 { margin: 56px 0 10px; font-size: 25px; letter-spacing: -.04em; }
.product-output-grid p, .terminal-view-grid p { margin: 0; color: #666b70; font-size: 15px; }
.product-flow { border-top: 1px solid #deded8; }
.product-flow article { display: grid; grid-template-columns: minmax(170px,260px) 1fr; gap: 40px; padding: 25px 0; border-bottom: 1px solid #deded8; }
.product-flow h3 { margin: 0; font-size: 21px; }
.product-flow p { max-width: 700px; margin: 0; color: #666b70; font-size: 16px; line-height: 1.55; }
.product-metrics { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid #deded8; border-bottom: 1px solid #deded8; }
.product-metrics div { padding: 26px 22px; border-right: 1px solid #deded8; }
.product-metrics div:first-child { padding-left: 0; }
.product-metrics div:last-child { border-right: 0; }
.product-metrics strong { display: block; margin-bottom: 8px; font-size: clamp(30px,3.3vw,48px); letter-spacing: -.055em; }
.product-metrics span { color: #666b70; font-size: 13px; }
.product-text-link { display: inline-block; margin-top: 24px; color: #101112; text-decoration: none; font-size: 14px; font-weight: 600; }
.product-integration { display: grid; grid-template-columns: 1fr .72fr; gap: clamp(50px,8vw,130px); align-items: end; }
.product-integration h2 { margin-bottom: 0; }
.product-integration p { margin: 0; color: #666b70; font-size: 18px; line-height: 1.6; }
.product-details details { border-top: 1px solid #deded8; border-bottom: 1px solid #deded8; }
.product-details summary { min-height: 68px; display: flex; align-items: center; justify-content: space-between; list-style: none; font-size: 17px; font-weight: 600; cursor: pointer; }
.product-details summary::-webkit-details-marker { display: none; }
.product-details summary i { font-style: normal; font-size: 20px; }
.product-detail-rows { padding-bottom: 20px; }
.product-detail-rows div, .signal-family-list div { display: grid; grid-template-columns: minmax(180px,280px) 1fr; gap: 36px; padding: 20px 0; border-top: 1px solid #ecece8; }
.product-detail-rows span, .signal-family-list span { color: #666b70; font-size: 15px; }
.signal-family-list { border-bottom: 1px solid #deded8; }
.delivery-choice { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #deded8; }
.delivery-choice article { min-height: 250px; padding: 26px 36px 26px 0; border-right: 1px solid #deded8; border-bottom: 1px solid #deded8; }
.delivery-choice article + article { padding-left: 36px; border-right: 0; }
.delivery-choice h3 { margin: 55px 0 12px; font-size: 30px; letter-spacing: -.045em; }
.delivery-choice p { max-width: 520px; margin: 0 0 24px; color: #666b70; line-height: 1.55; }
.delivery-choice a { color: #101112; font-size: 14px; font-weight: 600; text-decoration: none; }
.section-label, .method-kicker, .method-v2-head > span, .cnw-product-index, .home-product-number, .home-artefact > span, .paper-tag, .cnw-page-visual figcaption, .cnw-products-panel a > span:first-child { display: none !important; }
@keyframes cnwSoftFade { from { opacity: .72; } to { opacity: 1; } }
body:not(.index-page) .reveal { opacity: 1 !important; transform: none !important; animation: cnwSoftFade .28s ease both !important; }
body:not(.index-page) :is(a,button,.paper-item,.method-item,.model-card,.channel-card,.cat-card,.client-card,.team-card) { transition: color .2s ease, background-color .2s ease, border-color .2s ease, opacity .2s ease, transform .5s cubic-bezier(.22,1,.36,1) !important; }

/* One motion language across internal pages. */
body:not(.index-page) .cnw-motion-item {
  opacity: 0 !important;
  transform: translateY(18px) !important;
  transition: opacity .58s ease var(--motion-delay,0ms), transform .72s cubic-bezier(.22,1,.36,1) var(--motion-delay,0ms) !important;
}
body:not(.index-page) .cnw-motion-item.cnw-in-view { opacity: 1 !important; transform: translateY(0) !important; }
body:not(.index-page) :is(.paper-item,.blog-card,.team-card,.client-card,.model-card,.channel-card,.cat-card).cnw-in-view:hover { transform: translateY(-3px) !important; }
body:not(.index-page) :is(button,.paper-btn,.product-text-link,.delivery-choice a):active { transform: scale(.97) !important; }
.cnw-global-nav .cnw-products-toggle i { transition: transform .28s cubic-bezier(.22,1,.36,1) !important; }
.cnw-global-nav.products-open .cnw-products-toggle i { transform: rotate(45deg) !important; }
.cnw-global-nav .cnw-products-panel { transition: max-height .42s cubic-bezier(.22,1,.36,1), opacity .22s ease, transform .42s cubic-bezier(.22,1,.36,1), visibility 0s linear .42s, border-color .2s ease !important; }
.cnw-global-nav.products-open .cnw-products-panel { transition-delay: 0s !important; }
.cnw-global-nav .cnw-products-panel a { transition: opacity .22s ease, transform .38s cubic-bezier(.22,1,.36,1) !important; }
.cnw-global-nav .cnw-products-panel a:hover i { transform: translateX(4px) !important; }
@media(prefers-reduced-motion:reduce){
  body:not(.index-page) .cnw-motion-item { opacity: 1 !important; transform: none !important; transition: none !important; }
}
@media(max-width:800px){
  .product-output-grid, .terminal-view-grid, .product-metrics, .delivery-choice { grid-template-columns: 1fr; }
  .product-output-grid article, .product-output-grid article + article, .terminal-view-grid article, .terminal-view-grid article + article, .product-metrics div, .product-metrics div:first-child, .delivery-choice article, .delivery-choice article + article { min-height: auto; padding: 22px 0; border-right: 0; }
  .product-output-grid h3, .terminal-view-grid h3, .delivery-choice h3 { margin-top: 28px; }
  .product-flow article, .product-detail-rows div, .signal-family-list div { grid-template-columns: 1fr; gap: 10px; }
  .product-integration { grid-template-columns: 1fr; align-items: start; }
}

/* Final integrated imagery override. */
:is(.section-label,.method-kicker,.method-v2-head > span,.cnw-products-kicker,.terminal-entry-kicker,.eyebrow,.principle-num,.step-num,.cnw-route-step,.cnw-product-index,.product-index,.paper-tag,.blog-card-cat,.cnw-page-visual figcaption) { display: none !important; }
body:not(.index-page) .page-hero.has-integrated-visual {
  display: grid !important;
  grid-template-columns: minmax(0,1.05fr) minmax(320px,.72fr) !important;
  gap: clamp(42px,6vw,96px) !important;
  align-items: center !important;
  padding-top: clamp(74px,8vw,118px) !important;
  padding-bottom: clamp(54px,7vw,96px) !important;
}
body:not(.index-page) .page-hero.has-integrated-visual .page-hero-inner { width: auto !important; max-width: 880px !important; margin: 0 !important; }
body:not(.index-page) .cnw-page-visual.cnw-page-visual-integrated {
  width: 100% !important;
  max-width: none !important;
  height: clamp(390px,45vw,650px) !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: #f2f1ed;
}
body:not(.index-page) .cnw-page-visual-integrated img { width: 100%; height: 100%; display: block; object-fit: cover; }
@media(max-width:860px){
  body:not(.index-page) .page-hero.has-integrated-visual { grid-template-columns: 1fr !important; }
  body:not(.index-page) .cnw-page-visual.cnw-page-visual-integrated { height: min(110vw,620px) !important; }
}

/* Extended product narratives: detailed without returning to boxed dashboards. */
.product-split { display: grid; grid-template-columns: minmax(0,.9fr) minmax(420px,1.1fr); gap: clamp(48px,8vw,130px); align-items: start; }
.product-split > h2 { margin: 0; }
.product-spec-list { border-top: 1px solid #deded8; }
.product-spec-list article { display: grid; grid-template-columns: minmax(150px,210px) 1fr; gap: 28px; padding: 22px 0; border-bottom: 1px solid #deded8; }
.product-spec-list h3 { margin: 0; font-size: 18px; letter-spacing: -.025em; }
.product-spec-list p { margin: 0; color: #666b70; font-size: 15px; line-height: 1.55; }
.product-layer-list, .product-validation-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid #deded8; border-bottom: 1px solid #deded8; }
.product-layer-list article, .product-validation-grid article { min-height: 235px; padding: 26px 24px; border-right: 1px solid #deded8; }
.product-layer-list article:first-child, .product-validation-grid article:first-child { padding-left: 0; }
.product-layer-list article:last-child, .product-validation-grid article:last-child { border-right: 0; }
.product-layer-list h3, .product-validation-grid h3 { margin: 62px 0 12px; font-size: 21px; letter-spacing: -.035em; }
.product-layer-list p, .product-validation-grid p { margin: 0; color: #666b70; font-size: 14px; line-height: 1.55; }
.product-payload { border-top: 1px solid #deded8; }
.product-payload > div { display: grid; grid-template-columns: minmax(160px,240px) 1fr; gap: 28px; padding: 18px 0; border-bottom: 1px solid #deded8; }
.product-payload strong { font-family: "Inter Tight","Helvetica Neue",Arial,sans-serif; font-size: 13px; font-weight: 500; }
.product-payload span { color: #666b70; font-size: 14px; }
.product-use-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid #deded8; border-bottom: 1px solid #deded8; }
.product-use-grid article { min-height: 220px; padding: 28px 30px; border-right: 1px solid #deded8; }
.product-use-grid article:first-child { padding-left: 0; }
.product-use-grid article:last-child { border-right: 0; }
.product-use-grid h3 { margin: 55px 0 12px; font-size: 24px; letter-spacing: -.04em; }
.product-use-grid p { max-width: 390px; margin: 0; color: #666b70; font-size: 15px; line-height: 1.55; }
.signal-family-expanded > div { padding: 27px 0; }
.signal-family-expanded > div > span { color: #666b70; font-size: 15px; line-height: 1.55; }
.signal-family-expanded small { display: block; margin-top: 8px; color: #9b653c; font-family: "Inter Tight","Helvetica Neue",Arial,sans-serif; font-size: 11px; }
.product-channel-detail { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #deded8; border-bottom: 1px solid #deded8; }
.product-channel-detail article { padding: 28px 48px 34px 0; border-right: 1px solid #deded8; }
.product-channel-detail article + article { padding-left: 48px; border-right: 0; }
.product-channel-detail h3 { margin: 42px 0 26px; font-size: 31px; letter-spacing: -.045em; }
.product-channel-detail ul { margin: 0; padding: 0; list-style: none; }
.product-channel-detail li { padding: 13px 0; border-top: 1px solid #ecece8; color: #555a5e; font-size: 15px; }
@media(max-width:900px){
  .product-split { grid-template-columns: 1fr; }
  .product-layer-list, .product-validation-grid { grid-template-columns: 1fr 1fr; }
  .product-layer-list article:nth-child(2), .product-validation-grid article:nth-child(2) { border-right: 0; }
  .product-layer-list article:nth-child(n+3), .product-validation-grid article:nth-child(n+3) { border-top: 1px solid #deded8; }
}
@media(max-width:650px){
  .product-spec-list article, .product-payload > div { grid-template-columns: 1fr; gap: 8px; }
  .product-layer-list, .product-validation-grid, .product-use-grid, .product-channel-detail { grid-template-columns: 1fr; }
  .product-layer-list article, .product-validation-grid article, .product-layer-list article:first-child, .product-validation-grid article:first-child, .product-use-grid article, .product-use-grid article:first-child, .product-channel-detail article, .product-channel-detail article + article { min-height: auto; padding: 24px 0; border-right: 0; border-top: 1px solid #deded8; }
  .product-layer-list h3, .product-validation-grid h3, .product-use-grid h3, .product-channel-detail h3 { margin-top: 18px; }
}

/* Research rows must never expand beyond their clipping container. */
.investigacion-page main,
.investigacion-page .section,
.investigacion-page #papersList { overflow: visible !important; }
.investigacion-page .paper-item,
.investigacion-page .paper-item:hover {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  border-radius: 0 !important;
  box-sizing: border-box;
}
.investigacion-page .paper-item > div { min-width: 0; }
.investigacion-page .paper-title { max-width: 100% !important; overflow-wrap: anywhere; hyphens: auto; }
.investigacion-page .paper-actions { min-width: 0; max-width: 100%; }
.investigacion-page .paper-btn { max-width: 100%; white-space: normal !important; text-align: right; overflow-wrap: anywhere; }
@media(max-width:1120px){
  .investigacion-page .paper-item { grid-template-columns: 110px minmax(0,1fr) 145px !important; gap: 24px !important; }
  .investigacion-page .paper-title { font-size: clamp(23px,3vw,32px) !important; }
}
@media(max-width:920px){
  .investigacion-page .paper-item { grid-template-columns: 1fr !important; gap: 12px !important; padding-top: 28px !important; padding-bottom: 28px !important; }
  .investigacion-page .paper-actions { flex-direction: row !important; flex-wrap: wrap; align-items: center !important; justify-content: flex-start; }
  .investigacion-page .paper-btn { text-align: left; }
}

/* Methodology headings need editorial width, not narrow process columns. */
.method-v2-head { display: block; margin-bottom: clamp(40px,5vw,68px); }
.method-v2-head > div { width: 100%; }
.method-v2 h2 { max-width: 980px; text-wrap: balance; }
.method-steps { display: block; border-top: 1px solid #deded8; }
.method-steps article,
.method-steps article + article {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(220px,320px) minmax(0,1fr);
  gap: clamp(28px,5vw,72px);
  align-items: start;
  padding: 28px 0;
  border-right: 0;
  border-bottom: 1px solid #deded8;
}
.method-steps article > span { display: none; }
.method-steps h3 { margin: 0; font-size: clamp(23px,2.2vw,31px); line-height: 1.08; letter-spacing: -.045em; }
.method-steps p { max-width: 720px; font-size: 16px; line-height: 1.6; }
.method-delivery { display: block; }
.method-delivery-copy { max-width: 720px; margin-top: clamp(34px,5vw,64px); margin-left: 0; }
@media(max-width:720px){
  .method-steps article,
  .method-steps article + article { grid-template-columns: 1fr; gap: 10px; padding: 24px 0; }
  .method-steps h3 { margin: 0; }
  .method-delivery-copy { margin-left: 0; }
}

/* Internal page atmospheres: black/white structure, dark-blue detail. */
body:not(.index-page) {
  --hero-tone-a: rgba(61,116,154,.38);
  --hero-tone-b: rgba(145,181,204,.34);
  --hero-tone-c: rgba(32,68,98,.22);
}
body.modelos-page { --hero-tone-a: rgba(120,178,225,.40); --hero-tone-b: rgba(180,215,245,.38); --hero-tone-c: rgba(160,200,235,.26); }
body.altdata-page, body.terminal-page { --hero-tone-a: rgba(20,96,70,.40); --hero-tone-b: rgba(127,183,155,.34); --hero-tone-c: rgba(11,61,46,.26); }
body.metodologia-page { --hero-tone-a: rgba(91,130,158,.36); --hero-tone-b: rgba(180,201,214,.39); --hero-tone-c: rgba(39,75,103,.21); }
body.investigacion-page, body.blog-page { --hero-tone-a: rgba(121,157,181,.34); --hero-tone-b: rgba(206,219,226,.46); --hero-tone-c: rgba(47,83,108,.20); }
body.portfolio-page, body.senales-page { --hero-tone-a: rgba(35,80,116,.40); --hero-tone-b: rgba(126,166,193,.34); --hero-tone-c: rgba(17,48,74,.24); }
body.equipo-page, body.acceso-page { --hero-tone-a: rgba(102,144,171,.34); --hero-tone-b: rgba(211,223,229,.46); --hero-tone-c: rgba(44,78,102,.20); }
body:not(.index-page) .page-hero {
  --page-hero-opacity: 1;
  position: relative;
  isolation: isolate;
  overflow: visible !important;
  background: transparent !important;
}
body:not(.index-page) .page-hero::before {
  content: "";
  position: fixed;
  z-index: -2;
  inset: 0;
  opacity: var(--page-hero-opacity);
  background:
    radial-gradient(48% 72% at 14% 18%, var(--hero-tone-a), transparent 72%),
    radial-gradient(45% 68% at 83% 24%, var(--hero-tone-b), transparent 74%),
    radial-gradient(38% 58% at 58% 78%, var(--hero-tone-c), transparent 76%),
    #fff;
  background-size: 118% 118%;
  animation: cnwInternalAtmosphere 17s ease-in-out infinite alternate;
  pointer-events: none;
}
body:not(.index-page) .page-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 50% 0 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: linear-gradient(to bottom,rgba(255,255,255,0) 58%,#fff 100%);
  pointer-events: none;
}
body:not(.index-page) .page-hero > * { position: relative; z-index: 1; }
@keyframes cnwInternalAtmosphere {
  from { background-position: 0% 0%; }
  to { background-position: 8% 5%; }
}
.investigacion-page .paper-stat { color: #102a43 !important; background: #eef4f8 !important; border-color: #c8d9e4 !important; }
.signal-family-expanded small,
.product-text-link,
.method-delivery-copy a { color: #102a43 !important; }
body:not(.index-page) :is(.pos,.neg) { color: #102a43 !important; }
body:not(.index-page) :is(.cnw-page-visual,.blog-card-img,.hero-image,.team-photo,.product-media) img {
  filter: grayscale(1) contrast(.96);
}
@media(prefers-reduced-motion:reduce){
  body:not(.index-page) .page-hero::before { animation: none; }
}
